{"version":3,"file":"index.umd.cjs","sources":["../../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js","../../../node_modules/.pnpm/@uxland+utilities@1.0.5/node_modules/@uxland/utilities/nop.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isPlaceholder.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curry1.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curry2.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isFunction.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_arrayFromIterator.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_includesWith.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_functionName.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_has.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_objectIs.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isArguments.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/keys.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/type.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_equals.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/equals.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_indexOf.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_includes.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_map.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_quote.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_toISOString.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_complement.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isArray.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isTransformer.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_dispatchable.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_filter.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isObject.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isString.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isArrayLike.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_xwrap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_arity.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/bind.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_reduce.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_xfBase.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_xfilter.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/filter.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/reject.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_toString.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_assertPromise.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/andThen.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_xmap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curryN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/curryN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/map.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_pipe.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curry3.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/reduce.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_checkForMethod.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/slice.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/tail.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/pipe.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/behaviors/auto-populate-behavior.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/behaviors/behavior-registry.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/behaviors/default-registry.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/adapters/adapter-base.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/utilities/view-sort-hint-comparer.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/adapters/multiple-active-adapter.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/adapters/single-active-adapter.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/adapters/selectable-adapter.js","../../../node_modules/.pnpm/@uxland+utilities@1.0.5/node_modules/@uxland/utilities/invariant.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/validate-view.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/view-factory.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/region.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/region-adapter-registry.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/region-decorator.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/region-factory.js","../../../node_modules/.pnpm/@uxland+browser-utilities@1.0.2/node_modules/@uxland/browser-utilities/async/async-queue.js","../../../node_modules/.pnpm/@uxland+lit-utilities@1.0.0/node_modules/@uxland/lit-utilities/dedupe-mixin.js","../../../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/lit-html.js","../../../node_modules/.pnpm/lit-element@3.3.3/node_modules/lit-element/lit-element.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/defaultTo.js","../../../node_modules/.pnpm/@uxland+lit-utilities@1.0.0/node_modules/@uxland/lit-utilities/properties-observer.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/T.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/always.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/max.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/cond.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/forEach.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/isNil.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isInteger.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/nth.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/paths.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/path.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/prop.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/region-manager.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/region-host-mixin.js","../../../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../../../node_modules/.pnpm/@uxland+regions@1.0.0/node_modules/@uxland/regions/region-view.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/lit-html.js","../../../node_modules/.pnpm/lit-element@4.1.0/node_modules/lit-element/lit-element.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/query.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../../../harmonix/core/dist/index.js","../src/constants.ts","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/dispatcher/mappings.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/dispatcher/index.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/handler.instance.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/resolver.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/settings.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/attributes/request.attribute.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/attributes/notification.attribute.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/mediator.js","../src/api/broker/broker-events.ts","../src/api/broker/factory.ts","../src/api/ecap-event-manager/ecap-event-manager.ts","../src/api/exit-guard-manager/exit-guard-manager.ts","../src/api/global-state/global-state.ts","../src/api/activity-monitor/activity-monitor.ts","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/bind.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/utils.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/AxiosError.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/null.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/defaults/transitional.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/platform/browser/index.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/platform/common/utils.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/platform/index.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/defaults/index.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/transformData.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/settle.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/throttle.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/progressEventReducer.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/cookies.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/resolveConfig.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/adapters/xhr.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/composeSignals.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/trackStream.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/adapters/fetch.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/adapters/adapters.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/env/data.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/validator.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/core/Axios.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/spread.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/lib/axios.js","../../../node_modules/.pnpm/axios@1.12.2/node_modules/axios/index.js","../../../node_modules/.pnpm/jwt-decode@4.0.0/node_modules/jwt-decode/build/esm/index.js","../src/api/http-client/http-client.ts","../src/api/session-refresh-timer/session-refresh-timer.ts","../../../node_modules/.pnpm/react@19.0.0/node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/.pnpm/react@19.0.0/node_modules/react/jsx-runtime.js","../src/api/interaction-service/interaction-service.ts","../src/api/interaction-service/confirmation-message.tsx","../src/api/interaction-service/modal-styles.css?raw","../src/api/interaction-service/interaction-service-impl.tsx","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_concat.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/ap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/assoc.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/assocPath.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/liftN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/lift.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/not.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/complement.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/lens.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/lensPath.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/mergeWithKey.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/mergeDeepWithKey.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/mergeDeepRight.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/view.js","../../../node_modules/.pnpm/@uxland+ramda-extensions@1.0.3/node_modules/@uxland/ramda-extensions/is-not-nil.js","../../../node_modules/.pnpm/@uxland+utilities@1.0.5/node_modules/@uxland/utilities/constant-builder.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/events.js","../../../node_modules/.pnpm/@uxland+event-aggregator@1.0.1/node_modules/@uxland/event-aggregator/event-aggregator.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/language.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/lib/types.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/lib/parser.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/lib/normalize.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/lib/skeleton.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/lib/index.js","../../../node_modules/.pnpm/intl-format-cache@4.3.1/node_modules/intl-format-cache/lib/index.js","../../../node_modules/.pnpm/intl-messageformat@7.8.4/node_modules/intl-messageformat/lib/formatters.js","../../../node_modules/.pnpm/intl-messageformat@7.8.4/node_modules/intl-messageformat/lib/core.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/localizer-factory.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/locales.js","../src/api/localization/localization.ts","../src/api/notification-service/notification-service.ts","../src/api/notification-service/notification.service-impl.ts","../src/locales.ts","../src/api/pdf-viewer-manager/events.ts","../src/api/pdf-viewer-manager/pdf-visor/utils.ts","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directive.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directive-helpers.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/repeat.js","../src/api/pdf-viewer-manager/pdf-visor/pdf-selector/template.ts","../src/api/pdf-viewer-manager/pdf-visor/pdf-selector/pdf-selector.ts","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/constants/metadata_keys.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/constants/literal_types.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/id.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/bindings/binding.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/constants/error_msgs.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/metadata_reader.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/bindings/binding_count.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/exceptions.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/serialization.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/context.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/metadata.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/plan.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/annotation/lazy_service_identifier.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/queryable_string.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/target.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/reflection_utils.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/request.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/planning/planner.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/async.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/scope/scope.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/factory_type.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/binding_utils.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/resolution/instantiation.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/resolution/resolver.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/syntax/constraint_helpers.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/syntax/binding_when_syntax.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/syntax/binding_on_syntax.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/syntax/binding_when_on_syntax.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/syntax/binding_in_syntax.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/syntax/binding_in_when_on_syntax.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/syntax/binding_to_syntax.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/container/container_snapshot.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/clonable.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/container/lookup.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/container/module_activation_store.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/container/container.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/utils/js.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/annotation/decorator_utils.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/annotation/injectable.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/annotation/inject_base.js","../../../node_modules/.pnpm/inversify@6.0.2/node_modules/inversify/es/annotation/inject.js","../../../node_modules/.pnpm/inversify-inject-decorators@3.1.0/node_modules/inversify-inject-decorators/es/decorators.js","../../../node_modules/.pnpm/inversify-inject-decorators@3.1.0/node_modules/inversify-inject-decorators/es/index.js","../src/infrastructure/ioc/container.ts","../src/infrastructure/ioc/types.ts","../src/api/pdf-viewer-manager/pdf-visor/pdf-visor.ts","../src/api/pdf-viewer-manager/constants.ts","../src/api/pdf-viewer-manager/pdf-viewer-manager.ts","../src/api/plugin-busy-manager/plugin-busy-list/template.ts","../src/api/plugin-busy-manager/plugin-busy-list/component.ts","../src/api/plugin-busy-manager/plugin-busy-manager.ts","../src/api/quick-action-busy-manager/quick-action-busy-manager.ts","../src/api/region-manager/regions.ts","../src/api/region-manager/region-manager.ts","../src/api/token-manager/token-manager.ts","../src/api/user-manager/user-manager.ts","../src/api/import-data-manager/import-data-manager-impl.ts","../src/api/context-manager/context-manager.ts","../src/api/api.ts","../src/features/utils.ts","../../../plugins/core/src/broker-extensions.ts","../../../plugins/core/src/utilities/generate-id.ts","../../../plugins/core/src/utilities/map-to-label-value.ts","../../../plugins/core/src/redux-utilities/redux-decorator-factory.ts","../../../plugins/core/src/redux-utilities/create-redux-connected-property.ts","../../../plugins/activity-history/src/infrastructure/ioc/types.ts","../../../node_modules/.pnpm/redux@5.0.1/node_modules/redux/dist/redux.mjs","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/dist/immer.mjs","../../../node_modules/.pnpm/reselect@5.1.1/node_modules/reselect/dist/reselect.mjs","../../../node_modules/.pnpm/redux-thunk@3.1.0_redux@5.0.1/node_modules/redux-thunk/dist/redux-thunk.mjs","../../../node_modules/.pnpm/@reduxjs+toolkit@2.6.1_react@19.0.0/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs","../../../plugins/activity-history/src/activity-history-item/add/add-history-items/add-items-to-collection.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-item/add-item-to-collection.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-item/reducer.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-items/reducer.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-busy/reducers.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/reducers.ts","../../../plugins/activity-history/src/activity-history-item/clear/reducer.ts","../../../plugins/activity-history/src/activity-history-item/remove/remove-item-from-collection.ts","../../../plugins/activity-history/src/activity-history-item/remove/reducer.ts","../../../plugins/activity-history/src/activity-history-item/update/update-item-in-collection.ts","../../../plugins/activity-history/src/activity-history-item/update/reducer.ts","../../../plugins/activity-history/src/activity-history-item/slice.ts","../../../plugins/activity-history/src/activity-history-item/search/reducer.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/own-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/relevant-spec.ts","../../../plugins/activity-history/src/activity-history-item/filter/model.ts","../../../plugins/activity-history/src/activity-history-item/filter/common-filters/common-filters.ts","../../../plugins/activity-history/src/activity-history-item/filter/common-filters/set-common-filter/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/add-custom-filters/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/clear-custom-filters/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-all-values/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-group/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-value/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/delete/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/set/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/reset/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/add/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/set/reducer.ts","../../../plugins/activity-history/src/activity-history-item/filter/slice.ts","../../../plugins/activity-history/src/infrastructure/state/store.ts","../../../plugins/activity-history/src/infrastructure/ioc/container.ts","../../../plugins/activity-history/src/infrastructure/base-handlers.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-busy/actions.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/actions.ts","../../../plugins/activity-history/src/activity-history-item/add/add-async-history-items/validate-add-async-items-command.ts","../../../plugins/activity-history/src/activity-history-item/add/add-async-history-items/handler.ts","../../../plugins/activity-history/src/activity-history-item/add/add-async-history-items/bootstrapper.ts","../../../plugins/activity-history/src/localization.ts","../../../plugins/activity-history/src/activity-history-item/domain/exist-item-in-collection.ts","../../../plugins/activity-history/src/activity-history-item/domain/validation/utils.ts","../../../plugins/activity-history/src/activity-history-item/domain/validation/is-valid-basic-history-item.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/handle-add-up-options-from-item.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-item/action.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-item/handler.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-item/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/add-custom-filters/request.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-items/action.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-items/handler.ts","../../../plugins/activity-history/src/activity-history-item/add/add-history-items/bootstrapper.ts","../../../plugins/activity-history/src/infrastructure/state/connected-property.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-busy/selectors.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-busy/busy-component/template.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-busy/busy-component/component.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/handle-history-items-add-error/request.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/handle-history-items-add-error/handler.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/handle-history-items-add-error/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/export-to-pdf/export-pdf-modal/template.ts","../../../plugins/activity-history/src/activity-history-item/export-to-pdf/export-pdf-modal/export-pdf-modal.ts","../../../plugins/activity-history/src/activity-history-item/export-to-pdf/handler.ts","../../../plugins/activity-history/src/activity-history-item/export-to-pdf/request.ts","../../../plugins/activity-history/src/activity-history-item/export-to-pdf/bootstrapper.ts","../../../plugins/activity-history/src/utils/get-unique-values-by-prop-path.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/true-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/common-filter-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/false-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/prop-path-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/custom-filter-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/diagnostics-filter-spec.ts","../../../plugins/activity-history/src/utils/normalize-string.ts","../../../plugins/activity-history/src/utils/prop-contains-string.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/search-string-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/type-spec.ts","../../../plugins/activity-history/src/activity-history-item/domain/specs/up-filter-spec.ts","../../../plugins/activity-history/src/activity-history-item/filter/selectors.ts","../../../plugins/activity-history/src/activity-history-item/filter/common-filters/selectors.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/selectors.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/selectors.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/selectors.ts","../../../plugins/activity-history/src/activity-history-item/domain/validation/diagnostics/are-same-diagnostics.ts","../../../plugins/activity-history/src/activity-history-item/domain/validation/diagnostics/has-valid-diagnostics.ts","../../../plugins/activity-history/src/activity-history-item/list/group-history-items/group-history-items.ts","../../../plugins/activity-history/src/activity-history-item/list/sort-history-items-by-date/sort-history-items-by-date.ts","../../../plugins/activity-history/src/activity-history-item/search/selectors.ts","../../../plugins/activity-history/src/activity-history-item/selectors.ts","../../../plugins/activity-history/src/activity-history-item/filter/common-filters/set-common-filter/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-all-values/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-group/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-value/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/set/request.ts","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/when.js","../../../plugins/activity-history/src/activity-history-item/filter/UI/activity-history-filters/template.ts","../../../plugins/activity-history/src/activity-history-item/filter/UI/activity-history-filters/activity-history-filters.ts","../../../plugins/activity-history/src/activity-history-item/filter/common-filters/set-common-filter/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/common-filters/set-common-filter/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/common-filters/set-common-filter/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/add-custom-filters/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/add-custom-filters/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/add-custom-filters/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-all-values/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-all-values/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-all-values/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-group/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-group/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-group/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-value/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-value/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/custom-filters/set-custom-filter-value/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/delete/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/delete/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/delete/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/delete/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/set/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/set/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/set/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/set/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/diagnostic-filters/subscribe-diagnostic-historic-filters.ts","../../../plugins/activity-history/src/activity-history-item/filter/reset/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/reset/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/reset/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/reset/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/add/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/add/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/add/request.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/add/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/set/actions.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/set/handler.ts","../../../plugins/activity-history/src/activity-history-item/filter/up-filters/set/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/filter/bootstrapper.ts","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/toDate.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/constructFrom.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addDays.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/constants.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/defaultOptions.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfWeek.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfISOWeek.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getISOWeekYear.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfDay.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceInCalendarDays.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfISOWeekYear.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isDate.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isValid.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endOfMonth.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachDayOfInterval.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfMonth.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfYear.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/localize.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchFn.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US/_lib/match.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/en-US.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getDayOfYear.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getISOWeek.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getWeekYear.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfWeekYear.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getWeek.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/addLeadingZeros.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/lightFormatters.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/formatters.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/longFormatters.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/protectedTokens.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/format.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getDay.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getDefaultOptions.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getISODay.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/transpose.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/Setter.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/Parser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/EraParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/constants.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/utils.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/YearParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setWeek.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setISOWeek.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/DateParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setDay.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/DayParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setISODay.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse.mjs","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/unsafe-html.js","../../../plugins/activity-history/src/activity-history-item/list/UI/timeline/constants.ts","../../../plugins/activity-history/src/activity-history-item/list/UI/timeline/estimate-group-height.ts","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/if-defined.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/async-directive.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/ref.js","../../../plugins/activity-history/src/activity-history-item/add/handle-busy/is-grouping-busy/template.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-busy/is-grouping-busy/component.ts","../../../plugins/activity-history/src/activity-history-item/domain/business-rules.ts","../../../plugins/activity-history/src/activity-history-item/list/merge-history-items-and-subgroups/merge-history-items-and-subgroups.ts","../../../plugins/activity-history/src/activity-history-item/list/UI/timeline/template.ts","../../../node_modules/.pnpm/@tanstack+virtual-core@3.14.0/node_modules/@tanstack/virtual-core/dist/esm/utils.js","../../../node_modules/.pnpm/@tanstack+virtual-core@3.14.0/node_modules/@tanstack/virtual-core/dist/esm/index.js","../../../plugins/activity-history/src/activity-history-item/list/UI/timeline/virtual-scroller.ts","../../../plugins/activity-history/src/activity-history-item/list/UI/timeline/activity-history-timeline.ts","../../../plugins/activity-history/src/activity-history-item/filter/UI/active-filters-header/template.ts","../../../plugins/activity-history/src/activity-history-item/filter/UI/active-filters-header/active-filters-header.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/history-full-data-error/template.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/selectors.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/history-full-data-error/component.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/history-partial-data-error/template.ts","../../../plugins/activity-history/src/activity-history-item/add/handle-error/history-partial-data-error/component.ts","../../../plugins/activity-history/src/activity-history-item/clear/action.ts","../../../plugins/activity-history/src/activity-history-item/refresh/handler.ts","../../../plugins/activity-history/src/activity-history-item/refresh/request.ts","../../../plugins/activity-history/src/activity-history-item/refresh/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/remove/action.ts","../../../plugins/activity-history/src/activity-history-item/remove/handler.ts","../../../plugins/activity-history/src/activity-history-item/remove/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/search/actions.ts","../../../plugins/activity-history/src/activity-history-item/search/handler.ts","../../../plugins/activity-history/src/activity-history-item/search/request.ts","../../../plugins/activity-history/src/activity-history-item/search/activity-history-search-results/template.ts","../../../plugins/activity-history/src/activity-history-item/search/activity-history-search-results/activity-history-search-results.ts","../../../plugins/activity-history/src/activity-history-item/search/activity-history-search-bar/template.ts","../../../plugins/activity-history/src/activity-history-item/search/activity-history-search-bar/activity-history-search-bar.ts","../../../plugins/activity-history/src/activity-history-item/filter/utils.ts","../../../plugins/activity-history/src/activity-history-item/filter/UI/active-filters-badges/template.ts","../../../plugins/activity-history/src/activity-history-item/filter/UI/active-filters-badges/active-filters-badges.ts","../../../plugins/activity-history/src/activity-history-item/search/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/update/action.ts","../../../plugins/activity-history/src/activity-history-item/update/handler.ts","../../../plugins/activity-history/src/activity-history-item/update/bootstrapper.ts","../../../plugins/activity-history/src/activity-history-item/bootstrapper.ts","../../../plugins/activity-history/src/constants.ts","../../../plugins/activity-history/src/activity-history-item/shared/prepare-group-components.ts","../../../plugins/activity-history/src/activity-history-item/shared/scroller-controller.ts","../../../plugins/activity-history/src/activity-history-item/importer/filters.ts","../../../plugins/activity-history/src/activity-history-item/importer/template.ts","../../../plugins/activity-history/src/activity-history-item/importer/activity-history-importer.ts","../../../plugins/activity-history/src/activity-history-item/list/UI/main-view/template.ts","../../../plugins/activity-history/src/activity-history-item/list/UI/main-view/activity-history-main.ts","../../../plugins/activity-history/src/handle-views.ts","../../../plugins/activity-history/src/plugin.ts","../src/handle-plugins.ts","../src/features/exit/handler.ts","../src/features/exit/request.ts","../src/features/exit/bootstrapper.ts","../src/features/get-user-info/backend-adapter.ts","../src/features/get-user-info/handler.ts","../src/features/get-user-info/request.ts","../src/features/get-user-info/bootstrapper.ts","../src/features/bootstrapper.ts","../src/disposer.ts","../src/UI/components/primaria-shell/constants.ts","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/api/custom-element-scope.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/api/custom-element-register.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/shared/reset.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/utils/property-types.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/foundations/icon/icon.style.css.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/class-map.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/foundations/icon/icon.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/foundations/icon/icon.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/foundations/typography/typography.style.css.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/static.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/foundations/typography/typography.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/foundations/typography/typography.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/accordion/accordion.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/utils/helpers.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/accordion/accordion.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/accordion/accordion.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/action-menu-item/action-menu-item.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/action-menu-item/action-menu-item.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/action-menu-item/action-menu-item.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/enums.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/math.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/userAgent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/within.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getVariation.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/flip.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/hide.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/offset.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/debounce.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/createPopper.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/popper.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/action-menu/action-menu.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/action-menu/action-menu.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/action-menu/action-menu.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/alert/alert.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/alert/alert.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/alert/alert.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/avatar/avatar.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/avatar/avatar.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/avatar/avatar.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge-button/badge-button.states.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge-button/badge-button.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge-button/badge-button.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge-button/badge-button.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge/badge.states.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge/badge.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge/badge.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/badge/badge.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/breadcrumb-bar/breadcrumb-bar.style.css.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/map.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/breadcrumb-bar/breadcrumb-bar.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/breadcrumb-bar/breadcrumb-bar.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/button/button.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/button/button.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/button/button.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/icon-button/icon-button.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/calendar/calendar.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/calendar/calendar.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/calendar/calendar.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/chat-message/chat-message.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/chat-message/chat-message.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/chat-message/chat-message.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/checkbox/checkbox.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/checkbox/checkbox.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/checkbox/checkbox.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/chip/chip.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/chip/chip.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/chip/chip.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/shared/elevation.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/content-switcher/content-switcher.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/content-switcher/content-switcher.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/content-switcher/content-switcher.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/radio-button/radio-button.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/custom-table-header/custom-table-header.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/custom-table-header/custom-table-header.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/custom-table-header/custom-table-header.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/utils/keyboard-navigation.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/utils/sorting.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/shared/scrollbar.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/custom-table/custom-table.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/custom-table/custom-table.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/datepicker-range/datepicker-range.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input/input.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/datepicker-range/datepicker-range.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/datepicker-range/datepicker-range.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/datepicker/datepicker.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/datepicker/datepicker.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/datepicker/datepicker.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/decorative-icon/decorative-icon.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/decorative-icon/decorative-icon.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/decorative-icon/decorative-icon.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/divider/divider.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/divider/divider.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/drawer/drawer.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/drawer/drawer.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/drawer/drawer.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/foundations/typography/typography.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/footer/footer.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/gencat-logotip-default.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/footer/footer.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/footer/footer.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-links/header-links.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-links/header-links.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-links/header-links.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-menu-patient/header-menu-patient.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-menu-patient/header-menu-patient.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-menu-patient/header-menu-patient.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-menu-professional/header-menu-professional.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-menu-professional/header-menu-professional.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/header-menu-professional/header-menu-professional.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/icon-badge/icon-badge.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/icon-badge/icon.badge.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/icon-badge/icon-badge.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/icon-button/icon-button.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/icon-button/icon-button.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/utils/mask.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-action/input-action.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-action/input-action.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-action/input-action.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/utils/lazy-loading.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-dropdown/input-dropdown.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-dropdown/input-dropdown.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-dropdown/input-dropdown.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-switch/input-switch.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-switch/input-switch.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input-switch/input-switch.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input/input.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/input/input.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/api/marker/marker.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/item-list-base/item-list-base.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/api/marker/marker.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/item-list-base/item-list-base.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/item-list-base/item-list-base.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/item-list/item-list.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/item-list/item-list.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/item-list/item-list.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/legend/legend.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/legend/legend.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/legend/legend.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/link/link.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/link/link.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/link/link.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/list-menu/list-menu.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/list-menu/list-menu.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/list-menu/list-menu.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/modal/modal.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/modal/modal.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/modal/modal.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/module-header/module-header.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/module-header/module-header.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/module-header/module-header.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/notification-badge/notification-badge.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/notification-badge/notification-badge.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/notification-badge/notification-badge.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/pagination/pagination.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/pagination/pagination.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/pagination/pagination.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/popover/popover.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/popover/popover.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/popover/popover.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/popover/popover-body.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/popover/popover-footer.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/progress-indicator/progress-indicator.style.css.js","../../../node_modules/.pnpm/lit-html@3.2.0/node_modules/lit-html/directives/style-map.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/progress-indicator/progress-indicator.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/progress-indicator/progress-indicator.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/radio-button/radio-button.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/radio-button/radio-button.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/selector/selector.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/selector/selector.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/sidemenu-list-item/sidemenu-list-item.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/sidemenu-list-item/sidemenu-list-item.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/sidemenu-list-item/sidemenu-list-item.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/sidemenu-list/sidemenu-list.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/sidemenu-list/sidemenu-list.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/sidemenu-list/sidemenu-list.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/skeleton/skeleton.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/skeleton/skeleton.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/skeleton/skeleton.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/slider/slider.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/slider/slider.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/slider/slider.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/spinner/spinner.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/spinner/spinner.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/spinner/spinner.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/split-button/split-button.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/split-button/split-button.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/split-button/split-button.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/stepper/stepper.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/stepper/stepper.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/table-pagination/table-pagination.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/table-pagination/table-pagination.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tabs-list/tabs-list.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tabs-list/tabs-list.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tabs-list/tabs-list.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tabs-panel/tabs-panel.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tabs-panel/tabs-panel.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tabs-panel/tabs-panel.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/textarea/textarea.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/textarea/textarea.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/textarea/textarea.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tile/tile.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tile/tile.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tile/tile.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/timepicker/timepicker.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/timepicker/timepicker.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/timepicker/timepicker.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/toast/toast.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/toast/toast.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/toast/toast.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tooltip/tooltip.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tooltip/tooltip.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/tooltip/tooltip.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/upload-box/upload-box.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/upload-box/upload-box.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/upload-box/upload-box.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/user-feedback/user-feedback.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/feedback-empty.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/feedback-error.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/feedback-not_found.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/feedback-success.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/feedback-warning.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/feedback-work_in_progress.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/user-feedback/user-feedback.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/user-feedback/user-feedback.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/search-bar/search-bar.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/search-bar/search-bar.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/search-bar/search-bar.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/card.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/card.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/card.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-body.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-description.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-footer.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-form.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-header.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-highlights.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-highlights-item.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-image.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-info.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-info-item.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-menu.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-subtitle.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-tags.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/card/partials/card-title.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/header/header.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/salut-logotip-default.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/header/header.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/header/header.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/preset-texts/preset-texts.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/preset-texts/preset-texts.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/preset-texts/preset-texts.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/side-menu/side-menu.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/assets/img/logo_axia.svg.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/side-menu/side-menu.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/side-menu/side-menu.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/sidebar/sidebar.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/sidebar/sidebar.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/sidebar/sidebar.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/widget/widget.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/widget/widget.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/collections/widget/widget.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/breadcrumb/breadcrumb.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/breadcrumb/breadcrumb.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/breadcrumb/breadcrumb.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/button-link/button-link.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/button-link/button-link.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/button-link/button-link.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/datepicker/date-picker.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/dropdown-list/dropdown-list.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/input-field/input-field.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/sidemenu/sidemenu.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/sidemenu/sidemenu.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/sidemenu/sidemenu.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/switch/switch.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/deprecated/table/table.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-checkbox-group/form-checkbox-group.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-checkbox-group/form-checkbox-group.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-checkbox-group/form-checkbox-group.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-checkbox/form-checkbox.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-checkbox/form-checkbox.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-checkbox/form-checkbox.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-input/form-input.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-datepicker-range/form-datepicker-range.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-datepicker-range/form-datepicker-range.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-datepicker-range/form-datepicker-range.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-datepicker/form-datepicker.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-datepicker/form-datepicker.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-datepicker/form-datepicker.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-input/form-input.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-input/form-input.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-radio-button-group/form-radio-button-group.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-radio-button-group/form-radio-button-group.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-radio-button-group/form-radio-button-group.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-radio-button/form-radio-button.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-radio-button/form-radio-button.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-radio-button/form-radio-button.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-select-options/form-select-options.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-select-options/form-select-options.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-select-options/form-select-options.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-select/form-select.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-select/form-select.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-select/form-select.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-timepicker/form-timepicker.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-timepicker/form-timepicker.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-timepicker/form-timepicker.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-toggle/form-toggle.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-toggle/form-toggle.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/form-toggle/form-toggle.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/searchbar/searchbar.style.css.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/searchbar/searchbar.template.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/components/searchbar/searchbar.js","../../../node_modules/.pnpm/@salut+design-system-salut@file+design-system-salut-2.15.3.tgz/node_modules/@salut/design-system-salut/index.js","../src/UI/images/Gencat_Logotip.svg","../src/UI/components/primaria-shell/template.ts","../src/UI/components/primaria-shell/primaria-shell.ts","../src/UI/components/error-view/template.ts","../src/UI/components/error-view/component.ts","../src/UI/components/quick-actions-menu/template.ts","../src/UI/components/quick-actions-menu/quick-actions-menu.ts","../src/UI/images/Salut_Logotip.svg","../src/UI/components/primaria-shell/shell-header/template.ts","../src/UI/components/primaria-shell/shell-header/shell-header.ts","../src/UI/components/poc-events-ecap/poc-events-ecap.ts","../src/UI/components/primaria-accordion/primaria-accordion.ts","../src/UI/components/communication-action-menu/template.ts","../src/UI/components/communication-action-menu/communication-action-menu.ts","../src/UI/components/clinical-pathways-action-menu/template.ts","../src/UI/components/clinical-pathways-action-menu/clinical-pathways-action-menu.ts","../src/UI/components/petitioner-action-menu/template.ts","../src/UI/components/petitioner-action-menu/petitioner-action-menu.ts","../src/UI/components/primaria-shell/shell-header/header-divider/template.ts","../src/UI/components/primaria-shell/shell-header/header-divider/header-divider.ts","../src/UI/components/bootstrapper.ts","../src/UI/shared-components/primaria-content-switcher/primaria-content-switcher.ts","../src/UI/shared-components/primaria-nav-item/template.ts","../src/UI/shared-components/primaria-nav-item/primaria-nav-item.ts","../src/UI/shared-components/primaria-nav-tree-menu/template.ts","../src/UI/shared-components/primaria-nav-tree-menu/primaria-nav-tree-menu.ts","../../../node_modules/.pnpm/uxl-quill@1.0.1/node_modules/uxl-quill/dist/quill.js","../src/UI/shared-components/primaria-text-editor/template.ts","../src/UI/shared-components/primaria-text-editor/utils.ts","../src/UI/shared-components/primaria-text-editor/primaria-rich-text-editor.ts","../src/UI/shared-components/primaria-character-limit-badge/primaria-character-limit-badge.ts","../src/UI/shared-components/primaria-region/primaria-region.ts","../src/UI/shared-components/bootstrapper.ts","../src/api/pdf-viewer-manager/handle-views.ts","../src/features/get-patient-cip/action.ts","../src/features/navigate-to-ecap/navigate-to-ecap.ts","../src/UI/shared-components/quick-action-item/template.ts","../src/UI/shared-components/quick-action-item/quick-action-item.ts","../src/UI/components/nav-divider/template.ts","../src/UI/components/nav-divider/nav-divider.ts","../src/UI/internal-views/common-nav-menu.ts","../src/UI/internal-views/administrative-nav-menu.ts","../src/UI/internal-views/doctor-nav-menu.ts","../src/UI/internal-views/doctor-quick-action-menu.ts","../src/UI/internal-views/handle-views.ts","../src/UI/bootstrapper.ts","../src/bootstrapper.ts","../../../harmonix/adapters/dist/index.js","../src/index.ts","../src/api/import-data-manager/component/template.ts","../src/api/import-data-manager/component/component.ts"],"sourcesContent":["/*! *****************************************************************************\nCopyright (C) Microsoft. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar Reflect;\n(function (Reflect) {\n    // Metadata Proposal\n    // https://rbuckton.github.io/reflect-metadata/\n    (function (factory) {\n        var root = typeof globalThis === \"object\" ? globalThis :\n            typeof global === \"object\" ? global :\n                typeof self === \"object\" ? self :\n                    typeof this === \"object\" ? this :\n                        sloppyModeThis();\n        var exporter = makeExporter(Reflect);\n        if (typeof root.Reflect !== \"undefined\") {\n            exporter = makeExporter(root.Reflect, exporter);\n        }\n        factory(exporter, root);\n        if (typeof root.Reflect === \"undefined\") {\n            root.Reflect = Reflect;\n        }\n        function makeExporter(target, previous) {\n            return function (key, value) {\n                Object.defineProperty(target, key, { configurable: true, writable: true, value: value });\n                if (previous)\n                    previous(key, value);\n            };\n        }\n        function functionThis() {\n            try {\n                return Function(\"return this;\")();\n            }\n            catch (_) { }\n        }\n        function indirectEvalThis() {\n            try {\n                return (void 0, eval)(\"(function() { return this; })()\");\n            }\n            catch (_) { }\n        }\n        function sloppyModeThis() {\n            return functionThis() || indirectEvalThis();\n        }\n    })(function (exporter, root) {\n        var hasOwn = Object.prototype.hasOwnProperty;\n        // feature test for Symbol support\n        var supportsSymbol = typeof Symbol === \"function\";\n        var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\n        var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\n        var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\n        var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\n        var downLevel = !supportsCreate && !supportsProto;\n        var HashMap = {\n            // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\n            create: supportsCreate\n                ? function () { return MakeDictionary(Object.create(null)); }\n                : supportsProto\n                    ? function () { return MakeDictionary({ __proto__: null }); }\n                    : function () { return MakeDictionary({}); },\n            has: downLevel\n                ? function (map, key) { return hasOwn.call(map, key); }\n                : function (map, key) { return key in map; },\n            get: downLevel\n                ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\n                : function (map, key) { return map[key]; },\n        };\n        // Load global or shim versions of Map, Set, and WeakMap\n        var functionPrototype = Object.getPrototypeOf(Function);\n        var _Map = typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\n        var _Set = typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\n        var _WeakMap = typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\n        var registrySymbol = supportsSymbol ? Symbol.for(\"@reflect-metadata:registry\") : undefined;\n        var metadataRegistry = GetOrCreateMetadataRegistry();\n        var metadataProvider = CreateMetadataProvider(metadataRegistry);\n        /**\n         * Applies a set of decorators to a property of a target object.\n         * @param decorators An array of decorators.\n         * @param target The target object.\n         * @param propertyKey (Optional) The property key to decorate.\n         * @param attributes (Optional) The property descriptor for the target key.\n         * @remarks Decorators are applied in reverse order.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     Example = Reflect.decorate(decoratorsArray, Example);\n         *\n         *     // property (on constructor)\n         *     Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     Object.defineProperty(Example, \"staticMethod\",\n         *         Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\n         *             Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\n         *\n         *     // method (on prototype)\n         *     Object.defineProperty(Example.prototype, \"method\",\n         *         Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\n         *             Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\n         *\n         */\n        function decorate(decorators, target, propertyKey, attributes) {\n            if (!IsUndefined(propertyKey)) {\n                if (!IsArray(decorators))\n                    throw new TypeError();\n                if (!IsObject(target))\n                    throw new TypeError();\n                if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\n                    throw new TypeError();\n                if (IsNull(attributes))\n                    attributes = undefined;\n                propertyKey = ToPropertyKey(propertyKey);\n                return DecorateProperty(decorators, target, propertyKey, attributes);\n            }\n            else {\n                if (!IsArray(decorators))\n                    throw new TypeError();\n                if (!IsConstructor(target))\n                    throw new TypeError();\n                return DecorateConstructor(decorators, target);\n            }\n        }\n        exporter(\"decorate\", decorate);\n        // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\n        // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\n        /**\n         * A default metadata decorator factory that can be used on a class, class member, or parameter.\n         * @param metadataKey The key for the metadata entry.\n         * @param metadataValue The value for the metadata entry.\n         * @returns A decorator function.\n         * @remarks\n         * If `metadataKey` is already defined for the target and target key, the\n         * metadataValue for that key will be overwritten.\n         * @example\n         *\n         *     // constructor\n         *     @Reflect.metadata(key, value)\n         *     class Example {\n         *     }\n         *\n         *     // property (on constructor, TypeScript only)\n         *     class Example {\n         *         @Reflect.metadata(key, value)\n         *         static staticProperty;\n         *     }\n         *\n         *     // property (on prototype, TypeScript only)\n         *     class Example {\n         *         @Reflect.metadata(key, value)\n         *         property;\n         *     }\n         *\n         *     // method (on constructor)\n         *     class Example {\n         *         @Reflect.metadata(key, value)\n         *         static staticMethod() { }\n         *     }\n         *\n         *     // method (on prototype)\n         *     class Example {\n         *         @Reflect.metadata(key, value)\n         *         method() { }\n         *     }\n         *\n         */\n        function metadata(metadataKey, metadataValue) {\n            function decorator(target, propertyKey) {\n                if (!IsObject(target))\n                    throw new TypeError();\n                if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\n                    throw new TypeError();\n                OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n            }\n            return decorator;\n        }\n        exporter(\"metadata\", metadata);\n        /**\n         * Define a unique metadata entry on the target.\n         * @param metadataKey A key used to store and retrieve metadata.\n         * @param metadataValue A value that contains attached metadata.\n         * @param target The target object on which to define metadata.\n         * @param propertyKey (Optional) The property key for the target.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     Reflect.defineMetadata(\"custom:annotation\", options, Example);\n         *\n         *     // property (on constructor)\n         *     Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\n         *\n         *     // decorator factory as metadata-producing annotation.\n         *     function MyAnnotation(options): Decorator {\n         *         return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\n         *     }\n         *\n         */\n        function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n        }\n        exporter(\"defineMetadata\", defineMetadata);\n        /**\n         * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n         * @param metadataKey A key used to store and retrieve metadata.\n         * @param target The target object on which the metadata is defined.\n         * @param propertyKey (Optional) The property key for the target.\n         * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     result = Reflect.hasMetadata(\"custom:annotation\", Example);\n         *\n         *     // property (on constructor)\n         *     result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\n         *\n         */\n        function hasMetadata(metadataKey, target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            return OrdinaryHasMetadata(metadataKey, target, propertyKey);\n        }\n        exporter(\"hasMetadata\", hasMetadata);\n        /**\n         * Gets a value indicating whether the target object has the provided metadata key defined.\n         * @param metadataKey A key used to store and retrieve metadata.\n         * @param target The target object on which the metadata is defined.\n         * @param propertyKey (Optional) The property key for the target.\n         * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\n         *\n         *     // property (on constructor)\n         *     result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n         *\n         */\n        function hasOwnMetadata(metadataKey, target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\n        }\n        exporter(\"hasOwnMetadata\", hasOwnMetadata);\n        /**\n         * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n         * @param metadataKey A key used to store and retrieve metadata.\n         * @param target The target object on which the metadata is defined.\n         * @param propertyKey (Optional) The property key for the target.\n         * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     result = Reflect.getMetadata(\"custom:annotation\", Example);\n         *\n         *     // property (on constructor)\n         *     result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\n         *\n         */\n        function getMetadata(metadataKey, target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            return OrdinaryGetMetadata(metadataKey, target, propertyKey);\n        }\n        exporter(\"getMetadata\", getMetadata);\n        /**\n         * Gets the metadata value for the provided metadata key on the target object.\n         * @param metadataKey A key used to store and retrieve metadata.\n         * @param target The target object on which the metadata is defined.\n         * @param propertyKey (Optional) The property key for the target.\n         * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\n         *\n         *     // property (on constructor)\n         *     result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n         *\n         */\n        function getOwnMetadata(metadataKey, target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\n        }\n        exporter(\"getOwnMetadata\", getOwnMetadata);\n        /**\n         * Gets the metadata keys defined on the target object or its prototype chain.\n         * @param target The target object on which the metadata is defined.\n         * @param propertyKey (Optional) The property key for the target.\n         * @returns An array of unique metadata keys.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     result = Reflect.getMetadataKeys(Example);\n         *\n         *     // property (on constructor)\n         *     result = Reflect.getMetadataKeys(Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     result = Reflect.getMetadataKeys(Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     result = Reflect.getMetadataKeys(Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     result = Reflect.getMetadataKeys(Example.prototype, \"method\");\n         *\n         */\n        function getMetadataKeys(target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            return OrdinaryMetadataKeys(target, propertyKey);\n        }\n        exporter(\"getMetadataKeys\", getMetadataKeys);\n        /**\n         * Gets the unique metadata keys defined on the target object.\n         * @param target The target object on which the metadata is defined.\n         * @param propertyKey (Optional) The property key for the target.\n         * @returns An array of unique metadata keys.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     result = Reflect.getOwnMetadataKeys(Example);\n         *\n         *     // property (on constructor)\n         *     result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\n         *\n         */\n        function getOwnMetadataKeys(target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            return OrdinaryOwnMetadataKeys(target, propertyKey);\n        }\n        exporter(\"getOwnMetadataKeys\", getOwnMetadataKeys);\n        /**\n         * Deletes the metadata entry from the target object with the provided key.\n         * @param metadataKey A key used to store and retrieve metadata.\n         * @param target The target object on which the metadata is defined.\n         * @param propertyKey (Optional) The property key for the target.\n         * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n         * @example\n         *\n         *     class Example {\n         *         // property declarations are not part of ES6, though they are valid in TypeScript:\n         *         // static staticProperty;\n         *         // property;\n         *\n         *         constructor(p) { }\n         *         static staticMethod(p) { }\n         *         method(p) { }\n         *     }\n         *\n         *     // constructor\n         *     result = Reflect.deleteMetadata(\"custom:annotation\", Example);\n         *\n         *     // property (on constructor)\n         *     result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\n         *\n         *     // property (on prototype)\n         *     result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\n         *\n         *     // method (on constructor)\n         *     result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\n         *\n         *     // method (on prototype)\n         *     result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\n         *\n         */\n        function deleteMetadata(metadataKey, target, propertyKey) {\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            if (!IsObject(target))\n                throw new TypeError();\n            if (!IsUndefined(propertyKey))\n                propertyKey = ToPropertyKey(propertyKey);\n            var provider = GetMetadataProvider(target, propertyKey, /*Create*/ false);\n            if (IsUndefined(provider))\n                return false;\n            return provider.OrdinaryDeleteMetadata(metadataKey, target, propertyKey);\n        }\n        exporter(\"deleteMetadata\", deleteMetadata);\n        function DecorateConstructor(decorators, target) {\n            for (var i = decorators.length - 1; i >= 0; --i) {\n                var decorator = decorators[i];\n                var decorated = decorator(target);\n                if (!IsUndefined(decorated) && !IsNull(decorated)) {\n                    if (!IsConstructor(decorated))\n                        throw new TypeError();\n                    target = decorated;\n                }\n            }\n            return target;\n        }\n        function DecorateProperty(decorators, target, propertyKey, descriptor) {\n            for (var i = decorators.length - 1; i >= 0; --i) {\n                var decorator = decorators[i];\n                var decorated = decorator(target, propertyKey, descriptor);\n                if (!IsUndefined(decorated) && !IsNull(decorated)) {\n                    if (!IsObject(decorated))\n                        throw new TypeError();\n                    descriptor = decorated;\n                }\n            }\n            return descriptor;\n        }\n        // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\n        // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\n        function OrdinaryHasMetadata(MetadataKey, O, P) {\n            var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n            if (hasOwn)\n                return true;\n            var parent = OrdinaryGetPrototypeOf(O);\n            if (!IsNull(parent))\n                return OrdinaryHasMetadata(MetadataKey, parent, P);\n            return false;\n        }\n        // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\n        // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\n        function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\n            var provider = GetMetadataProvider(O, P, /*Create*/ false);\n            if (IsUndefined(provider))\n                return false;\n            return ToBoolean(provider.OrdinaryHasOwnMetadata(MetadataKey, O, P));\n        }\n        // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\n        // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\n        function OrdinaryGetMetadata(MetadataKey, O, P) {\n            var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n            if (hasOwn)\n                return OrdinaryGetOwnMetadata(MetadataKey, O, P);\n            var parent = OrdinaryGetPrototypeOf(O);\n            if (!IsNull(parent))\n                return OrdinaryGetMetadata(MetadataKey, parent, P);\n            return undefined;\n        }\n        // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\n        // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\n        function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\n            var provider = GetMetadataProvider(O, P, /*Create*/ false);\n            if (IsUndefined(provider))\n                return;\n            return provider.OrdinaryGetOwnMetadata(MetadataKey, O, P);\n        }\n        // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\n        // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\n        function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\n            var provider = GetMetadataProvider(O, P, /*Create*/ true);\n            provider.OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P);\n        }\n        // 3.1.6.1 OrdinaryMetadataKeys(O, P)\n        // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\n        function OrdinaryMetadataKeys(O, P) {\n            var ownKeys = OrdinaryOwnMetadataKeys(O, P);\n            var parent = OrdinaryGetPrototypeOf(O);\n            if (parent === null)\n                return ownKeys;\n            var parentKeys = OrdinaryMetadataKeys(parent, P);\n            if (parentKeys.length <= 0)\n                return ownKeys;\n            if (ownKeys.length <= 0)\n                return parentKeys;\n            var set = new _Set();\n            var keys = [];\n            for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\n                var key = ownKeys_1[_i];\n                var hasKey = set.has(key);\n                if (!hasKey) {\n                    set.add(key);\n                    keys.push(key);\n                }\n            }\n            for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\n                var key = parentKeys_1[_a];\n                var hasKey = set.has(key);\n                if (!hasKey) {\n                    set.add(key);\n                    keys.push(key);\n                }\n            }\n            return keys;\n        }\n        // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\n        // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\n        function OrdinaryOwnMetadataKeys(O, P) {\n            var provider = GetMetadataProvider(O, P, /*create*/ false);\n            if (!provider) {\n                return [];\n            }\n            return provider.OrdinaryOwnMetadataKeys(O, P);\n        }\n        // 6 ECMAScript Data Types and Values\n        // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\n        function Type(x) {\n            if (x === null)\n                return 1 /* Null */;\n            switch (typeof x) {\n                case \"undefined\": return 0 /* Undefined */;\n                case \"boolean\": return 2 /* Boolean */;\n                case \"string\": return 3 /* String */;\n                case \"symbol\": return 4 /* Symbol */;\n                case \"number\": return 5 /* Number */;\n                case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\n                default: return 6 /* Object */;\n            }\n        }\n        // 6.1.1 The Undefined Type\n        // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\n        function IsUndefined(x) {\n            return x === undefined;\n        }\n        // 6.1.2 The Null Type\n        // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\n        function IsNull(x) {\n            return x === null;\n        }\n        // 6.1.5 The Symbol Type\n        // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\n        function IsSymbol(x) {\n            return typeof x === \"symbol\";\n        }\n        // 6.1.7 The Object Type\n        // https://tc39.github.io/ecma262/#sec-object-type\n        function IsObject(x) {\n            return typeof x === \"object\" ? x !== null : typeof x === \"function\";\n        }\n        // 7.1 Type Conversion\n        // https://tc39.github.io/ecma262/#sec-type-conversion\n        // 7.1.1 ToPrimitive(input [, PreferredType])\n        // https://tc39.github.io/ecma262/#sec-toprimitive\n        function ToPrimitive(input, PreferredType) {\n            switch (Type(input)) {\n                case 0 /* Undefined */: return input;\n                case 1 /* Null */: return input;\n                case 2 /* Boolean */: return input;\n                case 3 /* String */: return input;\n                case 4 /* Symbol */: return input;\n                case 5 /* Number */: return input;\n            }\n            var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\n            var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\n            if (exoticToPrim !== undefined) {\n                var result = exoticToPrim.call(input, hint);\n                if (IsObject(result))\n                    throw new TypeError();\n                return result;\n            }\n            return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\n        }\n        // 7.1.1.1 OrdinaryToPrimitive(O, hint)\n        // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\n        function OrdinaryToPrimitive(O, hint) {\n            if (hint === \"string\") {\n                var toString_1 = O.toString;\n                if (IsCallable(toString_1)) {\n                    var result = toString_1.call(O);\n                    if (!IsObject(result))\n                        return result;\n                }\n                var valueOf = O.valueOf;\n                if (IsCallable(valueOf)) {\n                    var result = valueOf.call(O);\n                    if (!IsObject(result))\n                        return result;\n                }\n            }\n            else {\n                var valueOf = O.valueOf;\n                if (IsCallable(valueOf)) {\n                    var result = valueOf.call(O);\n                    if (!IsObject(result))\n                        return result;\n                }\n                var toString_2 = O.toString;\n                if (IsCallable(toString_2)) {\n                    var result = toString_2.call(O);\n                    if (!IsObject(result))\n                        return result;\n                }\n            }\n            throw new TypeError();\n        }\n        // 7.1.2 ToBoolean(argument)\n        // https://tc39.github.io/ecma262/2016/#sec-toboolean\n        function ToBoolean(argument) {\n            return !!argument;\n        }\n        // 7.1.12 ToString(argument)\n        // https://tc39.github.io/ecma262/#sec-tostring\n        function ToString(argument) {\n            return \"\" + argument;\n        }\n        // 7.1.14 ToPropertyKey(argument)\n        // https://tc39.github.io/ecma262/#sec-topropertykey\n        function ToPropertyKey(argument) {\n            var key = ToPrimitive(argument, 3 /* String */);\n            if (IsSymbol(key))\n                return key;\n            return ToString(key);\n        }\n        // 7.2 Testing and Comparison Operations\n        // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\n        // 7.2.2 IsArray(argument)\n        // https://tc39.github.io/ecma262/#sec-isarray\n        function IsArray(argument) {\n            return Array.isArray\n                ? Array.isArray(argument)\n                : argument instanceof Object\n                    ? argument instanceof Array\n                    : Object.prototype.toString.call(argument) === \"[object Array]\";\n        }\n        // 7.2.3 IsCallable(argument)\n        // https://tc39.github.io/ecma262/#sec-iscallable\n        function IsCallable(argument) {\n            // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\n            return typeof argument === \"function\";\n        }\n        // 7.2.4 IsConstructor(argument)\n        // https://tc39.github.io/ecma262/#sec-isconstructor\n        function IsConstructor(argument) {\n            // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\n            return typeof argument === \"function\";\n        }\n        // 7.2.7 IsPropertyKey(argument)\n        // https://tc39.github.io/ecma262/#sec-ispropertykey\n        function IsPropertyKey(argument) {\n            switch (Type(argument)) {\n                case 3 /* String */: return true;\n                case 4 /* Symbol */: return true;\n                default: return false;\n            }\n        }\n        function SameValueZero(x, y) {\n            return x === y || x !== x && y !== y;\n        }\n        // 7.3 Operations on Objects\n        // https://tc39.github.io/ecma262/#sec-operations-on-objects\n        // 7.3.9 GetMethod(V, P)\n        // https://tc39.github.io/ecma262/#sec-getmethod\n        function GetMethod(V, P) {\n            var func = V[P];\n            if (func === undefined || func === null)\n                return undefined;\n            if (!IsCallable(func))\n                throw new TypeError();\n            return func;\n        }\n        // 7.4 Operations on Iterator Objects\n        // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\n        function GetIterator(obj) {\n            var method = GetMethod(obj, iteratorSymbol);\n            if (!IsCallable(method))\n                throw new TypeError(); // from Call\n            var iterator = method.call(obj);\n            if (!IsObject(iterator))\n                throw new TypeError();\n            return iterator;\n        }\n        // 7.4.4 IteratorValue(iterResult)\n        // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\n        function IteratorValue(iterResult) {\n            return iterResult.value;\n        }\n        // 7.4.5 IteratorStep(iterator)\n        // https://tc39.github.io/ecma262/#sec-iteratorstep\n        function IteratorStep(iterator) {\n            var result = iterator.next();\n            return result.done ? false : result;\n        }\n        // 7.4.6 IteratorClose(iterator, completion)\n        // https://tc39.github.io/ecma262/#sec-iteratorclose\n        function IteratorClose(iterator) {\n            var f = iterator[\"return\"];\n            if (f)\n                f.call(iterator);\n        }\n        // 9.1 Ordinary Object Internal Methods and Internal Slots\n        // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\n        // 9.1.1.1 OrdinaryGetPrototypeOf(O)\n        // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\n        function OrdinaryGetPrototypeOf(O) {\n            var proto = Object.getPrototypeOf(O);\n            if (typeof O !== \"function\" || O === functionPrototype)\n                return proto;\n            // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\n            // Try to determine the superclass constructor. Compatible implementations\n            // must either set __proto__ on a subclass constructor to the superclass constructor,\n            // or ensure each class has a valid `constructor` property on its prototype that\n            // points back to the constructor.\n            // If this is not the same as Function.[[Prototype]], then this is definately inherited.\n            // This is the case when in ES6 or when using __proto__ in a compatible browser.\n            if (proto !== functionPrototype)\n                return proto;\n            // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\n            var prototype = O.prototype;\n            var prototypeProto = prototype && Object.getPrototypeOf(prototype);\n            if (prototypeProto == null || prototypeProto === Object.prototype)\n                return proto;\n            // If the constructor was not a function, then we cannot determine the heritage.\n            var constructor = prototypeProto.constructor;\n            if (typeof constructor !== \"function\")\n                return proto;\n            // If we have some kind of self-reference, then we cannot determine the heritage.\n            if (constructor === O)\n                return proto;\n            // we have a pretty good guess at the heritage.\n            return constructor;\n        }\n        // Global metadata registry\n        // - Allows `import \"reflect-metadata\"` and `import \"reflect-metadata/no-conflict\"` to interoperate.\n        // - Uses isolated metadata if `Reflect` is frozen before the registry can be installed.\n        /**\n         * Creates a registry used to allow multiple `reflect-metadata` providers.\n         */\n        function CreateMetadataRegistry() {\n            var fallback;\n            if (!IsUndefined(registrySymbol) &&\n                typeof root.Reflect !== \"undefined\" &&\n                !(registrySymbol in root.Reflect) &&\n                typeof root.Reflect.defineMetadata === \"function\") {\n                // interoperate with older version of `reflect-metadata` that did not support a registry.\n                fallback = CreateFallbackProvider(root.Reflect);\n            }\n            var first;\n            var second;\n            var rest;\n            var targetProviderMap = new _WeakMap();\n            var registry = {\n                registerProvider: registerProvider,\n                getProvider: getProvider,\n                setProvider: setProvider,\n            };\n            return registry;\n            function registerProvider(provider) {\n                if (!Object.isExtensible(registry)) {\n                    throw new Error(\"Cannot add provider to a frozen registry.\");\n                }\n                switch (true) {\n                    case fallback === provider: break;\n                    case IsUndefined(first):\n                        first = provider;\n                        break;\n                    case first === provider: break;\n                    case IsUndefined(second):\n                        second = provider;\n                        break;\n                    case second === provider: break;\n                    default:\n                        if (rest === undefined)\n                            rest = new _Set();\n                        rest.add(provider);\n                        break;\n                }\n            }\n            function getProviderNoCache(O, P) {\n                if (!IsUndefined(first)) {\n                    if (first.isProviderFor(O, P))\n                        return first;\n                    if (!IsUndefined(second)) {\n                        if (second.isProviderFor(O, P))\n                            return first;\n                        if (!IsUndefined(rest)) {\n                            var iterator = GetIterator(rest);\n                            while (true) {\n                                var next = IteratorStep(iterator);\n                                if (!next) {\n                                    return undefined;\n                                }\n                                var provider = IteratorValue(next);\n                                if (provider.isProviderFor(O, P)) {\n                                    IteratorClose(iterator);\n                                    return provider;\n                                }\n                            }\n                        }\n                    }\n                }\n                if (!IsUndefined(fallback) && fallback.isProviderFor(O, P)) {\n                    return fallback;\n                }\n                return undefined;\n            }\n            function getProvider(O, P) {\n                var providerMap = targetProviderMap.get(O);\n                var provider;\n                if (!IsUndefined(providerMap)) {\n                    provider = providerMap.get(P);\n                }\n                if (!IsUndefined(provider)) {\n                    return provider;\n                }\n                provider = getProviderNoCache(O, P);\n                if (!IsUndefined(provider)) {\n                    if (IsUndefined(providerMap)) {\n                        providerMap = new _Map();\n                        targetProviderMap.set(O, providerMap);\n                    }\n                    providerMap.set(P, provider);\n                }\n                return provider;\n            }\n            function hasProvider(provider) {\n                if (IsUndefined(provider))\n                    throw new TypeError();\n                return first === provider || second === provider || !IsUndefined(rest) && rest.has(provider);\n            }\n            function setProvider(O, P, provider) {\n                if (!hasProvider(provider)) {\n                    throw new Error(\"Metadata provider not registered.\");\n                }\n                var existingProvider = getProvider(O, P);\n                if (existingProvider !== provider) {\n                    if (!IsUndefined(existingProvider)) {\n                        return false;\n                    }\n                    var providerMap = targetProviderMap.get(O);\n                    if (IsUndefined(providerMap)) {\n                        providerMap = new _Map();\n                        targetProviderMap.set(O, providerMap);\n                    }\n                    providerMap.set(P, provider);\n                }\n                return true;\n            }\n        }\n        /**\n         * Gets or creates the shared registry of metadata providers.\n         */\n        function GetOrCreateMetadataRegistry() {\n            var metadataRegistry;\n            if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) {\n                metadataRegistry = root.Reflect[registrySymbol];\n            }\n            if (IsUndefined(metadataRegistry)) {\n                metadataRegistry = CreateMetadataRegistry();\n            }\n            if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) {\n                Object.defineProperty(root.Reflect, registrySymbol, {\n                    enumerable: false,\n                    configurable: false,\n                    writable: false,\n                    value: metadataRegistry\n                });\n            }\n            return metadataRegistry;\n        }\n        function CreateMetadataProvider(registry) {\n            // [[Metadata]] internal slot\n            // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\n            var metadata = new _WeakMap();\n            var provider = {\n                isProviderFor: function (O, P) {\n                    var targetMetadata = metadata.get(O);\n                    if (IsUndefined(targetMetadata))\n                        return false;\n                    return targetMetadata.has(P);\n                },\n                OrdinaryDefineOwnMetadata: OrdinaryDefineOwnMetadata,\n                OrdinaryHasOwnMetadata: OrdinaryHasOwnMetadata,\n                OrdinaryGetOwnMetadata: OrdinaryGetOwnMetadata,\n                OrdinaryOwnMetadataKeys: OrdinaryOwnMetadataKeys,\n                OrdinaryDeleteMetadata: OrdinaryDeleteMetadata,\n            };\n            metadataRegistry.registerProvider(provider);\n            return provider;\n            function GetOrCreateMetadataMap(O, P, Create) {\n                var targetMetadata = metadata.get(O);\n                var createdTargetMetadata = false;\n                if (IsUndefined(targetMetadata)) {\n                    if (!Create)\n                        return undefined;\n                    targetMetadata = new _Map();\n                    metadata.set(O, targetMetadata);\n                    createdTargetMetadata = true;\n                }\n                var metadataMap = targetMetadata.get(P);\n                if (IsUndefined(metadataMap)) {\n                    if (!Create)\n                        return undefined;\n                    metadataMap = new _Map();\n                    targetMetadata.set(P, metadataMap);\n                    if (!registry.setProvider(O, P, provider)) {\n                        targetMetadata.delete(P);\n                        if (createdTargetMetadata) {\n                            metadata.delete(O);\n                        }\n                        throw new Error(\"Wrong provider for target.\");\n                    }\n                }\n                return metadataMap;\n            }\n            // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\n            // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\n            function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\n                var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n                if (IsUndefined(metadataMap))\n                    return false;\n                return ToBoolean(metadataMap.has(MetadataKey));\n            }\n            // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\n            // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\n            function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\n                var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n                if (IsUndefined(metadataMap))\n                    return undefined;\n                return metadataMap.get(MetadataKey);\n            }\n            // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\n            // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\n            function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\n                var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\n                metadataMap.set(MetadataKey, MetadataValue);\n            }\n            // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\n            // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\n            function OrdinaryOwnMetadataKeys(O, P) {\n                var keys = [];\n                var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n                if (IsUndefined(metadataMap))\n                    return keys;\n                var keysObj = metadataMap.keys();\n                var iterator = GetIterator(keysObj);\n                var k = 0;\n                while (true) {\n                    var next = IteratorStep(iterator);\n                    if (!next) {\n                        keys.length = k;\n                        return keys;\n                    }\n                    var nextValue = IteratorValue(next);\n                    try {\n                        keys[k] = nextValue;\n                    }\n                    catch (e) {\n                        try {\n                            IteratorClose(iterator);\n                        }\n                        finally {\n                            throw e;\n                        }\n                    }\n                    k++;\n                }\n            }\n            function OrdinaryDeleteMetadata(MetadataKey, O, P) {\n                var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n                if (IsUndefined(metadataMap))\n                    return false;\n                if (!metadataMap.delete(MetadataKey))\n                    return false;\n                if (metadataMap.size === 0) {\n                    var targetMetadata = metadata.get(O);\n                    if (!IsUndefined(targetMetadata)) {\n                        targetMetadata.delete(P);\n                        if (targetMetadata.size === 0) {\n                            metadata.delete(targetMetadata);\n                        }\n                    }\n                }\n                return true;\n            }\n        }\n        function CreateFallbackProvider(reflect) {\n            var defineMetadata = reflect.defineMetadata, hasOwnMetadata = reflect.hasOwnMetadata, getOwnMetadata = reflect.getOwnMetadata, getOwnMetadataKeys = reflect.getOwnMetadataKeys, deleteMetadata = reflect.deleteMetadata;\n            var metadataOwner = new _WeakMap();\n            var provider = {\n                isProviderFor: function (O, P) {\n                    var metadataPropertySet = metadataOwner.get(O);\n                    if (!IsUndefined(metadataPropertySet) && metadataPropertySet.has(P)) {\n                        return true;\n                    }\n                    if (getOwnMetadataKeys(O, P).length) {\n                        if (IsUndefined(metadataPropertySet)) {\n                            metadataPropertySet = new _Set();\n                            metadataOwner.set(O, metadataPropertySet);\n                        }\n                        metadataPropertySet.add(P);\n                        return true;\n                    }\n                    return false;\n                },\n                OrdinaryDefineOwnMetadata: defineMetadata,\n                OrdinaryHasOwnMetadata: hasOwnMetadata,\n                OrdinaryGetOwnMetadata: getOwnMetadata,\n                OrdinaryOwnMetadataKeys: getOwnMetadataKeys,\n                OrdinaryDeleteMetadata: deleteMetadata,\n            };\n            return provider;\n        }\n        /**\n         * Gets the metadata provider for an object. If the object has no metadata provider and this is for a create operation,\n         * then this module's metadata provider is assigned to the object.\n         */\n        function GetMetadataProvider(O, P, Create) {\n            var registeredProvider = metadataRegistry.getProvider(O, P);\n            if (!IsUndefined(registeredProvider)) {\n                return registeredProvider;\n            }\n            if (Create) {\n                if (metadataRegistry.setProvider(O, P, metadataProvider)) {\n                    return metadataProvider;\n                }\n                throw new Error(\"Illegal state.\");\n            }\n            return undefined;\n        }\n        // naive Map shim\n        function CreateMapPolyfill() {\n            var cacheSentinel = {};\n            var arraySentinel = [];\n            var MapIterator = /** @class */ (function () {\n                function MapIterator(keys, values, selector) {\n                    this._index = 0;\n                    this._keys = keys;\n                    this._values = values;\n                    this._selector = selector;\n                }\n                MapIterator.prototype[\"@@iterator\"] = function () { return this; };\n                MapIterator.prototype[iteratorSymbol] = function () { return this; };\n                MapIterator.prototype.next = function () {\n                    var index = this._index;\n                    if (index >= 0 && index < this._keys.length) {\n                        var result = this._selector(this._keys[index], this._values[index]);\n                        if (index + 1 >= this._keys.length) {\n                            this._index = -1;\n                            this._keys = arraySentinel;\n                            this._values = arraySentinel;\n                        }\n                        else {\n                            this._index++;\n                        }\n                        return { value: result, done: false };\n                    }\n                    return { value: undefined, done: true };\n                };\n                MapIterator.prototype.throw = function (error) {\n                    if (this._index >= 0) {\n                        this._index = -1;\n                        this._keys = arraySentinel;\n                        this._values = arraySentinel;\n                    }\n                    throw error;\n                };\n                MapIterator.prototype.return = function (value) {\n                    if (this._index >= 0) {\n                        this._index = -1;\n                        this._keys = arraySentinel;\n                        this._values = arraySentinel;\n                    }\n                    return { value: value, done: true };\n                };\n                return MapIterator;\n            }());\n            var Map = /** @class */ (function () {\n                function Map() {\n                    this._keys = [];\n                    this._values = [];\n                    this._cacheKey = cacheSentinel;\n                    this._cacheIndex = -2;\n                }\n                Object.defineProperty(Map.prototype, \"size\", {\n                    get: function () { return this._keys.length; },\n                    enumerable: true,\n                    configurable: true\n                });\n                Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\n                Map.prototype.get = function (key) {\n                    var index = this._find(key, /*insert*/ false);\n                    return index >= 0 ? this._values[index] : undefined;\n                };\n                Map.prototype.set = function (key, value) {\n                    var index = this._find(key, /*insert*/ true);\n                    this._values[index] = value;\n                    return this;\n                };\n                Map.prototype.delete = function (key) {\n                    var index = this._find(key, /*insert*/ false);\n                    if (index >= 0) {\n                        var size = this._keys.length;\n                        for (var i = index + 1; i < size; i++) {\n                            this._keys[i - 1] = this._keys[i];\n                            this._values[i - 1] = this._values[i];\n                        }\n                        this._keys.length--;\n                        this._values.length--;\n                        if (SameValueZero(key, this._cacheKey)) {\n                            this._cacheKey = cacheSentinel;\n                            this._cacheIndex = -2;\n                        }\n                        return true;\n                    }\n                    return false;\n                };\n                Map.prototype.clear = function () {\n                    this._keys.length = 0;\n                    this._values.length = 0;\n                    this._cacheKey = cacheSentinel;\n                    this._cacheIndex = -2;\n                };\n                Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\n                Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\n                Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\n                Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\n                Map.prototype[iteratorSymbol] = function () { return this.entries(); };\n                Map.prototype._find = function (key, insert) {\n                    if (!SameValueZero(this._cacheKey, key)) {\n                        this._cacheIndex = -1;\n                        for (var i = 0; i < this._keys.length; i++) {\n                            if (SameValueZero(this._keys[i], key)) {\n                                this._cacheIndex = i;\n                                break;\n                            }\n                        }\n                    }\n                    if (this._cacheIndex < 0 && insert) {\n                        this._cacheIndex = this._keys.length;\n                        this._keys.push(key);\n                        this._values.push(undefined);\n                    }\n                    return this._cacheIndex;\n                };\n                return Map;\n            }());\n            return Map;\n            function getKey(key, _) {\n                return key;\n            }\n            function getValue(_, value) {\n                return value;\n            }\n            function getEntry(key, value) {\n                return [key, value];\n            }\n        }\n        // naive Set shim\n        function CreateSetPolyfill() {\n            var Set = /** @class */ (function () {\n                function Set() {\n                    this._map = new _Map();\n                }\n                Object.defineProperty(Set.prototype, \"size\", {\n                    get: function () { return this._map.size; },\n                    enumerable: true,\n                    configurable: true\n                });\n                Set.prototype.has = function (value) { return this._map.has(value); };\n                Set.prototype.add = function (value) { return this._map.set(value, value), this; };\n                Set.prototype.delete = function (value) { return this._map.delete(value); };\n                Set.prototype.clear = function () { this._map.clear(); };\n                Set.prototype.keys = function () { return this._map.keys(); };\n                Set.prototype.values = function () { return this._map.keys(); };\n                Set.prototype.entries = function () { return this._map.entries(); };\n                Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\n                Set.prototype[iteratorSymbol] = function () { return this.keys(); };\n                return Set;\n            }());\n            return Set;\n        }\n        // naive WeakMap shim\n        function CreateWeakMapPolyfill() {\n            var UUID_SIZE = 16;\n            var keys = HashMap.create();\n            var rootKey = CreateUniqueKey();\n            return /** @class */ (function () {\n                function WeakMap() {\n                    this._key = CreateUniqueKey();\n                }\n                WeakMap.prototype.has = function (target) {\n                    var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n                    return table !== undefined ? HashMap.has(table, this._key) : false;\n                };\n                WeakMap.prototype.get = function (target) {\n                    var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n                    return table !== undefined ? HashMap.get(table, this._key) : undefined;\n                };\n                WeakMap.prototype.set = function (target, value) {\n                    var table = GetOrCreateWeakMapTable(target, /*create*/ true);\n                    table[this._key] = value;\n                    return this;\n                };\n                WeakMap.prototype.delete = function (target) {\n                    var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n                    return table !== undefined ? delete table[this._key] : false;\n                };\n                WeakMap.prototype.clear = function () {\n                    // NOTE: not a real clear, just makes the previous data unreachable\n                    this._key = CreateUniqueKey();\n                };\n                return WeakMap;\n            }());\n            function CreateUniqueKey() {\n                var key;\n                do\n                    key = \"@@WeakMap@@\" + CreateUUID();\n                while (HashMap.has(keys, key));\n                keys[key] = true;\n                return key;\n            }\n            function GetOrCreateWeakMapTable(target, create) {\n                if (!hasOwn.call(target, rootKey)) {\n                    if (!create)\n                        return undefined;\n                    Object.defineProperty(target, rootKey, { value: HashMap.create() });\n                }\n                return target[rootKey];\n            }\n            function FillRandomBytes(buffer, size) {\n                for (var i = 0; i < size; ++i)\n                    buffer[i] = Math.random() * 0xff | 0;\n                return buffer;\n            }\n            function GenRandomBytes(size) {\n                if (typeof Uint8Array === \"function\") {\n                    var array = new Uint8Array(size);\n                    if (typeof crypto !== \"undefined\") {\n                        crypto.getRandomValues(array);\n                    }\n                    else if (typeof msCrypto !== \"undefined\") {\n                        msCrypto.getRandomValues(array);\n                    }\n                    else {\n                        FillRandomBytes(array, size);\n                    }\n                    return array;\n                }\n                return FillRandomBytes(new Array(size), size);\n            }\n            function CreateUUID() {\n                var data = GenRandomBytes(UUID_SIZE);\n                // mark as random - RFC 4122 § 4.4\n                data[6] = data[6] & 0x4f | 0x40;\n                data[8] = data[8] & 0xbf | 0x80;\n                var result = \"\";\n                for (var offset = 0; offset < UUID_SIZE; ++offset) {\n                    var byte = data[offset];\n                    if (offset === 4 || offset === 6 || offset === 8)\n                        result += \"-\";\n                    if (byte < 16)\n                        result += \"0\";\n                    result += byte.toString(16).toLowerCase();\n                }\n                return result;\n            }\n        }\n        // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\n        function MakeDictionary(obj) {\n            obj.__ = undefined;\n            delete obj.__;\n            return obj;\n        }\n    });\n})(Reflect || (Reflect = {}));\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */const o=()=>{};export{o as nop};\n","export default function _isPlaceholder(a) {\n  return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n  return function f1(a) {\n    if (arguments.length === 0 || _isPlaceholder(a)) {\n      return f1;\n    } else {\n      return fn.apply(this, arguments);\n    }\n  };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n  return function f2(a, b) {\n    switch (arguments.length) {\n      case 0:\n        return f2;\n\n      case 1:\n        return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n          return fn(a, _b);\n        });\n\n      default:\n        return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n          return fn(_a, b);\n        }) : _isPlaceholder(b) ? _curry1(function (_b) {\n          return fn(a, _b);\n        }) : fn(a, b);\n    }\n  };\n}","export default function _isFunction(x) {\n  var type = Object.prototype.toString.call(x);\n  return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]';\n}","export default function _arrayFromIterator(iter) {\n  var list = [];\n  var next;\n\n  while (!(next = iter.next()).done) {\n    list.push(next.value);\n  }\n\n  return list;\n}","export default function _includesWith(pred, x, list) {\n  var idx = 0;\n  var len = list.length;\n\n  while (idx < len) {\n    if (pred(x, list[idx])) {\n      return true;\n    }\n\n    idx += 1;\n  }\n\n  return false;\n}","export default function _functionName(f) {\n  // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n  var match = String(f).match(/^function (\\w*)/);\n  return match == null ? '' : match[1];\n}","export default function _has(prop, obj) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n  // SameValue algorithm\n  if (a === b) {\n    // Steps 1-5, 7-10\n    // Steps 6.b-6.e: +0 != -0\n    return a !== 0 || 1 / a === 1 / b;\n  } else {\n    // Step 6.a: NaN == NaN\n    return a !== a && b !== b;\n  }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n  return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n    return toString.call(x) === '[object Arguments]';\n  } : function _isArguments(x) {\n    return _has('callee', x);\n  };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n  toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n  'use strict';\n\n  return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n  var idx = 0;\n\n  while (idx < list.length) {\n    if (list[idx] === item) {\n      return true;\n    }\n\n    idx += 1;\n  }\n\n  return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n *      R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n  return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n  if (Object(obj) !== obj) {\n    return [];\n  }\n\n  var prop, nIdx;\n  var ks = [];\n\n  var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n  for (prop in obj) {\n    if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n      ks[ks.length] = prop;\n    }\n  }\n\n  if (hasEnumBug) {\n    nIdx = nonEnumerableProps.length - 1;\n\n    while (nIdx >= 0) {\n      prop = nonEnumerableProps[nIdx];\n\n      if (_has(prop, obj) && !contains(ks, prop)) {\n        ks[ks.length] = prop;\n      }\n\n      nIdx -= 1;\n    }\n  }\n\n  return ks;\n});\nexport default keys;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n *      R.type({}); //=> \"Object\"\n *      R.type(1); //=> \"Number\"\n *      R.type(false); //=> \"Boolean\"\n *      R.type('s'); //=> \"String\"\n *      R.type(null); //=> \"Null\"\n *      R.type([]); //=> \"Array\"\n *      R.type(/[A-z]/); //=> \"RegExp\"\n *      R.type(() => {}); //=> \"Function\"\n *      R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n  return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n  var a = _arrayFromIterator(aIterator);\n\n  var b = _arrayFromIterator(bIterator);\n\n  function eq(_a, _b) {\n    return _equals(_a, _b, stackA.slice(), stackB.slice());\n  } // if *a* array contains any element that is not included in *b*\n\n\n  return !_includesWith(function (b, aItem) {\n    return !_includesWith(eq, aItem, b);\n  }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n  if (_objectIs(a, b)) {\n    return true;\n  }\n\n  var typeA = type(a);\n\n  if (typeA !== type(b)) {\n    return false;\n  }\n\n  if (a == null || b == null) {\n    return false;\n  }\n\n  if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n    return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n  }\n\n  if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n    return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n  }\n\n  switch (typeA) {\n    case 'Arguments':\n    case 'Array':\n    case 'Object':\n      if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n        return a === b;\n      }\n\n      break;\n\n    case 'Boolean':\n    case 'Number':\n    case 'String':\n      if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n        return false;\n      }\n\n      break;\n\n    case 'Date':\n      if (!_objectIs(a.valueOf(), b.valueOf())) {\n        return false;\n      }\n\n      break;\n\n    case 'Error':\n      return a.name === b.name && a.message === b.message;\n\n    case 'RegExp':\n      if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n        return false;\n      }\n\n      break;\n  }\n\n  var idx = stackA.length - 1;\n\n  while (idx >= 0) {\n    if (stackA[idx] === a) {\n      return stackB[idx] === b;\n    }\n\n    idx -= 1;\n  }\n\n  switch (typeA) {\n    case 'Map':\n      if (a.size !== b.size) {\n        return false;\n      }\n\n      return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n    case 'Set':\n      if (a.size !== b.size) {\n        return false;\n      }\n\n      return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n    case 'Arguments':\n    case 'Array':\n    case 'Object':\n    case 'Boolean':\n    case 'Number':\n    case 'String':\n    case 'Date':\n    case 'Error':\n    case 'RegExp':\n    case 'Int8Array':\n    case 'Uint8Array':\n    case 'Uint8ClampedArray':\n    case 'Int16Array':\n    case 'Uint16Array':\n    case 'Int32Array':\n    case 'Uint32Array':\n    case 'Float32Array':\n    case 'Float64Array':\n    case 'ArrayBuffer':\n      break;\n\n    default:\n      // Values of other types are only equal if identical.\n      return false;\n  }\n\n  var keysA = keys(a);\n\n  if (keysA.length !== keys(b).length) {\n    return false;\n  }\n\n  var extendedStackA = stackA.concat([a]);\n  var extendedStackB = stackB.concat([b]);\n  idx = keysA.length - 1;\n\n  while (idx >= 0) {\n    var key = keysA[idx];\n\n    if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n      return false;\n    }\n\n    idx -= 1;\n  }\n\n  return true;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n *      R.equals(1, 1); //=> true\n *      R.equals(1, '1'); //=> false\n *      R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n *      const a = {}; a.v = a;\n *      const b = {}; b.v = b;\n *      R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n  return _equals(a, b, [], []);\n});\n\nexport default equals;","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n  var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n  if (typeof list.indexOf === 'function') {\n    switch (typeof a) {\n      case 'number':\n        if (a === 0) {\n          // manually crawl the list to distinguish between +0 and -0\n          inf = 1 / a;\n\n          while (idx < list.length) {\n            item = list[idx];\n\n            if (item === 0 && 1 / item === inf) {\n              return idx;\n            }\n\n            idx += 1;\n          }\n\n          return -1;\n        } else if (a !== a) {\n          // NaN\n          while (idx < list.length) {\n            item = list[idx];\n\n            if (typeof item === 'number' && item !== item) {\n              return idx;\n            }\n\n            idx += 1;\n          }\n\n          return -1;\n        } // non-zero numbers can utilise Set\n\n\n        return list.indexOf(a, idx);\n      // all these types can utilise Set\n\n      case 'string':\n      case 'boolean':\n      case 'function':\n      case 'undefined':\n        return list.indexOf(a, idx);\n\n      case 'object':\n        if (a === null) {\n          // null can utilise Set\n          return list.indexOf(a, idx);\n        }\n\n    }\n  } // anything else not covered above, defer to R.equals\n\n\n  while (idx < list.length) {\n    if (equals(list[idx], a)) {\n      return idx;\n    }\n\n    idx += 1;\n  }\n\n  return -1;\n}","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n  return _indexOf(list, a, 0) >= 0;\n}","export default function _map(fn, functor) {\n  var idx = 0;\n  var len = functor.length;\n  var result = Array(len);\n\n  while (idx < len) {\n    result[idx] = fn(functor[idx]);\n    idx += 1;\n  }\n\n  return result;\n}","export default function _quote(s) {\n  var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n  .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n  return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}","/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n  return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n  return d.toISOString();\n} : function _toISOString(d) {\n  return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\nexport default _toISOString;","export default function _complement(f) {\n  return function () {\n    return !f.apply(this, arguments);\n  };\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n *      _isArray([]); //=> true\n *      _isArray(null); //=> false\n *      _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n  return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isTransformer(obj) {\n  return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n  return function () {\n    if (arguments.length === 0) {\n      return fn();\n    }\n\n    var args = Array.prototype.slice.call(arguments, 0);\n    var obj = args.pop();\n\n    if (!_isArray(obj)) {\n      var idx = 0;\n\n      while (idx < methodNames.length) {\n        if (typeof obj[methodNames[idx]] === 'function') {\n          return obj[methodNames[idx]].apply(obj, args);\n        }\n\n        idx += 1;\n      }\n\n      if (_isTransformer(obj)) {\n        var transducer = xf.apply(null, args);\n        return transducer(obj);\n      }\n    }\n\n    return fn.apply(this, arguments);\n  };\n}","export default function _filter(fn, list) {\n  var idx = 0;\n  var len = list.length;\n  var result = [];\n\n  while (idx < len) {\n    if (fn(list[idx])) {\n      result[result.length] = list[idx];\n    }\n\n    idx += 1;\n  }\n\n  return result;\n}","export default function _isObject(x) {\n  return Object.prototype.toString.call(x) === '[object Object]';\n}","export default function _isString(x) {\n  return Object.prototype.toString.call(x) === '[object String]';\n}","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n *      _isArrayLike([]); //=> true\n *      _isArrayLike(true); //=> false\n *      _isArrayLike({}); //=> false\n *      _isArrayLike({length: 10}); //=> false\n *      _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n  if (_isArray(x)) {\n    return true;\n  }\n\n  if (!x) {\n    return false;\n  }\n\n  if (typeof x !== 'object') {\n    return false;\n  }\n\n  if (_isString(x)) {\n    return false;\n  }\n\n  if (x.nodeType === 1) {\n    return !!x.length;\n  }\n\n  if (x.length === 0) {\n    return true;\n  }\n\n  if (x.length > 0) {\n    return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n  }\n\n  return false;\n});\n\nexport default _isArrayLike;","var XWrap =\n/*#__PURE__*/\nfunction () {\n  function XWrap(fn) {\n    this.f = fn;\n  }\n\n  XWrap.prototype['@@transducer/init'] = function () {\n    throw new Error('init not implemented on XWrap');\n  };\n\n  XWrap.prototype['@@transducer/result'] = function (acc) {\n    return acc;\n  };\n\n  XWrap.prototype['@@transducer/step'] = function (acc, x) {\n    return this.f(acc, x);\n  };\n\n  return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n  return new XWrap(fn);\n}","export default function _arity(n, fn) {\n  /* eslint-disable no-unused-vars */\n  switch (n) {\n    case 0:\n      return function () {\n        return fn.apply(this, arguments);\n      };\n\n    case 1:\n      return function (a0) {\n        return fn.apply(this, arguments);\n      };\n\n    case 2:\n      return function (a0, a1) {\n        return fn.apply(this, arguments);\n      };\n\n    case 3:\n      return function (a0, a1, a2) {\n        return fn.apply(this, arguments);\n      };\n\n    case 4:\n      return function (a0, a1, a2, a3) {\n        return fn.apply(this, arguments);\n      };\n\n    case 5:\n      return function (a0, a1, a2, a3, a4) {\n        return fn.apply(this, arguments);\n      };\n\n    case 6:\n      return function (a0, a1, a2, a3, a4, a5) {\n        return fn.apply(this, arguments);\n      };\n\n    case 7:\n      return function (a0, a1, a2, a3, a4, a5, a6) {\n        return fn.apply(this, arguments);\n      };\n\n    case 8:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n        return fn.apply(this, arguments);\n      };\n\n    case 9:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n        return fn.apply(this, arguments);\n      };\n\n    case 10:\n      return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n        return fn.apply(this, arguments);\n      };\n\n    default:\n      throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n  }\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n *      const log = R.bind(console.log, console);\n *      R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n *      // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n  return _arity(fn.length, function () {\n    return fn.apply(thisObj, arguments);\n  });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n  var idx = 0;\n  var len = list.length;\n\n  while (idx < len) {\n    acc = xf['@@transducer/step'](acc, list[idx]);\n\n    if (acc && acc['@@transducer/reduced']) {\n      acc = acc['@@transducer/value'];\n      break;\n    }\n\n    idx += 1;\n  }\n\n  return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n  var step = iter.next();\n\n  while (!step.done) {\n    acc = xf['@@transducer/step'](acc, step.value);\n\n    if (acc && acc['@@transducer/reduced']) {\n      acc = acc['@@transducer/value'];\n      break;\n    }\n\n    step = iter.next();\n  }\n\n  return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n  return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n  if (typeof fn === 'function') {\n    fn = _xwrap(fn);\n  }\n\n  if (_isArrayLike(list)) {\n    return _arrayReduce(fn, acc, list);\n  }\n\n  if (typeof list['fantasy-land/reduce'] === 'function') {\n    return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n  }\n\n  if (list[symIterator] != null) {\n    return _iterableReduce(fn, acc, list[symIterator]());\n  }\n\n  if (typeof list.next === 'function') {\n    return _iterableReduce(fn, acc, list);\n  }\n\n  if (typeof list.reduce === 'function') {\n    return _methodReduce(fn, acc, list, 'reduce');\n  }\n\n  throw new TypeError('reduce: list must be array or iterable');\n}","export default {\n  init: function () {\n    return this.xf['@@transducer/init']();\n  },\n  result: function (result) {\n    return this.xf['@@transducer/result'](result);\n  }\n};","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFilter =\n/*#__PURE__*/\nfunction () {\n  function XFilter(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n\n  XFilter.prototype['@@transducer/init'] = _xfBase.init;\n  XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\n  XFilter.prototype['@@transducer/step'] = function (result, input) {\n    return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n  };\n\n  return XFilter;\n}();\n\nvar _xfilter =\n/*#__PURE__*/\n_curry2(function _xfilter(f, xf) {\n  return new XFilter(f, xf);\n});\n\nexport default _xfilter;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _filter from \"./internal/_filter.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xfilter from \"./internal/_xfilter.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n *      const isEven = n => n % 2 === 0;\n *\n *      R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n *      R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar filter =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n  return _isObject(filterable) ? _reduce(function (acc, key) {\n    if (pred(filterable[key])) {\n      acc[key] = filterable[key];\n    }\n\n    return acc;\n  }, {}, keys(filterable)) : // else\n  _filter(pred, filterable);\n}));\n\nexport default filter;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport filter from \"./filter.js\";\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n *      const isOdd = (n) => n % 2 === 1;\n *\n *      R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n *      R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar reject =\n/*#__PURE__*/\n_curry2(function reject(pred, filterable) {\n  return filter(_complement(pred), filterable);\n});\n\nexport default reject;","import _includes from \"./_includes.js\";\nimport _map from \"./_map.js\";\nimport _quote from \"./_quote.js\";\nimport _toISOString from \"./_toISOString.js\";\nimport keys from \"../keys.js\";\nimport reject from \"../reject.js\";\nexport default function _toString(x, seen) {\n  var recur = function recur(y) {\n    var xs = seen.concat([x]);\n    return _includes(y, xs) ? '<Circular>' : _toString(y, xs);\n  }; //  mapPairs :: (Object, [String]) -> [String]\n\n\n  var mapPairs = function (obj, keys) {\n    return _map(function (k) {\n      return _quote(k) + ': ' + recur(obj[k]);\n    }, keys.slice().sort());\n  };\n\n  switch (Object.prototype.toString.call(x)) {\n    case '[object Arguments]':\n      return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n\n    case '[object Array]':\n      return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n        return /^\\d+$/.test(k);\n      }, keys(x)))).join(', ') + ']';\n\n    case '[object Boolean]':\n      return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n\n    case '[object Date]':\n      return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n\n    case '[object Null]':\n      return 'null';\n\n    case '[object Number]':\n      return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n\n    case '[object String]':\n      return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n\n    case '[object Undefined]':\n      return 'undefined';\n\n    default:\n      if (typeof x.toString === 'function') {\n        var repr = x.toString();\n\n        if (repr !== '[object Object]') {\n          return repr;\n        }\n      }\n\n      return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n  }\n}","import _isFunction from \"./_isFunction.js\";\nimport _toString from \"./_toString.js\";\nexport default function _assertPromise(name, p) {\n  if (p == null || !_isFunction(p.then)) {\n    throw new TypeError('`' + name + '` expected a Promise, received ' + _toString(p, []));\n  }\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _assertPromise from \"./internal/_assertPromise.js\";\n/**\n * Returns the result of applying the onSuccess function to the value inside\n * a successfully resolved promise. This is useful for working with promises\n * inside function compositions.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Function\n * @sig (a -> b) -> (Promise e a) -> (Promise e b)\n * @sig (a -> (Promise e b)) -> (Promise e a) -> (Promise e b)\n * @param {Function} onSuccess The function to apply. Can return a value or a promise of a value.\n * @param {Promise} p\n * @return {Promise} The result of calling `p.then(onSuccess)`\n * @see R.otherwise\n * @example\n *\n *      var makeQuery = (email) => ({ query: { email }});\n *\n *      //getMemberName :: String -> Promise ({firstName, lastName})\n *      var getMemberName = R.pipe(\n *        makeQuery,\n *        fetchMember,\n *        R.andThen(R.pick(['firstName', 'lastName']))\n *      );\n */\n\nvar andThen =\n/*#__PURE__*/\n_curry2(function andThen(f, p) {\n  _assertPromise('andThen', p);\n\n  return p.then(f);\n});\n\nexport default andThen;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n  function XMap(f, xf) {\n    this.xf = xf;\n    this.f = f;\n  }\n\n  XMap.prototype['@@transducer/init'] = _xfBase.init;\n  XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n  XMap.prototype['@@transducer/step'] = function (result, input) {\n    return this.xf['@@transducer/step'](result, this.f(input));\n  };\n\n  return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n  return new XMap(f, xf);\n});\n\nexport default _xmap;","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n  return function () {\n    var combined = [];\n    var argsIdx = 0;\n    var left = length;\n    var combinedIdx = 0;\n\n    while (combinedIdx < received.length || argsIdx < arguments.length) {\n      var result;\n\n      if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n        result = received[combinedIdx];\n      } else {\n        result = arguments[argsIdx];\n        argsIdx += 1;\n      }\n\n      combined[combinedIdx] = result;\n\n      if (!_isPlaceholder(result)) {\n        left -= 1;\n      }\n\n      combinedIdx += 1;\n    }\n\n    return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n  };\n}","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n *   - `g(1)(2)(3)`\n *   - `g(1)(2, 3)`\n *   - `g(1, 2)(3)`\n *   - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n *   - `g(1, 2, 3)`\n *   - `g(_, 2, 3)(1)`\n *   - `g(_, _, 3)(1)(2)`\n *   - `g(_, _, 3)(1, 2)`\n *   - `g(_, 2)(1)(3)`\n *   - `g(_, 2)(1, 3)`\n *   - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n *      const sumArgs = (...args) => R.sum(args);\n *\n *      const curriedAddFourNumbers = R.curryN(4, sumArgs);\n *      const f = curriedAddFourNumbers(1, 2);\n *      const g = f(3);\n *      g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n  if (length === 1) {\n    return _curry1(fn);\n  }\n\n  return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n *      const double = x => x * 2;\n *\n *      R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n *      R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n  switch (Object.prototype.toString.call(functor)) {\n    case '[object Function]':\n      return curryN(functor.length, function () {\n        return fn.call(this, functor.apply(this, arguments));\n      });\n\n    case '[object Object]':\n      return _reduce(function (acc, key) {\n        acc[key] = fn(functor[key]);\n        return acc;\n      }, {}, keys(functor));\n\n    default:\n      return _map(fn, functor);\n  }\n}));\n\nexport default map;","export default function _pipe(f, g) {\n  return function () {\n    return g.call(this, f.apply(this, arguments));\n  };\n}","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n  return function f3(a, b, c) {\n    switch (arguments.length) {\n      case 0:\n        return f3;\n\n      case 1:\n        return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n          return fn(a, _b, _c);\n        });\n\n      case 2:\n        return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n          return fn(_a, b, _c);\n        }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n          return fn(a, _b, _c);\n        }) : _curry1(function (_c) {\n          return fn(a, b, _c);\n        });\n\n      default:\n        return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n          return fn(_a, _b, c);\n        }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n          return fn(_a, b, _c);\n        }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n          return fn(a, _b, _c);\n        }) : _isPlaceholder(a) ? _curry1(function (_a) {\n          return fn(_a, b, c);\n        }) : _isPlaceholder(b) ? _curry1(function (_b) {\n          return fn(a, _b, c);\n        }) : _isPlaceholder(c) ? _curry1(function (_c) {\n          return fn(a, b, _c);\n        }) : fn(a, b, c);\n    }\n  };\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _reduce from \"./internal/_reduce.js\";\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n *        current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n *      R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n *      //          -               -10\n *      //         / \\              / \\\n *      //        -   4           -6   4\n *      //       / \\              / \\\n *      //      -   3   ==>     -3   3\n *      //     / \\              / \\\n *      //    -   2           -1   2\n *      //   / \\              / \\\n *      //  0   1            0   1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(_reduce);\n\nexport default reduce;","import _isArray from \"./_isArray.js\";\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\nexport default function _checkForMethod(methodname, fn) {\n  return function () {\n    var length = arguments.length;\n\n    if (length === 0) {\n      return fn();\n    }\n\n    var obj = arguments[length - 1];\n    return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n  };\n}","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n *      R.slice(1, 3, ['a', 'b', 'c', 'd']);        //=> ['b', 'c']\n *      R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n *      R.slice(0, -1, ['a', 'b', 'c', 'd']);       //=> ['a', 'b', 'c']\n *      R.slice(-3, -1, ['a', 'b', 'c', 'd']);      //=> ['b', 'c']\n *      R.slice(0, 3, 'ramda');                     //=> 'ram'\n */\n\nvar slice =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n  return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n\nexport default slice;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n *      R.tail([1, 2, 3]);  //=> [2, 3]\n *      R.tail([1, 2]);     //=> [2]\n *      R.tail([1]);        //=> []\n *      R.tail([]);         //=> []\n *\n *      R.tail('abc');  //=> 'bc'\n *      R.tail('ab');   //=> 'b'\n *      R.tail('a');    //=> ''\n *      R.tail('');     //=> ''\n */\n\nvar tail =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_checkForMethod('tail',\n/*#__PURE__*/\nslice(1, Infinity)));\n\nexport default tail;","import _arity from \"./internal/_arity.js\";\nimport _pipe from \"./internal/_pipe.js\";\nimport reduce from \"./reduce.js\";\nimport tail from \"./tail.js\";\n/**\n * Performs left-to-right function composition. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n *      const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n *      f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\n\nexport default function pipe() {\n  if (arguments.length === 0) {\n    throw new Error('pipe requires at least one argument');\n  }\n\n  return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}","import{nop as r}from\"@uxland/utilities/nop\";import i from\"ramda/es/andThen\";import n from\"ramda/es/bind\";import a from\"ramda/es/map\";import t from\"ramda/es/pipe\";class c{constructor(e){this.targetRegion=e}async attach(){const e=this.targetRegion.regionManager.getRegisteredViews(this.targetRegion.name);return t(a(o=>this.targetRegion.addView(o.key,o.view)),n(Promise.all,Promise),i(r))(e)}detach(){return Promise.resolve()}}export{c as AutoPopulateBehavior};\n","class s{constructor(){this.registry=[]}get behaviors(){return[...this.registry]}register(e){this.behaviors.some(i=>i===e)||this.registry.push(e)}}export{s as BehaviorRegistry};\n","import{AutoPopulateBehavior as r}from\"./auto-populate-behavior\";import{BehaviorRegistry as o}from\"./behavior-registry\";const e=new o;e.register(r);const a=e;export{a as defaultBehaviorRegistry};\n","import{defaultBehaviorRegistry as o}from\"../behaviors/default-registry\";class l{constructor(e){this.host=e}get behaviors(){return o.behaviors.map(e=>new e(this.host.uxlRegion))}activateView(e){return this.host.contains(e)||this.addViewToHost(e),e.hidden=!1,Promise.resolve(void 0)}deactivateView(e){return e.view&&e.view.removeFromDomWhenDeactivated?this.removeViewFromHost(e):e.hidden=!0,Promise.resolve(null)}removeView(e){this.removeViewFromHost(e)}viewAdded(e){}addViewToHost(e){this.host.appendChild(e)}removeViewFromHost(e){this.host.removeChild(e),this.host.uxlRegion.viewRemovedFromDom(e.view)}}export{l as AdapterBase};\n","const e=(i,t)=>!i.sortHint&&!t.sortHint||!t.sortHint?-1:i.sortHint?i.sortHint.localeCompare(t.sortHint):1;export{e as viewSortHintComparer};\n","import{viewSortHintComparer as o}from\"../utilities/view-sort-hint-comparer\";import{AdapterBase as r}from\"./adapter-base\";class s extends r{async viewAdded(e){await this.host.uxlRegion.activate(e)}addViewToHost(e){const t=this.host.uxlRegion.currentActiveViews.sort(o).indexOf(e.view);t>=this.host.children.length?super.addViewToHost(e):this.host.insertBefore(e,this.host.children[t])}}const f=(i,e)=>new s(e);export{s as MultipleActiveAdapter,f as factory};\n","import{AdapterBase as a}from\"./adapter-base\";class o extends a{async activateView(e){const t=this.host.uxlRegion.currentActiveViews.filter(i=>i!==e.view);for(const i of t)await this.host.uxlRegion.deactivate(i);return super.activateView(e)}async deactivateView(e){await super.deactivateView(e);const t=this.host.uxlRegion.currentViews.find(i=>i.isDefault);t&&e.view!=t&&this.host.uxlRegion.currentActiveViews.length==0&&await this.host.uxlRegion.activate(t)}async viewAdded(e){!this.host.uxlRegion.currentActiveViews.length&&e.isDefault&&await this.host.uxlRegion.activate(e)}}const l=(n,e)=>new o(e);export{o as SingleActiveAdapter,l as factory};\n","import{SingleActiveAdapter as r}from\"./single-active-adapter\";class o extends r{constructor(e){super(e);this.attrForSelected=\"name\";this.attrForSelectedProperty=\"attrForSelected\";this.selectedProperty=\"selected\";e[this.attrForSelectedProperty]=this.attrForSelected}async activateView(e){await super.activateView(e),e[this.attrForSelected]||(e[this.attrForSelected]=e.viewKey),this.host[this.selectedProperty]=e.viewKey}async deactivateView(e){this.host[this.selectedProperty]===e.viewKey&&(this.host[this.selectedProperty]=null,await super.deactivateView(e))}}const d=(t,e)=>new o(e);export{o as SelectableAdapter,d as factory};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */let e=1;e=1;const a=(r,t)=>{if(r=typeof r==\"function\"?r():r,!r)throw new Error(t)};export{a as invariant};\n","import{invariant as e}from\"@uxland/utilities/invariant\";const o=t=>typeof HTMLElement==\"object\"?t instanceof HTMLElement:t&&typeof t==\"object\"&&t!=null&&t.nodeType===1&&typeof t.nodeName==\"string\",f=t=>{if(!t.htmlTag&&!t.element&&!t.factory)throw new Error(\"One of properties htmlTag, factory or element must be set\");return t.htmlTag&&e(typeof t.htmlTag==\"string\",\"htmlTag property must be an string\"),t.factory&&e(typeof t.factory==\"function\",\"factory property must be a function\"),t.element&&e(o(t.element),\"element property must be an HTMLElement\"),!0};export{f as validateView};\n","const f=async(e,n,i)=>{let t;return e.element?t=e.element:e.factory?t=await e.factory():e.htmlTag&&(e.htmlUrl&&await import(e.htmlUrl),t=window.document.createElement(e.htmlTag)),t.view=e,t.region=n,t.viewKey=i,t};export{f as viewFactory};\n","import{invariant as o}from\"@uxland/utilities/invariant\";import{validateView as s}from\"./validate-view\";import{viewFactory as r}from\"./view-factory\";class y{constructor(i,e,t,n,w){this.name=i;this.regionManager=e;this.host=t;this.adapter=n;this.definition=w;this.views={};this.activeViews=[];this.components=new WeakMap;this.host.uxlRegion=this}async addView(i,e){return s(e),o(typeof this.getView(i)==\"undefined\",`Already exists a view with key ${i}`),this.views[i]=e,await this.adapter.viewAdded(e),this}async removeView(i){await this.deactivate(i),this.remove(i),delete this.views[i]}async removeViews(){Object.keys(this.views).forEach(i=>this.removeView(i))}get context(){return this._context}set context(i){this._context=i,Object.keys(this.views).forEach(e=>{const t=this.views[e];if(this.components.has(t)){const n=this.components.get(t);n&&(n.regionContext=this._context)}})}async activate(i){let e=i;if(typeof i==\"string\"?(e=this.getView(i),o(e,`Region does not contain a view with key ${i}`)):o(Object.keys(this.views).some(t=>typeof this.views[t]!=\"undefined\"),\"Region does not contain this view\"),!this.activeViews.some(t=>t===e)){if(!this.components.has(e)){const n=await r(e,this,typeof i==\"string\"?i:this.getKey(e));n.regionContext=this.context,this.components.set(e,n)}const t=this.components.get(e);this.activeViews.push(e),t.active=!0,await this.adapter.activateView(t)}return this}viewRemovedFromDom(i){this.components.delete(i)}remove(i){const e=typeof i==\"string\"?this.getView(i):i,t=this.components.get(e);t&&this.adapter.removeView(t)}async deactivate(i){const e=typeof i==\"string\"?this.getView(i):i,t=this.activeViews.indexOf(e);t!==-1&&this.activeViews.splice(t,1);const n=this.components.get(e);n&&(n.active=!1,await this.adapter.deactivateView(n))}getView(i){return this.views[i]}get currentViews(){return Object.keys(this.views).map(i=>this.views[i])}get currentActiveViews(){return[...this.activeViews]}getKey(i){return Object.keys(this.views).find(e=>this.views[e]==i)}containsView(i){return typeof i==\"string\"?this.getView(i)!==void 0:Object.keys(this.views).some(e=>this.views[e]==i)}isViewActive(i){if(this.containsView(i)){const e=typeof i==\"string\"?this.getView(i):i;return this.activeViews.indexOf(e)!==-1}throw new Error(`region ${this.name} doest not contain this view`)}async toggleViewActive(i){if(this.containsView(i))return this.isViewActive(i)?(await this.deactivate(i),!1):(await this.activate(i),!0);throw new Error(`region ${this.name} doest not contain this view`)}}export{y as Region};\n","const e=\"default\",r=\"dynamic\";class y{constructor(){this.adapterRegistry=new Map;this.adapterRegistry.set(r,[])}registerAdapterFactory(t,a){this.adapterRegistry.set(t,a)}get dynamicFactories(){return this.adapterRegistry.get(r)}registerDynamicAdapterFactory(t){this.dynamicFactories.indexOf(t)===-1&&this.dynamicFactories.push(t)}getDynamicFactory(t){return this.dynamicFactories.reduce((a,i)=>a||i(t),null)}getAdapterFactory(t){const a=this.getDynamicFactory(t);return a||(this.adapterRegistry.has(t.constructor)?this.adapterRegistry.get(t.constructor):this.adapterRegistry.has(t.localName)?this.adapterRegistry.get(t.localName):this.adapterRegistry.has(t.tagName)?this.adapterRegistry.get(t.tagName):this.adapterRegistry.has(e)?this.adapterRegistry.get(e):null)}registerDefaultAdapterFactory(t){this.adapterRegistry.set(e,t)}}const p=new y;export{y as RegionAdapterRegistry,p as regionAdapterRegistry};\n","const o=\"__uxl_regions__\",s=i=>(n,r)=>{n.constructor[o]={...n.constructor[o],[r]:i}};export{s as region,o as regionsProperty};\n","import{invariant as c}from\"@uxland/utilities/invariant\";import{Region as i}from\"./region\";const p=(e,r,a)=>{const t=a.getAdapterFactory(r);return c(typeof t==\"function\",\"No region adapter factory found for the host\"),t(e,r)},h=async(e,r,a,t)=>{await r._updatePromise;const o=r.shadowRoot.querySelector(`#${e.targetId}`);if(o){const n=e.adapterFactory?e.adapterFactory(e,o):p(e,o,t);c(n,\"No region adapter found for the host\");const g=e.scoped?a.createRegionManager():a,s=new i(e.name,g,o,n,e);return g.add(e.name,s),s}else console.warn(`region host with id ${e.targetId} not found for region named ${e.name}`)};export{h as regionFactory};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */class i{constructor(e){this._ownQueue=[];this.isProcessing=!1;this.executor=e}enqueueItem(...e){this._ownQueue.push([...e]),this.tryProcessQueue()}async tryProcessQueue(){if(!this.isProcessing&&this._ownQueue.length){this.isProcessing=!0;const e=this._ownQueue.pop();await this.executor.apply(void 0,[...e]),this.isProcessing=!1,this.tryProcessQueue()}}}export{i as AsyncQueue};\n","const n=new WeakMap;function r(e,i){let t=i;for(;t;){if(n.get(t)===e)return!0;t=Object.getPrototypeOf(t)}return!1}function d(e){return i=>{if(r(e,i))return i;const t=e(i);return n.set(t,e),t}}export{d as dedupeMixin};\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a},d=\"finalized\";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:u}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.3\");export{u as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,R:v,D:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.8.0\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.3\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n *      const defaultTo42 = R.defaultTo(42);\n *\n *      defaultTo42(null);  //=> 42\n *      defaultTo42(undefined);  //=> 42\n *      defaultTo42(false);  //=> false\n *      defaultTo42('Ramda');  //=> 'Ramda'\n *      // parseInt('string') results in NaN\n *      defaultTo42(parseInt('string')); //=> 42\n */\n\nvar defaultTo =\n/*#__PURE__*/\n_curry2(function defaultTo(d, v) {\n  return v == null || v !== v ? d : v;\n});\n\nexport default defaultTo;","import{notEqual as i}from\"lit\";import p from\"ramda/es/defaultTo\";import n from\"ramda/es/pipe\";import{dedupeMixin as d}from\"./dedupe-mixin\";const u=(t,e)=>e.constructor._classProperties?e.constructor._classProperties.get(t).hasChanged:void 0,a=n(u,p(i)),l=d(t=>{class e extends t{requestUpdate(r,s){const o=super.requestUpdate?super.requestUpdate(r,s):Promise.resolve(null);return a(r,this)(this[r],s)&&this[`${String(r)}Changed`]&&this[`${String(r)}Changed`](this[r],s),o}}return e});export{l as propertiesObserver};\n","/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.F\n * @example\n *\n *      R.T(); //=> true\n */\nvar T = function () {\n  return true;\n};\n\nexport default T;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n *      const t = R.always('Tee');\n *      t(); //=> 'Tee'\n */\n\nvar always =\n/*#__PURE__*/\n_curry1(function always(val) {\n  return function () {\n    return val;\n  };\n});\n\nexport default always;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n *      R.max(789, 123); //=> 789\n *      R.max('a', 'b'); //=> 'b'\n */\n\nvar max =\n/*#__PURE__*/\n_curry2(function max(a, b) {\n  return b > a ? b : a;\n});\n\nexport default max;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport map from \"./map.js\";\nimport max from \"./max.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @see R.ifElse, R.unless, R.when\n * @example\n *\n *      const fn = R.cond([\n *        [R.equals(0),   R.always('water freezes at 0°C')],\n *        [R.equals(100), R.always('water boils at 100°C')],\n *        [R.T,           temp => 'nothing special happens at ' + temp + '°C']\n *      ]);\n *      fn(0); //=> 'water freezes at 0°C'\n *      fn(50); //=> 'nothing special happens at 50°C'\n *      fn(100); //=> 'water boils at 100°C'\n */\n\nvar cond =\n/*#__PURE__*/\n_curry1(function cond(pairs) {\n  var arity = reduce(max, 0, map(function (pair) {\n    return pair[0].length;\n  }, pairs));\n  return _arity(arity, function () {\n    var idx = 0;\n\n    while (idx < pairs.length) {\n      if (pairs[idx][0].apply(this, arguments)) {\n        return pairs[idx][1].apply(this, arguments);\n      }\n\n      idx += 1;\n    }\n  });\n});\n\nexport default cond;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n *      const printXPlusFive = x => console.log(x + 5);\n *      R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n *      // logs 6\n *      // logs 7\n *      // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\n\nvar forEach =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('forEach', function forEach(fn, list) {\n  var len = list.length;\n  var idx = 0;\n\n  while (idx < len) {\n    fn(list[idx]);\n    idx += 1;\n  }\n\n  return list;\n}));\n\nexport default forEach;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n *      R.isNil(null); //=> true\n *      R.isNil(undefined); //=> true\n *      R.isNil(0); //=> false\n *      R.isNil([]); //=> false\n */\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n  return x == null;\n});\n\nexport default isNil;","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n  return n << 0 === n;\n};","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n *      const list = ['foo', 'bar', 'baz', 'quux'];\n *      R.nth(1, list); //=> 'bar'\n *      R.nth(-1, list); //=> 'quux'\n *      R.nth(-99, list); //=> undefined\n *\n *      R.nth(2, 'abc'); //=> 'c'\n *      R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n  var idx = offset < 0 ? list.length + offset : offset;\n  return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n *      R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n *      R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n  return pathsArray.map(function (paths) {\n    var val = obj;\n    var idx = 0;\n    var p;\n\n    while (idx < paths.length) {\n      if (val == null) {\n        return;\n      }\n\n      p = paths[idx];\n      val = _isInteger(p) ? nth(p, val) : val[p];\n      idx += 1;\n    }\n\n    return val;\n  });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n *      R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n *      R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n *      R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n *      R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n  return paths([pathAr], obj)[0];\n});\n\nexport default path;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.nth\n * @example\n *\n *      R.prop('x', {x: 100}); //=> 100\n *      R.prop('x', {}); //=> undefined\n *      R.prop(0, [100]); //=> 100\n *      R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n  return path([p], obj);\n});\n\nexport default prop;","import{invariant as s}from\"@uxland/utilities/invariant\";class R{constructor(){this.viewsByRegion={};this.regions={}}registerRegion(e,i){this.regions[e]=[...this.regions[e]||[],i]}unregisterRegion(e,i){this.regions[e]=this.getRegionsByName(e).filter(n=>n!==i)}registerView(e,i,n){this.viewsByRegion[e]=[...this.viewsByRegion[e]||[],{key:i,view:n}]}getRegisteredViews(e){return this.viewsByRegion[e]||[]}getRegionsByName(e){return this.regions[e]||[]}clear(){this.viewsByRegion={},this.regions={}}}const r=new R;class g{constructor(){this._regions={}}add(e,i){return s(!this.getRegion(e),\"A region with the same name already exists\"),this._regions[e]=i,r.registerRegion(e,i),this}getRegion(e){return this._regions[e]}remove(e,i){let n,t;return typeof e==\"string\"&&(n=this.getRegion(e),t=e,delete this._regions[e]),typeof e==\"object\"&&(t=Object.keys(this._regions).find(a=>this._regions[a]===e),t&&(n=e,i&&e.removeViews(),delete this._regions[t])),t&&n&&r.unregisterRegion(t,n),n}addViewToRegion(e,i,n){const t=this.getRegion(e);return s(t,`Couldn't find a region with name: ${e}`),t.addView(i,n),this}registerViewWithRegion(e,i,n){return r.registerView(e,i,n),r.getRegionsByName(e).forEach(t=>t.addView(i,n)),this}getRegisteredViews(e){return r.getRegisteredViews(e)}clear(){return Object.keys(this._regions).forEach(e=>this.remove(e,!0)),this._regions={},this}createRegionManager(){return new g}}class w extends g{clear(){return super.clear(),r.clear(),this}}const v=new w;export{g as RegionManager,v as regionManager};\n","import{AsyncQueue as y}from\"@uxland/browser-utilities/async/async-queue\";import{dedupeMixin as D}from\"@uxland/lit-utilities\";import A from\"ramda/es/T\";import m from\"ramda/es/always\";import g from\"ramda/es/andThen\";import c from\"ramda/es/bind\";import v from\"ramda/es/cond\";import x from\"ramda/es/forEach\";import p from\"ramda/es/isNil\";import b from\"ramda/es/keys\";import f from\"ramda/es/map\";import d from\"ramda/es/pipe\";import C from\"ramda/es/prop\";import P from\"ramda/es/reject\";import{factory as M}from\"./adapters/multiple-active-adapter\";import{regionAdapterRegistry as R}from\"./region-adapter-registry\";import{regionsProperty as I}from\"./region-decorator\";import{regionFactory as k}from\"./region-factory\";import{regionManager as E}from\"./region-manager\";const u=e=>i=>d(C(i.key),p)(e),q=e=>i=>!u(e)(i)&&p(e.shadowRoot.querySelector(`#${i.definition.targetId}`)),T=e=>i=>{const n=e[i.key];n.regionManager.remove(n);const t=n.adapter?n.adapter.behaviors||[]:[];return delete e[i.key],d(f(r=>r.detach),c(Promise.all,Promise),g(()=>delete e[i.key]),g(m(void 0)))(t)},w=(e,i,n)=>t=>k(t.definition,e,i,n).then(r=>{if(r){e[t.key]=r;const o=r.adapter?r.adapter.behaviors||[]:[];return d(f(s=>s.attach()),c(Promise.all,Promise),g(m(r)))(o)}else return}).catch(m(void 0)),L=e=>d(b,f(i=>({key:i,definition:e[i]})))(e),l=e=>e.constructor[I]||{},H=(e,i,n)=>{const t=u(e),r=q(e),o=T(e),s=w(e,i,n);return a=>v([[t,s],[r,o],[A,m(Promise.resolve(void 0))]])(a)},j=(e,i)=>D(n=>{class t extends n{constructor(...o){super();this.enqueuer=new y(this.runRegionCreation.bind(this))}updated(o){super.updated(o),this.create()}createRegions(){const o=l(this),s=H(this,e,i);return d(L,x(s),c(Promise.all,Promise),g(P(p)),g(c(this.regionsCreated,this)))(o)}create(){this.enqueuer.enqueueItem()}runRegionCreation(){return new Promise(o=>{this.createRegions().then(o).catch(o)})}regionsCreated(o){}disconnectedCallback(){super.disconnectedCallback();const o=l(this);Object.keys(o).forEach(s=>{const a=this[s];a&&(a.regionManager.remove(a),(a.adapter?a.adapter.behaviors||[]:[]).forEach(h=>h.detach()))})}}return t});R.registerDefaultAdapterFactory(M);function pe(e){return j(E,R)(e)}export{pe as regionHost,j as regionHostMixin};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","var l=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var s=(o,n,t,i)=>{for(var e=i>1?void 0:i?x(n,t):n,r=o.length-1,u;r>=0;r--)(u=o[r])&&(e=(i?u(n,t,e):u(e))||e);return i&&e&&l(n,t,e),e};import{dedupeMixin as c,propertiesObserver as w}from\"@uxland/lit-utilities\";import{property as a}from\"lit/decorators.js\";const d=c(o=>{class n extends w(o){activeChanged(i,e){}regionContextChanged(i,e){}}return s([a({type:Boolean})],n.prototype,\"active\",2),s([a()],n.prototype,\"regionContext\",2),n});function k(o){return d(o)}export{k as regionView};\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst n=globalThis,c=n.trustedTypes,h=c?c.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,f=\"$lit$\",v=`lit$${Math.random().toFixed(9).slice(2)}$`,m=\"?\"+v,_=`<${m}>`,w=document,lt=()=>w.createComment(\"\"),st=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,g=Array.isArray,$=t=>g(t)||\"function\"==typeof t?.[Symbol.iterator],x=\"[ \\t\\n\\f\\r]\",T=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,E=/-->/g,k=/>/g,O=RegExp(`>|${x}(?:([^\\\\s\"'>=/]+)(${x}*=${x}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),S=/'/g,j=/\"/g,M=/^(?:script|style|textarea|title)$/i,P=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),ke=P(1),Oe=P(2),Se=P(3),R=Symbol.for(\"lit-noChange\"),D=Symbol.for(\"lit-nothing\"),V=new WeakMap,I=w.createTreeWalker(w,129);function N(t,i){if(!g(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==h?h.createHTML(i):i}const U=(t,i)=>{const s=t.length-1,e=[];let h,o=2===i?\"<svg>\":3===i?\"<math>\":\"\",n=T;for(let i=0;i<s;i++){const s=t[i];let r,l,c=-1,a=0;for(;a<s.length&&(n.lastIndex=a,l=n.exec(s),null!==l);)a=n.lastIndex,n===T?\"!--\"===l[1]?n=E:void 0!==l[1]?n=k:void 0!==l[2]?(M.test(l[2])&&(h=RegExp(\"</\"+l[2],\"g\")),n=O):void 0!==l[3]&&(n=O):n===O?\">\"===l[0]?(n=h??T,c=-1):void 0===l[1]?c=-2:(c=n.lastIndex-l[2].length,r=l[1],n=void 0===l[3]?O:'\"'===l[3]?j:S):n===j||n===S?n=O:n===E||n===k?n=T:(n=O,h=void 0);const u=n===O&&t[i+1].startsWith(\"/>\")?\" \":\"\";o+=n===T?s+_:c>=0?(e.push(r),s.slice(0,c)+f+s.slice(c)+v+u):s+v+(-2===c?i:u)}return[N(t,o+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class B{constructor({strings:t,_$litType$:i},s){let e;this.parts=[];let h=0,o=0;const n=t.length-1,r=this.parts,[l,a]=U(t,i);if(this.el=B.createElement(l,s),I.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(e=I.nextNode())&&r.length<n;){if(1===e.nodeType){if(e.hasAttributes())for(const t of e.getAttributeNames())if(t.endsWith(f)){const i=a[o++],s=e.getAttribute(t).split(v),n=/([.?@])?(.*)/.exec(i);r.push({type:1,index:h,name:n[2],strings:s,ctor:\".\"===n[1]?Y:\"?\"===n[1]?Z:\"@\"===n[1]?q:G}),e.removeAttribute(t)}else t.startsWith(v)&&(r.push({type:6,index:h}),e.removeAttribute(t));if(M.test(e.tagName)){const t=e.textContent.split(v),i=t.length-1;if(i>0){e.textContent=c?c.emptyScript:\"\";for(let s=0;s<i;s++)e.append(t[s],lt()),I.nextNode(),r.push({type:2,index:++h});e.append(t[i],lt())}}}else if(8===e.nodeType)if(e.data===m)r.push({type:2,index:h});else{let t=-1;for(;-1!==(t=e.data.indexOf(v,t+1));)r.push({type:7,index:h}),t+=v.length-1}h++}}static createElement(t,i){const s=w.createElement(\"template\");return s.innerHTML=t,s}}function z(t,i,s=t,e){if(i===R)return i;let h=void 0!==e?s.o?.[e]:s.l;const o=st(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s.o??=[])[e]=h:s.l=h),void 0!==h&&(i=z(t,h._$AS(t,i.values),h,e)),i}class F{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??w).importNode(i,!0);I.currentNode=e;let h=I.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new et(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new K(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=I.nextNode(),o++)}return I.currentNode=w,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class et{get _$AU(){return this._$AM?._$AU??this.v}constructor(t,i,s,e){this.type=2,this._$AH=D,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this.v=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=z(this,t,i),st(t)?t===D||null==t||\"\"===t?(this._$AH!==D&&this._$AR(),this._$AH=D):t!==this._$AH&&t!==R&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):$(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==D&&st(this._$AH)?this._$AA.nextSibling.data=t:this.T(w.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=B.createElement(N(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new F(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=V.get(t.strings);return void 0===i&&V.set(t.strings,i=new B(t)),i}k(t){g(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new et(this.O(lt()),this.O(lt()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this.v=t,this._$AP?.(t))}}class G{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=D,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=D}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=z(this,t,i,0),o=!st(t)||t!==this._$AH&&t!==R,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=z(this,e[s+n],i,n),r===R&&(r=this._$AH[n]),o||=!st(r)||r!==this._$AH[n],r===D?t=D:t!==D&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===D?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class Y extends G{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===D?void 0:t}}class Z extends G{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==D)}}class q extends G{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=z(this,t,i,0)??D)===R)return;const s=this._$AH,e=t===D&&s!==D||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==D&&(s===D||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class K{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){z(this,t)}}const si={M:f,P:v,A:m,C:1,L:U,R:F,D:$,V:z,I:et,H:G,N:Z,U:q,B:Y,F:K},Re=n.litHtmlPolyfillSupport;Re?.(B,et),(n.litHtmlVersions??=[]).push(\"3.2.0\");const Q=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new et(i.insertBefore(lt(),t),t,void 0,s??{})}return h._$AI(t),h};export{si as _$LH,ke as html,Se as mathml,R as noChange,D as nothing,Q as render,Oe as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as e}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as n,noChange as l}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class h extends e{constructor(){super(...arguments),this.renderOptions={host:this},this.o=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this.o=n(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this.o?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this.o?.setConnected(!1)}render(){return l}}h._$litElement$=!0,h[\"finalized\"]=!0,globalThis.litElementHydrateSupport?.({LitElement:h});const f=globalThis.litElementPolyfillSupport;f?.({LitElement:h});const x={_$AK:(t,e,s)=>{t._$AK(e,s)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.1.0\");export{h as LitElement,x as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(o){return(e,n)=>{const{slot:r,selector:s}=o??{},c=\"slot\"+(r?`[name=${r}]`:\":not([name])\");return t(e,n,{get(){const t=this.renderRoot?.querySelector(c),e=t?.assignedElements(o)??[];return void 0===s?e:e.filter((t=>t.matches(s)))}})}}export{o as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","import { regionHostMixin as h, regionAdapterRegistry as a } from \"@uxland/regions\";\nconst v = (r) => h(r, a);\nclass l {\n  constructor() {\n    this.viewsByRegion = {}, this.regions = {};\n  }\n  registerRegion(e, t) {\n    this.regions[e] = [...this.regions[e] || [], t];\n  }\n  unregisterRegion(e, t) {\n    this.regions[e] = this.getRegionsByName(e).filter((i) => i !== t);\n  }\n  registerView(e, t, i) {\n    const s = this.viewsByRegion[e] || [], o = s.findIndex((n) => n.key === t);\n    o >= 0 ? (s[o] = { key: t, view: i }, this.viewsByRegion[e] = s) : this.viewsByRegion[e] = [...s, { key: t, view: i }];\n  }\n  unregisterView(e, t) {\n    const i = this.viewsByRegion[e];\n    i && (this.viewsByRegion[e] = i.filter((s) => s.key !== t));\n  }\n  getRegisteredViews(e) {\n    return this.viewsByRegion[e] || [];\n  }\n  getRegionsByName(e) {\n    return this.regions[e] || [];\n  }\n  destroy() {\n    this.viewsByRegion = {}, this.regions = {};\n  }\n  clear() {\n    this.viewsByRegion = {};\n  }\n}\nclass g {\n  constructor(e) {\n    this._viewRegistry = e, this._regions = {};\n  }\n  add(e, t) {\n    const i = this.getRegion(e);\n    if (i) {\n      const s = i.host, o = t.host;\n      if (s && o && s === o)\n        throw s.uxlRegion = i, new Error(\n          `RegionManager.add: region \"${e}\" already exists for the same host (idempotent rejection)`\n        );\n      const n = s;\n      if (n)\n        for (; n.firstChild; )\n          n.removeChild(n.firstChild);\n      this.remove(i);\n    }\n    return this._regions[e] = t, this._viewRegistry.registerRegion(e, t), this;\n  }\n  getRegion(e) {\n    return this._regions[e];\n  }\n  remove(e) {\n    let t, i = \"\";\n    return typeof e == \"string\" ? (t = this.getRegion(e), i = e, delete this._regions[e]) : typeof e == \"object\" && (i = Object.keys(this._regions).find((s) => this._regions[s] === e), i && (t = e, delete this._regions[i])), i && t && this._viewRegistry.unregisterRegion(i, t), t;\n  }\n  addViewToRegion(e, t, i) {\n    const s = this.getRegion(e);\n    if (!s)\n      throw new Error(`Couldn't find a region with name: ${e}`);\n    return s.addView(t, i), this;\n  }\n  async registerViewWithRegion(e, t, i) {\n    return this._viewRegistry.registerView(e, t, i), await Promise.allSettled(\n      this._viewRegistry.getRegionsByName(e).map((s) => {\n        if (!s.containsView(t))\n          return s.addView(t, i);\n      })\n    ), this;\n  }\n  async unregisterViewFromRegion(e, t) {\n    return this._viewRegistry.unregisterView(e, t), await Promise.allSettled(this._viewRegistry.getRegionsByName(e).map((i) => i.removeView(t))), this;\n  }\n  getRegisteredViews(e) {\n    return this._viewRegistry.getRegisteredViews(e);\n  }\n  clear() {\n    return Object.values(this._viewRegistry.regions).forEach((e) => {\n      e?.length && Object.keys(e[0].views).forEach((t) => e[0]?.removeView(t));\n    }), this;\n  }\n  destroy() {\n    return this.clear(), Object.values(this._viewRegistry.regions).forEach(\n      (e) => this.remove(e[0])\n    ), this._regions = {}, this;\n  }\n  createRegionManager() {\n    return new g(this._viewRegistry);\n  }\n}\nclass w extends g {\n  constructor(e) {\n    const t = new l();\n    super(t), this._name = e;\n  }\n  clear() {\n    return super.clear(), this._viewRegistry.clear(), this;\n  }\n  destroy() {\n    return super.destroy(), this._viewRegistry.destroy(), this;\n  }\n}\nconst f = (r) => new w(r), c = (r) => r.importer(), R = async (r, e, t) => {\n  try {\n    const i = await c(r), s = e(r);\n    return await t(s, i), {\n      dispose: () => d(s, i),\n      importedPlugin: i,\n      apiInstance: s\n    };\n  } catch (i) {\n    console.error(`Failed to load plugin ${r.pluginId}:`, i);\n  }\n}, u = async (r, e) => {\n  await e.initialize(r);\n}, d = (r, e) => e.dispose(r), p = async (r, e) => {\n  if (!r?.length) throw new Error(\"No plugins to bootstrap\");\n  return (await Promise.allSettled(r.map((i) => R(i, e, u)))).map((i) => i.status === \"fulfilled\" ? i.value : null);\n};\nexport {\n  g as RegionManager,\n  p as bootstrapPlugins,\n  v as createRegionHost,\n  f as createRegionManager\n};\n//# sourceMappingURL=index.js.map\n","export const primariaShellId = \"primaria-shell\";\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n        if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { mediatorSettings } from \"../../index.js\";\nvar OrderMappings = /** @class */ (function () {\n    function OrderMappings() {\n        this._mappings = [];\n    }\n    OrderMappings.prototype.add = function (mapping) {\n        if (mapping.order !== 0) {\n            mapping.order = this._mappings.length;\n        }\n        this._mappings.push(mapping);\n        this.onAdded(mapping);\n    };\n    OrderMappings.prototype.clear = function () {\n        this._mappings = [];\n    };\n    return OrderMappings;\n}());\nexport { OrderMappings };\nfunction byOrder(a, b) {\n    return (b.order || 0) - (a.order || 0);\n}\nvar NotificationMappings = /** @class */ (function (_super) {\n    __extends(NotificationMappings, _super);\n    function NotificationMappings() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    NotificationMappings.prototype.onAdded = function (mapping) {\n        var handlerName = mapping.handler.prototype.constructor.name;\n        mediatorSettings.resolver.add(handlerName, mapping.handler);\n    };\n    NotificationMappings.prototype.setOrder = function (notification, handlers) {\n        var all = this.getAll(notification);\n        for (var _i = 0, all_1 = all; _i < all_1.length; _i++) {\n            var handler = all_1[_i];\n            handler.order = handlers.indexOf(handler.handler);\n        }\n    };\n    NotificationMappings.prototype.getAll = function (notification) {\n        var items = this._mappings.filter(function (p) { return p.notification === notification; });\n        if (items.length === 0)\n            throw new Error(\"Cannot find notification handler with key: \".concat(notification.prototype.name));\n        return items.sort(byOrder);\n    };\n    return NotificationMappings;\n}(OrderMappings));\nexport { NotificationMappings };\nvar BehaviorMappings = /** @class */ (function (_super) {\n    __extends(BehaviorMappings, _super);\n    function BehaviorMappings() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    BehaviorMappings.prototype.onAdded = function (mapping) {\n        var handlerName = mapping.behavior.prototype.constructor.name;\n        mediatorSettings.resolver.add(handlerName, mapping.behavior);\n    };\n    BehaviorMappings.prototype.setOrder = function (behaviors) {\n        var all = this.getAll();\n        for (var _i = 0, all_2 = all; _i < all_2.length; _i++) {\n            var handler = all_2[_i];\n            handler.order = behaviors.indexOf(handler.behavior);\n        }\n    };\n    BehaviorMappings.prototype.getAll = function () {\n        var items = __spreadArray([], this._mappings, true);\n        return items.sort(byOrder);\n    };\n    return BehaviorMappings;\n}(OrderMappings));\nexport { BehaviorMappings };\n//# sourceMappingURL=mappings.js.map","/* eslint-disable @typescript-eslint/ban-types */\nimport { BehaviorMappings, NotificationMappings } from \"../../models/dispatcher/mappings.js\";\n/**\n * The internal dispatcher\n * Here storing the mapping between the event name with the handler name\n *\n * @export\n * @class Dispatcher\n * @implements {IDispatcher}\n */\nvar Dispatcher = /** @class */ (function () {\n    function Dispatcher() {\n        this._notifications = new NotificationMappings();\n        this._behaviors = new BehaviorMappings();\n    }\n    Object.defineProperty(Dispatcher.prototype, \"notifications\", {\n        get: function () {\n            return this._notifications;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(Dispatcher.prototype, \"behaviors\", {\n        get: function () {\n            return this._behaviors;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    return Dispatcher;\n}());\nexport default Dispatcher;\n//# sourceMappingURL=index.js.map","/* eslint-disable @typescript-eslint/ban-types */\n/**\n * The instance object to save the Handler functions and the relative key\n *\n * @export\n * @class HandlerInstance\n */\nvar HandlerInstance = /** @class */ (function () {\n    /**\n     * Creates an instance of HandlerInstance.\n     * @param {string} name The name of the handler\n     * @param {Function} value The fx handler\n     * @memberof HandlerInstance\n     */\n    function HandlerInstance(name, value) {\n        this._name = name;\n        this._value = value;\n    }\n    Object.defineProperty(HandlerInstance.prototype, \"name\", {\n        /**\n         * Get the name value\n         *\n         * @readonly\n         * @type {string}\n         * @memberof HandlerInstance\n         */\n        get: function () {\n            return this._name;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(HandlerInstance.prototype, \"value\", {\n        /**\n         * Get the fx value\n         *\n         * @readonly\n         * @type {Function}\n         * @memberof HandlerInstance\n         */\n        get: function () {\n            return this._value;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    return HandlerInstance;\n}());\nexport default HandlerInstance;\n//# sourceMappingURL=handler.instance.js.map","import HandlerInstance from \"../models/handler.instance.js\";\n/**\n * The internal resolver\n * Here handler functions and relative keys are stored and retrieved.\n *\n * @export\n * @class Resolver\n * @implements {IResolver}\n */\nvar Resolver = /** @class */ (function () {\n    function Resolver() {\n        // Contains the mapping of the functions\n        this._instances = [];\n    }\n    /**\n     * Retrieve a func from the container\n     *\n     * @template T\n     * @param {string} name The instance name to retrieve\n     * @returns {T}\n     * @memberof Resolver\n     */\n    Resolver.prototype.resolve = function (name) {\n        var e = this._instances.find(function (p) { return p.name === name; });\n        if (!e)\n            throw new Error(\"Cannot find element with key: \".concat(name));\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        var handlerFx = e.value;\n        return new handlerFx();\n    };\n    /**\n     * Add a func and name to the container\n     *\n     * @param {string} name The instance name to add to the container\n     * @param {Function} fx The function to store with the instance name\n     * @memberof Resolver\n     */\n    Resolver.prototype.add = function (name, fx) {\n        var k = this._instances.find(function (p) { return p.name === name; });\n        if (k === undefined)\n            this._instances.push(new HandlerInstance(name, fx));\n        else\n            throw new Error(\"The key \".concat(name, \" is already been added\"));\n    };\n    /**\n     * Remove an isntance from the container\n     *\n     * @param {string} name The instance name to remove from the container\n     * @memberof Resolver\n     */\n    Resolver.prototype.remove = function (name) {\n        var i = this._instances.findIndex(function (p) { return p.name === name; });\n        if (i >= 0) {\n            this._instances.splice(i, 1);\n        }\n    };\n    /**\n     * Clear the container\n     *\n     * @memberof Resolver\n     */\n    Resolver.prototype.clear = function () {\n        this._instances = [];\n    };\n    return Resolver;\n}());\nexport default Resolver;\n//# sourceMappingURL=resolver.js.map","import Dispatcher from \"./models/dispatcher/index.js\";\nimport Resolver from \"./models/resolver.js\";\n/**\n * Contains the settings for the MediatR lib\n *\n * @class MediatrSettings\n */\nvar MediatrSettings = /** @class */ (function () {\n    function MediatrSettings() {\n        this.resolver = new Resolver();\n        this.dispatcher = new Dispatcher();\n    }\n    return MediatrSettings;\n}());\nvar mediatorSettings = new MediatrSettings();\nexport default mediatorSettings;\n//# sourceMappingURL=settings.js.map","import { mediatorSettings } from \"../index.js\";\n/**\n * Decorate the requestHandler with this attribute\n *\n * @param value The request type\n */\nvar requestHandler = function (value) {\n    return function (target) {\n        var name = value.prototype.constructor.name;\n        mediatorSettings.resolver.add(name, target);\n    };\n};\nexport default requestHandler;\n//# sourceMappingURL=request.attribute.js.map","import { mediatorSettings } from \"../index.js\";\n/**\n * Decorate the notificationHandler with this attribute\n *\n * @param value The request type\n * @param order The order of event\n */\nvar notificationHandler = function (value) {\n    return function (target) {\n        mediatorSettings.dispatcher.notifications.add({\n            notification: value,\n            handler: target\n        });\n    };\n};\nexport default notificationHandler;\n//# sourceMappingURL=notification.attribute.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport { mediatorSettings } from \"../index.js\";\n/**\n * The mediator class\n * Send request and publish events\n *\n * @export\n * @class Mediator\n * @implements {IMediator}\n */\nvar Mediator = /** @class */ (function () {\n    function Mediator() {\n    }\n    /**\n     * Send a request to the mediator\n     *\n     * @template T\n     * @param {IRequest<T>} request The request to send\n     * @returns {Promise<T>}\n     * @memberof Mediator\n     */\n    Mediator.prototype.send = function (request) {\n        return __awaiter(this, void 0, void 0, function () {\n            var name, handler, behaviors, currentBehaviorIndex, next;\n            var _this = this;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        name = request.constructor.name;\n                        handler = mediatorSettings.resolver.resolve(name);\n                        behaviors = mediatorSettings.dispatcher.behaviors\n                            .getAll()\n                            .map(function (p) { return p.behavior; });\n                        currentBehaviorIndex = 0;\n                        next = function () { return __awaiter(_this, void 0, void 0, function () {\n                            var behaviorClass, behavior;\n                            return __generator(this, function (_a) {\n                                switch (_a.label) {\n                                    case 0:\n                                        if (!(currentBehaviorIndex < behaviors.length)) return [3 /*break*/, 2];\n                                        behaviorClass = behaviors[currentBehaviorIndex];\n                                        behavior = mediatorSettings.resolver.resolve(behaviorClass.name);\n                                        currentBehaviorIndex++;\n                                        return [4 /*yield*/, behavior.handle(request, next)];\n                                    case 1: return [2 /*return*/, _a.sent()];\n                                    case 2: return [4 /*yield*/, handler.handle(request)];\n                                    case 3: return [2 /*return*/, _a.sent()];\n                                }\n                            });\n                        }); };\n                        return [4 /*yield*/, next()];\n                    case 1: return [2 /*return*/, _a.sent()];\n                }\n            });\n        });\n    };\n    /**\n     * Publish a new message\n     *\n     * @param {INotification} message The message to publish\n     * @returns {Promise<void>}\n     * @memberof Mediator\n     */\n    Mediator.prototype.publish = function (message) {\n        return __awaiter(this, void 0, void 0, function () {\n            var events;\n            var _this = this;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        events = mediatorSettings.dispatcher.notifications.getAll(message.constructor);\n                        return [4 /*yield*/, Promise.all(events.map(function (p) { return __awaiter(_this, void 0, void 0, function () {\n                                var handler;\n                                return __generator(this, function (_a) {\n                                    handler = mediatorSettings.resolver.resolve(p.handler.name);\n                                    return [2 /*return*/, handler.handle(message)];\n                                });\n                            }); }))];\n                    case 1:\n                        _a.sent();\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    return Mediator;\n}());\nexport default Mediator;\n//# sourceMappingURL=mediator.js.map","/**\n * Diccionari centralitzat d'events del broker.\n * Events agrupats per plugin/iniciativa per facilitar l'organització i escalabilitat.\n */\nexport const BROKER_EVENTS = {\n  activityHistory: {\n    refreshDataRequested: \"refresh_history_data_requested\",\n    errorLoadingData: \"error_loading_activity_history_data\",\n    searched: \"activity_history_searched\",\n    filtersCleaned: \"activity_history_filters_cleaned\",\n    diagnosticFilterDeactivated: \"activity_history_diagnostic_filter_deactivated\",\n    injectAsyncHistoryItemsRequest: \"inject_async_history_items_request\",\n    addHistoryItemRequest: \"add_history_item_request\",\n    addHistoryItemsRequest: \"add_history_items_request\",\n    updateHistoryItemRequest: \"update_history_item_request\",\n    removeHistoryItemRequest: \"remove_history_item_request\",\n  },\n  shell: {\n    appCrashed: \"appCrashed\",\n    mainViewChanged: \"mainViewChanged\",\n    refreshTokenFailed: \"refreshTokenFailed\",\n    mpidHeaderInvalid: \"mpidHeaderInvalid\",\n    quickActionBusyChanged: \"quickActionBusyChanged\",\n    scrollToNavItemRequested: \"scrollToNavItemRequested\",\n    scrollToNavItemCompleted: \"scrollToNavItemCompleted\",\n  },\n  administrativeManagement: {\n    tabSelected: \"administrative_management_tab_selected\",\n  },\n} as const;\n\nexport type BrokerEvents = typeof BROKER_EVENTS;\n","import { IEvent, IEventClass, IRequest, IRequestClass } from \"@uxland/harmonix\";\nimport { Mediator, mediatorSettings, notificationHandler, requestHandler } from \"mediatr-ts\";\nimport { BROKER_EVENTS } from \"./broker-events\";\nimport { type PrimariaBroker, type BrokerDisposableHandler } from \"./primaria-broker\";\n\ntype messageHandler = (payload: unknown) => unknown | Promise<unknown>;\n\nconst disposableFactory = (handler: any) => {\n  return {\n    dispose: () => {\n      mediatorSettings.resolver.remove(handler.name);\n      const mappingIndex = mediatorSettings.dispatcher.notifications._mappings.findIndex(\n        (mapping) => mapping.handler.name === handler.name,\n      );\n      mappingIndex > -1 &&\n        mediatorSettings.dispatcher.notifications._mappings.splice(mappingIndex, 1);\n    },\n  };\n};\nclass Broker implements PrimariaBroker {\n  public readonly events = BROKER_EVENTS;\n  private mediator: Mediator;\n  constructor() {\n    this.mediator = new Mediator();\n    mediatorSettings.resolver.clear();\n  }\n  // biome-ignore lint/complexity/noBannedTypes: <explanation>\n  private eventConstructorMap: Map<string, Function> = new Map();\n\n  // biome-ignore lint/complexity/noBannedTypes: <explanation>\n  private requestConstructorMap: Map<string, Function> = new Map();\n\n  send<TRequest extends IRequest<TResponse>, TResponse>(message: TRequest): Promise<TResponse>;\n  send<TPayload, TResponse>(requestName: string, payload: TPayload): Promise<TResponse>;\n  send<TResponse>(request: IRequest<TResponse> | string, payload?: unknown): Promise<TResponse> {\n    const eventPayload =\n      typeof request === \"string\"\n        ? this.getRequest<TResponse>(request as string, payload)\n        : request;\n    return this.mediator.send(eventPayload);\n  }\n  publish<TEvent extends IEvent>(event: TEvent): Promise<void>;\n  publish<TPayload>(eventName: string, payload: TPayload): Promise<void>;\n  publish(event: string | IEvent, payload?: unknown): Promise<void> {\n    const eventPayload =\n      typeof event === \"string\" ? this.getEvent(event as string, payload) : event;\n    const classConstructor =\n      eventPayload.constructor || Object.getPrototypeOf(eventPayload).constructor;\n    const handlerSubscriptions = mediatorSettings.dispatcher.notifications._mappings.filter(\n      (m) => m.notification === classConstructor,\n    );\n    if (!handlerSubscriptions.length) return Promise.resolve();\n    return this.mediator.publish(eventPayload);\n  }\n  subscribe<TEvent extends IEvent>(\n    event: TEvent,\n    handler: (message: TEvent) => void,\n  ): BrokerDisposableHandler;\n  subscribe<TPayload>(\n    eventName: string,\n    handler: (message: TPayload) => void,\n  ): BrokerDisposableHandler;\n  subscribe(event: string | IEventClass, handler: messageHandler): BrokerDisposableHandler {\n    const eventType = typeof event === \"function\" ? event : this.getEventType(event as string);\n    const wrappedHandler = createDynamicEventHandler(handler);\n    notificationHandler(eventType)(wrappedHandler);\n    return disposableFactory(wrappedHandler);\n  }\n  registerRequest<TRequest extends IRequest<TResponse>, TResponse>(\n    request: TRequest,\n    handler: (message: TRequest) => TResponse,\n  ): BrokerDisposableHandler;\n  registerRequest<TPayload, TResponse>(\n    requestName: string,\n    handler: (message: TPayload) => TResponse,\n  ): BrokerDisposableHandler;\n  registerRequest(\n    request: string | IRequestClass<unknown>,\n    handler: messageHandler,\n  ): BrokerDisposableHandler {\n    const requestType =\n      typeof request === \"function\" ? request : this.getRequestType(request as string);\n    const wrappedHandler = createDynamicRequestHandler(handler);\n    requestHandler(requestType)(wrappedHandler);\n    return disposableFactory(wrappedHandler);\n  }\n\n  private getEvent(eventName: string, payload: unknown): IEvent {\n    const eventConstructor = this.getEventType(eventName);\n    return new eventConstructor(payload) as IEvent;\n  }\n\n  private getRequest<TResponse>(requestName: string, payload: unknown): IRequest<TResponse> {\n    const requestConstructor = this.getRequestType(requestName);\n    return new requestConstructor(payload) as IRequest<unknown>;\n  }\n\n  private getEventType(eventName: string): IEventClass {\n    if (!this.eventConstructorMap.has(eventName)) {\n      const clazz = createDynamicEventClass(eventName);\n      this.eventConstructorMap.set(eventName, clazz);\n    }\n    return this.eventConstructorMap.get(eventName) as IEventClass;\n  }\n\n  private getRequestType(requestName: string): IRequestClass<unknown> {\n    if (!this.requestConstructorMap.has(requestName)) {\n      const clazz = createDynamicRequestClass(requestName);\n      this.requestConstructorMap.set(requestName, clazz);\n    }\n    return this.requestConstructorMap.get(requestName) as IRequestClass<unknown>;\n  }\n}\n\nconst createDynamicEventClass = (eventName: string) => {\n  return new Function(`return class Event_${eventName} {\n    constructor(payload) {\n            this.payload = payload;\n        }\n    }`)();\n};\n\nconst createDynamicRequestClass = (requestName: string) => {\n  return new Function(`return class Request_${requestName} {\n    constructor(payload) {\n            Object.assign(this, payload);\n        }\n    }`)();\n};\n\nconst usedSuffixes = new Set();\n\nfunction generateUniqueRandomSuffix() {\n  let suffix;\n  do {\n    suffix = Math.floor(Math.random() * 10000);\n  } while (usedSuffixes.has(suffix));\n\n  usedSuffixes.add(suffix);\n  return suffix;\n}\n\nconst createDynamicRequestHandler = (handler: messageHandler) => {\n  const className = `RequestHandler_${generateUniqueRandomSuffix()}`;\n  return new Function(\n    \"handler\",\n    `return class ${className}{\n        handle(notification){\n            const handlerResult = handler({...notification});\n            return handlerResult instanceof Promise ? handlerResult : Promise.resolve(handlerResult);\n        }\n    }`,\n  )(handler);\n};\n\nconst createDynamicEventHandler = (handler: messageHandler) => {\n  const className = `EventHandler_${generateUniqueRandomSuffix()}`;\n  return new Function(\n    \"handler\",\n    `return class ${className}{\n        handle(notification){\n            const payload = notification.payload !== undefined ? notification.payload : {...notification};\n            const handlerResult = handler(payload);\n            return handlerResult instanceof Promise ? handlerResult : Promise.resolve(handlerResult);\n        }\n    }`,\n  )(handler);\n};\n\nexport const createBroker = (): PrimariaBroker => new Broker(); ","import type { PrimariaGlobalStateManager } from \"../global-state/global-state\";\nimport { IEcapEvent } from \"./typings\";\n\nexport const LAST_WORKED_DIAGNOSTICS_KEY = \"lastWorkedDiagnostics\";\n\nconst EVENTS_WITH_DIAGNOSTICS = [\n  \"PROVES_ORDRES_CLINIQUES_CONSULTAR\",\n  \"RESULT_OC\",\n  \"LABORATORI_SEROTECA_PETICIO_CONSULTA\",\n  \"LABORATORI\",\n  \"ORDRE_TRACTAMENT\",\n  \"PRESCRIPCIO_ACTIVA\",\n  \"REV_IT\",\n  \"OC_EXPRES\",\n] as const;\n\nexport abstract class EcapEventManager {\n  /**\n   * Publish an Ecap event.\n   * @param eventType - Event type.\n   * @param accio - Action.\n   * @param payload - Additional payload properties.\n   */\n  abstract publish(eventType: string, accio: string, payload?: Record<string, unknown>): void;\n}\n\nclass EcapEventManagerImpl implements EcapEventManager {\n  constructor(private globalStateManager: PrimariaGlobalStateManager) {}\n\n  publish(eventType: string, accio: string, payload?: Record<string, unknown>) {\n    const ecapEvent = this.createEcapEvent(eventType, accio, payload ?? {});\n\n    if (EVENTS_WITH_DIAGNOSTICS.includes(eventType as (typeof EVENTS_WITH_DIAGNOSTICS)[number])) {\n      ecapEvent.DIAGNOSTICS = this.globalStateManager.getData<unknown[]>(LAST_WORKED_DIAGNOSTICS_KEY) ?? [];\n    }\n\n    this.raiseEcapEvent(ecapEvent);\n  }\n\n  private createEcapEvent(eventType: string, accio: string, payload: Record<string, unknown>) {\n    return {\n      TipusEvent: eventType,\n      Accio: accio,\n      ...payload,\n    } as IEcapEvent;\n  }\n  private raiseEcapEvent(ecapEvent: IEcapEvent) {\n    if (window.parent) window.parent.postMessage(JSON.stringify(ecapEvent), \"*\");\n    console.log(\"method\", JSON.stringify(ecapEvent));\n  }\n}\n\nexport const createEcapEventManager = (globalStateManager: PrimariaGlobalStateManager) =>\n  new EcapEventManagerImpl(globalStateManager);\n","export type ExitGuardCanDispose = () => Promise<boolean>;\n\nexport abstract class ExitGuardManager {\n  abstract register(id: string, canDispose: ExitGuardCanDispose): void;\n  abstract unregister(id: string): void;\n  abstract canExit(): Promise<boolean>;\n}\n\nexport class ExitGuardManagerImpl implements ExitGuardManager {\n  private guards = new Map<string, ExitGuardCanDispose>();\n\n  register(id: string, canDispose: ExitGuardCanDispose): void {\n    this.guards.set(id, canDispose);\n  }\n\n  unregister(id: string): void {\n    this.guards.delete(id);\n  }\n\n  async canExit(): Promise<boolean> {\n    for (const guard of this.guards.values()) {\n      try {\n        const can = await guard();\n        if (!can) return false;\n      } catch (e) {\n        console.error(\"Exit guard failed:\", e);\n      }\n    }\n    return true;\n  }\n}\n","import { PrimariaBroker } from \"../broker/primaria-broker\";\n\nexport abstract class PrimariaGlobalStateManager {\n  abstract setData<T>(key: string, value: T): void;\n  abstract getData<T>(key: string): T | undefined;\n  abstract clearData(): void;\n}\n\nclass PrimariaGlobalStateManagerImpl implements PrimariaGlobalStateManager {\n  private state: { [key: string]: unknown } = {};\n  constructor(public broker: PrimariaBroker) {}\n\n  /**\n   * Sets the value of a key in the state object and publishes an event with the event bus.\n   *\n   * @param {string} key - The key to set the value for.\n   * @param {T} value - The value to set for the key.\n   * @return {void} This function does not return anything.\n   */\n  setData<T>(key: string, value: T): void {\n    this.state[key] = value;\n    this.broker.publish(\"data_set\", {\n      key: key,\n      value: value,\n    });\n  }\n\n  /**\n   * Retrieves the value associated with the specified key from the state object.\n   *\n   * @param {string} key - The key to retrieve the value for.\n   * @return {T | undefined} The value associated with the specified key, or undefined if the key does not exist in the state object.\n   */\n  getData<T>(key: string): T | undefined {\n    return this.state[key] as T | undefined;\n  }\n\n  /**\n   * Clears all data stored in the state object.\n   *\n   * @return {void} This function does not return anything.\n   */\n  public clearData(): void {\n    this.state = {};\n  }\n}\n\nexport const createGlobalStateManager = (broker: PrimariaBroker) =>\n  new PrimariaGlobalStateManagerImpl(broker);\n","const ACTIVITY_EVENTS = [\"keydown\", \"click\", \"scroll\"] as const;\n\nexport interface ActivityMonitor {\n  start: () => void;\n  stop: () => void;\n  getLastActivityTimestamp: () => number;\n}\n\nexport class ActivityMonitorImpl implements ActivityMonitor {\n  private lastActivityTimestamp = 0;\n  private readonly activityHandler = () => {\n    this.lastActivityTimestamp = Date.now();\n  };\n\n  start = () => {\n    for (const e of ACTIVITY_EVENTS) window.addEventListener(e, this.activityHandler);\n  };\n\n  stop = () => {\n    for (const e of ACTIVITY_EVENTS) window.removeEventListener(e, this.activityHandler);\n  };\n\n  getLastActivityTimestamp = () => this.lastActivityTimestamp;\n}\n\nexport const createActivityMonitor = (): ActivityMonitor => new ActivityMonitorImpl();\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n  return function wrap() {\n    return fn.apply(thisArg, arguments);\n  };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n    const str = toString.call(thing);\n    return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n  type = type.toLowerCase();\n  return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  let result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n  if (kindOf(val) !== 'object') {\n    return false;\n  }\n\n  const prototype = getPrototypeOf(val);\n  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n  // Early return for non-objects or Buffers to prevent RangeError\n  if (!isObject(val) || isBuffer(val)) {\n    return false;\n  }\n\n  try {\n    return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n  } catch (e) {\n    // Fallback for any other objects that might cause RangeError with Object.keys()\n    return false;\n  }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n  let kind;\n  return thing && (\n    (typeof FormData === 'function' && thing instanceof FormData) || (\n      isFunction(thing.append) && (\n        (kind = kindOf(thing)) === 'formdata' ||\n        // detect form-data instance\n        (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n      )\n    )\n  )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n  str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  let i;\n  let l;\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Buffer check\n    if (isBuffer(obj)) {\n      return;\n    }\n\n    // Iterate over object keys\n    const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n    const len = keys.length;\n    let key;\n\n    for (i = 0; i < len; i++) {\n      key = keys[i];\n      fn.call(null, obj[key], key, obj);\n    }\n  }\n}\n\nfunction findKey(obj, key) {\n  if (isBuffer(obj)){\n    return null;\n  }\n\n  key = key.toLowerCase();\n  const keys = Object.keys(obj);\n  let i = keys.length;\n  let _key;\n  while (i-- > 0) {\n    _key = keys[i];\n    if (key === _key.toLowerCase()) {\n      return _key;\n    }\n  }\n  return null;\n}\n\nconst _global = (() => {\n  /*eslint no-undef:0*/\n  if (typeof globalThis !== \"undefined\") return globalThis;\n  return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n  const result = {};\n  const assignValue = (val, key) => {\n    const targetKey = caseless && findKey(result, key) || key;\n    if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n      result[targetKey] = merge(result[targetKey], val);\n    } else if (isPlainObject(val)) {\n      result[targetKey] = merge({}, val);\n    } else if (isArray(val)) {\n      result[targetKey] = val.slice();\n    } else if (!skipUndefined || !isUndefined(val)) {\n      result[targetKey] = val;\n    }\n  }\n\n  for (let i = 0, l = arguments.length; i < l; i++) {\n    arguments[i] && forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n  forEach(b, (val, key) => {\n    if (thisArg && isFunction(val)) {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  }, {allOwnKeys});\n  return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n  if (content.charCodeAt(0) === 0xFEFF) {\n    content = content.slice(1);\n  }\n  return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n  constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n  constructor.prototype.constructor = constructor;\n  Object.defineProperty(constructor, 'super', {\n    value: superConstructor.prototype\n  });\n  props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n  let props;\n  let i;\n  let prop;\n  const merged = {};\n\n  destObj = destObj || {};\n  // eslint-disable-next-line no-eq-null,eqeqeq\n  if (sourceObj == null) return destObj;\n\n  do {\n    props = Object.getOwnPropertyNames(sourceObj);\n    i = props.length;\n    while (i-- > 0) {\n      prop = props[i];\n      if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n        destObj[prop] = sourceObj[prop];\n        merged[prop] = true;\n      }\n    }\n    sourceObj = filter !== false && getPrototypeOf(sourceObj);\n  } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n  return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n  str = String(str);\n  if (position === undefined || position > str.length) {\n    position = str.length;\n  }\n  position -= searchString.length;\n  const lastIndex = str.indexOf(searchString, position);\n  return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n  if (!thing) return null;\n  if (isArray(thing)) return thing;\n  let i = thing.length;\n  if (!isNumber(i)) return null;\n  const arr = new Array(i);\n  while (i-- > 0) {\n    arr[i] = thing[i];\n  }\n  return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n  // eslint-disable-next-line func-names\n  return thing => {\n    return TypedArray && thing instanceof TypedArray;\n  };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n  const generator = obj && obj[iterator];\n\n  const _iterator = generator.call(obj);\n\n  let result;\n\n  while ((result = _iterator.next()) && !result.done) {\n    const pair = result.value;\n    fn.call(obj, pair[0], pair[1]);\n  }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n  let matches;\n  const arr = [];\n\n  while ((matches = regExp.exec(str)) !== null) {\n    arr.push(matches);\n  }\n\n  return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n  return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n    function replacer(m, p1, p2) {\n      return p1.toUpperCase() + p2;\n    }\n  );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n  const descriptors = Object.getOwnPropertyDescriptors(obj);\n  const reducedDescriptors = {};\n\n  forEach(descriptors, (descriptor, name) => {\n    let ret;\n    if ((ret = reducer(descriptor, name, obj)) !== false) {\n      reducedDescriptors[name] = ret || descriptor;\n    }\n  });\n\n  Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n  reduceDescriptors(obj, (descriptor, name) => {\n    // skip restricted props in strict mode\n    if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n      return false;\n    }\n\n    const value = obj[name];\n\n    if (!isFunction(value)) return;\n\n    descriptor.enumerable = false;\n\n    if ('writable' in descriptor) {\n      descriptor.writable = false;\n      return;\n    }\n\n    if (!descriptor.set) {\n      descriptor.set = () => {\n        throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n      };\n    }\n  });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n  const obj = {};\n\n  const define = (arr) => {\n    arr.forEach(value => {\n      obj[value] = true;\n    });\n  }\n\n  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n  return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n  return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n  return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n  const stack = new Array(10);\n\n  const visit = (source, i) => {\n\n    if (isObject(source)) {\n      if (stack.indexOf(source) >= 0) {\n        return;\n      }\n\n      //Buffer check\n      if (isBuffer(source)) {\n        return source;\n      }\n\n      if(!('toJSON' in source)) {\n        stack[i] = source;\n        const target = isArray(source) ? [] : {};\n\n        forEach(source, (value, key) => {\n          const reducedValue = visit(value, i + 1);\n          !isUndefined(reducedValue) && (target[key] = reducedValue);\n        });\n\n        stack[i] = undefined;\n\n        return target;\n      }\n    }\n\n    return source;\n  }\n\n  return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n  thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n  if (setImmediateSupported) {\n    return setImmediate;\n  }\n\n  return postMessageSupported ? ((token, callbacks) => {\n    _global.addEventListener(\"message\", ({source, data}) => {\n      if (source === _global && data === token) {\n        callbacks.length && callbacks.shift()();\n      }\n    }, false);\n\n    return (cb) => {\n      callbacks.push(cb);\n      _global.postMessage(token, \"*\");\n    }\n  })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n  typeof setImmediate === 'function',\n  isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n  queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n  isArray,\n  isArrayBuffer,\n  isBuffer,\n  isFormData,\n  isArrayBufferView,\n  isString,\n  isNumber,\n  isBoolean,\n  isObject,\n  isPlainObject,\n  isEmptyObject,\n  isReadableStream,\n  isRequest,\n  isResponse,\n  isHeaders,\n  isUndefined,\n  isDate,\n  isFile,\n  isBlob,\n  isRegExp,\n  isFunction,\n  isStream,\n  isURLSearchParams,\n  isTypedArray,\n  isFileList,\n  forEach,\n  merge,\n  extend,\n  trim,\n  stripBOM,\n  inherits,\n  toFlatObject,\n  kindOf,\n  kindOfTest,\n  endsWith,\n  toArray,\n  forEachEntry,\n  matchAll,\n  isHTMLForm,\n  hasOwnProperty,\n  hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n  reduceDescriptors,\n  freezeMethods,\n  toObjectSet,\n  toCamelCase,\n  noop,\n  toFiniteNumber,\n  findKey,\n  global: _global,\n  isContextDefined,\n  isSpecCompliantForm,\n  toJSONObject,\n  isAsyncFn,\n  isThenable,\n  setImmediate: _setImmediate,\n  asap,\n  isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n  Error.call(this);\n\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, this.constructor);\n  } else {\n    this.stack = (new Error()).stack;\n  }\n\n  this.message = message;\n  this.name = 'AxiosError';\n  code && (this.code = code);\n  config && (this.config = config);\n  request && (this.request = request);\n  if (response) {\n    this.response = response;\n    this.status = response.status ? response.status : null;\n  }\n}\n\nutils.inherits(AxiosError, Error, {\n  toJSON: function toJSON() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: utils.toJSONObject(this.config),\n      code: this.code,\n      status: this.status\n    };\n  }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n  'ERR_BAD_OPTION_VALUE',\n  'ERR_BAD_OPTION',\n  'ECONNABORTED',\n  'ETIMEDOUT',\n  'ERR_NETWORK',\n  'ERR_FR_TOO_MANY_REDIRECTS',\n  'ERR_DEPRECATED',\n  'ERR_BAD_RESPONSE',\n  'ERR_BAD_REQUEST',\n  'ERR_CANCELED',\n  'ERR_NOT_SUPPORT',\n  'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n  descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n  const axiosError = Object.create(prototype);\n\n  utils.toFlatObject(error, axiosError, function filter(obj) {\n    return obj !== Error.prototype;\n  }, prop => {\n    return prop !== 'isAxiosError';\n  });\n\n  const msg = error && error.message ? error.message : 'Error';\n\n  // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n  const errCode = code == null && error ? error.code : code;\n  AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n  // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n  if (error && axiosError.cause == null) {\n    Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n  }\n\n  axiosError.name = (error && error.name) || 'Error';\n\n  customProps && Object.assign(axiosError, customProps);\n\n  return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n  return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n  return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n  if (!path) return key;\n  return path.concat(key).map(function each(token, i) {\n    // eslint-disable-next-line no-param-reassign\n    token = removeBrackets(token);\n    return !dots && i ? '[' + token + ']' : token;\n  }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n  return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n  return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n  if (!utils.isObject(obj)) {\n    throw new TypeError('target must be an object');\n  }\n\n  // eslint-disable-next-line no-param-reassign\n  formData = formData || new (PlatformFormData || FormData)();\n\n  // eslint-disable-next-line no-param-reassign\n  options = utils.toFlatObject(options, {\n    metaTokens: true,\n    dots: false,\n    indexes: false\n  }, false, function defined(option, source) {\n    // eslint-disable-next-line no-eq-null,eqeqeq\n    return !utils.isUndefined(source[option]);\n  });\n\n  const metaTokens = options.metaTokens;\n  // eslint-disable-next-line no-use-before-define\n  const visitor = options.visitor || defaultVisitor;\n  const dots = options.dots;\n  const indexes = options.indexes;\n  const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n  const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n  if (!utils.isFunction(visitor)) {\n    throw new TypeError('visitor must be a function');\n  }\n\n  function convertValue(value) {\n    if (value === null) return '';\n\n    if (utils.isDate(value)) {\n      return value.toISOString();\n    }\n\n    if (utils.isBoolean(value)) {\n      return value.toString();\n    }\n\n    if (!useBlob && utils.isBlob(value)) {\n      throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n    }\n\n    if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n      return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n    }\n\n    return value;\n  }\n\n  /**\n   * Default visitor.\n   *\n   * @param {*} value\n   * @param {String|Number} key\n   * @param {Array<String|Number>} path\n   * @this {FormData}\n   *\n   * @returns {boolean} return true to visit the each prop of the value recursively\n   */\n  function defaultVisitor(value, key, path) {\n    let arr = value;\n\n    if (value && !path && typeof value === 'object') {\n      if (utils.endsWith(key, '{}')) {\n        // eslint-disable-next-line no-param-reassign\n        key = metaTokens ? key : key.slice(0, -2);\n        // eslint-disable-next-line no-param-reassign\n        value = JSON.stringify(value);\n      } else if (\n        (utils.isArray(value) && isFlatArray(value)) ||\n        ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n        )) {\n        // eslint-disable-next-line no-param-reassign\n        key = removeBrackets(key);\n\n        arr.forEach(function each(el, index) {\n          !(utils.isUndefined(el) || el === null) && formData.append(\n            // eslint-disable-next-line no-nested-ternary\n            indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n            convertValue(el)\n          );\n        });\n        return false;\n      }\n    }\n\n    if (isVisitable(value)) {\n      return true;\n    }\n\n    formData.append(renderKey(path, key, dots), convertValue(value));\n\n    return false;\n  }\n\n  const stack = [];\n\n  const exposedHelpers = Object.assign(predicates, {\n    defaultVisitor,\n    convertValue,\n    isVisitable\n  });\n\n  function build(value, path) {\n    if (utils.isUndefined(value)) return;\n\n    if (stack.indexOf(value) !== -1) {\n      throw Error('Circular reference detected in ' + path.join('.'));\n    }\n\n    stack.push(value);\n\n    utils.forEach(value, function each(el, key) {\n      const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n        formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n      );\n\n      if (result === true) {\n        build(el, path ? path.concat(key) : [key]);\n      }\n    });\n\n    stack.pop();\n  }\n\n  if (!utils.isObject(obj)) {\n    throw new TypeError('data must be an object');\n  }\n\n  build(obj);\n\n  return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n  const charMap = {\n    '!': '%21',\n    \"'\": '%27',\n    '(': '%28',\n    ')': '%29',\n    '~': '%7E',\n    '%20': '+',\n    '%00': '\\x00'\n  };\n  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n    return charMap[match];\n  });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n  this._pairs = [];\n\n  params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n  this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n  const _encode = encoder ? function(value) {\n    return encoder.call(this, value, encode);\n  } : encode;\n\n  return this._pairs.map(function each(pair) {\n    return _encode(pair[0]) + '=' + _encode(pair[1]);\n  }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n  \n  const _encode = options && options.encode || encode;\n\n  if (utils.isFunction(options)) {\n    options = {\n      serialize: options\n    };\n  } \n\n  const serializeFn = options && options.serialize;\n\n  let serializedParams;\n\n  if (serializeFn) {\n    serializedParams = serializeFn(params, options);\n  } else {\n    serializedParams = utils.isURLSearchParams(params) ?\n      params.toString() :\n      new AxiosURLSearchParams(params, options).toString(_encode);\n  }\n\n  if (serializedParams) {\n    const hashmarkIndex = url.indexOf(\"#\");\n\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n  constructor() {\n    this.handlers = [];\n  }\n\n  /**\n   * Add a new interceptor to the stack\n   *\n   * @param {Function} fulfilled The function to handle `then` for a `Promise`\n   * @param {Function} rejected The function to handle `reject` for a `Promise`\n   *\n   * @return {Number} An ID used to remove interceptor later\n   */\n  use(fulfilled, rejected, options) {\n    this.handlers.push({\n      fulfilled,\n      rejected,\n      synchronous: options ? options.synchronous : false,\n      runWhen: options ? options.runWhen : null\n    });\n    return this.handlers.length - 1;\n  }\n\n  /**\n   * Remove an interceptor from the stack\n   *\n   * @param {Number} id The ID that was returned by `use`\n   *\n   * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n   */\n  eject(id) {\n    if (this.handlers[id]) {\n      this.handlers[id] = null;\n    }\n  }\n\n  /**\n   * Clear all interceptors from the stack\n   *\n   * @returns {void}\n   */\n  clear() {\n    if (this.handlers) {\n      this.handlers = [];\n    }\n  }\n\n  /**\n   * Iterate over all the registered interceptors\n   *\n   * This method is particularly useful for skipping over any\n   * interceptors that may have become `null` calling `eject`.\n   *\n   * @param {Function} fn The function to call for each interceptor\n   *\n   * @returns {void}\n   */\n  forEach(fn) {\n    utils.forEach(this.handlers, function forEachHandler(h) {\n      if (h !== null) {\n        fn(h);\n      }\n    });\n  }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n  silentJSONParsing: true,\n  forcedJSONParsing: true,\n  clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n  isBrowser: true,\n  classes: {\n    URLSearchParams,\n    FormData,\n    Blob\n  },\n  protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n  (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n  return (\n    typeof WorkerGlobalScope !== 'undefined' &&\n    // eslint-disable-next-line no-undef\n    self instanceof WorkerGlobalScope &&\n    typeof self.importScripts === 'function'\n  );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n  hasBrowserEnv,\n  hasStandardBrowserWebWorkerEnv,\n  hasStandardBrowserEnv,\n  _navigator as navigator,\n  origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n  ...utils,\n  ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n  return toFormData(data, new platform.classes.URLSearchParams(), {\n    visitor: function(value, key, path, helpers) {\n      if (platform.isNode && utils.isBuffer(value)) {\n        this.append(key, value.toString('base64'));\n        return false;\n      }\n\n      return helpers.defaultVisitor.apply(this, arguments);\n    },\n    ...options\n  });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n  // foo[x][y][z]\n  // foo.x.y.z\n  // foo-x-y-z\n  // foo x y z\n  return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n    return match[0] === '[]' ? '' : match[1] || match[0];\n  });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n  const obj = {};\n  const keys = Object.keys(arr);\n  let i;\n  const len = keys.length;\n  let key;\n  for (i = 0; i < len; i++) {\n    key = keys[i];\n    obj[key] = arr[key];\n  }\n  return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n  function buildPath(path, value, target, index) {\n    let name = path[index++];\n\n    if (name === '__proto__') return true;\n\n    const isNumericKey = Number.isFinite(+name);\n    const isLast = index >= path.length;\n    name = !name && utils.isArray(target) ? target.length : name;\n\n    if (isLast) {\n      if (utils.hasOwnProp(target, name)) {\n        target[name] = [target[name], value];\n      } else {\n        target[name] = value;\n      }\n\n      return !isNumericKey;\n    }\n\n    if (!target[name] || !utils.isObject(target[name])) {\n      target[name] = [];\n    }\n\n    const result = buildPath(path, value, target[name], index);\n\n    if (result && utils.isArray(target[name])) {\n      target[name] = arrayToObject(target[name]);\n    }\n\n    return !isNumericKey;\n  }\n\n  if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n    const obj = {};\n\n    utils.forEachEntry(formData, (name, value) => {\n      buildPath(parsePropPath(name), value, obj, 0);\n    });\n\n    return obj;\n  }\n\n  return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n  if (utils.isString(rawValue)) {\n    try {\n      (parser || JSON.parse)(rawValue);\n      return utils.trim(rawValue);\n    } catch (e) {\n      if (e.name !== 'SyntaxError') {\n        throw e;\n      }\n    }\n  }\n\n  return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n  transitional: transitionalDefaults,\n\n  adapter: ['xhr', 'http', 'fetch'],\n\n  transformRequest: [function transformRequest(data, headers) {\n    const contentType = headers.getContentType() || '';\n    const hasJSONContentType = contentType.indexOf('application/json') > -1;\n    const isObjectPayload = utils.isObject(data);\n\n    if (isObjectPayload && utils.isHTMLForm(data)) {\n      data = new FormData(data);\n    }\n\n    const isFormData = utils.isFormData(data);\n\n    if (isFormData) {\n      return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n    }\n\n    if (utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data) ||\n      utils.isReadableStream(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n      return data.toString();\n    }\n\n    let isFileList;\n\n    if (isObjectPayload) {\n      if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n        return toURLEncodedForm(data, this.formSerializer).toString();\n      }\n\n      if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n        const _FormData = this.env && this.env.FormData;\n\n        return toFormData(\n          isFileList ? {'files[]': data} : data,\n          _FormData && new _FormData(),\n          this.formSerializer\n        );\n      }\n    }\n\n    if (isObjectPayload || hasJSONContentType ) {\n      headers.setContentType('application/json', false);\n      return stringifySafely(data);\n    }\n\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    const transitional = this.transitional || defaults.transitional;\n    const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n    const JSONRequested = this.responseType === 'json';\n\n    if (utils.isResponse(data) || utils.isReadableStream(data)) {\n      return data;\n    }\n\n    if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n      const silentJSONParsing = transitional && transitional.silentJSONParsing;\n      const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n      try {\n        return JSON.parse(data, this.parseReviver);\n      } catch (e) {\n        if (strictJSONParsing) {\n          if (e.name === 'SyntaxError') {\n            throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n          }\n          throw e;\n        }\n      }\n    }\n\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n  maxBodyLength: -1,\n\n  env: {\n    FormData: platform.classes.FormData,\n    Blob: platform.classes.Blob\n  },\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  },\n\n  headers: {\n    common: {\n      'Accept': 'application/json, text/plain, */*',\n      'Content-Type': undefined\n    }\n  }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n  defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n  const parsed = {};\n  let key;\n  let val;\n  let i;\n\n  rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n    i = line.indexOf(':');\n    key = line.substring(0, i).trim().toLowerCase();\n    val = line.substring(i + 1).trim();\n\n    if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n      return;\n    }\n\n    if (key === 'set-cookie') {\n      if (parsed[key]) {\n        parsed[key].push(val);\n      } else {\n        parsed[key] = [val];\n      }\n    } else {\n      parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n    }\n  });\n\n  return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n  return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n  if (value === false || value == null) {\n    return value;\n  }\n\n  return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n  const tokens = Object.create(null);\n  const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n  let match;\n\n  while ((match = tokensRE.exec(str))) {\n    tokens[match[1]] = match[2];\n  }\n\n  return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n  if (utils.isFunction(filter)) {\n    return filter.call(this, value, header);\n  }\n\n  if (isHeaderNameFilter) {\n    value = header;\n  }\n\n  if (!utils.isString(value)) return;\n\n  if (utils.isString(filter)) {\n    return value.indexOf(filter) !== -1;\n  }\n\n  if (utils.isRegExp(filter)) {\n    return filter.test(value);\n  }\n}\n\nfunction formatHeader(header) {\n  return header.trim()\n    .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n      return char.toUpperCase() + str;\n    });\n}\n\nfunction buildAccessors(obj, header) {\n  const accessorName = utils.toCamelCase(' ' + header);\n\n  ['get', 'set', 'has'].forEach(methodName => {\n    Object.defineProperty(obj, methodName + accessorName, {\n      value: function(arg1, arg2, arg3) {\n        return this[methodName].call(this, header, arg1, arg2, arg3);\n      },\n      configurable: true\n    });\n  });\n}\n\nclass AxiosHeaders {\n  constructor(headers) {\n    headers && this.set(headers);\n  }\n\n  set(header, valueOrRewrite, rewrite) {\n    const self = this;\n\n    function setHeader(_value, _header, _rewrite) {\n      const lHeader = normalizeHeader(_header);\n\n      if (!lHeader) {\n        throw new Error('header name must be a non-empty string');\n      }\n\n      const key = utils.findKey(self, lHeader);\n\n      if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n        self[key || _header] = normalizeValue(_value);\n      }\n    }\n\n    const setHeaders = (headers, _rewrite) =>\n      utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n    if (utils.isPlainObject(header) || header instanceof this.constructor) {\n      setHeaders(header, valueOrRewrite)\n    } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n      setHeaders(parseHeaders(header), valueOrRewrite);\n    } else if (utils.isObject(header) && utils.isIterable(header)) {\n      let obj = {}, dest, key;\n      for (const entry of header) {\n        if (!utils.isArray(entry)) {\n          throw TypeError('Object iterator must return a key-value pair');\n        }\n\n        obj[key = entry[0]] = (dest = obj[key]) ?\n          (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n      }\n\n      setHeaders(obj, valueOrRewrite)\n    } else {\n      header != null && setHeader(valueOrRewrite, header, rewrite);\n    }\n\n    return this;\n  }\n\n  get(header, parser) {\n    header = normalizeHeader(header);\n\n    if (header) {\n      const key = utils.findKey(this, header);\n\n      if (key) {\n        const value = this[key];\n\n        if (!parser) {\n          return value;\n        }\n\n        if (parser === true) {\n          return parseTokens(value);\n        }\n\n        if (utils.isFunction(parser)) {\n          return parser.call(this, value, key);\n        }\n\n        if (utils.isRegExp(parser)) {\n          return parser.exec(value);\n        }\n\n        throw new TypeError('parser must be boolean|regexp|function');\n      }\n    }\n  }\n\n  has(header, matcher) {\n    header = normalizeHeader(header);\n\n    if (header) {\n      const key = utils.findKey(this, header);\n\n      return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n    }\n\n    return false;\n  }\n\n  delete(header, matcher) {\n    const self = this;\n    let deleted = false;\n\n    function deleteHeader(_header) {\n      _header = normalizeHeader(_header);\n\n      if (_header) {\n        const key = utils.findKey(self, _header);\n\n        if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n          delete self[key];\n\n          deleted = true;\n        }\n      }\n    }\n\n    if (utils.isArray(header)) {\n      header.forEach(deleteHeader);\n    } else {\n      deleteHeader(header);\n    }\n\n    return deleted;\n  }\n\n  clear(matcher) {\n    const keys = Object.keys(this);\n    let i = keys.length;\n    let deleted = false;\n\n    while (i--) {\n      const key = keys[i];\n      if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n        delete this[key];\n        deleted = true;\n      }\n    }\n\n    return deleted;\n  }\n\n  normalize(format) {\n    const self = this;\n    const headers = {};\n\n    utils.forEach(this, (value, header) => {\n      const key = utils.findKey(headers, header);\n\n      if (key) {\n        self[key] = normalizeValue(value);\n        delete self[header];\n        return;\n      }\n\n      const normalized = format ? formatHeader(header) : String(header).trim();\n\n      if (normalized !== header) {\n        delete self[header];\n      }\n\n      self[normalized] = normalizeValue(value);\n\n      headers[normalized] = true;\n    });\n\n    return this;\n  }\n\n  concat(...targets) {\n    return this.constructor.concat(this, ...targets);\n  }\n\n  toJSON(asStrings) {\n    const obj = Object.create(null);\n\n    utils.forEach(this, (value, header) => {\n      value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n    });\n\n    return obj;\n  }\n\n  [Symbol.iterator]() {\n    return Object.entries(this.toJSON())[Symbol.iterator]();\n  }\n\n  toString() {\n    return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n  }\n\n  getSetCookie() {\n    return this.get(\"set-cookie\") || [];\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'AxiosHeaders';\n  }\n\n  static from(thing) {\n    return thing instanceof this ? thing : new this(thing);\n  }\n\n  static concat(first, ...targets) {\n    const computed = new this(first);\n\n    targets.forEach((target) => computed.set(target));\n\n    return computed;\n  }\n\n  static accessor(header) {\n    const internals = this[$internals] = (this[$internals] = {\n      accessors: {}\n    });\n\n    const accessors = internals.accessors;\n    const prototype = this.prototype;\n\n    function defineAccessor(_header) {\n      const lHeader = normalizeHeader(_header);\n\n      if (!accessors[lHeader]) {\n        buildAccessors(prototype, _header);\n        accessors[lHeader] = true;\n      }\n    }\n\n    utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n    return this;\n  }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n  let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n  return {\n    get: () => value,\n    set(headerValue) {\n      this[mapped] = headerValue;\n    }\n  }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n  const config = this || defaults;\n  const context = response || config;\n  const headers = AxiosHeaders.from(context.headers);\n  let data = context.data;\n\n  utils.forEach(fns, function transform(fn) {\n    data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n  });\n\n  headers.normalize();\n\n  return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n  // eslint-disable-next-line no-eq-null,eqeqeq\n  AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n  this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n  __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n  const validateStatus = response.config.validateStatus;\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(new AxiosError(\n      'Request failed with status code ' + response.status,\n      [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n      response.config,\n      response.request,\n      response\n    ));\n  }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n  const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n  return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n  samplesCount = samplesCount || 10;\n  const bytes = new Array(samplesCount);\n  const timestamps = new Array(samplesCount);\n  let head = 0;\n  let tail = 0;\n  let firstSampleTS;\n\n  min = min !== undefined ? min : 1000;\n\n  return function push(chunkLength) {\n    const now = Date.now();\n\n    const startedAt = timestamps[tail];\n\n    if (!firstSampleTS) {\n      firstSampleTS = now;\n    }\n\n    bytes[head] = chunkLength;\n    timestamps[head] = now;\n\n    let i = tail;\n    let bytesCount = 0;\n\n    while (i !== head) {\n      bytesCount += bytes[i++];\n      i = i % samplesCount;\n    }\n\n    head = (head + 1) % samplesCount;\n\n    if (head === tail) {\n      tail = (tail + 1) % samplesCount;\n    }\n\n    if (now - firstSampleTS < min) {\n      return;\n    }\n\n    const passed = startedAt && now - startedAt;\n\n    return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n  };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n  let timestamp = 0;\n  let threshold = 1000 / freq;\n  let lastArgs;\n  let timer;\n\n  const invoke = (args, now = Date.now()) => {\n    timestamp = now;\n    lastArgs = null;\n    if (timer) {\n      clearTimeout(timer);\n      timer = null;\n    }\n    fn(...args);\n  }\n\n  const throttled = (...args) => {\n    const now = Date.now();\n    const passed = now - timestamp;\n    if ( passed >= threshold) {\n      invoke(args, now);\n    } else {\n      lastArgs = args;\n      if (!timer) {\n        timer = setTimeout(() => {\n          timer = null;\n          invoke(lastArgs)\n        }, threshold - passed);\n      }\n    }\n  }\n\n  const flush = () => lastArgs && invoke(lastArgs);\n\n  return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n  let bytesNotified = 0;\n  const _speedometer = speedometer(50, 250);\n\n  return throttle(e => {\n    const loaded = e.loaded;\n    const total = e.lengthComputable ? e.total : undefined;\n    const progressBytes = loaded - bytesNotified;\n    const rate = _speedometer(progressBytes);\n    const inRange = loaded <= total;\n\n    bytesNotified = loaded;\n\n    const data = {\n      loaded,\n      total,\n      progress: total ? (loaded / total) : undefined,\n      bytes: progressBytes,\n      rate: rate ? rate : undefined,\n      estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n      event: e,\n      lengthComputable: total != null,\n      [isDownloadStream ? 'download' : 'upload']: true\n    };\n\n    listener(data);\n  }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n  const lengthComputable = total != null;\n\n  return [(loaded) => throttled[0]({\n    lengthComputable,\n    total,\n    loaded\n  }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n  url = new URL(url, platform.origin);\n\n  return (\n    origin.protocol === url.protocol &&\n    origin.host === url.host &&\n    (isMSIE || origin.port === url.port)\n  );\n})(\n  new URL(platform.origin),\n  platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n  // Standard browser envs support document.cookie\n  {\n    write(name, value, expires, path, domain, secure) {\n      const cookie = [name + '=' + encodeURIComponent(value)];\n\n      utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n      utils.isString(path) && cookie.push('path=' + path);\n\n      utils.isString(domain) && cookie.push('domain=' + domain);\n\n      secure === true && cookie.push('secure');\n\n      document.cookie = cookie.join('; ');\n    },\n\n    read(name) {\n      const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n      return (match ? decodeURIComponent(match[3]) : null);\n    },\n\n    remove(name) {\n      this.write(name, '', Date.now() - 86400000);\n    }\n  }\n\n  :\n\n  // Non-standard browser env (web workers, react-native) lack needed support.\n  {\n    write() {},\n    read() {\n      return null;\n    },\n    remove() {}\n  };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n  let isRelativeUrl = !isAbsoluteURL(requestedURL);\n  if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  const config = {};\n\n  function getMergedValue(target, source, prop, caseless) {\n    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n      return utils.merge.call({caseless}, target, source);\n    } else if (utils.isPlainObject(source)) {\n      return utils.merge({}, source);\n    } else if (utils.isArray(source)) {\n      return source.slice();\n    }\n    return source;\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDeepProperties(a, b, prop , caseless) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(a, b, prop , caseless);\n    } else if (!utils.isUndefined(a)) {\n      return getMergedValue(undefined, a, prop , caseless);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function valueFromConfig2(a, b) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(undefined, b);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function defaultToConfig2(a, b) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(undefined, b);\n    } else if (!utils.isUndefined(a)) {\n      return getMergedValue(undefined, a);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDirectKeys(a, b, prop) {\n    if (prop in config2) {\n      return getMergedValue(a, b);\n    } else if (prop in config1) {\n      return getMergedValue(undefined, a);\n    }\n  }\n\n  const mergeMap = {\n    url: valueFromConfig2,\n    method: valueFromConfig2,\n    data: valueFromConfig2,\n    baseURL: defaultToConfig2,\n    transformRequest: defaultToConfig2,\n    transformResponse: defaultToConfig2,\n    paramsSerializer: defaultToConfig2,\n    timeout: defaultToConfig2,\n    timeoutMessage: defaultToConfig2,\n    withCredentials: defaultToConfig2,\n    withXSRFToken: defaultToConfig2,\n    adapter: defaultToConfig2,\n    responseType: defaultToConfig2,\n    xsrfCookieName: defaultToConfig2,\n    xsrfHeaderName: defaultToConfig2,\n    onUploadProgress: defaultToConfig2,\n    onDownloadProgress: defaultToConfig2,\n    decompress: defaultToConfig2,\n    maxContentLength: defaultToConfig2,\n    maxBodyLength: defaultToConfig2,\n    beforeRedirect: defaultToConfig2,\n    transport: defaultToConfig2,\n    httpAgent: defaultToConfig2,\n    httpsAgent: defaultToConfig2,\n    cancelToken: defaultToConfig2,\n    socketPath: defaultToConfig2,\n    responseEncoding: defaultToConfig2,\n    validateStatus: mergeDirectKeys,\n    headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n  };\n\n  utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n    const merge = mergeMap[prop] || mergeDeepProperties;\n    const configValue = merge(config1[prop], config2[prop], prop);\n    (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n  });\n\n  return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n  const newConfig = mergeConfig({}, config);\n\n  let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n  newConfig.headers = headers = AxiosHeaders.from(headers);\n\n  newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n  // HTTP basic authentication\n  if (auth) {\n    headers.set('Authorization', 'Basic ' +\n      btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n    );\n  }\n\n  if (utils.isFormData(data)) {\n    if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n      headers.setContentType(undefined); // browser handles it\n    } else if (utils.isFunction(data.getHeaders)) {\n      // Node.js FormData (like form-data package)\n      const formHeaders = data.getHeaders();\n      // Only set safe headers to avoid overwriting security headers\n      const allowedHeaders = ['content-type', 'content-length'];\n      Object.entries(formHeaders).forEach(([key, val]) => {\n        if (allowedHeaders.includes(key.toLowerCase())) {\n          headers.set(key, val);\n        }\n      });\n    }\n  }  \n\n  // Add xsrf header\n  // This is only done if running in a standard browser environment.\n  // Specifically not if we're in a web worker, or react-native.\n\n  if (platform.hasStandardBrowserEnv) {\n    withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n    if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n      // Add xsrf header\n      const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n      if (xsrfValue) {\n        headers.set(xsrfHeaderName, xsrfValue);\n      }\n    }\n  }\n\n  return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    const _config = resolveConfig(config);\n    let requestData = _config.data;\n    const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n    let {responseType, onUploadProgress, onDownloadProgress} = _config;\n    let onCanceled;\n    let uploadThrottled, downloadThrottled;\n    let flushUpload, flushDownload;\n\n    function done() {\n      flushUpload && flushUpload(); // flush events\n      flushDownload && flushDownload(); // flush events\n\n      _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n      _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n    }\n\n    let request = new XMLHttpRequest();\n\n    request.open(_config.method.toUpperCase(), _config.url, true);\n\n    // Set the request timeout in MS\n    request.timeout = _config.timeout;\n\n    function onloadend() {\n      if (!request) {\n        return;\n      }\n      // Prepare the response\n      const responseHeaders = AxiosHeaders.from(\n        'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n      );\n      const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n        request.responseText : request.response;\n      const response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config,\n        request\n      };\n\n      settle(function _resolve(value) {\n        resolve(value);\n        done();\n      }, function _reject(err) {\n        reject(err);\n        done();\n      }, response);\n\n      // Clean up request\n      request = null;\n    }\n\n    if ('onloadend' in request) {\n      // Use onloadend if available\n      request.onloadend = onloadend;\n    } else {\n      // Listen for ready state to emulate onloadend\n      request.onreadystatechange = function handleLoad() {\n        if (!request || request.readyState !== 4) {\n          return;\n        }\n\n        // The request errored out and we didn't get a response, this will be\n        // handled by onerror instead\n        // With one exception: request that using file: protocol, most browsers\n        // will return status as 0 even though it's a successful request\n        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n          return;\n        }\n        // readystate handler is calling before onerror or ontimeout handlers,\n        // so we should call onloadend on the next 'tick'\n        setTimeout(onloadend);\n      };\n    }\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n  request.onerror = function handleError(event) {\n       // Browsers deliver a ProgressEvent in XHR onerror\n       // (message may be empty; when present, surface it)\n       // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n       const msg = event && event.message ? event.message : 'Network Error';\n       const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n       // attach the underlying event for consumers who want details\n       err.event = event || null;\n       reject(err);\n       request = null;\n    };\n    \n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n      const transitional = _config.transitional || transitionalDefaults;\n      if (_config.timeoutErrorMessage) {\n        timeoutErrorMessage = _config.timeoutErrorMessage;\n      }\n      reject(new AxiosError(\n        timeoutErrorMessage,\n        transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n        config,\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Remove Content-Type if data is undefined\n    requestData === undefined && requestHeaders.setContentType(null);\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n        request.setRequestHeader(key, val);\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(_config.withCredentials)) {\n      request.withCredentials = !!_config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (responseType && responseType !== 'json') {\n      request.responseType = _config.responseType;\n    }\n\n    // Handle progress if needed\n    if (onDownloadProgress) {\n      ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n      request.addEventListener('progress', downloadThrottled);\n    }\n\n    // Not all browsers support upload events\n    if (onUploadProgress && request.upload) {\n      ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n      request.upload.addEventListener('progress', uploadThrottled);\n\n      request.upload.addEventListener('loadend', flushUpload);\n    }\n\n    if (_config.cancelToken || _config.signal) {\n      // Handle cancellation\n      // eslint-disable-next-line func-names\n      onCanceled = cancel => {\n        if (!request) {\n          return;\n        }\n        reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n        request.abort();\n        request = null;\n      };\n\n      _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n      if (_config.signal) {\n        _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n      }\n    }\n\n    const protocol = parseProtocol(_config.url);\n\n    if (protocol && platform.protocols.indexOf(protocol) === -1) {\n      reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n      return;\n    }\n\n\n    // Send the request\n    request.send(requestData || null);\n  });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n  const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n  if (timeout || length) {\n    let controller = new AbortController();\n\n    let aborted;\n\n    const onabort = function (reason) {\n      if (!aborted) {\n        aborted = true;\n        unsubscribe();\n        const err = reason instanceof Error ? reason : this.reason;\n        controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n      }\n    }\n\n    let timer = timeout && setTimeout(() => {\n      timer = null;\n      onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n    }, timeout)\n\n    const unsubscribe = () => {\n      if (signals) {\n        timer && clearTimeout(timer);\n        timer = null;\n        signals.forEach(signal => {\n          signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n        });\n        signals = null;\n      }\n    }\n\n    signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n    const {signal} = controller;\n\n    signal.unsubscribe = () => utils.asap(unsubscribe);\n\n    return signal;\n  }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n  let len = chunk.byteLength;\n\n  if (!chunkSize || len < chunkSize) {\n    yield chunk;\n    return;\n  }\n\n  let pos = 0;\n  let end;\n\n  while (pos < len) {\n    end = pos + chunkSize;\n    yield chunk.slice(pos, end);\n    pos = end;\n  }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n  for await (const chunk of readStream(iterable)) {\n    yield* streamChunk(chunk, chunkSize);\n  }\n}\n\nconst readStream = async function* (stream) {\n  if (stream[Symbol.asyncIterator]) {\n    yield* stream;\n    return;\n  }\n\n  const reader = stream.getReader();\n  try {\n    for (;;) {\n      const {done, value} = await reader.read();\n      if (done) {\n        break;\n      }\n      yield value;\n    }\n  } finally {\n    await reader.cancel();\n  }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n  const iterator = readBytes(stream, chunkSize);\n\n  let bytes = 0;\n  let done;\n  let _onFinish = (e) => {\n    if (!done) {\n      done = true;\n      onFinish && onFinish(e);\n    }\n  }\n\n  return new ReadableStream({\n    async pull(controller) {\n      try {\n        const {done, value} = await iterator.next();\n\n        if (done) {\n         _onFinish();\n          controller.close();\n          return;\n        }\n\n        let len = value.byteLength;\n        if (onProgress) {\n          let loadedBytes = bytes += len;\n          onProgress(loadedBytes);\n        }\n        controller.enqueue(new Uint8Array(value));\n      } catch (err) {\n        _onFinish(err);\n        throw err;\n      }\n    },\n    cancel(reason) {\n      _onFinish(reason);\n      return iterator.return();\n    }\n  }, {\n    highWaterMark: 2\n  })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n  Request, Response\n}))(utils.global);\n\nconst {\n  ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n  try {\n    return !!fn(...args);\n  } catch (e) {\n    return false\n  }\n}\n\nconst factory = (env) => {\n  env = utils.merge.call({\n    skipUndefined: true\n  }, globalFetchAPI, env);\n\n  const {fetch: envFetch, Request, Response} = env;\n  const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n  const isRequestSupported = isFunction(Request);\n  const isResponseSupported = isFunction(Response);\n\n  if (!isFetchSupported) {\n    return false;\n  }\n\n  const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n  const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n      ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n      async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n  );\n\n  const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n    let duplexAccessed = false;\n\n    const hasContentType = new Request(platform.origin, {\n      body: new ReadableStream(),\n      method: 'POST',\n      get duplex() {\n        duplexAccessed = true;\n        return 'half';\n      },\n    }).headers.has('Content-Type');\n\n    return duplexAccessed && !hasContentType;\n  });\n\n  const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n    test(() => utils.isReadableStream(new Response('').body));\n\n  const resolvers = {\n    stream: supportsResponseStream && ((res) => res.body)\n  };\n\n  isFetchSupported && ((() => {\n    ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n      !resolvers[type] && (resolvers[type] = (res, config) => {\n        let method = res && res[type];\n\n        if (method) {\n          return method.call(res);\n        }\n\n        throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n      })\n    });\n  })());\n\n  const getBodyLength = async (body) => {\n    if (body == null) {\n      return 0;\n    }\n\n    if (utils.isBlob(body)) {\n      return body.size;\n    }\n\n    if (utils.isSpecCompliantForm(body)) {\n      const _request = new Request(platform.origin, {\n        method: 'POST',\n        body,\n      });\n      return (await _request.arrayBuffer()).byteLength;\n    }\n\n    if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n      return body.byteLength;\n    }\n\n    if (utils.isURLSearchParams(body)) {\n      body = body + '';\n    }\n\n    if (utils.isString(body)) {\n      return (await encodeText(body)).byteLength;\n    }\n  }\n\n  const resolveBodyLength = async (headers, body) => {\n    const length = utils.toFiniteNumber(headers.getContentLength());\n\n    return length == null ? getBodyLength(body) : length;\n  }\n\n  return async (config) => {\n    let {\n      url,\n      method,\n      data,\n      signal,\n      cancelToken,\n      timeout,\n      onDownloadProgress,\n      onUploadProgress,\n      responseType,\n      headers,\n      withCredentials = 'same-origin',\n      fetchOptions\n    } = resolveConfig(config);\n\n    let _fetch = envFetch || fetch;\n\n    responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n    let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n    let request = null;\n\n    const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n      composedSignal.unsubscribe();\n    });\n\n    let requestContentLength;\n\n    try {\n      if (\n        onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n        (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n      ) {\n        let _request = new Request(url, {\n          method: 'POST',\n          body: data,\n          duplex: \"half\"\n        });\n\n        let contentTypeHeader;\n\n        if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n          headers.setContentType(contentTypeHeader)\n        }\n\n        if (_request.body) {\n          const [onProgress, flush] = progressEventDecorator(\n            requestContentLength,\n            progressEventReducer(asyncDecorator(onUploadProgress))\n          );\n\n          data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n        }\n      }\n\n      if (!utils.isString(withCredentials)) {\n        withCredentials = withCredentials ? 'include' : 'omit';\n      }\n\n      // Cloudflare Workers throws when credentials are defined\n      // see https://github.com/cloudflare/workerd/issues/902\n      const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n      const resolvedOptions = {\n        ...fetchOptions,\n        signal: composedSignal,\n        method: method.toUpperCase(),\n        headers: headers.normalize().toJSON(),\n        body: data,\n        duplex: \"half\",\n        credentials: isCredentialsSupported ? withCredentials : undefined\n      };\n\n      request = isRequestSupported && new Request(url, resolvedOptions);\n\n      let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n      const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n      if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n        const options = {};\n\n        ['status', 'statusText', 'headers'].forEach(prop => {\n          options[prop] = response[prop];\n        });\n\n        const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n        const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n          responseContentLength,\n          progressEventReducer(asyncDecorator(onDownloadProgress), true)\n        ) || [];\n\n        response = new Response(\n          trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n            flush && flush();\n            unsubscribe && unsubscribe();\n          }),\n          options\n        );\n      }\n\n      responseType = responseType || 'text';\n\n      let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n      !isStreamResponse && unsubscribe && unsubscribe();\n\n      return await new Promise((resolve, reject) => {\n        settle(resolve, reject, {\n          data: responseData,\n          headers: AxiosHeaders.from(response.headers),\n          status: response.status,\n          statusText: response.statusText,\n          config,\n          request\n        })\n      })\n    } catch (err) {\n      unsubscribe && unsubscribe();\n\n      if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n        throw Object.assign(\n          new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n          {\n            cause: err.cause || err\n          }\n        )\n      }\n\n      throw AxiosError.from(err, err && err.code, config, request);\n    }\n  }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n  let env = config ? config.env : {};\n  const {fetch, Request, Response} = env;\n  const seeds = [\n    Request, Response, fetch\n  ];\n\n  let len = seeds.length, i = len,\n    seed, target, map = seedCache;\n\n  while (i--) {\n    seed = seeds[i];\n    target = map.get(seed);\n\n    target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n    map = target;\n  }\n\n  return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n  http: httpAdapter,\n  xhr: xhrAdapter,\n  fetch: {\n    get: fetchAdapter.getFetch,\n  }\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n  if (fn) {\n    try {\n      Object.defineProperty(fn, 'name', {value});\n    } catch (e) {\n      // eslint-disable-next-line no-empty\n    }\n    Object.defineProperty(fn, 'adapterName', {value});\n  }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n  getAdapter: (adapters, config) => {\n    adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n    const {length} = adapters;\n    let nameOrAdapter;\n    let adapter;\n\n    const rejectedReasons = {};\n\n    for (let i = 0; i < length; i++) {\n      nameOrAdapter = adapters[i];\n      let id;\n\n      adapter = nameOrAdapter;\n\n      if (!isResolvedHandle(nameOrAdapter)) {\n        adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n        if (adapter === undefined) {\n          throw new AxiosError(`Unknown adapter '${id}'`);\n        }\n      }\n\n      if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n        break;\n      }\n\n      rejectedReasons[id || '#' + i] = adapter;\n    }\n\n    if (!adapter) {\n\n      const reasons = Object.entries(rejectedReasons)\n        .map(([id, state]) => `adapter ${id} ` +\n          (state === false ? 'is not supported by the environment' : 'is not available in the build')\n        );\n\n      let s = length ?\n        (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n        'as no adapter specified';\n\n      throw new AxiosError(\n        `There is no suitable adapter to dispatch the request ` + s,\n        'ERR_NOT_SUPPORT'\n      );\n    }\n\n    return adapter;\n  },\n  adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n\n  if (config.signal && config.signal.aborted) {\n    throw new CanceledError(null, config);\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  config.headers = AxiosHeaders.from(config.headers);\n\n  // Transform request data\n  config.data = transformData.call(\n    config,\n    config.transformRequest\n  );\n\n  if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n    config.headers.setContentType('application/x-www-form-urlencoded', false);\n  }\n\n  const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData.call(\n      config,\n      config.transformResponse,\n      response\n    );\n\n    response.headers = AxiosHeaders.from(response.headers);\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData.call(\n          config,\n          config.transformResponse,\n          reason.response\n        );\n        reason.response.headers = AxiosHeaders.from(reason.response.headers);\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n}\n","export const VERSION = \"1.12.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n  validators[type] = function validator(thing) {\n    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n  };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n  function formatMessage(opt, desc) {\n    return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n  }\n\n  // eslint-disable-next-line func-names\n  return (value, opt, opts) => {\n    if (validator === false) {\n      throw new AxiosError(\n        formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n        AxiosError.ERR_DEPRECATED\n      );\n    }\n\n    if (version && !deprecatedWarnings[opt]) {\n      deprecatedWarnings[opt] = true;\n      // eslint-disable-next-line no-console\n      console.warn(\n        formatMessage(\n          opt,\n          ' has been deprecated since v' + version + ' and will be removed in the near future'\n        )\n      );\n    }\n\n    return validator ? validator(value, opt, opts) : true;\n  };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n  return (value, opt) => {\n    // eslint-disable-next-line no-console\n    console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n    return true;\n  }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n  if (typeof options !== 'object') {\n    throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n  }\n  const keys = Object.keys(options);\n  let i = keys.length;\n  while (i-- > 0) {\n    const opt = keys[i];\n    const validator = schema[opt];\n    if (validator) {\n      const value = options[opt];\n      const result = value === undefined || validator(value, opt, options);\n      if (result !== true) {\n        throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n      }\n      continue;\n    }\n    if (allowUnknown !== true) {\n      throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n    }\n  }\n}\n\nexport default {\n  assertOptions,\n  validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n  constructor(instanceConfig) {\n    this.defaults = instanceConfig || {};\n    this.interceptors = {\n      request: new InterceptorManager(),\n      response: new InterceptorManager()\n    };\n  }\n\n  /**\n   * Dispatch a request\n   *\n   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n   * @param {?Object} config\n   *\n   * @returns {Promise} The Promise to be fulfilled\n   */\n  async request(configOrUrl, config) {\n    try {\n      return await this._request(configOrUrl, config);\n    } catch (err) {\n      if (err instanceof Error) {\n        let dummy = {};\n\n        Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n        // slice off the Error: ... line\n        const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n        try {\n          if (!err.stack) {\n            err.stack = stack;\n            // match without the 2 top stack lines\n          } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n            err.stack += '\\n' + stack\n          }\n        } catch (e) {\n          // ignore the case where \"stack\" is an un-writable property\n        }\n      }\n\n      throw err;\n    }\n  }\n\n  _request(configOrUrl, config) {\n    /*eslint no-param-reassign:0*/\n    // Allow for axios('example/url'[, config]) a la fetch API\n    if (typeof configOrUrl === 'string') {\n      config = config || {};\n      config.url = configOrUrl;\n    } else {\n      config = configOrUrl || {};\n    }\n\n    config = mergeConfig(this.defaults, config);\n\n    const {transitional, paramsSerializer, headers} = config;\n\n    if (transitional !== undefined) {\n      validator.assertOptions(transitional, {\n        silentJSONParsing: validators.transitional(validators.boolean),\n        forcedJSONParsing: validators.transitional(validators.boolean),\n        clarifyTimeoutError: validators.transitional(validators.boolean)\n      }, false);\n    }\n\n    if (paramsSerializer != null) {\n      if (utils.isFunction(paramsSerializer)) {\n        config.paramsSerializer = {\n          serialize: paramsSerializer\n        }\n      } else {\n        validator.assertOptions(paramsSerializer, {\n          encode: validators.function,\n          serialize: validators.function\n        }, true);\n      }\n    }\n\n    // Set config.allowAbsoluteUrls\n    if (config.allowAbsoluteUrls !== undefined) {\n      // do nothing\n    } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n      config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n    } else {\n      config.allowAbsoluteUrls = true;\n    }\n\n    validator.assertOptions(config, {\n      baseUrl: validators.spelling('baseURL'),\n      withXsrfToken: validators.spelling('withXSRFToken')\n    }, true);\n\n    // Set config.method\n    config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n    // Flatten headers\n    let contextHeaders = headers && utils.merge(\n      headers.common,\n      headers[config.method]\n    );\n\n    headers && utils.forEach(\n      ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n      (method) => {\n        delete headers[method];\n      }\n    );\n\n    config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n    // filter out skipped interceptors\n    const requestInterceptorChain = [];\n    let synchronousRequestInterceptors = true;\n    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n      if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n        return;\n      }\n\n      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n      requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n    });\n\n    const responseInterceptorChain = [];\n    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n    });\n\n    let promise;\n    let i = 0;\n    let len;\n\n    if (!synchronousRequestInterceptors) {\n      const chain = [dispatchRequest.bind(this), undefined];\n      chain.unshift(...requestInterceptorChain);\n      chain.push(...responseInterceptorChain);\n      len = chain.length;\n\n      promise = Promise.resolve(config);\n\n      while (i < len) {\n        promise = promise.then(chain[i++], chain[i++]);\n      }\n\n      return promise;\n    }\n\n    len = requestInterceptorChain.length;\n\n    let newConfig = config;\n\n    while (i < len) {\n      const onFulfilled = requestInterceptorChain[i++];\n      const onRejected = requestInterceptorChain[i++];\n      try {\n        newConfig = onFulfilled(newConfig);\n      } catch (error) {\n        onRejected.call(this, error);\n        break;\n      }\n    }\n\n    try {\n      promise = dispatchRequest.call(this, newConfig);\n    } catch (error) {\n      return Promise.reject(error);\n    }\n\n    i = 0;\n    len = responseInterceptorChain.length;\n\n    while (i < len) {\n      promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n    }\n\n    return promise;\n  }\n\n  getUri(config) {\n    config = mergeConfig(this.defaults, config);\n    const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n    return buildURL(fullPath, config.params, config.paramsSerializer);\n  }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(mergeConfig(config || {}, {\n      method,\n      url,\n      data: (config || {}).data\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n\n  function generateHTTPMethod(isForm) {\n    return function httpMethod(url, data, config) {\n      return this.request(mergeConfig(config || {}, {\n        method,\n        headers: isForm ? {\n          'Content-Type': 'multipart/form-data'\n        } : {},\n        url,\n        data\n      }));\n    };\n  }\n\n  Axios.prototype[method] = generateHTTPMethod();\n\n  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n  constructor(executor) {\n    if (typeof executor !== 'function') {\n      throw new TypeError('executor must be a function.');\n    }\n\n    let resolvePromise;\n\n    this.promise = new Promise(function promiseExecutor(resolve) {\n      resolvePromise = resolve;\n    });\n\n    const token = this;\n\n    // eslint-disable-next-line func-names\n    this.promise.then(cancel => {\n      if (!token._listeners) return;\n\n      let i = token._listeners.length;\n\n      while (i-- > 0) {\n        token._listeners[i](cancel);\n      }\n      token._listeners = null;\n    });\n\n    // eslint-disable-next-line func-names\n    this.promise.then = onfulfilled => {\n      let _resolve;\n      // eslint-disable-next-line func-names\n      const promise = new Promise(resolve => {\n        token.subscribe(resolve);\n        _resolve = resolve;\n      }).then(onfulfilled);\n\n      promise.cancel = function reject() {\n        token.unsubscribe(_resolve);\n      };\n\n      return promise;\n    };\n\n    executor(function cancel(message, config, request) {\n      if (token.reason) {\n        // Cancellation has already been requested\n        return;\n      }\n\n      token.reason = new CanceledError(message, config, request);\n      resolvePromise(token.reason);\n    });\n  }\n\n  /**\n   * Throws a `CanceledError` if cancellation has been requested.\n   */\n  throwIfRequested() {\n    if (this.reason) {\n      throw this.reason;\n    }\n  }\n\n  /**\n   * Subscribe to the cancel signal\n   */\n\n  subscribe(listener) {\n    if (this.reason) {\n      listener(this.reason);\n      return;\n    }\n\n    if (this._listeners) {\n      this._listeners.push(listener);\n    } else {\n      this._listeners = [listener];\n    }\n  }\n\n  /**\n   * Unsubscribe from the cancel signal\n   */\n\n  unsubscribe(listener) {\n    if (!this._listeners) {\n      return;\n    }\n    const index = this._listeners.indexOf(listener);\n    if (index !== -1) {\n      this._listeners.splice(index, 1);\n    }\n  }\n\n  toAbortSignal() {\n    const controller = new AbortController();\n\n    const abort = (err) => {\n      controller.abort(err);\n    };\n\n    this.subscribe(abort);\n\n    controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n    return controller.signal;\n  }\n\n  /**\n   * Returns an object that contains a new `CancelToken` and a function that, when called,\n   * cancels the `CancelToken`.\n   */\n  static source() {\n    let cancel;\n    const token = new CancelToken(function executor(c) {\n      cancel = c;\n    });\n    return {\n      token,\n      cancel\n    };\n  }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n  return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n  Continue: 100,\n  SwitchingProtocols: 101,\n  Processing: 102,\n  EarlyHints: 103,\n  Ok: 200,\n  Created: 201,\n  Accepted: 202,\n  NonAuthoritativeInformation: 203,\n  NoContent: 204,\n  ResetContent: 205,\n  PartialContent: 206,\n  MultiStatus: 207,\n  AlreadyReported: 208,\n  ImUsed: 226,\n  MultipleChoices: 300,\n  MovedPermanently: 301,\n  Found: 302,\n  SeeOther: 303,\n  NotModified: 304,\n  UseProxy: 305,\n  Unused: 306,\n  TemporaryRedirect: 307,\n  PermanentRedirect: 308,\n  BadRequest: 400,\n  Unauthorized: 401,\n  PaymentRequired: 402,\n  Forbidden: 403,\n  NotFound: 404,\n  MethodNotAllowed: 405,\n  NotAcceptable: 406,\n  ProxyAuthenticationRequired: 407,\n  RequestTimeout: 408,\n  Conflict: 409,\n  Gone: 410,\n  LengthRequired: 411,\n  PreconditionFailed: 412,\n  PayloadTooLarge: 413,\n  UriTooLong: 414,\n  UnsupportedMediaType: 415,\n  RangeNotSatisfiable: 416,\n  ExpectationFailed: 417,\n  ImATeapot: 418,\n  MisdirectedRequest: 421,\n  UnprocessableEntity: 422,\n  Locked: 423,\n  FailedDependency: 424,\n  TooEarly: 425,\n  UpgradeRequired: 426,\n  PreconditionRequired: 428,\n  TooManyRequests: 429,\n  RequestHeaderFieldsTooLarge: 431,\n  UnavailableForLegalReasons: 451,\n  InternalServerError: 500,\n  NotImplemented: 501,\n  BadGateway: 502,\n  ServiceUnavailable: 503,\n  GatewayTimeout: 504,\n  HttpVersionNotSupported: 505,\n  VariantAlsoNegotiates: 506,\n  InsufficientStorage: 507,\n  LoopDetected: 508,\n  NotExtended: 510,\n  NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n  HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  const context = new Axios(defaultConfig);\n  const instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n  // Copy context to instance\n  utils.extend(instance, context, null, {allOwnKeys: true});\n\n  // Factory for creating new instances\n  instance.create = function create(instanceConfig) {\n    return createInstance(mergeConfig(defaultConfig, instanceConfig));\n  };\n\n  return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n  Axios,\n  AxiosError,\n  CanceledError,\n  isCancel,\n  CancelToken,\n  VERSION,\n  all,\n  Cancel,\n  isAxiosError,\n  spread,\n  toFormData,\n  AxiosHeaders,\n  HttpStatusCode,\n  formToJSON,\n  getAdapter,\n  mergeConfig\n} = axios;\n\nexport {\n  axios as default,\n  Axios,\n  AxiosError,\n  CanceledError,\n  isCancel,\n  CancelToken,\n  VERSION,\n  all,\n  Cancel,\n  isAxiosError,\n  spread,\n  toFormData,\n  AxiosHeaders,\n  HttpStatusCode,\n  formToJSON,\n  getAdapter,\n  mergeConfig\n}\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n    return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n        let code = p.charCodeAt(0).toString(16).toUpperCase();\n        if (code.length < 2) {\n            code = \"0\" + code;\n        }\n        return \"%\" + code;\n    }));\n}\nfunction base64UrlDecode(str) {\n    let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n    switch (output.length % 4) {\n        case 0:\n            break;\n        case 2:\n            output += \"==\";\n            break;\n        case 3:\n            output += \"=\";\n            break;\n        default:\n            throw new Error(\"base64 string is not of the correct length\");\n    }\n    try {\n        return b64DecodeUnicode(output);\n    }\n    catch (err) {\n        return atob(output);\n    }\n}\nexport function jwtDecode(token, options) {\n    if (typeof token !== \"string\") {\n        throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n    }\n    options || (options = {});\n    const pos = options.header === true ? 0 : 1;\n    const part = token.split(\".\")[pos];\n    if (typeof part !== \"string\") {\n        throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n    }\n    let decoded;\n    try {\n        decoded = base64UrlDecode(part);\n    }\n    catch (e) {\n        throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n    }\n    try {\n        return JSON.parse(decoded);\n    }\n    catch (e) {\n        throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n    }\n}\n","import axios, { AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport { TokenManager } from \"../token-manager/token-manager\";\nimport { BROKER_EVENTS } from \"../broker/broker-events\";\nimport { PrimariaBroker } from \"../broker/primaria-broker\";\nimport { jwtDecode } from \"jwt-decode\";\n\nconst mpidHeader = \"x-catsalut-mpid\";\nconst obtainMpid = (token: string) => {\n  const mpid = (jwtDecode(token) as any).access_info?.mpi_patient_id;\n  return mpid;\n};\n\nexport class MissingMpidHeaderError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = \"MissingMpidHeaderError\";\n  }\n}\n\nexport class InvalidMpidHeaderError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = \"InvalidMpidHeaderError\";\n  }\n}\nconst validateMpidHeader = (response: AxiosResponse, tokenManager: TokenManager): boolean => {\n  const mpidHeaderValue = response.headers[mpidHeader];\n  if (!mpidHeaderValue) {\n    throw new MissingMpidHeaderError(\"Mpid header is missing\");\n  }\n  if (mpidHeaderValue !== obtainMpid(tokenManager.getToken())) {\n    throw new InvalidMpidHeaderError(\"Mpid header value is invalid\");\n  }\n  return true;\n};\n\nexport const createAxiosInstance = (\n  tokenManager: TokenManager,\n  broker: PrimariaBroker,\n  validateMpid: boolean = false,\n) => {\n  const instance = axios.create();\n  instance.interceptors.request.use((config) => {\n    config.headers.Authorization = `Bearer ${tokenManager.getToken()}`;\n    return config;\n  });\n\n  instance.interceptors.response.use(\n    (response: AxiosResponse) => {\n      try {\n        if (validateMpid) validateMpidHeader(response, tokenManager);\n        return response;\n      } catch (error) {\n        if (error instanceof InvalidMpidHeaderError) {\n          broker.publish(BROKER_EVENTS.shell.mpidHeaderInvalid, {\n            request: response.config,\n          });\n        }\n        return Promise.reject(error);\n      }\n    },\n    async (error) => {\n      const originalRequest = error.config;\n      if (error.response?.status === 401 && !originalRequest._retry) {\n        originalRequest._retry = true;\n        try {\n          const newToken = await tokenManager.refreshToken();\n          originalRequest.headers.Authorization = `Bearer ${newToken}`;\n          return instance(originalRequest);\n        } catch (refreshError) {\n          console.error(\"Error refreshing token:\", refreshError);\n          return Promise.reject(error);\n        }\n      }\n      return Promise.reject(error);\n    },\n  );\n\n  return instance;\n};\n\nlet instance;\n\n//TODO: Test concurrent request that get intercepted by expired token and\n// An option is to use subscribers to enque unauth requests and only refresh one token and retry the others with the new token\nexport interface HttpClient {\n  request<T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;\n}\nexport const createHttpClient = (\n  tokenManager: TokenManager,\n  broker: PrimariaBroker,\n): HttpClient => {\n  if (!instance) {\n    instance = createAxiosInstance(tokenManager, broker);\n  }\n  return { request: instance.request };\n};\n","import { jwtDecode } from \"jwt-decode\";\nimport { ActivityMonitor } from \"../activity-monitor/activity-monitor\";\nimport { TokenManager } from \"../token-manager/token-manager\";\n\nconst CHECK_INTERVAL_MS = 30_000;\nconst REFRESH_THRESHOLD_S = 120;\nconst ACTIVITY_WINDOW_MS = 15 * 60 * 1000;\n\nexport interface SessionRefreshTimer {\n  start: () => void;\n  stop: () => void;\n}\n\nexport class SessionRefreshTimerImpl implements SessionRefreshTimer {\n  private intervalId: ReturnType<typeof setInterval> | null = null;\n  private isRefreshing = false;\n\n  constructor(\n    private readonly tokenManager: TokenManager,\n    private readonly activityMonitor: ActivityMonitor,\n  ) {}\n\n  start = () => {\n    this.intervalId = setInterval(this.checkAndRefresh, CHECK_INTERVAL_MS);\n  };\n\n  stop = () => {\n    if (this.intervalId !== null) {\n      clearInterval(this.intervalId);\n      this.intervalId = null;\n    }\n  };\n\n  private getTokenExpiry = (): number => {\n    try {\n      const { exp } = jwtDecode(this.tokenManager.getToken()) as { exp?: number };\n      return exp ?? 0;\n    } catch {\n      return 0;\n    }\n  };\n\n  private checkAndRefresh = async () => {\n    const now = Date.now();\n\n    // Skip if the user hasn't interacted in the last ACTIVITY_WINDOW_MS.\n    // Avoids keeping sessions alive for unattended tabs.\n    if (now - this.activityMonitor.getLastActivityTimestamp() > ACTIVITY_WINDOW_MS) return;\n\n    // Skip if a refresh is already in flight (this interval can fire again before the previous awaits).\n    if (this.isRefreshing) return;\n\n    const exp = this.getTokenExpiry();\n\n    // Skip if the token can't be decoded (e.g. not yet initialized).\n    if (exp === 0) return;\n\n    // exp is in seconds, now is in milliseconds — compare in the same unit.\n    if (exp - now / 1000 <= REFRESH_THRESHOLD_S) {\n      this.isRefreshing = true;\n      try {\n        await this.tokenManager.refreshToken();\n      } catch {\n        // tokenManager.refreshToken() publishes refreshTokenFailed via broker on failure\n      } finally {\n        this.isRefreshing = false;\n      }\n    }\n  };\n}\n\nexport const createSessionRefreshTimer = (\n  tokenManager: TokenManager,\n  activityMonitor: ActivityMonitor,\n): SessionRefreshTimer => new SessionRefreshTimerImpl(tokenManager, activityMonitor);\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n  REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n  var key = null;\n  void 0 !== maybeKey && (key = \"\" + maybeKey);\n  void 0 !== config.key && (key = \"\" + config.key);\n  if (\"key\" in config) {\n    maybeKey = {};\n    for (var propName in config)\n      \"key\" !== propName && (maybeKey[propName] = config[propName]);\n  } else maybeKey = config;\n  config = maybeKey.ref;\n  return {\n    $$typeof: REACT_ELEMENT_TYPE,\n    type: type,\n    key: key,\n    ref: void 0 !== config ? config : null,\n    props: maybeKey\n  };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import * as React from \"react\";\n\nexport interface ConfirmationResult<T = undefined> {\n  confirmed: boolean;\n  result: T | undefined;\n}\n\nexport interface ConfirmationContentProps<TData, TResult = undefined> {\n  data: TData | undefined;\n  setResult: (result: TResult) => void;\n  setIsValid: (isValid: boolean) => void;\n  confirm: () => void;\n  confirmResult: (result: TResult) => void;\n  cancel: () => void;\n}\n\nexport interface ConfirmationWithResultContentProps<TData, TResult = undefined> {\n  data: TData | undefined;\n  confirmResult: (result: TResult) => void;\n  cancel: () => void;\n}\n\nexport interface ConfirmationOptions {\n  title?: string | undefined;\n  showConfirmButton?: boolean | undefined;\n  showCancelButton?: boolean | undefined;\n  confirmButtonText?: string | undefined;\n  cancelButtonText?: string | undefined;\n  confirmButtonIcon?: string | undefined;\n  cancelButtonIcon?: string | undefined;\n  showCloseButton?: boolean | undefined;\n  fullCustomization?: boolean | undefined;\n  closeOnOutsideClick?: boolean | undefined;\n  state?: \"success\" | \"info\" | \"alert\" | \"error\";\n  hideIcon?: boolean;\n}\n\nexport interface ConfirmComponentUI<TData = undefined, TResult = undefined> {\n  component:\n    | React.ComponentType<ConfirmationContentProps<TData, TResult> | ConfirmationWithResultContentProps<TData, TResult>>\n    | (new () => HTMLElement);\n  styles?: string;\n}\n\nexport abstract class PrimariaInteractionService {\n  abstract confirm<TData = undefined, TResult = undefined>(\n    data: TData | undefined,\n    componentUI: ConfirmComponentUI<TData, TResult>,\n    options?: ConfirmationOptions | undefined,\n  ): Promise<ConfirmationResult<TResult | undefined>>;\n  abstract confirmMessage(message: string, options?: ConfirmationOptions | undefined): Promise<ConfirmationResult>;\n  abstract dispose(): void;\n}\n","import { ConfirmationContentProps } from \"./interaction-service.ts\";\n\nexport const ConfirmationMessage = ({ data }: ConfirmationContentProps<string>) => {\n    return (<div>{data}</div>)\n}","export default \".modal {\\n  font-family: \\\"Open Sans\\\", sans-serif;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  position: fixed;\\n  z-index: 998;\\n  left: 0;\\n  top: 0;\\n  width: 100%;\\n  height: 100%;\\n  background-color: rgba(0, 0, 0, 0.65);\\n}\\n.dialog {\\n  display: flex;\\n  flex-direction: column;\\n  position: relative;\\n  z-index: 401;\\n  background: #fff;\\n  border-radius: 16px;\\n  width: auto;\\n  height: auto;\\n  max-height: 95%;\\n  min-width: 400px;\\n  box-shadow: 0 8px 12px 6px rgba(0 0 0 / 5%), 0 4px 4px rgba(0 0 0 / 10%);\\n}\\n\\n.dialog-header-wrapper {\\n  display: flex;\\n  flex-direction: column;\\n  align-items: center;\\n  justify-content: center;\\n}\\n\\n.dss-dialog-header {\\n  position: relative;\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: center;\\n  align-items: center;\\n  padding: 24px;\\n  border-top-left-radius: 16px;\\n  border-top-right-radius: 16px;\\n}\\n.dss-dialog-header-title {\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: center;\\n  align-items: center;\\n  gap: var(--dss-spacing-xs);\\n  font-size: 20px;\\n  line-height: 30px;\\n  font-weight: var(--font-bold);\\n  color: var(--color-neutral-900);\\n  padding-left: var(--dss-spacing-xl);\\n  padding-right: var(--dss-spacing-xl);\\n  text-align: center;\\n}\\n.dss-dialog-header-close {\\n  position: absolute;\\n  top: var(--dss-spacing-lg);\\n  right: calc(var(--dss-spacing-lg) - 4px);\\n}\\n.modal-content {\\n  flex: 1;\\n  padding: 0 24px;\\n  overflow: visible;\\n  position: relative;\\n}\\n.modal-content.full-customization {\\n  padding: 0;\\n  overflow: visible;\\n}\\n.dss-modal-footer {\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  gap: 16px;\\n  padding: 24px;\\n  border-bottom-left-radius: 16px;\\n  border-bottom-right-radius: 16px;\\n}\\n.dss-dialog-header-icon {\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  margin-bottom: var(--dss-spacing-xs);\\n}\\n.dss-dialog-header-state {\\n  display: flex;\\n}\\n.dss-dialog-header-state--warning {\\n  color: var(--color-yellow-700);\\n}\\n.dss-dialog-header-state--danger {\\n  color: var(--color-red-500);\\n}\\n\"","import {\n  ConfirmationOptions,\n  ConfirmationResult,\n  ConfirmComponentUI,\n  PrimariaInteractionService,\n} from \"./interaction-service\";\nimport * as React from \"react\";\nimport { useEffect, useState, useRef } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { ConfirmationMessage } from \"./confirmation-message.tsx\";\nimport modalStyles from './modal-styles.css?raw'; \n\nconst defaultOptions: ConfirmationOptions = {\n  title: \"Confirmació\",\n  showConfirmButton: true,\n  showCancelButton: true,\n  confirmButtonText: \"Acceptar\",\n  cancelButtonText: \"Cancel·lar\",\n  showCloseButton: true,\n  fullCustomization: false,\n  closeOnOutsideClick: false,\n  hideIcon: false\n};\n\nexport class ParimariaInteractionServiceImpl extends PrimariaInteractionService {\n  confirm<TData = undefined, TResult = undefined>(\n    data: TData | undefined,\n    componentUI: ConfirmComponentUI<TData, TResult>,\n    options?: ConfirmationOptions | undefined\n  ): Promise<ConfirmationResult<TResult | undefined>> {\n    const finalOptions: ConfirmationOptions = { ...defaultOptions, ...(options || {}) };\n    return new Promise((resolve) => {\n      const div = document.createElement(\"div\");\n      document.body.appendChild(div);\n      const wrapperHeadStyles = document.createElement(\"style\");\n      wrapperHeadStyles.textContent = modalStyles;\n      document.head.appendChild(wrapperHeadStyles);\n      const DialogComponent = componentUI.component;\n      const DialogComponentStyles = componentUI.styles;\n      let componentHeadStyles;\n      if(DialogComponentStyles) {\n        componentHeadStyles = document.createElement(\"style\");\n        componentHeadStyles.textContent = componentUI?.styles;\n        document.head.appendChild(componentHeadStyles);\n      }\n\n      const DialogWrapper = () => {\n        const [result, setResult] = useState<ConfirmationResult<TResult | undefined>>();\n        const [isValid, setIsValid] = useState(true);\n        const dialogComponentRef = useRef(null);\n        const dialogRef = useRef<HTMLDivElement>(null);\n        const modalRef = useRef<HTMLDivElement>(null);\n\n        const isWebComponent =\n          typeof DialogComponent === \"function\" && DialogComponent.prototype instanceof HTMLElement;\n\n        useEffect(() => {\n          window.addEventListener('keydown', handleKeydown);\n        }, []);\n\n        const handleKeydown = (event: KeyboardEvent) => {\n          if (event.key === 'Escape') {\n            handleClose(false);\n          }\n        };\n        const handleOutsideClick = (event: Event) => {\n          if (dialogRef.current) {\n            if (event.target === modalRef.current && finalOptions.closeOnOutsideClick) {\n              handleClose(false);\n            }\n          }\n        };\n\n        useEffect(() => {\n          if (isWebComponent && dialogComponentRef.current) {\n            const parent = dialogComponentRef.current;\n\n            // ⚠ Aquí creamos la instancia del Web Component manualmente\n            const wcElement = new (DialogComponent as any)();\n\n            // Asignar propiedades manualmente\n            (wcElement as any).data = data;\n            (wcElement as any).setResult = setResult;\n            (wcElement as any).setIsValid = setIsValid;\n            (wcElement as any).confirm = () => isValid && handleClose(true);\n            (wcElement as any).confirmResult = (result) => isValid && handleCloseWithResult(result);\n            (wcElement as any).cancel = () => handleClose(false);\n\n            // Agregar el Web Component al DOM\n            parent.appendChild(wcElement);\n\n            return () => {\n              parent.removeChild(wcElement);\n            };\n          }\n        }, [DialogComponent, data]);\n\n        const handleClose = (confirmed: boolean) => {\n          resolvePromise(result, confirmed);\n        };\n\n        const handleCloseWithResult = (finalResult: TResult) => {\n          resolvePromise(finalResult, true);\n        };\n\n        const resolvePromise = (finalResult: TResult, confirmed: boolean) => {\n          setTimeout(() => {\n            const confirmationResult = {\n              result: confirmed ? finalResult : undefined,\n              confirmed: confirmed,\n            };\n            resolve(confirmationResult);\n            document.body.removeChild(div);\n            document.head.removeChild(wrapperHeadStyles);\n            if (DialogComponentStyles)\n              document.head.removeChild(componentHeadStyles);\n            window.removeEventListener('keydown', handleKeydown);\n          }, 300);\n        };\n\n        const getConfirmButtonVariant = () => {\n          if (finalOptions.state === \"error\") return \"error\";\n          if (finalOptions.state === \"success\") return \"success\";\n          if (finalOptions.state === \"info\") return \"primary\";\n          if (finalOptions.state === \"alert\") return \"warning\";\n          return \"primary\";\n        };\n\n        const getCancelButtonVariant = () => {\n          return \"secondary\";\n        };\n        const getHeadIconVariantClass = () => {\n          if (finalOptions.state === \"alert\") return \"warning\";\n          if (finalOptions.state === \"error\") return \"danger\";\n          return \"\";\n        };\n        const getHeadIcon = () => {\n          if (finalOptions.state === \"alert\") return \"error\";\n          if (finalOptions.state === \"error\") return \"warning\";\n          return \"\";\n        };\n\n        const _renderContent = () => {\n          return isWebComponent ? (\n            <div ref={dialogComponentRef} />\n          ) : (\n            <DialogComponent\n              {...{\n                data,\n                setResult,\n                setIsValid,\n                confirm: () => isValid && handleClose(true),\n                confirmResult: (result: TResult) => isValid && handleCloseWithResult(result),\n                cancel: () => handleClose(false),\n              }}\n            />\n          );\n        };\n        return (\n          <div className=\"modal\" ref={modalRef} onClick={handleOutsideClick} >\n            <div className=\"dialog\" ref={dialogRef}>\n              {!finalOptions.fullCustomization && (\n                <div className=\"dss-dialog-header\">\n                  <div className=\"dialog-header-wrapper\">\n                    <div className=\"dss-dialog-header-title\">\n                      {!finalOptions.hideIcon && (\n                        <dss-icon\n                          size=\"xl\"\n                          fill\n                          class={`dss-dialog-header-state--${getHeadIconVariantClass()}`}\n                          icon={getHeadIcon()}\n                        ></dss-icon>\n                      )}\n                      {finalOptions.title}\n                    </div>\n                  </div>\n                  {finalOptions.showCloseButton && (\n                    <dss-icon-button\n                      class=\"dss-dialog-header-close\" \n                      size=\"md\" \n                      variant=\"neutral\" \n                      icon=\"close\" \n                      onClick={() => handleClose(false)}\n                    ></dss-icon-button>\n                  )}\n                </div>\n              )}\n              <div className={`modal-content ${finalOptions.fullCustomization ? 'full-customization' : ''}`}>\n                {_renderContent()}\n              </div>\n              {!finalOptions.fullCustomization && (\n                <div\n                  className=\"dss-modal-footer\"\n                  hidden={!finalOptions.showCancelButton && !finalOptions.showConfirmButton}\n                >\n                  {finalOptions.showCancelButton && (\n                    <dss-button\n                      label={finalOptions.cancelButtonText}\n                      onClick={() => handleClose(false)}\n                      size=\"md\"\n                      variant={getCancelButtonVariant()}\n                      icon={finalOptions.cancelButtonIcon}\n                    />\n                  )}\n                  {finalOptions.showConfirmButton && (\n                    <dss-button\n                      onClick={() => isValid && handleClose(true)}\n                      label={finalOptions.confirmButtonText}\n                      disabled={!isValid}\n                      size=\"md\"\n                      variant={getConfirmButtonVariant()}\n                      icon={finalOptions.confirmButtonIcon}\n                    />\n                  )}\n                </div>\n              )}\n            </div>\n          </div>\n        );\n      };\n\n\n      const root = createRoot(div);\n      root.render(<DialogWrapper />);\n    });\n  }\n\n  confirmMessage(\n    message: string,\n    options?: ConfirmationOptions | undefined,\n  ): Promise<ConfirmationResult> {\n    return this.confirm(message, {component: ConfirmationMessage}, options);\n  }\n\n  dispose(): void {\n    // Limpiar todos los modales abiertos\n    const modals = document.querySelectorAll('.modal');\n    for (const modal of modals) {\n      modal.remove();\n    }\n  }\n}\n","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n *      _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n  set1 = set1 || [];\n  set2 = set2 || [];\n  var idx;\n  var len1 = set1.length;\n  var len2 = set2.length;\n  var result = [];\n  idx = 0;\n\n  while (idx < len1) {\n    result[result.length] = set1[idx];\n    idx += 1;\n  }\n\n  idx = 0;\n\n  while (idx < len2) {\n    result[result.length] = set2[idx];\n    idx += 1;\n  }\n\n  return result;\n}","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport map from \"./map.js\";\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (r -> a -> b) -> (r -> a) -> (r -> b)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n *      R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n *      R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n *      // R.ap can also be used as S combinator\n *      // when only two functions are passed\n *      R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\n\nvar ap =\n/*#__PURE__*/\n_curry2(function ap(applyF, applyX) {\n  return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n    return applyF(x)(applyX(x));\n  } : _reduce(function (acc, f) {\n    return _concat(acc, map(f, applyX));\n  }, [], applyF);\n});\n\nexport default ap;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n *      R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n  var result = {};\n\n  for (var p in obj) {\n    result[p] = obj[p];\n  }\n\n  result[prop] = val;\n  return result;\n});\n\nexport default assoc;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport assoc from \"./assoc.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n *      R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n *      // Any missing or non-object keys in path will be overridden\n *      R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\n\nvar assocPath =\n/*#__PURE__*/\n_curry3(function assocPath(path, val, obj) {\n  if (path.length === 0) {\n    return val;\n  }\n\n  var idx = path[0];\n\n  if (path.length > 1) {\n    var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n    val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n  }\n\n  if (_isInteger(idx) && _isArray(obj)) {\n    var arr = [].concat(obj);\n    arr[idx] = val;\n    return arr;\n  } else {\n    return assoc(idx, val, obj);\n  }\n});\n\nexport default assocPath;","import _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport ap from \"./ap.js\";\nimport curryN from \"./curryN.js\";\nimport map from \"./map.js\";\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n *      const madd3 = R.liftN(3, (...args) => R.sum(args));\n *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\n\nvar liftN =\n/*#__PURE__*/\n_curry2(function liftN(arity, fn) {\n  var lifted = curryN(arity, fn);\n  return curryN(arity, function () {\n    return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n  });\n});\n\nexport default liftN;","import _curry1 from \"./internal/_curry1.js\";\nimport liftN from \"./liftN.js\";\n/**\n * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n *      const madd3 = R.lift((a, b, c) => a + b + c);\n *\n *      madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n *\n *      const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n *      madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n */\n\nvar lift =\n/*#__PURE__*/\n_curry1(function lift(fn) {\n  return liftN(fn.length, fn);\n});\n\nexport default lift;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n *      R.not(true); //=> false\n *      R.not(false); //=> true\n *      R.not(0); //=> true\n *      R.not(1); //=> false\n */\n\nvar not =\n/*#__PURE__*/\n_curry1(function not(a) {\n  return !a;\n});\n\nexport default not;","import lift from \"./lift.js\";\nimport not from \"./not.js\";\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n *      const isNotNil = R.complement(R.isNil);\n *      isNil(null); //=> true\n *      isNotNil(null); //=> false\n *      isNil(7); //=> false\n *      isNotNil(7); //=> true\n */\n\nvar complement =\n/*#__PURE__*/\nlift(not);\nexport default complement;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n *      const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n *      R.view(xLens, {x: 1, y: 2});            //=> 1\n *      R.set(xLens, 4, {x: 1, y: 2});          //=> {x: 4, y: 2}\n *      R.over(xLens, R.negate, {x: 1, y: 2});  //=> {x: -1, y: 2}\n */\n\nvar lens =\n/*#__PURE__*/\n_curry2(function lens(getter, setter) {\n  return function (toFunctorFn) {\n    return function (target) {\n      return map(function (focus) {\n        return setter(focus, target);\n      }, toFunctorFn(getter(target)));\n    };\n  };\n});\n\nexport default lens;","import _curry1 from \"./internal/_curry1.js\";\nimport assocPath from \"./assocPath.js\";\nimport lens from \"./lens.js\";\nimport path from \"./path.js\";\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n *      const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n *      R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> 2\n *      R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n *      R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n *      //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\n\nvar lensPath =\n/*#__PURE__*/\n_curry1(function lensPath(p) {\n  return lens(path(p), assocPath(p));\n});\n\nexport default lensPath;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n *      R.mergeWithKey(concatValues,\n *                     { a: true, thing: 'foo', values: [10, 20] },\n *                     { b: true, thing: 'bar', values: [15, 35] });\n *      //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\n\nvar mergeWithKey =\n/*#__PURE__*/\n_curry3(function mergeWithKey(fn, l, r) {\n  var result = {};\n  var k;\n\n  for (k in l) {\n    if (_has(k, l)) {\n      result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n    }\n  }\n\n  for (k in r) {\n    if (_has(k, r) && !_has(k, result)) {\n      result[k] = r[k];\n    }\n  }\n\n  return result;\n});\n\nexport default mergeWithKey;","import _curry3 from \"./internal/_curry3.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n *   recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n *   using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n *      let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n *      R.mergeDeepWithKey(concatValues,\n *                         { a: true, c: { thing: 'foo', values: [10, 20] }},\n *                         { b: true, c: { thing: 'bar', values: [15, 35] }});\n *      //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\n\nvar mergeDeepWithKey =\n/*#__PURE__*/\n_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n  return mergeWithKey(function (k, lVal, rVal) {\n    if (_isObject(lVal) && _isObject(rVal)) {\n      return mergeDeepWithKey(fn, lVal, rVal);\n    } else {\n      return fn(k, lVal, rVal);\n    }\n  }, lObj, rObj);\n});\n\nexport default mergeDeepWithKey;","import _curry2 from \"./internal/_curry2.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n *      R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n *                       { age: 40, contact: { email: 'baa@example.com' }});\n *      //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\n\nvar mergeDeepRight =\n/*#__PURE__*/\n_curry2(function mergeDeepRight(lObj, rObj) {\n  return mergeDeepWithKey(function (k, lVal, rVal) {\n    return rVal;\n  }, lObj, rObj);\n});\n\nexport default mergeDeepRight;","import _curry2 from \"./internal/_curry2.js\"; // `Const` is a functor that effectively ignores the function given to `map`.\n\nvar Const = function (x) {\n  return {\n    value: x,\n    'fantasy-land/map': function () {\n      return this;\n    }\n  };\n};\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n *      const xLens = R.lensProp('x');\n *\n *      R.view(xLens, {x: 1, y: 2});  //=> 1\n *      R.view(xLens, {x: 4, y: 2});  //=> 4\n */\n\n\nvar view =\n/*#__PURE__*/\n_curry2(function view(lens, x) {\n  // Using `Const` effectively ignores the setter function of the `lens`,\n  // leaving the value returned by the getter function unmodified.\n  return lens(Const)(x).value;\n});\n\nexport default view;","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{complement as o,isNil as i}from\"ramda\";const t=o(i);export{t as isNotNil};\n","import{isNotNil as o}from\"@uxland/ramda-extensions/is-not-nil\";import s from\"ramda/es/cond\";import e from\"ramda/es/isNil\";import d from\"ramda/es/T\";let m=1;m=1;const c=(n,t,r=\":\")=>i=>s([[()=>e(n),()=>{throw new Error(\"prefix is needed\")}],[()=>o(t),()=>`${n}${r}${i}${r}${t}`],[d,()=>`${n}${r}${i}`]])();export{c as constantBuilder};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{constantBuilder as A}from\"@uxland/utilities/constant-builder\";const E=A(\"LOCALIZATION\",void 0,\"::\"),T=E(\"LOCALES-RESET\"),o=E(\"LOCALES-UPDATED\"),n=E(\"LANGUAGE-UPDATED\"),e=E(\"LANGUAGE-RESET\"),L=E(\"FORMATERS-UPDATED\"),R=E(\"FORMATERS-RESET\");export{R as FORMATTERS_RESET,L as FORMATTERS_UPDATED,e as LANGUAGE_RESET,n as LANGUAGE_UPDATED,T as LOCALES_RESET,o as LOCALES_UPDATED};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */let l=1;l=1,l=1;class o{constructor(e,t){this.messageType=e,this.callback=t}handle(e){e instanceof this.messageType&&this.callback.call(null,e)}}const c=(r,e,t)=>{try{r(e,t)}catch(s){console.error(s)}},b=(r,e)=>{try{r.handle(e)}catch(t){console.error(t)}};class p{constructor(){this.eventLookup={},this.messageHandlers=[]}publish(e,t){let s,n;if(!e)throw new Error(\"Event channel/type is invalid.\");if(typeof e==\"string\"){if(s=this.eventLookup[e],s)for(s=s.slice(),n=s.length;n--;)c(s[n],t,e)}else for(s=this.messageHandlers.slice(),n=s.length;n--;)b(s[n],e)}subscribe(e,t){let s,n;if(!e)throw new Error(\"Event channel/type is invalid.\");return typeof e==\"string\"?(s=t,n=this.eventLookup[e]||(this.eventLookup[e]=[])):(s=new o(e,t),n=this.messageHandlers),n.push(s),{dispose(){const a=n.indexOf(s);a!==-1&&n.splice(a,1)}}}subscribeOnce(e,t){const s=this.subscribe(e,(n,a)=>(s.dispose(),t(n,a)));return s}}const i=new p,d=i.subscribe.bind(i),h=i.subscribeOnce.bind(i),u=i.publish.bind(i);export{p as EventAggregator,i as eventAggregator,u as publish,d as subscribe,h as subscribeOnce};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{publish as o}from\"@uxland/event-aggregator\";import{LANGUAGE_RESET as r,LANGUAGE_UPDATED as g}from\"./events\";const t=\"en\";let e=t;const L=n=>{e=n,o(g,n)},i=()=>t,p=()=>e,u=()=>{e=t,o(r,t)};export{t as DEFAULT_LANGUAGE,i as getDefaultLanguage,p as getLanguage,u as resetLanguage,L as setLanguage};\n","export var TYPE;\n(function (TYPE) {\n    /**\n     * Raw text\n     */\n    TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n    /**\n     * Variable w/o any format, e.g `var` in `this is a {var}`\n     */\n    TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n    /**\n     * Variable w/ number format\n     */\n    TYPE[TYPE[\"number\"] = 2] = \"number\";\n    /**\n     * Variable w/ date format\n     */\n    TYPE[TYPE[\"date\"] = 3] = \"date\";\n    /**\n     * Variable w/ time format\n     */\n    TYPE[TYPE[\"time\"] = 4] = \"time\";\n    /**\n     * Variable w/ select format\n     */\n    TYPE[TYPE[\"select\"] = 5] = \"select\";\n    /**\n     * Variable w/ plural format\n     */\n    TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n    /**\n     * Only possible within plural argument.\n     * This is the `#` symbol that will be substituted with the count.\n     */\n    TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n})(TYPE || (TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n    return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n    return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n    return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n    return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n    return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n    return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n    return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n    return el.type === TYPE.pound;\n}\nexport function isNumberSkeleton(el) {\n    return !!(el && typeof el === 'object' && el.type === 0 /* number */);\n}\nexport function isDateTimeSkeleton(el) {\n    return !!(el && typeof el === 'object' && el.type === 1 /* dateTime */);\n}\nexport function createLiteralElement(value) {\n    return {\n        type: TYPE.literal,\n        value: value,\n    };\n}\nexport function createNumberElement(value, style) {\n    return {\n        type: TYPE.number,\n        value: value,\n        style: style,\n    };\n}\n","// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/   https://github.com/metadevpro/ts-pegjs\nimport { TYPE, } from './types';\nvar SyntaxError = /** @class */ (function (_super) {\n    __extends(SyntaxError, _super);\n    function SyntaxError(message, expected, found, location) {\n        var _this = _super.call(this) || this;\n        _this.message = message;\n        _this.expected = expected;\n        _this.found = found;\n        _this.location = location;\n        _this.name = \"SyntaxError\";\n        if (typeof Error.captureStackTrace === \"function\") {\n            Error.captureStackTrace(_this, SyntaxError);\n        }\n        return _this;\n    }\n    SyntaxError.buildMessage = function (expected, found) {\n        function hex(ch) {\n            return ch.charCodeAt(0).toString(16).toUpperCase();\n        }\n        function literalEscape(s) {\n            return s\n                .replace(/\\\\/g, \"\\\\\\\\\")\n                .replace(/\"/g, \"\\\\\\\"\")\n                .replace(/\\0/g, \"\\\\0\")\n                .replace(/\\t/g, \"\\\\t\")\n                .replace(/\\n/g, \"\\\\n\")\n                .replace(/\\r/g, \"\\\\r\")\n                .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n                .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n        }\n        function classEscape(s) {\n            return s\n                .replace(/\\\\/g, \"\\\\\\\\\")\n                .replace(/\\]/g, \"\\\\]\")\n                .replace(/\\^/g, \"\\\\^\")\n                .replace(/-/g, \"\\\\-\")\n                .replace(/\\0/g, \"\\\\0\")\n                .replace(/\\t/g, \"\\\\t\")\n                .replace(/\\n/g, \"\\\\n\")\n                .replace(/\\r/g, \"\\\\r\")\n                .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n                .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n        }\n        function describeExpectation(expectation) {\n            switch (expectation.type) {\n                case \"literal\":\n                    return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n                case \"class\":\n                    var escapedParts = expectation.parts.map(function (part) {\n                        return Array.isArray(part)\n                            ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n                            : classEscape(part);\n                    });\n                    return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n                case \"any\":\n                    return \"any character\";\n                case \"end\":\n                    return \"end of input\";\n                case \"other\":\n                    return expectation.description;\n            }\n        }\n        function describeExpected(expected1) {\n            var descriptions = expected1.map(describeExpectation);\n            var i;\n            var j;\n            descriptions.sort();\n            if (descriptions.length > 0) {\n                for (i = 1, j = 1; i < descriptions.length; i++) {\n                    if (descriptions[i - 1] !== descriptions[i]) {\n                        descriptions[j] = descriptions[i];\n                        j++;\n                    }\n                }\n                descriptions.length = j;\n            }\n            switch (descriptions.length) {\n                case 1:\n                    return descriptions[0];\n                case 2:\n                    return descriptions[0] + \" or \" + descriptions[1];\n                default:\n                    return descriptions.slice(0, -1).join(\", \")\n                        + \", or \"\n                        + descriptions[descriptions.length - 1];\n            }\n        }\n        function describeFound(found1) {\n            return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n        }\n        return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n    };\n    return SyntaxError;\n}(Error));\nexport { SyntaxError };\nfunction peg$parse(input, options) {\n    options = options !== undefined ? options : {};\n    var peg$FAILED = {};\n    var peg$startRuleFunctions = { start: peg$parsestart };\n    var peg$startRuleFunction = peg$parsestart;\n    var peg$c0 = function (parts) {\n        return parts.join('');\n    };\n    var peg$c1 = function (messageText) {\n        return __assign({ type: TYPE.literal, value: messageText }, insertLocation());\n    };\n    var peg$c2 = \"#\";\n    var peg$c3 = peg$literalExpectation(\"#\", false);\n    var peg$c4 = function () {\n        return __assign({ type: TYPE.pound }, insertLocation());\n    };\n    var peg$c5 = peg$otherExpectation(\"argumentElement\");\n    var peg$c6 = \"{\";\n    var peg$c7 = peg$literalExpectation(\"{\", false);\n    var peg$c8 = \"}\";\n    var peg$c9 = peg$literalExpectation(\"}\", false);\n    var peg$c10 = function (value) {\n        return __assign({ type: TYPE.argument, value: value }, insertLocation());\n    };\n    var peg$c11 = peg$otherExpectation(\"numberSkeletonId\");\n    var peg$c12 = /^['\\/{}]/;\n    var peg$c13 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n    var peg$c14 = peg$anyExpectation();\n    var peg$c15 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n    var peg$c16 = \"/\";\n    var peg$c17 = peg$literalExpectation(\"/\", false);\n    var peg$c18 = function (option) { return option; };\n    var peg$c19 = peg$otherExpectation(\"numberSkeletonToken\");\n    var peg$c20 = function (stem, options) {\n        return { stem: stem, options: options };\n    };\n    var peg$c21 = function (tokens) {\n        return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n    };\n    var peg$c22 = \"::\";\n    var peg$c23 = peg$literalExpectation(\"::\", false);\n    var peg$c24 = function (skeleton) { return skeleton; };\n    var peg$c25 = function () { messageCtx.push('numberArgStyle'); return true; };\n    var peg$c26 = function (style) {\n        messageCtx.pop();\n        return style.replace(/\\s*$/, '');\n    };\n    var peg$c27 = \",\";\n    var peg$c28 = peg$literalExpectation(\",\", false);\n    var peg$c29 = \"number\";\n    var peg$c30 = peg$literalExpectation(\"number\", false);\n    var peg$c31 = function (value, type, style) {\n        return __assign({ type: type === 'number' ? TYPE.number : type === 'date' ? TYPE.date : TYPE.time, style: style && style[2], value: value }, insertLocation());\n    };\n    var peg$c32 = \"'\";\n    var peg$c33 = peg$literalExpectation(\"'\", false);\n    var peg$c34 = /^[^']/;\n    var peg$c35 = peg$classExpectation([\"'\"], true, false);\n    var peg$c36 = /^[^a-zA-Z'{}]/;\n    var peg$c37 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n    var peg$c38 = /^[a-zA-Z]/;\n    var peg$c39 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n    var peg$c40 = function (pattern) {\n        return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n    };\n    var peg$c41 = function () { messageCtx.push('dateOrTimeArgStyle'); return true; };\n    var peg$c42 = \"date\";\n    var peg$c43 = peg$literalExpectation(\"date\", false);\n    var peg$c44 = \"time\";\n    var peg$c45 = peg$literalExpectation(\"time\", false);\n    var peg$c46 = \"plural\";\n    var peg$c47 = peg$literalExpectation(\"plural\", false);\n    var peg$c48 = \"selectordinal\";\n    var peg$c49 = peg$literalExpectation(\"selectordinal\", false);\n    var peg$c50 = \"offset:\";\n    var peg$c51 = peg$literalExpectation(\"offset:\", false);\n    var peg$c52 = function (value, pluralType, offset, options) {\n        return __assign({ type: TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n                var id = _a.id, value = _a.value, optionLocation = _a.location;\n                if (id in all) {\n                    error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n                }\n                all[id] = {\n                    value: value,\n                    location: optionLocation\n                };\n                return all;\n            }, {}) }, insertLocation());\n    };\n    var peg$c53 = \"select\";\n    var peg$c54 = peg$literalExpectation(\"select\", false);\n    var peg$c55 = function (value, options) {\n        return __assign({ type: TYPE.select, value: value, options: options.reduce(function (all, _a) {\n                var id = _a.id, value = _a.value, optionLocation = _a.location;\n                if (id in all) {\n                    error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n                }\n                all[id] = {\n                    value: value,\n                    location: optionLocation\n                };\n                return all;\n            }, {}) }, insertLocation());\n    };\n    var peg$c56 = \"=\";\n    var peg$c57 = peg$literalExpectation(\"=\", false);\n    var peg$c58 = function (id) { messageCtx.push('select'); return true; };\n    var peg$c59 = function (id, value) {\n        messageCtx.pop();\n        return __assign({ id: id,\n            value: value }, insertLocation());\n    };\n    var peg$c60 = function (id) { messageCtx.push('plural'); return true; };\n    var peg$c61 = function (id, value) {\n        messageCtx.pop();\n        return __assign({ id: id,\n            value: value }, insertLocation());\n    };\n    var peg$c62 = peg$otherExpectation(\"whitespace\");\n    var peg$c63 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n    var peg$c64 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], false, false);\n    var peg$c65 = peg$otherExpectation(\"syntax pattern\");\n    var peg$c66 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n    var peg$c67 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n    var peg$c68 = peg$otherExpectation(\"optional whitespace\");\n    var peg$c69 = peg$otherExpectation(\"number\");\n    var peg$c70 = \"-\";\n    var peg$c71 = peg$literalExpectation(\"-\", false);\n    var peg$c72 = function (negative, num) {\n        return num\n            ? negative\n                ? -num\n                : num\n            : 0;\n    };\n    var peg$c73 = peg$otherExpectation(\"apostrophe\");\n    var peg$c74 = peg$otherExpectation(\"double apostrophes\");\n    var peg$c75 = \"''\";\n    var peg$c76 = peg$literalExpectation(\"''\", false);\n    var peg$c77 = function () { return \"'\"; };\n    var peg$c78 = function (escapedChar, quotedChars) {\n        return escapedChar + quotedChars.replace(\"''\", \"'\");\n    };\n    var peg$c79 = function (x) {\n        return (x !== '{' &&\n            !(isInPluralOption() && x === '#') &&\n            !(isNestedMessageText() && x === '}'));\n    };\n    var peg$c80 = \"\\n\";\n    var peg$c81 = peg$literalExpectation(\"\\n\", false);\n    var peg$c82 = function (x) {\n        return x === '{' || x === '}' || (isInPluralOption() && x === '#');\n    };\n    var peg$c83 = peg$otherExpectation(\"argNameOrNumber\");\n    var peg$c84 = peg$otherExpectation(\"argNumber\");\n    var peg$c85 = \"0\";\n    var peg$c86 = peg$literalExpectation(\"0\", false);\n    var peg$c87 = function () { return 0; };\n    var peg$c88 = /^[1-9]/;\n    var peg$c89 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n    var peg$c90 = /^[0-9]/;\n    var peg$c91 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n    var peg$c92 = function (digits) {\n        return parseInt(digits.join(''), 10);\n    };\n    var peg$c93 = peg$otherExpectation(\"argName\");\n    var peg$currPos = 0;\n    var peg$savedPos = 0;\n    var peg$posDetailsCache = [{ line: 1, column: 1 }];\n    var peg$maxFailPos = 0;\n    var peg$maxFailExpected = [];\n    var peg$silentFails = 0;\n    var peg$result;\n    if (options.startRule !== undefined) {\n        if (!(options.startRule in peg$startRuleFunctions)) {\n            throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n        }\n        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n    }\n    function text() {\n        return input.substring(peg$savedPos, peg$currPos);\n    }\n    function location() {\n        return peg$computeLocation(peg$savedPos, peg$currPos);\n    }\n    function expected(description, location1) {\n        location1 = location1 !== undefined\n            ? location1\n            : peg$computeLocation(peg$savedPos, peg$currPos);\n        throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n    }\n    function error(message, location1) {\n        location1 = location1 !== undefined\n            ? location1\n            : peg$computeLocation(peg$savedPos, peg$currPos);\n        throw peg$buildSimpleError(message, location1);\n    }\n    function peg$literalExpectation(text1, ignoreCase) {\n        return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n    }\n    function peg$classExpectation(parts, inverted, ignoreCase) {\n        return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n    }\n    function peg$anyExpectation() {\n        return { type: \"any\" };\n    }\n    function peg$endExpectation() {\n        return { type: \"end\" };\n    }\n    function peg$otherExpectation(description) {\n        return { type: \"other\", description: description };\n    }\n    function peg$computePosDetails(pos) {\n        var details = peg$posDetailsCache[pos];\n        var p;\n        if (details) {\n            return details;\n        }\n        else {\n            p = pos - 1;\n            while (!peg$posDetailsCache[p]) {\n                p--;\n            }\n            details = peg$posDetailsCache[p];\n            details = {\n                line: details.line,\n                column: details.column\n            };\n            while (p < pos) {\n                if (input.charCodeAt(p) === 10) {\n                    details.line++;\n                    details.column = 1;\n                }\n                else {\n                    details.column++;\n                }\n                p++;\n            }\n            peg$posDetailsCache[pos] = details;\n            return details;\n        }\n    }\n    function peg$computeLocation(startPos, endPos) {\n        var startPosDetails = peg$computePosDetails(startPos);\n        var endPosDetails = peg$computePosDetails(endPos);\n        return {\n            start: {\n                offset: startPos,\n                line: startPosDetails.line,\n                column: startPosDetails.column\n            },\n            end: {\n                offset: endPos,\n                line: endPosDetails.line,\n                column: endPosDetails.column\n            }\n        };\n    }\n    function peg$fail(expected1) {\n        if (peg$currPos < peg$maxFailPos) {\n            return;\n        }\n        if (peg$currPos > peg$maxFailPos) {\n            peg$maxFailPos = peg$currPos;\n            peg$maxFailExpected = [];\n        }\n        peg$maxFailExpected.push(expected1);\n    }\n    function peg$buildSimpleError(message, location1) {\n        return new SyntaxError(message, [], \"\", location1);\n    }\n    function peg$buildStructuredError(expected1, found, location1) {\n        return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n    }\n    function peg$parsestart() {\n        var s0;\n        s0 = peg$parsemessage();\n        return s0;\n    }\n    function peg$parsemessage() {\n        var s0, s1;\n        s0 = [];\n        s1 = peg$parsemessageElement();\n        while (s1 !== peg$FAILED) {\n            s0.push(s1);\n            s1 = peg$parsemessageElement();\n        }\n        return s0;\n    }\n    function peg$parsemessageElement() {\n        var s0;\n        s0 = peg$parseliteralElement();\n        if (s0 === peg$FAILED) {\n            s0 = peg$parseargumentElement();\n            if (s0 === peg$FAILED) {\n                s0 = peg$parsesimpleFormatElement();\n                if (s0 === peg$FAILED) {\n                    s0 = peg$parsepluralElement();\n                    if (s0 === peg$FAILED) {\n                        s0 = peg$parseselectElement();\n                        if (s0 === peg$FAILED) {\n                            s0 = peg$parsepoundElement();\n                        }\n                    }\n                }\n            }\n        }\n        return s0;\n    }\n    function peg$parsemessageText() {\n        var s0, s1, s2;\n        s0 = peg$currPos;\n        s1 = [];\n        s2 = peg$parsedoubleApostrophes();\n        if (s2 === peg$FAILED) {\n            s2 = peg$parsequotedString();\n            if (s2 === peg$FAILED) {\n                s2 = peg$parseunquotedString();\n            }\n        }\n        if (s2 !== peg$FAILED) {\n            while (s2 !== peg$FAILED) {\n                s1.push(s2);\n                s2 = peg$parsedoubleApostrophes();\n                if (s2 === peg$FAILED) {\n                    s2 = peg$parsequotedString();\n                    if (s2 === peg$FAILED) {\n                        s2 = peg$parseunquotedString();\n                    }\n                }\n            }\n        }\n        else {\n            s1 = peg$FAILED;\n        }\n        if (s1 !== peg$FAILED) {\n            peg$savedPos = s0;\n            s1 = peg$c0(s1);\n        }\n        s0 = s1;\n        return s0;\n    }\n    function peg$parseliteralElement() {\n        var s0, s1;\n        s0 = peg$currPos;\n        s1 = peg$parsemessageText();\n        if (s1 !== peg$FAILED) {\n            peg$savedPos = s0;\n            s1 = peg$c1(s1);\n        }\n        s0 = s1;\n        return s0;\n    }\n    function peg$parsepoundElement() {\n        var s0, s1;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 35) {\n            s1 = peg$c2;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c3);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            peg$savedPos = s0;\n            s1 = peg$c4();\n        }\n        s0 = s1;\n        return s0;\n    }\n    function peg$parseargumentElement() {\n        var s0, s1, s2, s3, s4, s5;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 123) {\n            s1 = peg$c6;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c7);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parse_();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$parseargNameOrNumber();\n                if (s3 !== peg$FAILED) {\n                    s4 = peg$parse_();\n                    if (s4 !== peg$FAILED) {\n                        if (input.charCodeAt(peg$currPos) === 125) {\n                            s5 = peg$c8;\n                            peg$currPos++;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c9);\n                            }\n                        }\n                        if (s5 !== peg$FAILED) {\n                            peg$savedPos = s0;\n                            s1 = peg$c10(s3);\n                            s0 = s1;\n                        }\n                        else {\n                            peg$currPos = s0;\n                            s0 = peg$FAILED;\n                        }\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c5);\n            }\n        }\n        return s0;\n    }\n    function peg$parsenumberSkeletonId() {\n        var s0, s1, s2, s3, s4;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        s1 = [];\n        s2 = peg$currPos;\n        s3 = peg$currPos;\n        peg$silentFails++;\n        s4 = peg$parsewhiteSpace();\n        if (s4 === peg$FAILED) {\n            if (peg$c12.test(input.charAt(peg$currPos))) {\n                s4 = input.charAt(peg$currPos);\n                peg$currPos++;\n            }\n            else {\n                s4 = peg$FAILED;\n                if (peg$silentFails === 0) {\n                    peg$fail(peg$c13);\n                }\n            }\n        }\n        peg$silentFails--;\n        if (s4 === peg$FAILED) {\n            s3 = undefined;\n        }\n        else {\n            peg$currPos = s3;\n            s3 = peg$FAILED;\n        }\n        if (s3 !== peg$FAILED) {\n            if (input.length > peg$currPos) {\n                s4 = input.charAt(peg$currPos);\n                peg$currPos++;\n            }\n            else {\n                s4 = peg$FAILED;\n                if (peg$silentFails === 0) {\n                    peg$fail(peg$c14);\n                }\n            }\n            if (s4 !== peg$FAILED) {\n                s3 = [s3, s4];\n                s2 = s3;\n            }\n            else {\n                peg$currPos = s2;\n                s2 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s2;\n            s2 = peg$FAILED;\n        }\n        if (s2 !== peg$FAILED) {\n            while (s2 !== peg$FAILED) {\n                s1.push(s2);\n                s2 = peg$currPos;\n                s3 = peg$currPos;\n                peg$silentFails++;\n                s4 = peg$parsewhiteSpace();\n                if (s4 === peg$FAILED) {\n                    if (peg$c12.test(input.charAt(peg$currPos))) {\n                        s4 = input.charAt(peg$currPos);\n                        peg$currPos++;\n                    }\n                    else {\n                        s4 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c13);\n                        }\n                    }\n                }\n                peg$silentFails--;\n                if (s4 === peg$FAILED) {\n                    s3 = undefined;\n                }\n                else {\n                    peg$currPos = s3;\n                    s3 = peg$FAILED;\n                }\n                if (s3 !== peg$FAILED) {\n                    if (input.length > peg$currPos) {\n                        s4 = input.charAt(peg$currPos);\n                        peg$currPos++;\n                    }\n                    else {\n                        s4 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c14);\n                        }\n                    }\n                    if (s4 !== peg$FAILED) {\n                        s3 = [s3, s4];\n                        s2 = s3;\n                    }\n                    else {\n                        peg$currPos = s2;\n                        s2 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s2;\n                    s2 = peg$FAILED;\n                }\n            }\n        }\n        else {\n            s1 = peg$FAILED;\n        }\n        if (s1 !== peg$FAILED) {\n            s0 = input.substring(s0, peg$currPos);\n        }\n        else {\n            s0 = s1;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c11);\n            }\n        }\n        return s0;\n    }\n    function peg$parsenumberSkeletonTokenOption() {\n        var s0, s1, s2;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 47) {\n            s1 = peg$c16;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c17);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parsenumberSkeletonId();\n            if (s2 !== peg$FAILED) {\n                peg$savedPos = s0;\n                s1 = peg$c18(s2);\n                s0 = s1;\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c15);\n            }\n        }\n        return s0;\n    }\n    function peg$parsenumberSkeletonToken() {\n        var s0, s1, s2, s3, s4;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        s1 = peg$parse_();\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parsenumberSkeletonId();\n            if (s2 !== peg$FAILED) {\n                s3 = [];\n                s4 = peg$parsenumberSkeletonTokenOption();\n                while (s4 !== peg$FAILED) {\n                    s3.push(s4);\n                    s4 = peg$parsenumberSkeletonTokenOption();\n                }\n                if (s3 !== peg$FAILED) {\n                    peg$savedPos = s0;\n                    s1 = peg$c20(s2, s3);\n                    s0 = s1;\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c19);\n            }\n        }\n        return s0;\n    }\n    function peg$parsenumberSkeleton() {\n        var s0, s1, s2;\n        s0 = peg$currPos;\n        s1 = [];\n        s2 = peg$parsenumberSkeletonToken();\n        if (s2 !== peg$FAILED) {\n            while (s2 !== peg$FAILED) {\n                s1.push(s2);\n                s2 = peg$parsenumberSkeletonToken();\n            }\n        }\n        else {\n            s1 = peg$FAILED;\n        }\n        if (s1 !== peg$FAILED) {\n            peg$savedPos = s0;\n            s1 = peg$c21(s1);\n        }\n        s0 = s1;\n        return s0;\n    }\n    function peg$parsenumberArgStyle() {\n        var s0, s1, s2;\n        s0 = peg$currPos;\n        if (input.substr(peg$currPos, 2) === peg$c22) {\n            s1 = peg$c22;\n            peg$currPos += 2;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c23);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parsenumberSkeleton();\n            if (s2 !== peg$FAILED) {\n                peg$savedPos = s0;\n                s1 = peg$c24(s2);\n                s0 = s1;\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        if (s0 === peg$FAILED) {\n            s0 = peg$currPos;\n            peg$savedPos = peg$currPos;\n            s1 = peg$c25();\n            if (s1) {\n                s1 = undefined;\n            }\n            else {\n                s1 = peg$FAILED;\n            }\n            if (s1 !== peg$FAILED) {\n                s2 = peg$parsemessageText();\n                if (s2 !== peg$FAILED) {\n                    peg$savedPos = s0;\n                    s1 = peg$c26(s2);\n                    s0 = s1;\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        return s0;\n    }\n    function peg$parsenumberFormatElement() {\n        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 123) {\n            s1 = peg$c6;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c7);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parse_();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$parseargNameOrNumber();\n                if (s3 !== peg$FAILED) {\n                    s4 = peg$parse_();\n                    if (s4 !== peg$FAILED) {\n                        if (input.charCodeAt(peg$currPos) === 44) {\n                            s5 = peg$c27;\n                            peg$currPos++;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c28);\n                            }\n                        }\n                        if (s5 !== peg$FAILED) {\n                            s6 = peg$parse_();\n                            if (s6 !== peg$FAILED) {\n                                if (input.substr(peg$currPos, 6) === peg$c29) {\n                                    s7 = peg$c29;\n                                    peg$currPos += 6;\n                                }\n                                else {\n                                    s7 = peg$FAILED;\n                                    if (peg$silentFails === 0) {\n                                        peg$fail(peg$c30);\n                                    }\n                                }\n                                if (s7 !== peg$FAILED) {\n                                    s8 = peg$parse_();\n                                    if (s8 !== peg$FAILED) {\n                                        s9 = peg$currPos;\n                                        if (input.charCodeAt(peg$currPos) === 44) {\n                                            s10 = peg$c27;\n                                            peg$currPos++;\n                                        }\n                                        else {\n                                            s10 = peg$FAILED;\n                                            if (peg$silentFails === 0) {\n                                                peg$fail(peg$c28);\n                                            }\n                                        }\n                                        if (s10 !== peg$FAILED) {\n                                            s11 = peg$parse_();\n                                            if (s11 !== peg$FAILED) {\n                                                s12 = peg$parsenumberArgStyle();\n                                                if (s12 !== peg$FAILED) {\n                                                    s10 = [s10, s11, s12];\n                                                    s9 = s10;\n                                                }\n                                                else {\n                                                    peg$currPos = s9;\n                                                    s9 = peg$FAILED;\n                                                }\n                                            }\n                                            else {\n                                                peg$currPos = s9;\n                                                s9 = peg$FAILED;\n                                            }\n                                        }\n                                        else {\n                                            peg$currPos = s9;\n                                            s9 = peg$FAILED;\n                                        }\n                                        if (s9 === peg$FAILED) {\n                                            s9 = null;\n                                        }\n                                        if (s9 !== peg$FAILED) {\n                                            s10 = peg$parse_();\n                                            if (s10 !== peg$FAILED) {\n                                                if (input.charCodeAt(peg$currPos) === 125) {\n                                                    s11 = peg$c8;\n                                                    peg$currPos++;\n                                                }\n                                                else {\n                                                    s11 = peg$FAILED;\n                                                    if (peg$silentFails === 0) {\n                                                        peg$fail(peg$c9);\n                                                    }\n                                                }\n                                                if (s11 !== peg$FAILED) {\n                                                    peg$savedPos = s0;\n                                                    s1 = peg$c31(s3, s7, s9);\n                                                    s0 = s1;\n                                                }\n                                                else {\n                                                    peg$currPos = s0;\n                                                    s0 = peg$FAILED;\n                                                }\n                                            }\n                                            else {\n                                                peg$currPos = s0;\n                                                s0 = peg$FAILED;\n                                            }\n                                        }\n                                        else {\n                                            peg$currPos = s0;\n                                            s0 = peg$FAILED;\n                                        }\n                                    }\n                                    else {\n                                        peg$currPos = s0;\n                                        s0 = peg$FAILED;\n                                    }\n                                }\n                                else {\n                                    peg$currPos = s0;\n                                    s0 = peg$FAILED;\n                                }\n                            }\n                            else {\n                                peg$currPos = s0;\n                                s0 = peg$FAILED;\n                            }\n                        }\n                        else {\n                            peg$currPos = s0;\n                            s0 = peg$FAILED;\n                        }\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parsedateTimeSkeletonLiteral() {\n        var s0, s1, s2, s3;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 39) {\n            s1 = peg$c32;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c33);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = [];\n            s3 = peg$parsedoubleApostrophes();\n            if (s3 === peg$FAILED) {\n                if (peg$c34.test(input.charAt(peg$currPos))) {\n                    s3 = input.charAt(peg$currPos);\n                    peg$currPos++;\n                }\n                else {\n                    s3 = peg$FAILED;\n                    if (peg$silentFails === 0) {\n                        peg$fail(peg$c35);\n                    }\n                }\n            }\n            if (s3 !== peg$FAILED) {\n                while (s3 !== peg$FAILED) {\n                    s2.push(s3);\n                    s3 = peg$parsedoubleApostrophes();\n                    if (s3 === peg$FAILED) {\n                        if (peg$c34.test(input.charAt(peg$currPos))) {\n                            s3 = input.charAt(peg$currPos);\n                            peg$currPos++;\n                        }\n                        else {\n                            s3 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c35);\n                            }\n                        }\n                    }\n                }\n            }\n            else {\n                s2 = peg$FAILED;\n            }\n            if (s2 !== peg$FAILED) {\n                if (input.charCodeAt(peg$currPos) === 39) {\n                    s3 = peg$c32;\n                    peg$currPos++;\n                }\n                else {\n                    s3 = peg$FAILED;\n                    if (peg$silentFails === 0) {\n                        peg$fail(peg$c33);\n                    }\n                }\n                if (s3 !== peg$FAILED) {\n                    s1 = [s1, s2, s3];\n                    s0 = s1;\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        if (s0 === peg$FAILED) {\n            s0 = [];\n            s1 = peg$parsedoubleApostrophes();\n            if (s1 === peg$FAILED) {\n                if (peg$c36.test(input.charAt(peg$currPos))) {\n                    s1 = input.charAt(peg$currPos);\n                    peg$currPos++;\n                }\n                else {\n                    s1 = peg$FAILED;\n                    if (peg$silentFails === 0) {\n                        peg$fail(peg$c37);\n                    }\n                }\n            }\n            if (s1 !== peg$FAILED) {\n                while (s1 !== peg$FAILED) {\n                    s0.push(s1);\n                    s1 = peg$parsedoubleApostrophes();\n                    if (s1 === peg$FAILED) {\n                        if (peg$c36.test(input.charAt(peg$currPos))) {\n                            s1 = input.charAt(peg$currPos);\n                            peg$currPos++;\n                        }\n                        else {\n                            s1 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c37);\n                            }\n                        }\n                    }\n                }\n            }\n            else {\n                s0 = peg$FAILED;\n            }\n        }\n        return s0;\n    }\n    function peg$parsedateTimeSkeletonPattern() {\n        var s0, s1;\n        s0 = [];\n        if (peg$c38.test(input.charAt(peg$currPos))) {\n            s1 = input.charAt(peg$currPos);\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c39);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            while (s1 !== peg$FAILED) {\n                s0.push(s1);\n                if (peg$c38.test(input.charAt(peg$currPos))) {\n                    s1 = input.charAt(peg$currPos);\n                    peg$currPos++;\n                }\n                else {\n                    s1 = peg$FAILED;\n                    if (peg$silentFails === 0) {\n                        peg$fail(peg$c39);\n                    }\n                }\n            }\n        }\n        else {\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parsedateTimeSkeleton() {\n        var s0, s1, s2, s3;\n        s0 = peg$currPos;\n        s1 = peg$currPos;\n        s2 = [];\n        s3 = peg$parsedateTimeSkeletonLiteral();\n        if (s3 === peg$FAILED) {\n            s3 = peg$parsedateTimeSkeletonPattern();\n        }\n        if (s3 !== peg$FAILED) {\n            while (s3 !== peg$FAILED) {\n                s2.push(s3);\n                s3 = peg$parsedateTimeSkeletonLiteral();\n                if (s3 === peg$FAILED) {\n                    s3 = peg$parsedateTimeSkeletonPattern();\n                }\n            }\n        }\n        else {\n            s2 = peg$FAILED;\n        }\n        if (s2 !== peg$FAILED) {\n            s1 = input.substring(s1, peg$currPos);\n        }\n        else {\n            s1 = s2;\n        }\n        if (s1 !== peg$FAILED) {\n            peg$savedPos = s0;\n            s1 = peg$c40(s1);\n        }\n        s0 = s1;\n        return s0;\n    }\n    function peg$parsedateOrTimeArgStyle() {\n        var s0, s1, s2;\n        s0 = peg$currPos;\n        if (input.substr(peg$currPos, 2) === peg$c22) {\n            s1 = peg$c22;\n            peg$currPos += 2;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c23);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parsedateTimeSkeleton();\n            if (s2 !== peg$FAILED) {\n                peg$savedPos = s0;\n                s1 = peg$c24(s2);\n                s0 = s1;\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        if (s0 === peg$FAILED) {\n            s0 = peg$currPos;\n            peg$savedPos = peg$currPos;\n            s1 = peg$c41();\n            if (s1) {\n                s1 = undefined;\n            }\n            else {\n                s1 = peg$FAILED;\n            }\n            if (s1 !== peg$FAILED) {\n                s2 = peg$parsemessageText();\n                if (s2 !== peg$FAILED) {\n                    peg$savedPos = s0;\n                    s1 = peg$c26(s2);\n                    s0 = s1;\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        return s0;\n    }\n    function peg$parsedateOrTimeFormatElement() {\n        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 123) {\n            s1 = peg$c6;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c7);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parse_();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$parseargNameOrNumber();\n                if (s3 !== peg$FAILED) {\n                    s4 = peg$parse_();\n                    if (s4 !== peg$FAILED) {\n                        if (input.charCodeAt(peg$currPos) === 44) {\n                            s5 = peg$c27;\n                            peg$currPos++;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c28);\n                            }\n                        }\n                        if (s5 !== peg$FAILED) {\n                            s6 = peg$parse_();\n                            if (s6 !== peg$FAILED) {\n                                if (input.substr(peg$currPos, 4) === peg$c42) {\n                                    s7 = peg$c42;\n                                    peg$currPos += 4;\n                                }\n                                else {\n                                    s7 = peg$FAILED;\n                                    if (peg$silentFails === 0) {\n                                        peg$fail(peg$c43);\n                                    }\n                                }\n                                if (s7 === peg$FAILED) {\n                                    if (input.substr(peg$currPos, 4) === peg$c44) {\n                                        s7 = peg$c44;\n                                        peg$currPos += 4;\n                                    }\n                                    else {\n                                        s7 = peg$FAILED;\n                                        if (peg$silentFails === 0) {\n                                            peg$fail(peg$c45);\n                                        }\n                                    }\n                                }\n                                if (s7 !== peg$FAILED) {\n                                    s8 = peg$parse_();\n                                    if (s8 !== peg$FAILED) {\n                                        s9 = peg$currPos;\n                                        if (input.charCodeAt(peg$currPos) === 44) {\n                                            s10 = peg$c27;\n                                            peg$currPos++;\n                                        }\n                                        else {\n                                            s10 = peg$FAILED;\n                                            if (peg$silentFails === 0) {\n                                                peg$fail(peg$c28);\n                                            }\n                                        }\n                                        if (s10 !== peg$FAILED) {\n                                            s11 = peg$parse_();\n                                            if (s11 !== peg$FAILED) {\n                                                s12 = peg$parsedateOrTimeArgStyle();\n                                                if (s12 !== peg$FAILED) {\n                                                    s10 = [s10, s11, s12];\n                                                    s9 = s10;\n                                                }\n                                                else {\n                                                    peg$currPos = s9;\n                                                    s9 = peg$FAILED;\n                                                }\n                                            }\n                                            else {\n                                                peg$currPos = s9;\n                                                s9 = peg$FAILED;\n                                            }\n                                        }\n                                        else {\n                                            peg$currPos = s9;\n                                            s9 = peg$FAILED;\n                                        }\n                                        if (s9 === peg$FAILED) {\n                                            s9 = null;\n                                        }\n                                        if (s9 !== peg$FAILED) {\n                                            s10 = peg$parse_();\n                                            if (s10 !== peg$FAILED) {\n                                                if (input.charCodeAt(peg$currPos) === 125) {\n                                                    s11 = peg$c8;\n                                                    peg$currPos++;\n                                                }\n                                                else {\n                                                    s11 = peg$FAILED;\n                                                    if (peg$silentFails === 0) {\n                                                        peg$fail(peg$c9);\n                                                    }\n                                                }\n                                                if (s11 !== peg$FAILED) {\n                                                    peg$savedPos = s0;\n                                                    s1 = peg$c31(s3, s7, s9);\n                                                    s0 = s1;\n                                                }\n                                                else {\n                                                    peg$currPos = s0;\n                                                    s0 = peg$FAILED;\n                                                }\n                                            }\n                                            else {\n                                                peg$currPos = s0;\n                                                s0 = peg$FAILED;\n                                            }\n                                        }\n                                        else {\n                                            peg$currPos = s0;\n                                            s0 = peg$FAILED;\n                                        }\n                                    }\n                                    else {\n                                        peg$currPos = s0;\n                                        s0 = peg$FAILED;\n                                    }\n                                }\n                                else {\n                                    peg$currPos = s0;\n                                    s0 = peg$FAILED;\n                                }\n                            }\n                            else {\n                                peg$currPos = s0;\n                                s0 = peg$FAILED;\n                            }\n                        }\n                        else {\n                            peg$currPos = s0;\n                            s0 = peg$FAILED;\n                        }\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parsesimpleFormatElement() {\n        var s0;\n        s0 = peg$parsenumberFormatElement();\n        if (s0 === peg$FAILED) {\n            s0 = peg$parsedateOrTimeFormatElement();\n        }\n        return s0;\n    }\n    function peg$parsepluralElement() {\n        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 123) {\n            s1 = peg$c6;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c7);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parse_();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$parseargNameOrNumber();\n                if (s3 !== peg$FAILED) {\n                    s4 = peg$parse_();\n                    if (s4 !== peg$FAILED) {\n                        if (input.charCodeAt(peg$currPos) === 44) {\n                            s5 = peg$c27;\n                            peg$currPos++;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c28);\n                            }\n                        }\n                        if (s5 !== peg$FAILED) {\n                            s6 = peg$parse_();\n                            if (s6 !== peg$FAILED) {\n                                if (input.substr(peg$currPos, 6) === peg$c46) {\n                                    s7 = peg$c46;\n                                    peg$currPos += 6;\n                                }\n                                else {\n                                    s7 = peg$FAILED;\n                                    if (peg$silentFails === 0) {\n                                        peg$fail(peg$c47);\n                                    }\n                                }\n                                if (s7 === peg$FAILED) {\n                                    if (input.substr(peg$currPos, 13) === peg$c48) {\n                                        s7 = peg$c48;\n                                        peg$currPos += 13;\n                                    }\n                                    else {\n                                        s7 = peg$FAILED;\n                                        if (peg$silentFails === 0) {\n                                            peg$fail(peg$c49);\n                                        }\n                                    }\n                                }\n                                if (s7 !== peg$FAILED) {\n                                    s8 = peg$parse_();\n                                    if (s8 !== peg$FAILED) {\n                                        if (input.charCodeAt(peg$currPos) === 44) {\n                                            s9 = peg$c27;\n                                            peg$currPos++;\n                                        }\n                                        else {\n                                            s9 = peg$FAILED;\n                                            if (peg$silentFails === 0) {\n                                                peg$fail(peg$c28);\n                                            }\n                                        }\n                                        if (s9 !== peg$FAILED) {\n                                            s10 = peg$parse_();\n                                            if (s10 !== peg$FAILED) {\n                                                s11 = peg$currPos;\n                                                if (input.substr(peg$currPos, 7) === peg$c50) {\n                                                    s12 = peg$c50;\n                                                    peg$currPos += 7;\n                                                }\n                                                else {\n                                                    s12 = peg$FAILED;\n                                                    if (peg$silentFails === 0) {\n                                                        peg$fail(peg$c51);\n                                                    }\n                                                }\n                                                if (s12 !== peg$FAILED) {\n                                                    s13 = peg$parse_();\n                                                    if (s13 !== peg$FAILED) {\n                                                        s14 = peg$parsenumber();\n                                                        if (s14 !== peg$FAILED) {\n                                                            s12 = [s12, s13, s14];\n                                                            s11 = s12;\n                                                        }\n                                                        else {\n                                                            peg$currPos = s11;\n                                                            s11 = peg$FAILED;\n                                                        }\n                                                    }\n                                                    else {\n                                                        peg$currPos = s11;\n                                                        s11 = peg$FAILED;\n                                                    }\n                                                }\n                                                else {\n                                                    peg$currPos = s11;\n                                                    s11 = peg$FAILED;\n                                                }\n                                                if (s11 === peg$FAILED) {\n                                                    s11 = null;\n                                                }\n                                                if (s11 !== peg$FAILED) {\n                                                    s12 = peg$parse_();\n                                                    if (s12 !== peg$FAILED) {\n                                                        s13 = [];\n                                                        s14 = peg$parsepluralOption();\n                                                        if (s14 !== peg$FAILED) {\n                                                            while (s14 !== peg$FAILED) {\n                                                                s13.push(s14);\n                                                                s14 = peg$parsepluralOption();\n                                                            }\n                                                        }\n                                                        else {\n                                                            s13 = peg$FAILED;\n                                                        }\n                                                        if (s13 !== peg$FAILED) {\n                                                            s14 = peg$parse_();\n                                                            if (s14 !== peg$FAILED) {\n                                                                if (input.charCodeAt(peg$currPos) === 125) {\n                                                                    s15 = peg$c8;\n                                                                    peg$currPos++;\n                                                                }\n                                                                else {\n                                                                    s15 = peg$FAILED;\n                                                                    if (peg$silentFails === 0) {\n                                                                        peg$fail(peg$c9);\n                                                                    }\n                                                                }\n                                                                if (s15 !== peg$FAILED) {\n                                                                    peg$savedPos = s0;\n                                                                    s1 = peg$c52(s3, s7, s11, s13);\n                                                                    s0 = s1;\n                                                                }\n                                                                else {\n                                                                    peg$currPos = s0;\n                                                                    s0 = peg$FAILED;\n                                                                }\n                                                            }\n                                                            else {\n                                                                peg$currPos = s0;\n                                                                s0 = peg$FAILED;\n                                                            }\n                                                        }\n                                                        else {\n                                                            peg$currPos = s0;\n                                                            s0 = peg$FAILED;\n                                                        }\n                                                    }\n                                                    else {\n                                                        peg$currPos = s0;\n                                                        s0 = peg$FAILED;\n                                                    }\n                                                }\n                                                else {\n                                                    peg$currPos = s0;\n                                                    s0 = peg$FAILED;\n                                                }\n                                            }\n                                            else {\n                                                peg$currPos = s0;\n                                                s0 = peg$FAILED;\n                                            }\n                                        }\n                                        else {\n                                            peg$currPos = s0;\n                                            s0 = peg$FAILED;\n                                        }\n                                    }\n                                    else {\n                                        peg$currPos = s0;\n                                        s0 = peg$FAILED;\n                                    }\n                                }\n                                else {\n                                    peg$currPos = s0;\n                                    s0 = peg$FAILED;\n                                }\n                            }\n                            else {\n                                peg$currPos = s0;\n                                s0 = peg$FAILED;\n                            }\n                        }\n                        else {\n                            peg$currPos = s0;\n                            s0 = peg$FAILED;\n                        }\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parseselectElement() {\n        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 123) {\n            s1 = peg$c6;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c7);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parse_();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$parseargNameOrNumber();\n                if (s3 !== peg$FAILED) {\n                    s4 = peg$parse_();\n                    if (s4 !== peg$FAILED) {\n                        if (input.charCodeAt(peg$currPos) === 44) {\n                            s5 = peg$c27;\n                            peg$currPos++;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c28);\n                            }\n                        }\n                        if (s5 !== peg$FAILED) {\n                            s6 = peg$parse_();\n                            if (s6 !== peg$FAILED) {\n                                if (input.substr(peg$currPos, 6) === peg$c53) {\n                                    s7 = peg$c53;\n                                    peg$currPos += 6;\n                                }\n                                else {\n                                    s7 = peg$FAILED;\n                                    if (peg$silentFails === 0) {\n                                        peg$fail(peg$c54);\n                                    }\n                                }\n                                if (s7 !== peg$FAILED) {\n                                    s8 = peg$parse_();\n                                    if (s8 !== peg$FAILED) {\n                                        if (input.charCodeAt(peg$currPos) === 44) {\n                                            s9 = peg$c27;\n                                            peg$currPos++;\n                                        }\n                                        else {\n                                            s9 = peg$FAILED;\n                                            if (peg$silentFails === 0) {\n                                                peg$fail(peg$c28);\n                                            }\n                                        }\n                                        if (s9 !== peg$FAILED) {\n                                            s10 = peg$parse_();\n                                            if (s10 !== peg$FAILED) {\n                                                s11 = [];\n                                                s12 = peg$parseselectOption();\n                                                if (s12 !== peg$FAILED) {\n                                                    while (s12 !== peg$FAILED) {\n                                                        s11.push(s12);\n                                                        s12 = peg$parseselectOption();\n                                                    }\n                                                }\n                                                else {\n                                                    s11 = peg$FAILED;\n                                                }\n                                                if (s11 !== peg$FAILED) {\n                                                    s12 = peg$parse_();\n                                                    if (s12 !== peg$FAILED) {\n                                                        if (input.charCodeAt(peg$currPos) === 125) {\n                                                            s13 = peg$c8;\n                                                            peg$currPos++;\n                                                        }\n                                                        else {\n                                                            s13 = peg$FAILED;\n                                                            if (peg$silentFails === 0) {\n                                                                peg$fail(peg$c9);\n                                                            }\n                                                        }\n                                                        if (s13 !== peg$FAILED) {\n                                                            peg$savedPos = s0;\n                                                            s1 = peg$c55(s3, s11);\n                                                            s0 = s1;\n                                                        }\n                                                        else {\n                                                            peg$currPos = s0;\n                                                            s0 = peg$FAILED;\n                                                        }\n                                                    }\n                                                    else {\n                                                        peg$currPos = s0;\n                                                        s0 = peg$FAILED;\n                                                    }\n                                                }\n                                                else {\n                                                    peg$currPos = s0;\n                                                    s0 = peg$FAILED;\n                                                }\n                                            }\n                                            else {\n                                                peg$currPos = s0;\n                                                s0 = peg$FAILED;\n                                            }\n                                        }\n                                        else {\n                                            peg$currPos = s0;\n                                            s0 = peg$FAILED;\n                                        }\n                                    }\n                                    else {\n                                        peg$currPos = s0;\n                                        s0 = peg$FAILED;\n                                    }\n                                }\n                                else {\n                                    peg$currPos = s0;\n                                    s0 = peg$FAILED;\n                                }\n                            }\n                            else {\n                                peg$currPos = s0;\n                                s0 = peg$FAILED;\n                            }\n                        }\n                        else {\n                            peg$currPos = s0;\n                            s0 = peg$FAILED;\n                        }\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parsepluralRuleSelectValue() {\n        var s0, s1, s2, s3;\n        s0 = peg$currPos;\n        s1 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 61) {\n            s2 = peg$c56;\n            peg$currPos++;\n        }\n        else {\n            s2 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c57);\n            }\n        }\n        if (s2 !== peg$FAILED) {\n            s3 = peg$parsenumber();\n            if (s3 !== peg$FAILED) {\n                s2 = [s2, s3];\n                s1 = s2;\n            }\n            else {\n                peg$currPos = s1;\n                s1 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s1;\n            s1 = peg$FAILED;\n        }\n        if (s1 !== peg$FAILED) {\n            s0 = input.substring(s0, peg$currPos);\n        }\n        else {\n            s0 = s1;\n        }\n        if (s0 === peg$FAILED) {\n            s0 = peg$parseargName();\n        }\n        return s0;\n    }\n    function peg$parseselectOption() {\n        var s0, s1, s2, s3, s4, s5, s6, s7;\n        s0 = peg$currPos;\n        s1 = peg$parse_();\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parseargName();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$parse_();\n                if (s3 !== peg$FAILED) {\n                    if (input.charCodeAt(peg$currPos) === 123) {\n                        s4 = peg$c6;\n                        peg$currPos++;\n                    }\n                    else {\n                        s4 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c7);\n                        }\n                    }\n                    if (s4 !== peg$FAILED) {\n                        peg$savedPos = peg$currPos;\n                        s5 = peg$c58(s2);\n                        if (s5) {\n                            s5 = undefined;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                        }\n                        if (s5 !== peg$FAILED) {\n                            s6 = peg$parsemessage();\n                            if (s6 !== peg$FAILED) {\n                                if (input.charCodeAt(peg$currPos) === 125) {\n                                    s7 = peg$c8;\n                                    peg$currPos++;\n                                }\n                                else {\n                                    s7 = peg$FAILED;\n                                    if (peg$silentFails === 0) {\n                                        peg$fail(peg$c9);\n                                    }\n                                }\n                                if (s7 !== peg$FAILED) {\n                                    peg$savedPos = s0;\n                                    s1 = peg$c59(s2, s6);\n                                    s0 = s1;\n                                }\n                                else {\n                                    peg$currPos = s0;\n                                    s0 = peg$FAILED;\n                                }\n                            }\n                            else {\n                                peg$currPos = s0;\n                                s0 = peg$FAILED;\n                            }\n                        }\n                        else {\n                            peg$currPos = s0;\n                            s0 = peg$FAILED;\n                        }\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parsepluralOption() {\n        var s0, s1, s2, s3, s4, s5, s6, s7;\n        s0 = peg$currPos;\n        s1 = peg$parse_();\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parsepluralRuleSelectValue();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$parse_();\n                if (s3 !== peg$FAILED) {\n                    if (input.charCodeAt(peg$currPos) === 123) {\n                        s4 = peg$c6;\n                        peg$currPos++;\n                    }\n                    else {\n                        s4 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c7);\n                        }\n                    }\n                    if (s4 !== peg$FAILED) {\n                        peg$savedPos = peg$currPos;\n                        s5 = peg$c60(s2);\n                        if (s5) {\n                            s5 = undefined;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                        }\n                        if (s5 !== peg$FAILED) {\n                            s6 = peg$parsemessage();\n                            if (s6 !== peg$FAILED) {\n                                if (input.charCodeAt(peg$currPos) === 125) {\n                                    s7 = peg$c8;\n                                    peg$currPos++;\n                                }\n                                else {\n                                    s7 = peg$FAILED;\n                                    if (peg$silentFails === 0) {\n                                        peg$fail(peg$c9);\n                                    }\n                                }\n                                if (s7 !== peg$FAILED) {\n                                    peg$savedPos = s0;\n                                    s1 = peg$c61(s2, s6);\n                                    s0 = s1;\n                                }\n                                else {\n                                    peg$currPos = s0;\n                                    s0 = peg$FAILED;\n                                }\n                            }\n                            else {\n                                peg$currPos = s0;\n                                s0 = peg$FAILED;\n                            }\n                        }\n                        else {\n                            peg$currPos = s0;\n                            s0 = peg$FAILED;\n                        }\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parsewhiteSpace() {\n        var s0, s1;\n        peg$silentFails++;\n        if (peg$c63.test(input.charAt(peg$currPos))) {\n            s0 = input.charAt(peg$currPos);\n            peg$currPos++;\n        }\n        else {\n            s0 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c64);\n            }\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c62);\n            }\n        }\n        return s0;\n    }\n    function peg$parsepatternSyntax() {\n        var s0, s1;\n        peg$silentFails++;\n        if (peg$c66.test(input.charAt(peg$currPos))) {\n            s0 = input.charAt(peg$currPos);\n            peg$currPos++;\n        }\n        else {\n            s0 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c67);\n            }\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c65);\n            }\n        }\n        return s0;\n    }\n    function peg$parse_() {\n        var s0, s1, s2;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        s1 = [];\n        s2 = peg$parsewhiteSpace();\n        while (s2 !== peg$FAILED) {\n            s1.push(s2);\n            s2 = peg$parsewhiteSpace();\n        }\n        if (s1 !== peg$FAILED) {\n            s0 = input.substring(s0, peg$currPos);\n        }\n        else {\n            s0 = s1;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c68);\n            }\n        }\n        return s0;\n    }\n    function peg$parsenumber() {\n        var s0, s1, s2;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 45) {\n            s1 = peg$c70;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c71);\n            }\n        }\n        if (s1 === peg$FAILED) {\n            s1 = null;\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parseargNumber();\n            if (s2 !== peg$FAILED) {\n                peg$savedPos = s0;\n                s1 = peg$c72(s1, s2);\n                s0 = s1;\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c69);\n            }\n        }\n        return s0;\n    }\n    function peg$parseapostrophe() {\n        var s0, s1;\n        peg$silentFails++;\n        if (input.charCodeAt(peg$currPos) === 39) {\n            s0 = peg$c32;\n            peg$currPos++;\n        }\n        else {\n            s0 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c33);\n            }\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c73);\n            }\n        }\n        return s0;\n    }\n    function peg$parsedoubleApostrophes() {\n        var s0, s1;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        if (input.substr(peg$currPos, 2) === peg$c75) {\n            s1 = peg$c75;\n            peg$currPos += 2;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c76);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            peg$savedPos = s0;\n            s1 = peg$c77();\n        }\n        s0 = s1;\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c74);\n            }\n        }\n        return s0;\n    }\n    function peg$parsequotedString() {\n        var s0, s1, s2, s3, s4, s5;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 39) {\n            s1 = peg$c32;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c33);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s2 = peg$parseescapedChar();\n            if (s2 !== peg$FAILED) {\n                s3 = peg$currPos;\n                s4 = [];\n                if (input.substr(peg$currPos, 2) === peg$c75) {\n                    s5 = peg$c75;\n                    peg$currPos += 2;\n                }\n                else {\n                    s5 = peg$FAILED;\n                    if (peg$silentFails === 0) {\n                        peg$fail(peg$c76);\n                    }\n                }\n                if (s5 === peg$FAILED) {\n                    if (peg$c34.test(input.charAt(peg$currPos))) {\n                        s5 = input.charAt(peg$currPos);\n                        peg$currPos++;\n                    }\n                    else {\n                        s5 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c35);\n                        }\n                    }\n                }\n                while (s5 !== peg$FAILED) {\n                    s4.push(s5);\n                    if (input.substr(peg$currPos, 2) === peg$c75) {\n                        s5 = peg$c75;\n                        peg$currPos += 2;\n                    }\n                    else {\n                        s5 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c76);\n                        }\n                    }\n                    if (s5 === peg$FAILED) {\n                        if (peg$c34.test(input.charAt(peg$currPos))) {\n                            s5 = input.charAt(peg$currPos);\n                            peg$currPos++;\n                        }\n                        else {\n                            s5 = peg$FAILED;\n                            if (peg$silentFails === 0) {\n                                peg$fail(peg$c35);\n                            }\n                        }\n                    }\n                }\n                if (s4 !== peg$FAILED) {\n                    s3 = input.substring(s3, peg$currPos);\n                }\n                else {\n                    s3 = s4;\n                }\n                if (s3 !== peg$FAILED) {\n                    if (input.charCodeAt(peg$currPos) === 39) {\n                        s4 = peg$c32;\n                        peg$currPos++;\n                    }\n                    else {\n                        s4 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c33);\n                        }\n                    }\n                    if (s4 === peg$FAILED) {\n                        s4 = null;\n                    }\n                    if (s4 !== peg$FAILED) {\n                        peg$savedPos = s0;\n                        s1 = peg$c78(s2, s3);\n                        s0 = s1;\n                    }\n                    else {\n                        peg$currPos = s0;\n                        s0 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s0;\n                    s0 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s0;\n                s0 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s0;\n            s0 = peg$FAILED;\n        }\n        return s0;\n    }\n    function peg$parseunquotedString() {\n        var s0, s1, s2, s3;\n        s0 = peg$currPos;\n        s1 = peg$currPos;\n        if (input.length > peg$currPos) {\n            s2 = input.charAt(peg$currPos);\n            peg$currPos++;\n        }\n        else {\n            s2 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c14);\n            }\n        }\n        if (s2 !== peg$FAILED) {\n            peg$savedPos = peg$currPos;\n            s3 = peg$c79(s2);\n            if (s3) {\n                s3 = undefined;\n            }\n            else {\n                s3 = peg$FAILED;\n            }\n            if (s3 !== peg$FAILED) {\n                s2 = [s2, s3];\n                s1 = s2;\n            }\n            else {\n                peg$currPos = s1;\n                s1 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s1;\n            s1 = peg$FAILED;\n        }\n        if (s1 === peg$FAILED) {\n            if (input.charCodeAt(peg$currPos) === 10) {\n                s1 = peg$c80;\n                peg$currPos++;\n            }\n            else {\n                s1 = peg$FAILED;\n                if (peg$silentFails === 0) {\n                    peg$fail(peg$c81);\n                }\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            s0 = input.substring(s0, peg$currPos);\n        }\n        else {\n            s0 = s1;\n        }\n        return s0;\n    }\n    function peg$parseescapedChar() {\n        var s0, s1, s2, s3;\n        s0 = peg$currPos;\n        s1 = peg$currPos;\n        if (input.length > peg$currPos) {\n            s2 = input.charAt(peg$currPos);\n            peg$currPos++;\n        }\n        else {\n            s2 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c14);\n            }\n        }\n        if (s2 !== peg$FAILED) {\n            peg$savedPos = peg$currPos;\n            s3 = peg$c82(s2);\n            if (s3) {\n                s3 = undefined;\n            }\n            else {\n                s3 = peg$FAILED;\n            }\n            if (s3 !== peg$FAILED) {\n                s2 = [s2, s3];\n                s1 = s2;\n            }\n            else {\n                peg$currPos = s1;\n                s1 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s1;\n            s1 = peg$FAILED;\n        }\n        if (s1 !== peg$FAILED) {\n            s0 = input.substring(s0, peg$currPos);\n        }\n        else {\n            s0 = s1;\n        }\n        return s0;\n    }\n    function peg$parseargNameOrNumber() {\n        var s0, s1;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        s1 = peg$parseargNumber();\n        if (s1 === peg$FAILED) {\n            s1 = peg$parseargName();\n        }\n        if (s1 !== peg$FAILED) {\n            s0 = input.substring(s0, peg$currPos);\n        }\n        else {\n            s0 = s1;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c83);\n            }\n        }\n        return s0;\n    }\n    function peg$parseargNumber() {\n        var s0, s1, s2, s3, s4;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        if (input.charCodeAt(peg$currPos) === 48) {\n            s1 = peg$c85;\n            peg$currPos++;\n        }\n        else {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c86);\n            }\n        }\n        if (s1 !== peg$FAILED) {\n            peg$savedPos = s0;\n            s1 = peg$c87();\n        }\n        s0 = s1;\n        if (s0 === peg$FAILED) {\n            s0 = peg$currPos;\n            s1 = peg$currPos;\n            if (peg$c88.test(input.charAt(peg$currPos))) {\n                s2 = input.charAt(peg$currPos);\n                peg$currPos++;\n            }\n            else {\n                s2 = peg$FAILED;\n                if (peg$silentFails === 0) {\n                    peg$fail(peg$c89);\n                }\n            }\n            if (s2 !== peg$FAILED) {\n                s3 = [];\n                if (peg$c90.test(input.charAt(peg$currPos))) {\n                    s4 = input.charAt(peg$currPos);\n                    peg$currPos++;\n                }\n                else {\n                    s4 = peg$FAILED;\n                    if (peg$silentFails === 0) {\n                        peg$fail(peg$c91);\n                    }\n                }\n                while (s4 !== peg$FAILED) {\n                    s3.push(s4);\n                    if (peg$c90.test(input.charAt(peg$currPos))) {\n                        s4 = input.charAt(peg$currPos);\n                        peg$currPos++;\n                    }\n                    else {\n                        s4 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c91);\n                        }\n                    }\n                }\n                if (s3 !== peg$FAILED) {\n                    s2 = [s2, s3];\n                    s1 = s2;\n                }\n                else {\n                    peg$currPos = s1;\n                    s1 = peg$FAILED;\n                }\n            }\n            else {\n                peg$currPos = s1;\n                s1 = peg$FAILED;\n            }\n            if (s1 !== peg$FAILED) {\n                peg$savedPos = s0;\n                s1 = peg$c92(s1);\n            }\n            s0 = s1;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c84);\n            }\n        }\n        return s0;\n    }\n    function peg$parseargName() {\n        var s0, s1, s2, s3, s4;\n        peg$silentFails++;\n        s0 = peg$currPos;\n        s1 = [];\n        s2 = peg$currPos;\n        s3 = peg$currPos;\n        peg$silentFails++;\n        s4 = peg$parsewhiteSpace();\n        if (s4 === peg$FAILED) {\n            s4 = peg$parsepatternSyntax();\n        }\n        peg$silentFails--;\n        if (s4 === peg$FAILED) {\n            s3 = undefined;\n        }\n        else {\n            peg$currPos = s3;\n            s3 = peg$FAILED;\n        }\n        if (s3 !== peg$FAILED) {\n            if (input.length > peg$currPos) {\n                s4 = input.charAt(peg$currPos);\n                peg$currPos++;\n            }\n            else {\n                s4 = peg$FAILED;\n                if (peg$silentFails === 0) {\n                    peg$fail(peg$c14);\n                }\n            }\n            if (s4 !== peg$FAILED) {\n                s3 = [s3, s4];\n                s2 = s3;\n            }\n            else {\n                peg$currPos = s2;\n                s2 = peg$FAILED;\n            }\n        }\n        else {\n            peg$currPos = s2;\n            s2 = peg$FAILED;\n        }\n        if (s2 !== peg$FAILED) {\n            while (s2 !== peg$FAILED) {\n                s1.push(s2);\n                s2 = peg$currPos;\n                s3 = peg$currPos;\n                peg$silentFails++;\n                s4 = peg$parsewhiteSpace();\n                if (s4 === peg$FAILED) {\n                    s4 = peg$parsepatternSyntax();\n                }\n                peg$silentFails--;\n                if (s4 === peg$FAILED) {\n                    s3 = undefined;\n                }\n                else {\n                    peg$currPos = s3;\n                    s3 = peg$FAILED;\n                }\n                if (s3 !== peg$FAILED) {\n                    if (input.length > peg$currPos) {\n                        s4 = input.charAt(peg$currPos);\n                        peg$currPos++;\n                    }\n                    else {\n                        s4 = peg$FAILED;\n                        if (peg$silentFails === 0) {\n                            peg$fail(peg$c14);\n                        }\n                    }\n                    if (s4 !== peg$FAILED) {\n                        s3 = [s3, s4];\n                        s2 = s3;\n                    }\n                    else {\n                        peg$currPos = s2;\n                        s2 = peg$FAILED;\n                    }\n                }\n                else {\n                    peg$currPos = s2;\n                    s2 = peg$FAILED;\n                }\n            }\n        }\n        else {\n            s1 = peg$FAILED;\n        }\n        if (s1 !== peg$FAILED) {\n            s0 = input.substring(s0, peg$currPos);\n        }\n        else {\n            s0 = s1;\n        }\n        peg$silentFails--;\n        if (s0 === peg$FAILED) {\n            s1 = peg$FAILED;\n            if (peg$silentFails === 0) {\n                peg$fail(peg$c93);\n            }\n        }\n        return s0;\n    }\n    var messageCtx = ['root'];\n    function isNestedMessageText() {\n        return messageCtx.length > 1;\n    }\n    function isInPluralOption() {\n        return messageCtx[messageCtx.length - 1] === 'plural';\n    }\n    function insertLocation() {\n        return options && options.captureLocation ? {\n            location: location()\n        } : {};\n    }\n    peg$result = peg$startRuleFunction();\n    if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n        return peg$result;\n    }\n    else {\n        if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n            peg$fail(peg$endExpectation());\n        }\n        throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n            ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n            : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n    }\n}\nexport var pegParse = peg$parse;\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n            r[k] = a[j];\n    return r;\n};\nimport { isPluralElement, isLiteralElement, isSelectElement, } from './types';\nimport { pegParse } from './parser';\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nexport function normalizeHashtagInPlural(els) {\n    els.forEach(function (el) {\n        // If we're encountering a plural el\n        if (!isPluralElement(el) && !isSelectElement(el)) {\n            return;\n        }\n        // Go down the options and search for # in any literal element\n        Object.keys(el.options).forEach(function (id) {\n            var _a;\n            var opt = el.options[id];\n            // If we got a match, we have to split this\n            // and inject a NumberElement in the middle\n            var matchingLiteralElIndex = -1;\n            var literalEl = undefined;\n            for (var i = 0; i < opt.value.length; i++) {\n                var el_1 = opt.value[i];\n                if (isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n                    matchingLiteralElIndex = i;\n                    literalEl = el_1;\n                    break;\n                }\n            }\n            if (literalEl) {\n                var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n                var newEls = pegParse(newValue);\n                (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n            }\n            normalizeHashtagInPlural(opt.value);\n        });\n    });\n}\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\n/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n    var result = {};\n    skeleton.replace(DATE_TIME_REGEX, function (match) {\n        var len = match.length;\n        switch (match[0]) {\n            // Era\n            case 'G':\n                result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n                break;\n            // Year\n            case 'y':\n                result.year = len === 2 ? '2-digit' : 'numeric';\n                break;\n            case 'Y':\n            case 'u':\n            case 'U':\n            case 'r':\n                throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n            // Quarter\n            case 'q':\n            case 'Q':\n                throw new RangeError('`q/Q` (quarter) patterns are not supported');\n            // Month\n            case 'M':\n            case 'L':\n                result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n                break;\n            // Week\n            case 'w':\n            case 'W':\n                throw new RangeError('`w/W` (week) patterns are not supported');\n            case 'd':\n                result.day = ['numeric', '2-digit'][len - 1];\n                break;\n            case 'D':\n            case 'F':\n            case 'g':\n                throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n            // Weekday\n            case 'E':\n                result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n                break;\n            case 'e':\n                if (len < 4) {\n                    throw new RangeError('`e..eee` (weekday) patterns are not supported');\n                }\n                result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n                break;\n            case 'c':\n                if (len < 4) {\n                    throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n                }\n                result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n                break;\n            // Period\n            case 'a': // AM, PM\n                result.hour12 = true;\n                break;\n            case 'b': // am, pm, noon, midnight\n            case 'B': // flexible day periods\n                throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n            // Hour\n            case 'h':\n                result.hourCycle = 'h12';\n                result.hour = ['numeric', '2-digit'][len - 1];\n                break;\n            case 'H':\n                result.hourCycle = 'h23';\n                result.hour = ['numeric', '2-digit'][len - 1];\n                break;\n            case 'K':\n                result.hourCycle = 'h11';\n                result.hour = ['numeric', '2-digit'][len - 1];\n                break;\n            case 'k':\n                result.hourCycle = 'h24';\n                result.hour = ['numeric', '2-digit'][len - 1];\n                break;\n            case 'j':\n            case 'J':\n            case 'C':\n                throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n            // Minute\n            case 'm':\n                result.minute = ['numeric', '2-digit'][len - 1];\n                break;\n            // Second\n            case 's':\n                result.second = ['numeric', '2-digit'][len - 1];\n                break;\n            case 'S':\n            case 'A':\n                throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead');\n            // Zone\n            case 'z': // 1..3, 4: specific non-location format\n                result.timeZoneName = len < 4 ? 'short' : 'long';\n                break;\n            case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n            case 'O': // 1, 4: miliseconds in day short, long\n            case 'v': // 1, 4: generic non-location format\n            case 'V': // 1, 2, 3, 4: time zone ID or city\n            case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n            case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n                throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead');\n        }\n        return '';\n    });\n    return result;\n}\nfunction icuUnitToEcma(unit) {\n    return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\+|#+)?)?$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n    var result = {};\n    str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n        // @@@ case\n        if (typeof g2 !== 'string') {\n            result.minimumSignificantDigits = g1.length;\n            result.maximumSignificantDigits = g1.length;\n        }\n        // @@@+ case\n        else if (g2 === '+') {\n            result.minimumSignificantDigits = g1.length;\n        }\n        // .### case\n        else if (g1[0] === '#') {\n            result.maximumSignificantDigits = g1.length;\n        }\n        // .@@## or .@@@ case\n        else {\n            result.minimumSignificantDigits = g1.length;\n            result.maximumSignificantDigits =\n                g1.length + (typeof g2 === 'string' ? g2.length : 0);\n        }\n        return '';\n    });\n    return result;\n}\nfunction parseSign(str) {\n    switch (str) {\n        case 'sign-auto':\n            return {\n                signDisplay: 'auto',\n            };\n        case 'sign-accounting':\n            return {\n                currencySign: 'accounting',\n            };\n        case 'sign-always':\n            return {\n                signDisplay: 'always',\n            };\n        case 'sign-accounting-always':\n            return {\n                signDisplay: 'always',\n                currencySign: 'accounting',\n            };\n        case 'sign-except-zero':\n            return {\n                signDisplay: 'exceptZero',\n            };\n        case 'sign-accounting-except-zero':\n            return {\n                signDisplay: 'exceptZero',\n                currencySign: 'accounting',\n            };\n        case 'sign-never':\n            return {\n                signDisplay: 'never',\n            };\n    }\n}\nfunction parseNotationOptions(opt) {\n    var result = {};\n    var signOpts = parseSign(opt);\n    if (signOpts) {\n        return signOpts;\n    }\n    return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function convertNumberSkeletonToNumberFormatOptions(tokens) {\n    var result = {};\n    for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n        var token = tokens_1[_i];\n        switch (token.stem) {\n            case 'percent':\n                result.style = 'percent';\n                continue;\n            case 'currency':\n                result.style = 'currency';\n                result.currency = token.options[0];\n                continue;\n            case 'group-off':\n                result.useGrouping = false;\n                continue;\n            case 'precision-integer':\n                result.maximumFractionDigits = 0;\n                continue;\n            case 'measure-unit':\n                result.style = 'unit';\n                result.unit = icuUnitToEcma(token.options[0]);\n                continue;\n            case 'compact-short':\n                result.notation = 'compact';\n                result.compactDisplay = 'short';\n                continue;\n            case 'compact-long':\n                result.notation = 'compact';\n                result.compactDisplay = 'long';\n                continue;\n            case 'scientific':\n                result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n                continue;\n            case 'engineering':\n                result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n                continue;\n            case 'notation-simple':\n                result.notation = 'standard';\n                continue;\n            // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n            case 'unit-width-narrow':\n                result.currencyDisplay = 'narrowSymbol';\n                result.unitDisplay = 'narrow';\n                continue;\n            case 'unit-width-short':\n                result.currencyDisplay = 'code';\n                result.unitDisplay = 'short';\n                continue;\n            case 'unit-width-full-name':\n                result.currencyDisplay = 'name';\n                result.unitDisplay = 'long';\n                continue;\n            case 'unit-width-iso-code':\n                result.currencyDisplay = 'symbol';\n                continue;\n        }\n        // Precision\n        // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n        if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n            if (token.options.length > 1) {\n                throw new RangeError('Fraction-precision stems only accept a single optional option');\n            }\n            token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2) {\n                // precision-integer case\n                if (match === '.') {\n                    result.maximumFractionDigits = 0;\n                }\n                // .000+ case\n                else if (g2 === '+') {\n                    result.minimumFractionDigits = g2.length;\n                }\n                // .### case\n                else if (g1[0] === '#') {\n                    result.maximumFractionDigits = g1.length;\n                }\n                // .00## or .000 case\n                else {\n                    result.minimumFractionDigits = g1.length;\n                    result.maximumFractionDigits =\n                        g1.length + (typeof g2 === 'string' ? g2.length : 0);\n                }\n                return '';\n            });\n            if (token.options.length) {\n                result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n            }\n            continue;\n        }\n        if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n            result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n            continue;\n        }\n        var signOpts = parseSign(token.stem);\n        if (signOpts) {\n            result = __assign(__assign({}, result), signOpts);\n        }\n    }\n    return result;\n}\n","import { pegParse } from './parser';\nimport { normalizeHashtagInPlural } from './normalize';\nexport * from './types';\nexport * from './parser';\nexport * from './skeleton';\nexport function parse(input, opts) {\n    var els = pegParse(input, opts);\n    if (!opts || opts.normalizeHashtagInPlural !== false) {\n        normalizeHashtagInPlural(els);\n    }\n    return els;\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n            r[k] = a[j];\n    return r;\n};\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n    return JSON.stringify(inputs.map(function (input) {\n        return input && typeof input === 'object' ? orderedProps(input) : input;\n    }));\n}\nfunction orderedProps(obj) {\n    return Object.keys(obj)\n        .sort()\n        .map(function (k) {\n        var _a;\n        return (_a = {}, _a[k] = obj[k], _a);\n    });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n    if (cache === void 0) { cache = {}; }\n    return function () {\n        var _a;\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        var cacheId = getCacheId(args);\n        var format = cacheId && cache[cacheId];\n        if (!format) {\n            format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n            if (cacheId) {\n                cache[cacheId] = format;\n            }\n        }\n        return format;\n    };\n};\nexport default memoizeFormatConstructor;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n            r[k] = a[j];\n    return r;\n};\nimport { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, } from 'intl-messageformat-parser';\nvar FormatError = /** @class */ (function (_super) {\n    __extends(FormatError, _super);\n    function FormatError(msg, variableId) {\n        var _this = _super.call(this, msg) || this;\n        _this.variableId = variableId;\n        return _this;\n    }\n    return FormatError;\n}(Error));\nfunction mergeLiteral(parts) {\n    if (parts.length < 2) {\n        return parts;\n    }\n    return parts.reduce(function (all, part) {\n        var lastPart = all[all.length - 1];\n        if (!lastPart ||\n            lastPart.type !== 0 /* literal */ ||\n            part.type !== 0 /* literal */) {\n            all.push(part);\n        }\n        else {\n            lastPart.value += part.value;\n        }\n        return all;\n    }, []);\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n    // Hot path for straight simple msg translations\n    if (els.length === 1 && isLiteralElement(els[0])) {\n        return [\n            {\n                type: 0 /* literal */,\n                value: els[0].value,\n            },\n        ];\n    }\n    var result = [];\n    for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n        var el = els_1[_i];\n        // Exit early for string parts.\n        if (isLiteralElement(el)) {\n            result.push({\n                type: 0 /* literal */,\n                value: el.value,\n            });\n            continue;\n        }\n        // TODO: should this part be literal type?\n        // Replace `#` in plural rules with the actual numeric value.\n        if (isPoundElement(el)) {\n            if (typeof currentPluralValue === 'number') {\n                result.push({\n                    type: 0 /* literal */,\n                    value: formatters.getNumberFormat(locales).format(currentPluralValue),\n                });\n            }\n            continue;\n        }\n        var varName = el.value;\n        // Enforce that all required values are provided by the caller.\n        if (!(values && varName in values)) {\n            throw new FormatError(\"The intl string context variable \\\"\" + varName + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\");\n        }\n        var value = values[varName];\n        if (isArgumentElement(el)) {\n            if (!value || typeof value === 'string' || typeof value === 'number') {\n                value =\n                    typeof value === 'string' || typeof value === 'number'\n                        ? String(value)\n                        : '';\n            }\n            result.push({\n                type: 1 /* argument */,\n                value: value,\n            });\n            continue;\n        }\n        // Recursively format plural and select parts' option — which can be a\n        // nested pattern structure. The choosing of the option to use is\n        // abstracted-by and delegated-to the part helper object.\n        if (isDateElement(el)) {\n            var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n            result.push({\n                type: 0 /* literal */,\n                value: formatters\n                    .getDateTimeFormat(locales, style)\n                    .format(value),\n            });\n            continue;\n        }\n        if (isTimeElement(el)) {\n            var style = typeof el.style === 'string'\n                ? formats.time[el.style]\n                : isDateTimeSkeleton(el.style)\n                    ? parseDateTimeSkeleton(el.style.pattern)\n                    : undefined;\n            result.push({\n                type: 0 /* literal */,\n                value: formatters\n                    .getDateTimeFormat(locales, style)\n                    .format(value),\n            });\n            continue;\n        }\n        if (isNumberElement(el)) {\n            var style = typeof el.style === 'string'\n                ? formats.number[el.style]\n                : isNumberSkeleton(el.style)\n                    ? convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n                    : undefined;\n            result.push({\n                type: 0 /* literal */,\n                value: formatters\n                    .getNumberFormat(locales, style)\n                    .format(value),\n            });\n            continue;\n        }\n        if (isSelectElement(el)) {\n            var opt = el.options[value] || el.options.other;\n            if (!opt) {\n                throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n            }\n            result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n            continue;\n        }\n        if (isPluralElement(el)) {\n            var opt = el.options[\"=\" + value];\n            if (!opt) {\n                if (!Intl.PluralRules) {\n                    throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\");\n                }\n                var rule = formatters\n                    .getPluralRules(locales, { type: el.pluralType })\n                    .select(value - (el.offset || 0));\n                opt = el.options[rule] || el.options.other;\n            }\n            if (!opt) {\n                throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n            }\n            result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n            continue;\n        }\n    }\n    return mergeLiteral(result);\n}\nexport function formatToString(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n    var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n    // Hot path for straight simple msg translations\n    if (parts.length === 1) {\n        return parts[0].value;\n    }\n    return parts.reduce(function (all, part) { return (all += part.value); }, '');\n}\n// Singleton\nvar domParser;\nvar TOKEN_DELIMITER = '@@';\nvar TOKEN_REGEX = /@@(\\d+_\\d+)@@/g;\nvar counter = 0;\nfunction generateId() {\n    return Date.now() + \"_\" + ++counter;\n}\nfunction restoreRichPlaceholderMessage(text, objectParts) {\n    return text\n        .split(TOKEN_REGEX)\n        .filter(Boolean)\n        .map(function (c) { return (objectParts[c] != null ? objectParts[c] : c); })\n        .reduce(function (all, c) {\n        if (!all.length) {\n            all.push(c);\n        }\n        else if (typeof c === 'string' &&\n            typeof all[all.length - 1] === 'string') {\n            all[all.length - 1] += c;\n        }\n        else {\n            all.push(c);\n        }\n        return all;\n    }, []);\n}\n/**\n * Not exhaustive, just for sanity check\n */\nvar SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\\/>)/;\nvar TEMPLATE_ID = Date.now() + '@@';\nvar VOID_ELEMENTS = [\n    'area',\n    'base',\n    'br',\n    'col',\n    'embed',\n    'hr',\n    'img',\n    'input',\n    'link',\n    'meta',\n    'param',\n    'source',\n    'track',\n    'wbr',\n];\nfunction formatHTMLElement(el, objectParts, values) {\n    var tagName = el.tagName;\n    var outerHTML = el.outerHTML, textContent = el.textContent, childNodes = el.childNodes;\n    // Regular text\n    if (!tagName) {\n        return restoreRichPlaceholderMessage(textContent || '', objectParts);\n    }\n    tagName = tagName.toLowerCase();\n    var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName);\n    var formatFnOrValue = values[tagName];\n    if (formatFnOrValue && isVoidElement) {\n        throw new FormatError(tagName + \" is a self-closing tag and can not be used, please use another tag name.\");\n    }\n    if (!childNodes.length) {\n        return [outerHTML];\n    }\n    var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) {\n        return all.concat(formatHTMLElement(child, objectParts, values));\n    }, []);\n    // Legacy HTML\n    if (!formatFnOrValue) {\n        return __spreadArrays([\"<\" + tagName + \">\"], chunks, [\"</\" + tagName + \">\"]);\n    }\n    // HTML Tag replacement\n    if (typeof formatFnOrValue === 'function') {\n        return [formatFnOrValue.apply(void 0, chunks)];\n    }\n    return [formatFnOrValue];\n}\nexport function formatHTMLMessage(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n    var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n    var objectParts = {};\n    var formattedMessage = parts.reduce(function (all, part) {\n        if (part.type === 0 /* literal */) {\n            return (all += part.value);\n        }\n        var id = generateId();\n        objectParts[id] = part.value;\n        return (all += \"\" + TOKEN_DELIMITER + id + TOKEN_DELIMITER);\n    }, '');\n    // Not designed to filter out aggressively\n    if (!SIMPLE_XML_REGEX.test(formattedMessage)) {\n        return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n    }\n    if (!values) {\n        throw new FormatError('Message has placeholders but no values was given');\n    }\n    if (typeof DOMParser === 'undefined') {\n        throw new FormatError('Cannot format XML message without DOMParser');\n    }\n    if (!domParser) {\n        domParser = new DOMParser();\n    }\n    var content = domParser\n        .parseFromString(\"<formatted-message id=\\\"\" + TEMPLATE_ID + \"\\\">\" + formattedMessage + \"</formatted-message>\", 'text/html')\n        .getElementById(TEMPLATE_ID);\n    if (!content) {\n        throw new FormatError(\"Malformed HTML message \" + formattedMessage);\n    }\n    var tagsToFormat = Object.keys(values).filter(function (varName) { return !!content.getElementsByTagName(varName).length; });\n    // No tags to format\n    if (!tagsToFormat.length) {\n        return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n    }\n    var caseSensitiveTags = tagsToFormat.filter(function (tagName) { return tagName !== tagName.toLowerCase(); });\n    if (caseSensitiveTags.length) {\n        throw new FormatError(\"HTML tag must be lowercased but the following tags are not: \" + caseSensitiveTags.join(', '));\n    }\n    // We're doing this since top node is `<formatted-message/>` which does not have a formatter\n    return Array.prototype.slice\n        .call(content.childNodes)\n        .reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport { parse } from 'intl-messageformat-parser';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { formatToString, formatToParts, formatHTMLMessage, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n    if (!c2) {\n        return c1;\n    }\n    return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n        all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n        return all;\n    }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n    if (!configs) {\n        return defaultConfig;\n    }\n    return Object.keys(defaultConfig).reduce(function (all, k) {\n        all[k] = mergeConfig(defaultConfig[k], configs[k]);\n        return all;\n    }, __assign({}, defaultConfig));\n}\nexport function createDefaultFormatters(cache) {\n    if (cache === void 0) { cache = {\n        number: {},\n        dateTime: {},\n        pluralRules: {},\n    }; }\n    return {\n        getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n        getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n        getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n    };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n    function IntlMessageFormat(message, locales, overrideFormats, opts) {\n        var _this = this;\n        if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n        this.formatterCache = {\n            number: {},\n            dateTime: {},\n            pluralRules: {},\n        };\n        this.format = function (values) {\n            return formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n        };\n        this.formatToParts = function (values) {\n            return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n        };\n        this.formatHTMLMessage = function (values) {\n            return formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n        };\n        this.resolvedOptions = function () { return ({\n            locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n        }); };\n        this.getAst = function () { return _this.ast; };\n        if (typeof message === 'string') {\n            this.message = message;\n            if (!IntlMessageFormat.__parse) {\n                throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n            }\n            // Parse string messages into an AST.\n            this.ast = IntlMessageFormat.__parse(message, {\n                normalizeHashtagInPlural: false,\n            });\n        }\n        else {\n            this.ast = message;\n        }\n        if (!Array.isArray(this.ast)) {\n            throw new TypeError('A message must be provided as a String or AST.');\n        }\n        // Creates a new object with the specified `formats` merged with the default\n        // formats.\n        this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n        // Defined first because it's used to build the format pattern.\n        this.locales = locales;\n        this.formatters =\n            (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n    }\n    IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n    IntlMessageFormat.__parse = parse;\n    // Default format options used as the prototype of the `formats` provided to the\n    // constructor. These are used when constructing the internal Intl.NumberFormat\n    // and Intl.DateTimeFormat instances.\n    IntlMessageFormat.formats = {\n        number: {\n            currency: {\n                style: 'currency',\n            },\n            percent: {\n                style: 'percent',\n            },\n        },\n        date: {\n            short: {\n                month: 'numeric',\n                day: 'numeric',\n                year: '2-digit',\n            },\n            medium: {\n                month: 'short',\n                day: 'numeric',\n                year: 'numeric',\n            },\n            long: {\n                month: 'long',\n                day: 'numeric',\n                year: 'numeric',\n            },\n            full: {\n                weekday: 'long',\n                month: 'long',\n                day: 'numeric',\n                year: 'numeric',\n            },\n        },\n        time: {\n            short: {\n                hour: 'numeric',\n                minute: 'numeric',\n            },\n            medium: {\n                hour: 'numeric',\n                minute: 'numeric',\n                second: 'numeric',\n            },\n            long: {\n                hour: 'numeric',\n                minute: 'numeric',\n                second: 'numeric',\n                timeZoneName: 'short',\n            },\n            full: {\n                hour: 'numeric',\n                minute: 'numeric',\n                second: 'numeric',\n                timeZoneName: 'short',\n            },\n        },\n    };\n    return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\nexport default IntlMessageFormat;\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import y from\"intl-messageformat\";import p from\"ramda/es/lensPath\";import d from\"ramda/es/view\";const u=t=>{let e=t;if(t&&t.length==1){if(Object.prototype.toString.call(t[0])===\"[object Array]\")e=t[0];else if(typeof t[0]==\"object\"){const n=t[0];e=Object.keys(n).reduce((c,l)=>c.concat(l,n[l]),[])}}return e},F=t=>p(String(t).split(\".\"));let M=1;M=1;const j=(t,e,n={},c=!1)=>function(o,...r){if(!o||!e||!t||!e[t])return\"\";const s=d(F(o),e[t]);if(!s)return c?o:\"\";if(!r||!r.length)return s;const f={},m=`${o}${s}`;let i=f[m];i||(i=new y(s,t,n),f[m]=i),r=u(r);const g={};for(let a=0;a<r.length;a+=2)g[r[a]]=r[a+1];return i.format(g)};export{j as localizerFactory};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{publish as t}from\"@uxland/event-aggregator\";import r from\"ramda/es/mergeDeepRight\";import{LOCALES_RESET as n,LOCALES_UPDATED as a}from\"./events\";const o={};let e={};const l=s=>{e=r(o,e),e=r(e,s),t(a,e)},d=()=>({...o}),p=()=>({...e}),m=()=>{e={...o},t(n,e)};export{d as getDefaultLocales,p as getLocales,m as resetLocales,l as setLocales};\n","import { getLanguage, getLocales, localizerFactory, setLocales } from \"@uxland/localization\";\n\n/**\n * Creates a locale manager for a given plugin ID and translations.\n *\n * @param {string} pluginId - The ID of the plugin.\n * @param {Record<string, Record<string, string>>} translations - The translations for the plugin.\n * @return {Promise<{\n *   translate: (path: string, variables?: Record<string, string>) => string,\n *   getTranslations: () => Record<string, string>,\n *   getCurrentLanguage: () => string,\n * }>} A promise that resolves to an object with methods for translating strings and getting translations.\n */\nexport const createLocaleManager =\n  (pluginId: string) => (translations: Record<string, Record<string, string>>) => {\n    const localizer = localizerFactory(getLanguage(), translations, \"\", true);\n    setLocales(translations);\n    return Promise.resolve({\n      /**\n       * Translates the given path using the provided variables and the plugin's ID.\n       *\n       * @param {string} path - The path to be translated.\n       * @param {Record<string, string>} [variables] - Optional variables to be used in the translation.\n       * @return {string} The translated string, or the original path if an error occurs.\n       */\n      translate: (path: string, variables?: Record<string, string>) => {\n        try {\n          return localizer(`${pluginId}.${path}`, variables);\n        } catch (e) {\n          console.error(e);\n          return path;\n        }\n      },\n      /**\n       * Retrieves the translations for the current language and plugin.\n       *\n       * @return {Record<string, string>} The translations for the current language and plugin.\n       */\n      getTranslations: () => {\n        const translations = getLocales();\n        const language = getLanguage();\n        return translations[language][pluginId] || {};\n      },\n\n      /**\n       * Retrieves the current language.\n       *\n       * @return {string} The current language.\n       */\n      getCurrentLanguage: () => {\n        return getLanguage();\n      },\n    });\n  };\n","export abstract class PrimariaNotificationService {\n  abstract info(message: string): void;\n  abstract warning(message: string): void;\n  abstract error(message: string): void;\n  abstract success(message: string): void;\n}\n","import { PrimariaNotificationService } from \"./notification-service\";\n\nconst CONTAINER_ID = \"primaria-toast-container\";\n\nexport class PrimariaNotificationServiceImpl extends PrimariaNotificationService {\n  private getOrCreateContainer(): HTMLElement {\n    let container = document.getElementById(CONTAINER_ID);\n    if (!container) {\n      container = document.createElement(\"div\");\n      container.id = CONTAINER_ID;\n      container.style.cssText =\n        \"position:fixed;bottom:var(--dss-spacing-xxs,8px);left:var(--dss-spacing-xxs,8px);display:flex;flex-direction:column-reverse;gap:var(--dss-spacing-xs,4px);z-index:999;pointer-events:none;\";\n      document.body.appendChild(container);\n    }\n    return container;\n  }\n\n  private removeContainerIfEmpty(container: HTMLElement): void {\n    if (container.childElementCount === 0) {\n      container.remove();\n    }\n  }\n\n  private notify(\n    message: string,\n    state: \"info\" | \"warning\" | \"error\" | \"success\",\n    duration = 3000,\n  ): void {\n    const container = this.getOrCreateContainer();\n\n    const toast = document.createElement(\"dss-toast\");\n    toast.setAttribute(\"isshow\", \"true\");\n    toast.setAttribute(\"state\", state);\n    toast.setAttribute(\"position\", \"bottom-left\");\n    toast.setAttribute(\"text\", message);\n    toast.setAttribute(\"hasicon\", \"true\");\n    toast.setAttribute(\"duration\", duration.toString());\n    toast.style.position = \"relative\";\n    toast.style.bottom = \"auto\";\n    toast.style.left = \"auto\";\n    toast.style.pointerEvents = \"auto\";\n\n    container.appendChild(toast);\n\n    setTimeout(() => {\n      toast.setAttribute(\"isshow\", \"false\");\n      setTimeout(() => {\n        toast.remove();\n        this.removeContainerIfEmpty(container);\n      }, 300);\n    }, duration);\n  }\n\n  info(message: string, duration?: number): void {\n    this.notify(message, \"info\", duration);\n  }\n\n  warning(message: string, duration?: number): void {\n    this.notify(message, \"warning\", duration);\n  }\n\n  error(message: string, duration?: number): void {\n    this.notify(message, \"error\", duration);\n  }\n\n  success(message: string, duration?: number): void {\n    this.notify(message, \"success\", duration);\n  }\n}\n","import { setLanguage } from \"@uxland/localization\";\nimport { PrimariaApi } from \"./api/api\";\nimport { primariaShellId } from \"./constants\";\n\nlet shellLocaleManager;\n\nexport const useLocalization = async (api: PrimariaApi) => {\n  setLanguage(\"ca\");\n  const localeManager = await api.createLocaleManager(locales);\n  shellLocaleManager = localeManager;\n};\n\ntype LocaleKeys<T> = T extends object\n  ? {\n      [K in keyof T]: `${K & string}` | (T[K] extends object ? `${K & string}.${LocaleKeys<T[K]>}` : never);\n    }[keyof T]\n  : never;\n\nexport type ShellLocales = LocaleKeys<(typeof locales)[typeof defaultLang][typeof primariaShellId]>;\n\nexport const translate = (path: ShellLocales) => {\n  if (shellLocaleManager) return shellLocaleManager.translate(path);\n  return path;\n};\n\nexport { shellLocaleManager };\n\nconst defaultLang = \"ca\";\n\nexport const locales = {\n  ca: {\n    [primariaShellId]: {\n      title: \"Estació de Treball Clínica\",\n      actions: {\n        create: \"Crear\",\n        toggleMenuClose: \"Tancar menú\",\n        toggleMenuOpen: \"Expandir menú\",\n        askExit: \"Atenció, vols sortir igualment?\",\n      },\n      errors: {\n        session: \"Hi ha hagut un error amb la sessió. Siusplau, tanca i torna a obrir l'aplicació.\",\n        invalidPatient: \"El pacient actual no és vàlid. Siusplau, tanca i torna a obrir l'aplicació.\",\n        exit: \"Hi ha hagut un error en sortir de l'ETC\",\n      },\n      header: {\n        workCenter: \"Centre treball\",\n        role: \"Tipus de profesional\",\n        speciality: \"Àmbit treball\",\n      },\n      busyManager: {\n        title: \"Tasques pendents:\",\n      },\n      pdfManager: {\n        uploaded: \"Document disponible al visor de resultats\",\n        alreadyUploaded: \"Ja s'ha carregat un document amb aquest nom\",\n        navButtonLabel: \"Visor PDF\",\n        missingData: \"Es necesita un document o URL per enviar al visor de resultats\",\n        duplicatedSource: \"Només pots envar un document o URL a la vegada\",\n        tooltipMessage: \"S'ha generat el PDF al visor\",\n      },\n      pdfVisor: {\n        noPdfSelected: \"No hi ha cap PDF seleccionat\",\n      },\n      importDataManager: {\n        title: \"Importar dades\",\n        actions: {\n          cancel: \"Cancel·lar\",\n          import: \"Importar dades\",\n        },\n      },\n    },\n  },\n};\n","export const pdfViwerEvents = {\n  added: \"added_pdf\",\n  showed: \"showed_pdf\",\n  deleted: \"deleted_pdf\",\n};\n","function base64ToBlob(base64, type = \"application/octet-stream\") {\n  const binStr = window.atob(base64);\n  const len = binStr.length;\n  const arr = new Uint8Array(len);\n  for (let i = 0; i < len; i++) {\n    arr[i] = binStr.charCodeAt(i);\n  }\n  return new Blob([arr], { type: type });\n}\n\nexport const createUrlFromBase64 = (b64: string, type?: string) => {\n  if (b64) {\n    const blob = base64ToBlob(b64, type || \"application/pdf\");\n    return URL.createObjectURL(blob);\n  }\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this.t=t,this._$AM=e,this.i=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{_$LH as io}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:et}=io,st=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,no={HTML:1,SVG:2,MATHML:3},nt=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,ot=o=>null!=o?._$litType$?.h,eo=o=>void 0!==o?._$litDirective$,lo=o=>o?._$litDirective$,rt=o=>void 0===o.strings,lt=()=>document.createComment(\"\"),at=(o,t,i)=>{const n=o._$AA.parentNode,e=void 0===t?o._$AB:t._$AA;if(void 0===i){const t=n.insertBefore(lt(),e),l=n.insertBefore(lt(),e);i=new et(t,l,o,o.options)}else{const t=i._$AB.nextSibling,l=i._$AM,c=l!==o;if(c){let t;i._$AQ?.(o),i._$AM=o,void 0!==i._$AP&&(t=o._$AU)!==l._$AU&&i._$AP(t)}if(t!==e||c){let o=i._$AA;for(;o!==t;){const t=o.nextSibling;n.insertBefore(o,e),o=t}}}return i},ct=(o,t,i=o)=>(o._$AI(t,i),o),ht={},dt=(o,t=ht)=>o._$AH=t,ut=o=>o._$AH,pt=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},ft=o=>{o._$AR()};export{no as TemplateResultType,ft as clearPart,ut as getCommittedValue,lo as getDirectiveClass,at as insertPart,ot as isCompiledTemplateResult,eo as isDirectiveResult,st as isPrimitive,rt as isSingleExpression,nt as isTemplateResult,pt as removePart,ct as setChildPartValue,dt as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as R}from\"../lit-html.js\";import{directive as e,Directive as i,PartType as t}from\"../directive.js\";import{getCommittedValue as ut,setChildPartValue as ct,insertPart as at,removePart as pt,setCommittedValue as dt}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst Jt=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},Qt=e(class extends i{constructor(e){if(super(e),e.type!==t.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(e,[s,t,r]){const l=ut(e),{values:o,keys:i}=this.dt(s,t,r);if(!Array.isArray(l))return this.ut=i,o;const n=this.ut??=[],f=[];let u,c,d=0,p=l.length-1,a=0,h=o.length-1;for(;d<=p&&a<=h;)if(null===l[d])d++;else if(null===l[p])p--;else if(n[d]===i[a])f[a]=ct(l[d],o[a]),d++,a++;else if(n[p]===i[h])f[h]=ct(l[p],o[h]),p--,h--;else if(n[d]===i[h])f[h]=ct(l[d],o[h]),at(e,f[h+1],l[d]),d++,h--;else if(n[p]===i[a])f[a]=ct(l[p],o[a]),at(e,l[d],l[p]),p--,a++;else if(void 0===u&&(u=Jt(i,a,h),c=Jt(n,d,p)),u.has(n[d]))if(u.has(n[p])){const s=c.get(i[a]),t=void 0!==s?l[s]:null;if(null===t){const s=at(e,l[d]);ct(s,o[a]),f[a]=s}else f[a]=ct(t,o[a]),at(e,l[d],t),l[s]=null;a++}else pt(l[p]),p--;else pt(l[d]),d++;for(;a<=h;){const s=at(e,f[h+1]);ct(s,o[a]),f[a++]=s}for(;d<=p;){const e=l[d++];null!==e&&pt(e)}return this.ut=i,dt(e,f),R}});export{Qt as repeat};\n//# sourceMappingURL=repeat.js.map\n","import { html } from \"lit\";\nimport { PdfSelector } from \"./pdf-selector\";\nimport { IPdfDocument } from \"primary/shell/src/api/pdf-viewer-manager/pdf-viewer-manager\";\nimport { repeat } from \"lit/directives/repeat.js\";\n\nexport const template = (props: PdfSelector) => {\n  const pdfitem = (pdf: IPdfDocument) => {\n    return html`\n    <div class=\"pdf-item\">\n      <dss-checkbox @onChange=${() => props.setActivePdf(pdf.id)}>\n        <input\n          slot=\"input\"\n          type=\"checkbox\"\n          aria-label=\"Label\"\n          .checked=${props.activePdfs.some((p) => p.id === pdf.id)}\n        >\n      </dss-checkbox>\n      <div class=\"container\">\n        <dss-icon-button class=\"close-button\" size=\"md\" variant=\"error\" icon=\"close\" @click=${() => props.removePdf(pdf.id)}></dss-icon-button>\n        <div class=\"data\">\n          <div class=\"pdf-name\">${pdf.data.name || \"Sense nom\"}</div>\n          <div class=\"pdf-date\">${pdf.data.date || \" \"}</div>\n        </div>\n      </div>\n    </div>\n  `;\n  };\n\n  return html`\n    <div>\n        ${repeat(props.pdfList, (pdf: IPdfDocument) => pdfitem(pdf))}\n    </div> \n  `;\n};\n","import { LitElement, css, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { IPdfDocument } from \"../../../../../src/api/pdf-viewer-manager/pdf-viewer-manager\";\nimport { createUrlFromBase64 } from \"../utils\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nexport class PdfSelector extends LitElement {\n  render() {\n    return template(this);\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @property({ type: Array })\n  pdfList: IPdfDocument[];\n\n  @property({ type: Array })\n  activePdfs: IPdfDocument[] = [];\n\n  removePdf(id: string) {\n    this.dispatchEvent(\n      new CustomEvent(\"pdf-removed\", { detail: id, bubbles: true, composed: true }),\n    );\n  }\n\n  setActivePdf(id: string) {\n    this.dispatchEvent(\n      new CustomEvent(\"active-pdf-changed\", { detail: id, bubbles: true, composed: true }),\n    );\n  }\n\n  openInNewWindow(pdf: IPdfDocument) {\n    const url = pdf.data.url ? pdf.data.url : createUrlFromBase64(pdf.data.b64 as string);\n    url && window.open(url);\n  }\n}\n","export var NAMED_TAG = 'named';\r\nexport var NAME_TAG = 'name';\r\nexport var UNMANAGED_TAG = 'unmanaged';\r\nexport var OPTIONAL_TAG = 'optional';\r\nexport var INJECT_TAG = 'inject';\r\nexport var MULTI_INJECT_TAG = 'multi_inject';\r\nexport var TAGGED = 'inversify:tagged';\r\nexport var TAGGED_PROP = 'inversify:tagged_props';\r\nexport var PARAM_TYPES = 'inversify:paramtypes';\r\nexport var DESIGN_PARAM_TYPES = 'design:paramtypes';\r\nexport var POST_CONSTRUCT = 'post_construct';\r\nexport var PRE_DESTROY = 'pre_destroy';\r\nfunction getNonCustomTagKeys() {\r\n    return [\r\n        INJECT_TAG,\r\n        MULTI_INJECT_TAG,\r\n        NAME_TAG,\r\n        UNMANAGED_TAG,\r\n        NAMED_TAG,\r\n        OPTIONAL_TAG,\r\n    ];\r\n}\r\nexport var NON_CUSTOM_TAG_KEYS = getNonCustomTagKeys();\r\n","var BindingScopeEnum = {\r\n    Request: 'Request',\r\n    Singleton: 'Singleton',\r\n    Transient: 'Transient'\r\n};\r\nvar BindingTypeEnum = {\r\n    ConstantValue: 'ConstantValue',\r\n    Constructor: 'Constructor',\r\n    DynamicValue: 'DynamicValue',\r\n    Factory: 'Factory',\r\n    Function: 'Function',\r\n    Instance: 'Instance',\r\n    Invalid: 'Invalid',\r\n    Provider: 'Provider'\r\n};\r\nvar TargetTypeEnum = {\r\n    ClassProperty: 'ClassProperty',\r\n    ConstructorArgument: 'ConstructorArgument',\r\n    Variable: 'Variable'\r\n};\r\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum };\r\n","var idCounter = 0;\r\nfunction id() {\r\n    return idCounter++;\r\n}\r\nexport { id };\r\n","import { BindingScopeEnum, BindingTypeEnum } from '../constants/literal_types';\r\nimport { id } from '../utils/id';\r\nvar Binding = (function () {\r\n    function Binding(serviceIdentifier, scope) {\r\n        this.id = id();\r\n        this.activated = false;\r\n        this.serviceIdentifier = serviceIdentifier;\r\n        this.scope = scope;\r\n        this.type = BindingTypeEnum.Invalid;\r\n        this.constraint = function (request) { return true; };\r\n        this.implementationType = null;\r\n        this.cache = null;\r\n        this.factory = null;\r\n        this.provider = null;\r\n        this.onActivation = null;\r\n        this.onDeactivation = null;\r\n        this.dynamicValue = null;\r\n    }\r\n    Binding.prototype.clone = function () {\r\n        var clone = new Binding(this.serviceIdentifier, this.scope);\r\n        clone.activated = (clone.scope === BindingScopeEnum.Singleton) ? this.activated : false;\r\n        clone.implementationType = this.implementationType;\r\n        clone.dynamicValue = this.dynamicValue;\r\n        clone.scope = this.scope;\r\n        clone.type = this.type;\r\n        clone.factory = this.factory;\r\n        clone.provider = this.provider;\r\n        clone.constraint = this.constraint;\r\n        clone.onActivation = this.onActivation;\r\n        clone.onDeactivation = this.onDeactivation;\r\n        clone.cache = this.cache;\r\n        return clone;\r\n    };\r\n    return Binding;\r\n}());\r\nexport { Binding };\r\n","export var DUPLICATED_INJECTABLE_DECORATOR = 'Cannot apply @injectable decorator multiple times.';\r\nexport var DUPLICATED_METADATA = 'Metadata key was used more than once in a parameter:';\r\nexport var NULL_ARGUMENT = 'NULL argument';\r\nexport var KEY_NOT_FOUND = 'Key Not Found';\r\nexport var AMBIGUOUS_MATCH = 'Ambiguous match found for serviceIdentifier:';\r\nexport var CANNOT_UNBIND = 'Could not unbind serviceIdentifier:';\r\nexport var NOT_REGISTERED = 'No matching bindings found for serviceIdentifier:';\r\nexport var MISSING_INJECTABLE_ANNOTATION = 'Missing required @injectable annotation in:';\r\nexport var MISSING_INJECT_ANNOTATION = 'Missing required @inject or @multiInject annotation in:';\r\nexport var UNDEFINED_INJECT_ANNOTATION = function (name) {\r\n    return \"@inject called with undefined this could mean that the class \" + name + \" has \" +\r\n        'a circular dependency problem. You can use a LazyServiceIdentifier to  ' +\r\n        'overcome this limitation.';\r\n};\r\nexport var CIRCULAR_DEPENDENCY = 'Circular dependency found:';\r\nexport var NOT_IMPLEMENTED = 'Sorry, this feature is not fully implemented yet.';\r\nexport var INVALID_BINDING_TYPE = 'Invalid binding type:';\r\nexport var NO_MORE_SNAPSHOTS_AVAILABLE = 'No snapshot available to restore.';\r\nexport var INVALID_MIDDLEWARE_RETURN = 'Invalid return type in middleware. Middleware must return!';\r\nexport var INVALID_FUNCTION_BINDING = 'Value provided to function binding must be a function!';\r\nexport var LAZY_IN_SYNC = function (key) { return \"You are attempting to construct '\" + key + \"' in a synchronous way\\n but it has asynchronous dependencies.\"; };\r\nexport var INVALID_TO_SELF_VALUE = 'The toSelf function can only be applied when a constructor is ' +\r\n    'used as service identifier';\r\nexport var INVALID_DECORATOR_OPERATION = 'The @inject @multiInject @tagged and @named decorators ' +\r\n    'must be applied to the parameters of a class constructor or a class property.';\r\nexport var ARGUMENTS_LENGTH_MISMATCH = function () {\r\n    var values = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        values[_i] = arguments[_i];\r\n    }\r\n    return 'The number of constructor arguments in the derived class ' +\r\n        (values[0] + \" must be >= than the number of constructor arguments of its base class.\");\r\n};\r\nexport var CONTAINER_OPTIONS_MUST_BE_AN_OBJECT = 'Invalid Container constructor argument. Container options ' +\r\n    'must be an object.';\r\nexport var CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE = 'Invalid Container option. Default scope must ' +\r\n    'be a string (\"singleton\" or \"transient\").';\r\nexport var CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE = 'Invalid Container option. Auto bind injectable must ' +\r\n    'be a boolean';\r\nexport var CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK = 'Invalid Container option. Skip base check must ' +\r\n    'be a boolean';\r\nexport var MULTIPLE_PRE_DESTROY_METHODS = 'Cannot apply @preDestroy decorator multiple times in the same class';\r\nexport var MULTIPLE_POST_CONSTRUCT_METHODS = 'Cannot apply @postConstruct decorator multiple times in the same class';\r\nexport var ASYNC_UNBIND_REQUIRED = 'Attempting to unbind dependency with asynchronous destruction (@preDestroy or onDeactivation)';\r\nexport var POST_CONSTRUCT_ERROR = function (clazz, errorMessage) { return \"@postConstruct error in class \" + clazz + \": \" + errorMessage; };\r\nexport var PRE_DESTROY_ERROR = function (clazz, errorMessage) { return \"@preDestroy error in class \" + clazz + \": \" + errorMessage; };\r\nexport var ON_DEACTIVATION_ERROR = function (clazz, errorMessage) { return \"onDeactivation() error in class \" + clazz + \": \" + errorMessage; };\r\nexport var CIRCULAR_DEPENDENCY_IN_FACTORY = function (factoryType, serviceIdentifier) {\r\n    return \"It looks like there is a circular dependency in one of the '\" + factoryType + \"' bindings. Please investigate bindings with \" +\r\n        (\"service identifier '\" + serviceIdentifier + \"'.\");\r\n};\r\nexport var STACK_OVERFLOW = 'Maximum call stack size exceeded';\r\n","import * as METADATA_KEY from '../constants/metadata_keys';\r\nvar MetadataReader = (function () {\r\n    function MetadataReader() {\r\n    }\r\n    MetadataReader.prototype.getConstructorMetadata = function (constructorFunc) {\r\n        var compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);\r\n        var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);\r\n        return {\r\n            compilerGeneratedMetadata: compilerGeneratedMetadata,\r\n            userGeneratedMetadata: userGeneratedMetadata || {}\r\n        };\r\n    };\r\n    MetadataReader.prototype.getPropertiesMetadata = function (constructorFunc) {\r\n        var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];\r\n        return userGeneratedMetadata;\r\n    };\r\n    return MetadataReader;\r\n}());\r\nexport { MetadataReader };\r\n","export var BindingCount = {\r\n    MultipleBindingsAvailable: 2,\r\n    NoBindingsAvailable: 0,\r\n    OnlyOneBindingAvailable: 1\r\n};\r\n","import * as ERROR_MSGS from '../constants/error_msgs';\r\nexport function isStackOverflowExeption(error) {\r\n    return (error instanceof RangeError ||\r\n        error.message === ERROR_MSGS.STACK_OVERFLOW);\r\n}\r\nexport var tryAndThrowErrorIfStackOverflow = function (fn, errorCallback) {\r\n    try {\r\n        return fn();\r\n    }\r\n    catch (error) {\r\n        if (isStackOverflowExeption(error)) {\r\n            error = errorCallback();\r\n        }\r\n        throw error;\r\n    }\r\n};\r\n","import * as ERROR_MSGS from '../constants/error_msgs';\r\nfunction getServiceIdentifierAsString(serviceIdentifier) {\r\n    if (typeof serviceIdentifier === 'function') {\r\n        var _serviceIdentifier = serviceIdentifier;\r\n        return _serviceIdentifier.name;\r\n    }\r\n    else if (typeof serviceIdentifier === 'symbol') {\r\n        return serviceIdentifier.toString();\r\n    }\r\n    else {\r\n        var _serviceIdentifier = serviceIdentifier;\r\n        return _serviceIdentifier;\r\n    }\r\n}\r\nfunction listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) {\r\n    var registeredBindingsList = '';\r\n    var registeredBindings = getBindings(container, serviceIdentifier);\r\n    if (registeredBindings.length !== 0) {\r\n        registeredBindingsList = '\\nRegistered bindings:';\r\n        registeredBindings.forEach(function (binding) {\r\n            var name = 'Object';\r\n            if (binding.implementationType !== null) {\r\n                name = getFunctionName(binding.implementationType);\r\n            }\r\n            registeredBindingsList = registeredBindingsList + \"\\n \" + name;\r\n            if (binding.constraint.metaData) {\r\n                registeredBindingsList = registeredBindingsList + \" - \" + binding.constraint.metaData;\r\n            }\r\n        });\r\n    }\r\n    return registeredBindingsList;\r\n}\r\nfunction alreadyDependencyChain(request, serviceIdentifier) {\r\n    if (request.parentRequest === null) {\r\n        return false;\r\n    }\r\n    else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {\r\n        return true;\r\n    }\r\n    else {\r\n        return alreadyDependencyChain(request.parentRequest, serviceIdentifier);\r\n    }\r\n}\r\nfunction dependencyChainToString(request) {\r\n    function _createStringArr(req, result) {\r\n        if (result === void 0) { result = []; }\r\n        var serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);\r\n        result.push(serviceIdentifier);\r\n        if (req.parentRequest !== null) {\r\n            return _createStringArr(req.parentRequest, result);\r\n        }\r\n        return result;\r\n    }\r\n    var stringArr = _createStringArr(request);\r\n    return stringArr.reverse().join(' --> ');\r\n}\r\nfunction circularDependencyToException(request) {\r\n    request.childRequests.forEach(function (childRequest) {\r\n        if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {\r\n            var services = dependencyChainToString(childRequest);\r\n            throw new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY + \" \" + services);\r\n        }\r\n        else {\r\n            circularDependencyToException(childRequest);\r\n        }\r\n    });\r\n}\r\nfunction listMetadataForTarget(serviceIdentifierString, target) {\r\n    if (target.isTagged() || target.isNamed()) {\r\n        var m_1 = '';\r\n        var namedTag = target.getNamedTag();\r\n        var otherTags = target.getCustomTags();\r\n        if (namedTag !== null) {\r\n            m_1 += namedTag.toString() + '\\n';\r\n        }\r\n        if (otherTags !== null) {\r\n            otherTags.forEach(function (tag) {\r\n                m_1 += tag.toString() + '\\n';\r\n            });\r\n        }\r\n        return \" \" + serviceIdentifierString + \"\\n \" + serviceIdentifierString + \" - \" + m_1;\r\n    }\r\n    else {\r\n        return \" \" + serviceIdentifierString;\r\n    }\r\n}\r\nfunction getFunctionName(func) {\r\n    if (func.name) {\r\n        return func.name;\r\n    }\r\n    else {\r\n        var name_1 = func.toString();\r\n        var match = name_1.match(/^function\\s*([^\\s(]+)/);\r\n        return match ? match[1] : \"Anonymous function: \" + name_1;\r\n    }\r\n}\r\nfunction getSymbolDescription(symbol) {\r\n    return symbol.toString().slice(7, -1);\r\n}\r\nexport { getFunctionName, getServiceIdentifierAsString, listRegisteredBindingsForServiceIdentifier, listMetadataForTarget, circularDependencyToException, getSymbolDescription };\r\n","import { id } from '../utils/id';\r\nvar Context = (function () {\r\n    function Context(container) {\r\n        this.id = id();\r\n        this.container = container;\r\n    }\r\n    Context.prototype.addPlan = function (plan) {\r\n        this.plan = plan;\r\n    };\r\n    Context.prototype.setCurrentRequest = function (currentRequest) {\r\n        this.currentRequest = currentRequest;\r\n    };\r\n    return Context;\r\n}());\r\nexport { Context };\r\n","import * as METADATA_KEY from '../constants/metadata_keys';\r\nvar Metadata = (function () {\r\n    function Metadata(key, value) {\r\n        this.key = key;\r\n        this.value = value;\r\n    }\r\n    Metadata.prototype.toString = function () {\r\n        if (this.key === METADATA_KEY.NAMED_TAG) {\r\n            return \"named: \" + String(this.value).toString() + \" \";\r\n        }\r\n        else {\r\n            return \"tagged: { key:\" + this.key.toString() + \", value: \" + String(this.value) + \" }\";\r\n        }\r\n    };\r\n    return Metadata;\r\n}());\r\nexport { Metadata };\r\n","var Plan = (function () {\r\n    function Plan(parentContext, rootRequest) {\r\n        this.parentContext = parentContext;\r\n        this.rootRequest = rootRequest;\r\n    }\r\n    return Plan;\r\n}());\r\nexport { Plan };\r\n","var LazyServiceIdentifier = (function () {\r\n    function LazyServiceIdentifier(cb) {\r\n        this._cb = cb;\r\n    }\r\n    LazyServiceIdentifier.prototype.unwrap = function () {\r\n        return this._cb();\r\n    };\r\n    return LazyServiceIdentifier;\r\n}());\r\nexport { LazyServiceIdentifier };\r\n","var QueryableString = (function () {\r\n    function QueryableString(str) {\r\n        this.str = str;\r\n    }\r\n    QueryableString.prototype.startsWith = function (searchString) {\r\n        return this.str.indexOf(searchString) === 0;\r\n    };\r\n    QueryableString.prototype.endsWith = function (searchString) {\r\n        var reverseString = '';\r\n        var reverseSearchString = searchString.split('').reverse().join('');\r\n        reverseString = this.str.split('').reverse().join('');\r\n        return this.startsWith.call({ str: reverseString }, reverseSearchString);\r\n    };\r\n    QueryableString.prototype.contains = function (searchString) {\r\n        return (this.str.indexOf(searchString) !== -1);\r\n    };\r\n    QueryableString.prototype.equals = function (compareString) {\r\n        return this.str === compareString;\r\n    };\r\n    QueryableString.prototype.value = function () {\r\n        return this.str;\r\n    };\r\n    return QueryableString;\r\n}());\r\nexport { QueryableString };\r\n","import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { id } from '../utils/id';\r\nimport { getSymbolDescription } from '../utils/serialization';\r\nimport { Metadata } from './metadata';\r\nimport { QueryableString } from './queryable_string';\r\nvar Target = (function () {\r\n    function Target(type, identifier, serviceIdentifier, namedOrTagged) {\r\n        this.id = id();\r\n        this.type = type;\r\n        this.serviceIdentifier = serviceIdentifier;\r\n        var queryableName = typeof identifier === 'symbol' ? getSymbolDescription(identifier) : identifier;\r\n        this.name = new QueryableString(queryableName || '');\r\n        this.identifier = identifier;\r\n        this.metadata = new Array();\r\n        var metadataItem = null;\r\n        if (typeof namedOrTagged === 'string') {\r\n            metadataItem = new Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);\r\n        }\r\n        else if (namedOrTagged instanceof Metadata) {\r\n            metadataItem = namedOrTagged;\r\n        }\r\n        if (metadataItem !== null) {\r\n            this.metadata.push(metadataItem);\r\n        }\r\n    }\r\n    Target.prototype.hasTag = function (key) {\r\n        for (var _i = 0, _a = this.metadata; _i < _a.length; _i++) {\r\n            var m = _a[_i];\r\n            if (m.key === key) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    Target.prototype.isArray = function () {\r\n        return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);\r\n    };\r\n    Target.prototype.matchesArray = function (name) {\r\n        return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);\r\n    };\r\n    Target.prototype.isNamed = function () {\r\n        return this.hasTag(METADATA_KEY.NAMED_TAG);\r\n    };\r\n    Target.prototype.isTagged = function () {\r\n        return this.metadata.some(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });\r\n    };\r\n    Target.prototype.isOptional = function () {\r\n        return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);\r\n    };\r\n    Target.prototype.getNamedTag = function () {\r\n        if (this.isNamed()) {\r\n            return this.metadata.filter(function (m) { return m.key === METADATA_KEY.NAMED_TAG; })[0];\r\n        }\r\n        return null;\r\n    };\r\n    Target.prototype.getCustomTags = function () {\r\n        if (this.isTagged()) {\r\n            return this.metadata.filter(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });\r\n        }\r\n        else {\r\n            return null;\r\n        }\r\n    };\r\n    Target.prototype.matchesNamedTag = function (name) {\r\n        return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);\r\n    };\r\n    Target.prototype.matchesTag = function (key) {\r\n        var _this = this;\r\n        return function (value) {\r\n            for (var _i = 0, _a = _this.metadata; _i < _a.length; _i++) {\r\n                var m = _a[_i];\r\n                if (m.key === key && m.value === value) {\r\n                    return true;\r\n                }\r\n            }\r\n            return false;\r\n        };\r\n    };\r\n    return Target;\r\n}());\r\nexport { Target };\r\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nimport { LazyServiceIdentifier } from '../annotation/lazy_service_identifier';\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { getFunctionName } from '../utils/serialization';\r\nimport { Target } from './target';\r\nfunction getDependencies(metadataReader, func) {\r\n    var constructorName = getFunctionName(func);\r\n    return getTargets(metadataReader, constructorName, func, false);\r\n}\r\nfunction getTargets(metadataReader, constructorName, func, isBaseClass) {\r\n    var metadata = metadataReader.getConstructorMetadata(func);\r\n    var serviceIdentifiers = metadata.compilerGeneratedMetadata;\r\n    if (serviceIdentifiers === undefined) {\r\n        var msg = ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION + \" \" + constructorName + \".\";\r\n        throw new Error(msg);\r\n    }\r\n    var constructorArgsMetadata = metadata.userGeneratedMetadata;\r\n    var keys = Object.keys(constructorArgsMetadata);\r\n    var hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);\r\n    var hasOptionalParameters = keys.length > func.length;\r\n    var iterations = (hasUserDeclaredUnknownInjections || hasOptionalParameters) ? keys.length : func.length;\r\n    var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);\r\n    var propertyTargets = getClassPropsAsTargets(metadataReader, func, constructorName);\r\n    var targets = __spreadArray(__spreadArray([], constructorTargets, true), propertyTargets, true);\r\n    return targets;\r\n}\r\nfunction getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {\r\n    var targetMetadata = constructorArgsMetadata[index.toString()] || [];\r\n    var metadata = formatTargetMetadata(targetMetadata);\r\n    var isManaged = metadata.unmanaged !== true;\r\n    var serviceIdentifier = serviceIdentifiers[index];\r\n    var injectIdentifier = metadata.inject || metadata.multiInject;\r\n    serviceIdentifier = (injectIdentifier ? injectIdentifier : serviceIdentifier);\r\n    if (serviceIdentifier instanceof LazyServiceIdentifier) {\r\n        serviceIdentifier = serviceIdentifier.unwrap();\r\n    }\r\n    if (isManaged) {\r\n        var isObject = serviceIdentifier === Object;\r\n        var isFunction = serviceIdentifier === Function;\r\n        var isUndefined = serviceIdentifier === undefined;\r\n        var isUnknownType = isObject || isFunction || isUndefined;\r\n        if (!isBaseClass && isUnknownType) {\r\n            var msg = ERROR_MSGS.MISSING_INJECT_ANNOTATION + \" argument \" + index + \" in class \" + constructorName + \".\";\r\n            throw new Error(msg);\r\n        }\r\n        var target = new Target(TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier);\r\n        target.metadata = targetMetadata;\r\n        return target;\r\n    }\r\n    return null;\r\n}\r\nfunction getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations) {\r\n    var targets = [];\r\n    for (var i = 0; i < iterations; i++) {\r\n        var index = i;\r\n        var target = getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata);\r\n        if (target !== null) {\r\n            targets.push(target);\r\n        }\r\n    }\r\n    return targets;\r\n}\r\nfunction _getServiceIdentifierForProperty(inject, multiInject, propertyName, className) {\r\n    var serviceIdentifier = (inject || multiInject);\r\n    if (serviceIdentifier === undefined) {\r\n        var msg = ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION + \" for property \" + String(propertyName) + \" in class \" + className + \".\";\r\n        throw new Error(msg);\r\n    }\r\n    return serviceIdentifier;\r\n}\r\nfunction getClassPropsAsTargets(metadataReader, constructorFunc, constructorName) {\r\n    var classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);\r\n    var targets = [];\r\n    var symbolKeys = Object.getOwnPropertySymbols(classPropsMetadata);\r\n    var stringKeys = Object.keys(classPropsMetadata);\r\n    var keys = stringKeys.concat(symbolKeys);\r\n    for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\r\n        var key = keys_1[_i];\r\n        var targetMetadata = classPropsMetadata[key];\r\n        var metadata = formatTargetMetadata(targetMetadata);\r\n        var identifier = metadata.targetName || key;\r\n        var serviceIdentifier = _getServiceIdentifierForProperty(metadata.inject, metadata.multiInject, key, constructorName);\r\n        var target = new Target(TargetTypeEnum.ClassProperty, identifier, serviceIdentifier);\r\n        target.metadata = targetMetadata;\r\n        targets.push(target);\r\n    }\r\n    var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;\r\n    if (baseConstructor !== Object) {\r\n        var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor, constructorName);\r\n        targets = __spreadArray(__spreadArray([], targets, true), baseTargets, true);\r\n    }\r\n    return targets;\r\n}\r\nfunction getBaseClassDependencyCount(metadataReader, func) {\r\n    var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;\r\n    if (baseConstructor !== Object) {\r\n        var baseConstructorName = getFunctionName(baseConstructor);\r\n        var targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);\r\n        var metadata = targets.map(function (t) { return t.metadata.filter(function (m) { return m.key === METADATA_KEY.UNMANAGED_TAG; }); });\r\n        var unmanagedCount = [].concat.apply([], metadata).length;\r\n        var dependencyCount = targets.length - unmanagedCount;\r\n        if (dependencyCount > 0) {\r\n            return dependencyCount;\r\n        }\r\n        else {\r\n            return getBaseClassDependencyCount(metadataReader, baseConstructor);\r\n        }\r\n    }\r\n    else {\r\n        return 0;\r\n    }\r\n}\r\nfunction formatTargetMetadata(targetMetadata) {\r\n    var targetMetadataMap = {};\r\n    targetMetadata.forEach(function (m) {\r\n        targetMetadataMap[m.key.toString()] = m.value;\r\n    });\r\n    return {\r\n        inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],\r\n        multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],\r\n        targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],\r\n        unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]\r\n    };\r\n}\r\nexport { getDependencies, getBaseClassDependencyCount, getFunctionName };\r\n","import { id } from '../utils/id';\r\nvar Request = (function () {\r\n    function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {\r\n        this.id = id();\r\n        this.serviceIdentifier = serviceIdentifier;\r\n        this.parentContext = parentContext;\r\n        this.parentRequest = parentRequest;\r\n        this.target = target;\r\n        this.childRequests = [];\r\n        this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);\r\n        this.requestScope = parentRequest === null\r\n            ? new Map()\r\n            : null;\r\n    }\r\n    Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {\r\n        var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);\r\n        this.childRequests.push(child);\r\n        return child;\r\n    };\r\n    return Request;\r\n}());\r\nexport { Request };\r\n","import { BindingCount } from '../bindings/binding_count';\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingTypeEnum, TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { isStackOverflowExeption } from '../utils/exceptions';\r\nimport { circularDependencyToException, getServiceIdentifierAsString, listMetadataForTarget, listRegisteredBindingsForServiceIdentifier } from '../utils/serialization';\r\nimport { Context } from './context';\r\nimport { Metadata } from './metadata';\r\nimport { Plan } from './plan';\r\nimport { getBaseClassDependencyCount, getDependencies, getFunctionName } from './reflection_utils';\r\nimport { Request } from './request';\r\nimport { Target } from './target';\r\nfunction getBindingDictionary(cntnr) {\r\n    return cntnr._bindingDictionary;\r\n}\r\nfunction _createTarget(isMultiInject, targetType, serviceIdentifier, name, key, value) {\r\n    var metadataKey = isMultiInject ? METADATA_KEY.MULTI_INJECT_TAG : METADATA_KEY.INJECT_TAG;\r\n    var injectMetadata = new Metadata(metadataKey, serviceIdentifier);\r\n    var target = new Target(targetType, name, serviceIdentifier, injectMetadata);\r\n    if (key !== undefined) {\r\n        var tagMetadata = new Metadata(key, value);\r\n        target.metadata.push(tagMetadata);\r\n    }\r\n    return target;\r\n}\r\nfunction _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target) {\r\n    var bindings = getBindings(context.container, target.serviceIdentifier);\r\n    var activeBindings = [];\r\n    if (bindings.length === BindingCount.NoBindingsAvailable &&\r\n        context.container.options.autoBindInjectable &&\r\n        typeof target.serviceIdentifier === 'function' &&\r\n        metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata) {\r\n        context.container.bind(target.serviceIdentifier).toSelf();\r\n        bindings = getBindings(context.container, target.serviceIdentifier);\r\n    }\r\n    if (!avoidConstraints) {\r\n        activeBindings = bindings.filter(function (binding) {\r\n            var request = new Request(binding.serviceIdentifier, context, parentRequest, binding, target);\r\n            return binding.constraint(request);\r\n        });\r\n    }\r\n    else {\r\n        activeBindings = bindings;\r\n    }\r\n    _validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container);\r\n    return activeBindings;\r\n}\r\nfunction _validateActiveBindingCount(serviceIdentifier, bindings, target, container) {\r\n    switch (bindings.length) {\r\n        case BindingCount.NoBindingsAvailable:\r\n            if (target.isOptional()) {\r\n                return bindings;\r\n            }\r\n            else {\r\n                var serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\r\n                var msg = ERROR_MSGS.NOT_REGISTERED;\r\n                msg += listMetadataForTarget(serviceIdentifierString, target);\r\n                msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\r\n                throw new Error(msg);\r\n            }\r\n        case BindingCount.OnlyOneBindingAvailable:\r\n            return bindings;\r\n        case BindingCount.MultipleBindingsAvailable:\r\n        default:\r\n            if (!target.isArray()) {\r\n                var serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\r\n                var msg = ERROR_MSGS.AMBIGUOUS_MATCH + \" \" + serviceIdentifierString;\r\n                msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\r\n                throw new Error(msg);\r\n            }\r\n            else {\r\n                return bindings;\r\n            }\r\n    }\r\n}\r\nfunction _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, parentRequest, target) {\r\n    var activeBindings;\r\n    var childRequest;\r\n    if (parentRequest === null) {\r\n        activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);\r\n        childRequest = new Request(serviceIdentifier, context, null, activeBindings, target);\r\n        var thePlan = new Plan(context, childRequest);\r\n        context.addPlan(thePlan);\r\n    }\r\n    else {\r\n        activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);\r\n        childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);\r\n    }\r\n    activeBindings.forEach(function (binding) {\r\n        var subChildRequest = null;\r\n        if (target.isArray()) {\r\n            subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);\r\n        }\r\n        else {\r\n            if (binding.cache) {\r\n                return;\r\n            }\r\n            subChildRequest = childRequest;\r\n        }\r\n        if (binding.type === BindingTypeEnum.Instance && binding.implementationType !== null) {\r\n            var dependencies = getDependencies(metadataReader, binding.implementationType);\r\n            if (!context.container.options.skipBaseClassChecks) {\r\n                var baseClassDependencyCount = getBaseClassDependencyCount(metadataReader, binding.implementationType);\r\n                if (dependencies.length < baseClassDependencyCount) {\r\n                    var error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH(getFunctionName(binding.implementationType));\r\n                    throw new Error(error);\r\n                }\r\n            }\r\n            dependencies.forEach(function (dependency) {\r\n                _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);\r\n            });\r\n        }\r\n    });\r\n}\r\nfunction getBindings(container, serviceIdentifier) {\r\n    var bindings = [];\r\n    var bindingDictionary = getBindingDictionary(container);\r\n    if (bindingDictionary.hasKey(serviceIdentifier)) {\r\n        bindings = bindingDictionary.get(serviceIdentifier);\r\n    }\r\n    else if (container.parent !== null) {\r\n        bindings = getBindings(container.parent, serviceIdentifier);\r\n    }\r\n    return bindings;\r\n}\r\nfunction plan(metadataReader, container, isMultiInject, targetType, serviceIdentifier, key, value, avoidConstraints) {\r\n    if (avoidConstraints === void 0) { avoidConstraints = false; }\r\n    var context = new Context(container);\r\n    var target = _createTarget(isMultiInject, targetType, serviceIdentifier, '', key, value);\r\n    try {\r\n        _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);\r\n        return context;\r\n    }\r\n    catch (error) {\r\n        if (isStackOverflowExeption(error)) {\r\n            circularDependencyToException(context.plan.rootRequest);\r\n        }\r\n        throw error;\r\n    }\r\n}\r\nfunction createMockRequest(container, serviceIdentifier, key, value) {\r\n    var target = new Target(TargetTypeEnum.Variable, '', serviceIdentifier, new Metadata(key, value));\r\n    var context = new Context(container);\r\n    var request = new Request(serviceIdentifier, context, null, [], target);\r\n    return request;\r\n}\r\nexport { plan, createMockRequest, getBindingDictionary };\r\n","function isPromise(object) {\r\n    var isObjectOrFunction = (typeof object === 'object' && object !== null) || typeof object === 'function';\r\n    return isObjectOrFunction && typeof object.then === \"function\";\r\n}\r\nfunction isPromiseOrContainsPromise(object) {\r\n    if (isPromise(object)) {\r\n        return true;\r\n    }\r\n    return Array.isArray(object) && object.some(isPromise);\r\n}\r\nexport { isPromise, isPromiseOrContainsPromise };\r\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n};\r\nimport { BindingScopeEnum } from '../constants/literal_types';\r\nimport { isPromise } from '../utils/async';\r\nexport var tryGetFromScope = function (requestScope, binding) {\r\n    if ((binding.scope === BindingScopeEnum.Singleton) && binding.activated) {\r\n        return binding.cache;\r\n    }\r\n    if (binding.scope === BindingScopeEnum.Request &&\r\n        requestScope.has(binding.id)) {\r\n        return requestScope.get(binding.id);\r\n    }\r\n    return null;\r\n};\r\nexport var saveToScope = function (requestScope, binding, result) {\r\n    if (binding.scope === BindingScopeEnum.Singleton) {\r\n        _saveToSingletonScope(binding, result);\r\n    }\r\n    if (binding.scope === BindingScopeEnum.Request) {\r\n        _saveToRequestScope(requestScope, binding, result);\r\n    }\r\n};\r\nvar _saveToRequestScope = function (requestScope, binding, result) {\r\n    if (!requestScope.has(binding.id)) {\r\n        requestScope.set(binding.id, result);\r\n    }\r\n};\r\nvar _saveToSingletonScope = function (binding, result) {\r\n    binding.cache = result;\r\n    binding.activated = true;\r\n    if (isPromise(result)) {\r\n        void _saveAsyncResultToSingletonScope(binding, result);\r\n    }\r\n};\r\nvar _saveAsyncResultToSingletonScope = function (binding, asyncResult) { return __awaiter(void 0, void 0, void 0, function () {\r\n    var result, ex_1;\r\n    return __generator(this, function (_a) {\r\n        switch (_a.label) {\r\n            case 0:\r\n                _a.trys.push([0, 2, , 3]);\r\n                return [4, asyncResult];\r\n            case 1:\r\n                result = _a.sent();\r\n                binding.cache = result;\r\n                return [3, 3];\r\n            case 2:\r\n                ex_1 = _a.sent();\r\n                binding.cache = null;\r\n                binding.activated = false;\r\n                throw ex_1;\r\n            case 3: return [2];\r\n        }\r\n    });\r\n}); };\r\n","export var FactoryType;\r\n(function (FactoryType) {\r\n    FactoryType[\"DynamicValue\"] = \"toDynamicValue\";\r\n    FactoryType[\"Factory\"] = \"toFactory\";\r\n    FactoryType[\"Provider\"] = \"toProvider\";\r\n})(FactoryType || (FactoryType = {}));\r\n","import { getServiceIdentifierAsString } from '../utils/serialization';\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingTypeEnum } from '../constants/literal_types';\r\nimport { FactoryType } from './factory_type';\r\nexport var multiBindToService = function (container) {\r\n    return function (service) {\r\n        return function () {\r\n            var types = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                types[_i] = arguments[_i];\r\n            }\r\n            return types.forEach(function (t) { return container.bind(t).toService(service); });\r\n        };\r\n    };\r\n};\r\nexport var ensureFullyBound = function (binding) {\r\n    var boundValue = null;\r\n    switch (binding.type) {\r\n        case BindingTypeEnum.ConstantValue:\r\n        case BindingTypeEnum.Function:\r\n            boundValue = binding.cache;\r\n            break;\r\n        case BindingTypeEnum.Constructor:\r\n        case BindingTypeEnum.Instance:\r\n            boundValue = binding.implementationType;\r\n            break;\r\n        case BindingTypeEnum.DynamicValue:\r\n            boundValue = binding.dynamicValue;\r\n            break;\r\n        case BindingTypeEnum.Provider:\r\n            boundValue = binding.provider;\r\n            break;\r\n        case BindingTypeEnum.Factory:\r\n            boundValue = binding.factory;\r\n            break;\r\n    }\r\n    if (boundValue === null) {\r\n        var serviceIdentifierAsString = getServiceIdentifierAsString(binding.serviceIdentifier);\r\n        throw new Error(ERROR_MSGS.INVALID_BINDING_TYPE + \" \" + serviceIdentifierAsString);\r\n    }\r\n};\r\nexport var getFactoryDetails = function (binding) {\r\n    switch (binding.type) {\r\n        case BindingTypeEnum.Factory:\r\n            return { factory: binding.factory, factoryType: FactoryType.Factory };\r\n        case BindingTypeEnum.Provider:\r\n            return { factory: binding.provider, factoryType: FactoryType.Provider };\r\n        case BindingTypeEnum.DynamicValue:\r\n            return { factory: binding.dynamicValue, factoryType: FactoryType.DynamicValue };\r\n        default:\r\n            throw new Error(\"Unexpected factory type \" + binding.type);\r\n    }\r\n};\r\n","var __assign = (this && this.__assign) || function () {\r\n    __assign = Object.assign || function(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n                t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n    return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nimport { ON_DEACTIVATION_ERROR, POST_CONSTRUCT_ERROR, PRE_DESTROY_ERROR } from '../constants/error_msgs';\r\nimport { BindingScopeEnum, TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { isPromise, isPromiseOrContainsPromise } from '../utils/async';\r\nfunction _resolveRequests(childRequests, resolveRequest) {\r\n    return childRequests.reduce(function (resolvedRequests, childRequest) {\r\n        var injection = resolveRequest(childRequest);\r\n        var targetType = childRequest.target.type;\r\n        if (targetType === TargetTypeEnum.ConstructorArgument) {\r\n            resolvedRequests.constructorInjections.push(injection);\r\n        }\r\n        else {\r\n            resolvedRequests.propertyRequests.push(childRequest);\r\n            resolvedRequests.propertyInjections.push(injection);\r\n        }\r\n        if (!resolvedRequests.isAsync) {\r\n            resolvedRequests.isAsync = isPromiseOrContainsPromise(injection);\r\n        }\r\n        return resolvedRequests;\r\n    }, { constructorInjections: [], propertyInjections: [], propertyRequests: [], isAsync: false });\r\n}\r\nfunction _createInstance(constr, childRequests, resolveRequest) {\r\n    var result;\r\n    if (childRequests.length > 0) {\r\n        var resolved = _resolveRequests(childRequests, resolveRequest);\r\n        var createInstanceWithInjectionsArg = __assign(__assign({}, resolved), { constr: constr });\r\n        if (resolved.isAsync) {\r\n            result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg);\r\n        }\r\n        else {\r\n            result = createInstanceWithInjections(createInstanceWithInjectionsArg);\r\n        }\r\n    }\r\n    else {\r\n        result = new constr();\r\n    }\r\n    return result;\r\n}\r\nfunction createInstanceWithInjections(args) {\r\n    var _a;\r\n    var instance = new ((_a = args.constr).bind.apply(_a, __spreadArray([void 0], args.constructorInjections, false)))();\r\n    args.propertyRequests.forEach(function (r, index) {\r\n        var property = r.target.identifier;\r\n        var injection = args.propertyInjections[index];\r\n        if (!r.target.isOptional() || injection !== undefined) {\r\n            instance[property] = injection;\r\n        }\r\n    });\r\n    return instance;\r\n}\r\nfunction createInstanceWithInjectionsAsync(args) {\r\n    return __awaiter(this, void 0, void 0, function () {\r\n        var constructorInjections, propertyInjections;\r\n        return __generator(this, function (_a) {\r\n            switch (_a.label) {\r\n                case 0: return [4, possiblyWaitInjections(args.constructorInjections)];\r\n                case 1:\r\n                    constructorInjections = _a.sent();\r\n                    return [4, possiblyWaitInjections(args.propertyInjections)];\r\n                case 2:\r\n                    propertyInjections = _a.sent();\r\n                    return [2, createInstanceWithInjections(__assign(__assign({}, args), { constructorInjections: constructorInjections, propertyInjections: propertyInjections }))];\r\n            }\r\n        });\r\n    });\r\n}\r\nfunction possiblyWaitInjections(possiblePromiseinjections) {\r\n    return __awaiter(this, void 0, void 0, function () {\r\n        var injections, _i, possiblePromiseinjections_1, injection;\r\n        return __generator(this, function (_a) {\r\n            injections = [];\r\n            for (_i = 0, possiblePromiseinjections_1 = possiblePromiseinjections; _i < possiblePromiseinjections_1.length; _i++) {\r\n                injection = possiblePromiseinjections_1[_i];\r\n                if (Array.isArray(injection)) {\r\n                    injections.push(Promise.all(injection));\r\n                }\r\n                else {\r\n                    injections.push(injection);\r\n                }\r\n            }\r\n            return [2, Promise.all(injections)];\r\n        });\r\n    });\r\n}\r\nfunction _getInstanceAfterPostConstruct(constr, result) {\r\n    var postConstructResult = _postConstruct(constr, result);\r\n    if (isPromise(postConstructResult)) {\r\n        return postConstructResult.then(function () { return result; });\r\n    }\r\n    else {\r\n        return result;\r\n    }\r\n}\r\nfunction _postConstruct(constr, instance) {\r\n    var _a, _b;\r\n    if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {\r\n        var data = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);\r\n        try {\r\n            return (_b = (_a = instance)[data.value]) === null || _b === void 0 ? void 0 : _b.call(_a);\r\n        }\r\n        catch (e) {\r\n            if (e instanceof Error) {\r\n                throw new Error(POST_CONSTRUCT_ERROR(constr.name, e.message));\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction _validateInstanceResolution(binding, constr) {\r\n    if (binding.scope !== BindingScopeEnum.Singleton) {\r\n        _throwIfHandlingDeactivation(binding, constr);\r\n    }\r\n}\r\nfunction _throwIfHandlingDeactivation(binding, constr) {\r\n    var scopeErrorMessage = \"Class cannot be instantiated in \" + (binding.scope === BindingScopeEnum.Request ?\r\n        'request' :\r\n        'transient') + \" scope.\";\r\n    if (typeof binding.onDeactivation === 'function') {\r\n        throw new Error(ON_DEACTIVATION_ERROR(constr.name, scopeErrorMessage));\r\n    }\r\n    if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constr)) {\r\n        throw new Error(PRE_DESTROY_ERROR(constr.name, scopeErrorMessage));\r\n    }\r\n}\r\nfunction resolveInstance(binding, constr, childRequests, resolveRequest) {\r\n    _validateInstanceResolution(binding, constr);\r\n    var result = _createInstance(constr, childRequests, resolveRequest);\r\n    if (isPromise(result)) {\r\n        return result.then(function (resolvedResult) { return _getInstanceAfterPostConstruct(constr, resolvedResult); });\r\n    }\r\n    else {\r\n        return _getInstanceAfterPostConstruct(constr, result);\r\n    }\r\n}\r\nexport { resolveInstance };\r\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n};\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingTypeEnum } from '../constants/literal_types';\r\nimport { getBindingDictionary } from '../planning/planner';\r\nimport { saveToScope, tryGetFromScope } from '../scope/scope';\r\nimport { isPromise } from '../utils/async';\r\nimport { getFactoryDetails, ensureFullyBound } from '../utils/binding_utils';\r\nimport { tryAndThrowErrorIfStackOverflow } from '../utils/exceptions';\r\nimport { resolveInstance } from './instantiation';\r\nvar _resolveRequest = function (requestScope) {\r\n    return function (request) {\r\n        request.parentContext.setCurrentRequest(request);\r\n        var bindings = request.bindings;\r\n        var childRequests = request.childRequests;\r\n        var targetIsAnArray = request.target && request.target.isArray();\r\n        var targetParentIsNotAnArray = !request.parentRequest ||\r\n            !request.parentRequest.target ||\r\n            !request.target ||\r\n            !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);\r\n        if (targetIsAnArray && targetParentIsNotAnArray) {\r\n            return childRequests.map(function (childRequest) {\r\n                var _f = _resolveRequest(requestScope);\r\n                return _f(childRequest);\r\n            });\r\n        }\r\n        else {\r\n            if (request.target.isOptional() && bindings.length === 0) {\r\n                return undefined;\r\n            }\r\n            var binding = bindings[0];\r\n            return _resolveBinding(requestScope, request, binding);\r\n        }\r\n    };\r\n};\r\nvar _resolveFactoryFromBinding = function (binding, context) {\r\n    var factoryDetails = getFactoryDetails(binding);\r\n    return tryAndThrowErrorIfStackOverflow(function () { return factoryDetails.factory.bind(binding)(context); }, function () { return new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString())); });\r\n};\r\nvar _getResolvedFromBinding = function (requestScope, request, binding) {\r\n    var result;\r\n    var childRequests = request.childRequests;\r\n    ensureFullyBound(binding);\r\n    switch (binding.type) {\r\n        case BindingTypeEnum.ConstantValue:\r\n        case BindingTypeEnum.Function:\r\n            result = binding.cache;\r\n            break;\r\n        case BindingTypeEnum.Constructor:\r\n            result = binding.implementationType;\r\n            break;\r\n        case BindingTypeEnum.Instance:\r\n            result = resolveInstance(binding, binding.implementationType, childRequests, _resolveRequest(requestScope));\r\n            break;\r\n        default:\r\n            result = _resolveFactoryFromBinding(binding, request.parentContext);\r\n    }\r\n    return result;\r\n};\r\nvar _resolveInScope = function (requestScope, binding, resolveFromBinding) {\r\n    var result = tryGetFromScope(requestScope, binding);\r\n    if (result !== null) {\r\n        return result;\r\n    }\r\n    result = resolveFromBinding();\r\n    saveToScope(requestScope, binding, result);\r\n    return result;\r\n};\r\nvar _resolveBinding = function (requestScope, request, binding) {\r\n    return _resolveInScope(requestScope, binding, function () {\r\n        var result = _getResolvedFromBinding(requestScope, request, binding);\r\n        if (isPromise(result)) {\r\n            result = result.then(function (resolved) { return _onActivation(request, binding, resolved); });\r\n        }\r\n        else {\r\n            result = _onActivation(request, binding, result);\r\n        }\r\n        return result;\r\n    });\r\n};\r\nfunction _onActivation(request, binding, resolved) {\r\n    var result = _bindingActivation(request.parentContext, binding, resolved);\r\n    var containersIterator = _getContainersIterator(request.parentContext.container);\r\n    var container;\r\n    var containersIteratorResult = containersIterator.next();\r\n    do {\r\n        container = containersIteratorResult.value;\r\n        var context_1 = request.parentContext;\r\n        var serviceIdentifier = request.serviceIdentifier;\r\n        var activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);\r\n        if (isPromise(result)) {\r\n            result = _activateContainerAsync(activationsIterator, context_1, result);\r\n        }\r\n        else {\r\n            result = _activateContainer(activationsIterator, context_1, result);\r\n        }\r\n        containersIteratorResult = containersIterator.next();\r\n    } while (containersIteratorResult.done !== true && !getBindingDictionary(container).hasKey(request.serviceIdentifier));\r\n    return result;\r\n}\r\nvar _bindingActivation = function (context, binding, previousResult) {\r\n    var result;\r\n    if (typeof binding.onActivation === 'function') {\r\n        result = binding.onActivation(context, previousResult);\r\n    }\r\n    else {\r\n        result = previousResult;\r\n    }\r\n    return result;\r\n};\r\nvar _activateContainer = function (activationsIterator, context, result) {\r\n    var activation = activationsIterator.next();\r\n    while (!activation.done) {\r\n        result = activation.value(context, result);\r\n        if (isPromise(result)) {\r\n            return _activateContainerAsync(activationsIterator, context, result);\r\n        }\r\n        activation = activationsIterator.next();\r\n    }\r\n    return result;\r\n};\r\nvar _activateContainerAsync = function (activationsIterator, context, resultPromise) { return __awaiter(void 0, void 0, void 0, function () {\r\n    var result, activation;\r\n    return __generator(this, function (_a) {\r\n        switch (_a.label) {\r\n            case 0: return [4, resultPromise];\r\n            case 1:\r\n                result = _a.sent();\r\n                activation = activationsIterator.next();\r\n                _a.label = 2;\r\n            case 2:\r\n                if (!!activation.done) return [3, 4];\r\n                return [4, activation.value(context, result)];\r\n            case 3:\r\n                result = _a.sent();\r\n                activation = activationsIterator.next();\r\n                return [3, 2];\r\n            case 4: return [2, result];\r\n        }\r\n    });\r\n}); };\r\nvar _getContainerActivationsForService = function (container, serviceIdentifier) {\r\n    var activations = container._activations;\r\n    return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values();\r\n};\r\nvar _getContainersIterator = function (container) {\r\n    var containersStack = [container];\r\n    var parent = container.parent;\r\n    while (parent !== null) {\r\n        containersStack.push(parent);\r\n        parent = parent.parent;\r\n    }\r\n    var getNextContainer = function () {\r\n        var nextContainer = containersStack.pop();\r\n        if (nextContainer !== undefined) {\r\n            return { done: false, value: nextContainer };\r\n        }\r\n        else {\r\n            return { done: true, value: undefined };\r\n        }\r\n    };\r\n    var containersIterator = {\r\n        next: getNextContainer,\r\n    };\r\n    return containersIterator;\r\n};\r\nfunction resolve(context) {\r\n    var _f = _resolveRequest(context.plan.rootRequest.requestScope);\r\n    return _f(context.plan.rootRequest);\r\n}\r\nexport { resolve };\r\n","import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { Metadata } from '../planning/metadata';\r\nvar traverseAncerstors = function (request, constraint) {\r\n    var parent = request.parentRequest;\r\n    if (parent !== null) {\r\n        return constraint(parent) ? true : traverseAncerstors(parent, constraint);\r\n    }\r\n    else {\r\n        return false;\r\n    }\r\n};\r\nvar taggedConstraint = function (key) { return function (value) {\r\n    var constraint = function (request) {\r\n        return request !== null && request.target !== null && request.target.matchesTag(key)(value);\r\n    };\r\n    constraint.metaData = new Metadata(key, value);\r\n    return constraint;\r\n}; };\r\nvar namedConstraint = taggedConstraint(METADATA_KEY.NAMED_TAG);\r\nvar typeConstraint = function (type) { return function (request) {\r\n    var binding = null;\r\n    if (request !== null) {\r\n        binding = request.bindings[0];\r\n        if (typeof type === 'string') {\r\n            var serviceIdentifier = binding.serviceIdentifier;\r\n            return serviceIdentifier === type;\r\n        }\r\n        else {\r\n            var constructor = request.bindings[0].implementationType;\r\n            return type === constructor;\r\n        }\r\n    }\r\n    return false;\r\n}; };\r\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint };\r\n","import { BindingOnSyntax } from './binding_on_syntax';\r\nimport { namedConstraint, taggedConstraint, traverseAncerstors, typeConstraint } from './constraint_helpers';\r\nvar BindingWhenSyntax = (function () {\r\n    function BindingWhenSyntax(binding) {\r\n        this._binding = binding;\r\n    }\r\n    BindingWhenSyntax.prototype.when = function (constraint) {\r\n        this._binding.constraint = constraint;\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenTargetNamed = function (name) {\r\n        this._binding.constraint = namedConstraint(name);\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenTargetIsDefault = function () {\r\n        this._binding.constraint = function (request) {\r\n            if (request === null) {\r\n                return false;\r\n            }\r\n            var targetIsDefault = (request.target !== null) &&\r\n                (!request.target.isNamed()) &&\r\n                (!request.target.isTagged());\r\n            return targetIsDefault;\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenTargetTagged = function (tag, value) {\r\n        this._binding.constraint = taggedConstraint(tag)(value);\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenInjectedInto = function (parent) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && typeConstraint(parent)(request.parentRequest);\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenParentNamed = function (name) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && namedConstraint(name)(request.parentRequest);\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenParentTagged = function (tag, value) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && taggedConstraint(tag)(value)(request.parentRequest);\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenAnyAncestorIs = function (ancestor) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && traverseAncerstors(request, typeConstraint(ancestor));\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenNoAncestorIs = function (ancestor) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && !traverseAncerstors(request, typeConstraint(ancestor));\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenAnyAncestorNamed = function (name) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && traverseAncerstors(request, namedConstraint(name));\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenNoAncestorNamed = function (name) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && !traverseAncerstors(request, namedConstraint(name));\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && traverseAncerstors(request, taggedConstraint(tag)(value));\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenNoAncestorTagged = function (tag, value) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && !traverseAncerstors(request, taggedConstraint(tag)(value));\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenAnyAncestorMatches = function (constraint) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && traverseAncerstors(request, constraint);\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    BindingWhenSyntax.prototype.whenNoAncestorMatches = function (constraint) {\r\n        this._binding.constraint = function (request) {\r\n            return request !== null && !traverseAncerstors(request, constraint);\r\n        };\r\n        return new BindingOnSyntax(this._binding);\r\n    };\r\n    return BindingWhenSyntax;\r\n}());\r\nexport { BindingWhenSyntax };\r\n","import { BindingWhenSyntax } from './binding_when_syntax';\r\nvar BindingOnSyntax = (function () {\r\n    function BindingOnSyntax(binding) {\r\n        this._binding = binding;\r\n    }\r\n    BindingOnSyntax.prototype.onActivation = function (handler) {\r\n        this._binding.onActivation = handler;\r\n        return new BindingWhenSyntax(this._binding);\r\n    };\r\n    BindingOnSyntax.prototype.onDeactivation = function (handler) {\r\n        this._binding.onDeactivation = handler;\r\n        return new BindingWhenSyntax(this._binding);\r\n    };\r\n    return BindingOnSyntax;\r\n}());\r\nexport { BindingOnSyntax };\r\n","import { BindingOnSyntax } from './binding_on_syntax';\r\nimport { BindingWhenSyntax } from './binding_when_syntax';\r\nvar BindingWhenOnSyntax = (function () {\r\n    function BindingWhenOnSyntax(binding) {\r\n        this._binding = binding;\r\n        this._bindingWhenSyntax = new BindingWhenSyntax(this._binding);\r\n        this._bindingOnSyntax = new BindingOnSyntax(this._binding);\r\n    }\r\n    BindingWhenOnSyntax.prototype.when = function (constraint) {\r\n        return this._bindingWhenSyntax.when(constraint);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenTargetNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenTargetNamed(name);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenTargetIsDefault = function () {\r\n        return this._bindingWhenSyntax.whenTargetIsDefault();\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenTargetTagged(tag, value);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenInjectedInto = function (parent) {\r\n        return this._bindingWhenSyntax.whenInjectedInto(parent);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenParentNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenParentNamed(name);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenParentTagged(tag, value);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {\r\n        return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenNoAncestorNamed(name);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\r\n    };\r\n    BindingWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {\r\n        return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\r\n    };\r\n    BindingWhenOnSyntax.prototype.onActivation = function (handler) {\r\n        return this._bindingOnSyntax.onActivation(handler);\r\n    };\r\n    BindingWhenOnSyntax.prototype.onDeactivation = function (handler) {\r\n        return this._bindingOnSyntax.onDeactivation(handler);\r\n    };\r\n    return BindingWhenOnSyntax;\r\n}());\r\nexport { BindingWhenOnSyntax };\r\n","import { BindingScopeEnum } from '../constants/literal_types';\r\nimport { BindingWhenOnSyntax } from './binding_when_on_syntax';\r\nvar BindingInSyntax = (function () {\r\n    function BindingInSyntax(binding) {\r\n        this._binding = binding;\r\n    }\r\n    BindingInSyntax.prototype.inRequestScope = function () {\r\n        this._binding.scope = BindingScopeEnum.Request;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingInSyntax.prototype.inSingletonScope = function () {\r\n        this._binding.scope = BindingScopeEnum.Singleton;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingInSyntax.prototype.inTransientScope = function () {\r\n        this._binding.scope = BindingScopeEnum.Transient;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    return BindingInSyntax;\r\n}());\r\nexport { BindingInSyntax };\r\n","import { BindingInSyntax } from './binding_in_syntax';\r\nimport { BindingOnSyntax } from './binding_on_syntax';\r\nimport { BindingWhenSyntax } from './binding_when_syntax';\r\nvar BindingInWhenOnSyntax = (function () {\r\n    function BindingInWhenOnSyntax(binding) {\r\n        this._binding = binding;\r\n        this._bindingWhenSyntax = new BindingWhenSyntax(this._binding);\r\n        this._bindingOnSyntax = new BindingOnSyntax(this._binding);\r\n        this._bindingInSyntax = new BindingInSyntax(binding);\r\n    }\r\n    BindingInWhenOnSyntax.prototype.inRequestScope = function () {\r\n        return this._bindingInSyntax.inRequestScope();\r\n    };\r\n    BindingInWhenOnSyntax.prototype.inSingletonScope = function () {\r\n        return this._bindingInSyntax.inSingletonScope();\r\n    };\r\n    BindingInWhenOnSyntax.prototype.inTransientScope = function () {\r\n        return this._bindingInSyntax.inTransientScope();\r\n    };\r\n    BindingInWhenOnSyntax.prototype.when = function (constraint) {\r\n        return this._bindingWhenSyntax.when(constraint);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenTargetNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenTargetNamed(name);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenTargetIsDefault = function () {\r\n        return this._bindingWhenSyntax.whenTargetIsDefault();\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenTargetTagged(tag, value);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenInjectedInto = function (parent) {\r\n        return this._bindingWhenSyntax.whenInjectedInto(parent);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenParentNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenParentNamed(name);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenParentTagged(tag, value);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {\r\n        return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {\r\n        return this._bindingWhenSyntax.whenNoAncestorNamed(name);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {\r\n        return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {\r\n        return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {\r\n        return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.onActivation = function (handler) {\r\n        return this._bindingOnSyntax.onActivation(handler);\r\n    };\r\n    BindingInWhenOnSyntax.prototype.onDeactivation = function (handler) {\r\n        return this._bindingOnSyntax.onDeactivation(handler);\r\n    };\r\n    return BindingInWhenOnSyntax;\r\n}());\r\nexport { BindingInWhenOnSyntax };\r\n","import * as ERROR_MSGS from \"../constants/error_msgs\";\r\nimport { BindingScopeEnum, BindingTypeEnum } from \"../constants/literal_types\";\r\nimport { BindingInWhenOnSyntax } from \"./binding_in_when_on_syntax\";\r\nimport { BindingWhenOnSyntax } from \"./binding_when_on_syntax\";\r\nvar BindingToSyntax = (function () {\r\n    function BindingToSyntax(binding) {\r\n        this._binding = binding;\r\n    }\r\n    BindingToSyntax.prototype.to = function (constructor) {\r\n        this._binding.type = BindingTypeEnum.Instance;\r\n        this._binding.implementationType = constructor;\r\n        return new BindingInWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toSelf = function () {\r\n        if (typeof this._binding.serviceIdentifier !== \"function\") {\r\n            throw new Error(\"\" + ERROR_MSGS.INVALID_TO_SELF_VALUE);\r\n        }\r\n        var self = this._binding.serviceIdentifier;\r\n        return this.to(self);\r\n    };\r\n    BindingToSyntax.prototype.toConstantValue = function (value) {\r\n        this._binding.type = BindingTypeEnum.ConstantValue;\r\n        this._binding.cache = value;\r\n        this._binding.dynamicValue = null;\r\n        this._binding.implementationType = null;\r\n        this._binding.scope = BindingScopeEnum.Singleton;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toDynamicValue = function (func) {\r\n        this._binding.type = BindingTypeEnum.DynamicValue;\r\n        this._binding.cache = null;\r\n        this._binding.dynamicValue = func;\r\n        this._binding.implementationType = null;\r\n        return new BindingInWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toConstructor = function (constructor) {\r\n        this._binding.type = BindingTypeEnum.Constructor;\r\n        this._binding.implementationType = constructor;\r\n        this._binding.scope = BindingScopeEnum.Singleton;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toFactory = function (factory) {\r\n        this._binding.type = BindingTypeEnum.Factory;\r\n        this._binding.factory = factory;\r\n        this._binding.scope = BindingScopeEnum.Singleton;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toFunction = function (func) {\r\n        if (typeof func !== \"function\") {\r\n            throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING);\r\n        }\r\n        var bindingWhenOnSyntax = this.toConstantValue(func);\r\n        this._binding.type = BindingTypeEnum.Function;\r\n        this._binding.scope = BindingScopeEnum.Singleton;\r\n        return bindingWhenOnSyntax;\r\n    };\r\n    BindingToSyntax.prototype.toAutoFactory = function (serviceIdentifier) {\r\n        this._binding.type = BindingTypeEnum.Factory;\r\n        this._binding.factory = function (context) {\r\n            var autofactory = function () { return context.container.get(serviceIdentifier); };\r\n            return autofactory;\r\n        };\r\n        this._binding.scope = BindingScopeEnum.Singleton;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toAutoNamedFactory = function (serviceIdentifier) {\r\n        this._binding.type = BindingTypeEnum.Factory;\r\n        this._binding.factory = function (context) {\r\n            return function (named) { return context.container.getNamed(serviceIdentifier, named); };\r\n        };\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toProvider = function (provider) {\r\n        this._binding.type = BindingTypeEnum.Provider;\r\n        this._binding.provider = provider;\r\n        this._binding.scope = BindingScopeEnum.Singleton;\r\n        return new BindingWhenOnSyntax(this._binding);\r\n    };\r\n    BindingToSyntax.prototype.toService = function (service) {\r\n        this.toDynamicValue(function (context) { return context.container.get(service); });\r\n    };\r\n    return BindingToSyntax;\r\n}());\r\nexport { BindingToSyntax };\r\n","var ContainerSnapshot = (function () {\r\n    function ContainerSnapshot() {\r\n    }\r\n    ContainerSnapshot.of = function (bindings, middleware, activations, deactivations, moduleActivationStore) {\r\n        var snapshot = new ContainerSnapshot();\r\n        snapshot.bindings = bindings;\r\n        snapshot.middleware = middleware;\r\n        snapshot.deactivations = deactivations;\r\n        snapshot.activations = activations;\r\n        snapshot.moduleActivationStore = moduleActivationStore;\r\n        return snapshot;\r\n    };\r\n    return ContainerSnapshot;\r\n}());\r\nexport { ContainerSnapshot };\r\n","function isClonable(obj) {\r\n    return (typeof obj === 'object')\r\n        && (obj !== null)\r\n        && ('clone' in obj)\r\n        && typeof obj.clone === 'function';\r\n}\r\nexport { isClonable };\r\n","import * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { isClonable } from '../utils/clonable';\r\nvar Lookup = (function () {\r\n    function Lookup() {\r\n        this._map = new Map();\r\n    }\r\n    Lookup.prototype.getMap = function () {\r\n        return this._map;\r\n    };\r\n    Lookup.prototype.add = function (serviceIdentifier, value) {\r\n        if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n            throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n        }\r\n        if (value === null || value === undefined) {\r\n            throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n        }\r\n        var entry = this._map.get(serviceIdentifier);\r\n        if (entry !== undefined) {\r\n            entry.push(value);\r\n        }\r\n        else {\r\n            this._map.set(serviceIdentifier, [value]);\r\n        }\r\n    };\r\n    Lookup.prototype.get = function (serviceIdentifier) {\r\n        if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n            throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n        }\r\n        var entry = this._map.get(serviceIdentifier);\r\n        if (entry !== undefined) {\r\n            return entry;\r\n        }\r\n        else {\r\n            throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\r\n        }\r\n    };\r\n    Lookup.prototype.remove = function (serviceIdentifier) {\r\n        if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n            throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n        }\r\n        if (!this._map.delete(serviceIdentifier)) {\r\n            throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\r\n        }\r\n    };\r\n    Lookup.prototype.removeIntersection = function (lookup) {\r\n        var _this = this;\r\n        this.traverse(function (serviceIdentifier, value) {\r\n            var lookupActivations = lookup.hasKey(serviceIdentifier) ? lookup.get(serviceIdentifier) : undefined;\r\n            if (lookupActivations !== undefined) {\r\n                var filteredValues = value.filter(function (lookupValue) {\r\n                    return !lookupActivations.some(function (moduleActivation) { return lookupValue === moduleActivation; });\r\n                });\r\n                _this._setValue(serviceIdentifier, filteredValues);\r\n            }\r\n        });\r\n    };\r\n    Lookup.prototype.removeByCondition = function (condition) {\r\n        var _this = this;\r\n        var removals = [];\r\n        this._map.forEach(function (entries, key) {\r\n            var updatedEntries = [];\r\n            for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n                var entry = entries_1[_i];\r\n                var remove = condition(entry);\r\n                if (remove) {\r\n                    removals.push(entry);\r\n                }\r\n                else {\r\n                    updatedEntries.push(entry);\r\n                }\r\n            }\r\n            _this._setValue(key, updatedEntries);\r\n        });\r\n        return removals;\r\n    };\r\n    Lookup.prototype.hasKey = function (serviceIdentifier) {\r\n        if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n            throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n        }\r\n        return this._map.has(serviceIdentifier);\r\n    };\r\n    Lookup.prototype.clone = function () {\r\n        var copy = new Lookup();\r\n        this._map.forEach(function (value, key) {\r\n            value.forEach(function (b) { return copy.add(key, isClonable(b) ? b.clone() : b); });\r\n        });\r\n        return copy;\r\n    };\r\n    Lookup.prototype.traverse = function (func) {\r\n        this._map.forEach(function (value, key) {\r\n            func(key, value);\r\n        });\r\n    };\r\n    Lookup.prototype._setValue = function (serviceIdentifier, value) {\r\n        if (value.length > 0) {\r\n            this._map.set(serviceIdentifier, value);\r\n        }\r\n        else {\r\n            this._map.delete(serviceIdentifier);\r\n        }\r\n    };\r\n    return Lookup;\r\n}());\r\nexport { Lookup };\r\n","import { Lookup } from './lookup';\r\nvar ModuleActivationStore = (function () {\r\n    function ModuleActivationStore() {\r\n        this._map = new Map();\r\n    }\r\n    ModuleActivationStore.prototype.remove = function (moduleId) {\r\n        if (this._map.has(moduleId)) {\r\n            var handlers = this._map.get(moduleId);\r\n            this._map.delete(moduleId);\r\n            return handlers;\r\n        }\r\n        return this._getEmptyHandlersStore();\r\n    };\r\n    ModuleActivationStore.prototype.addDeactivation = function (moduleId, serviceIdentifier, onDeactivation) {\r\n        this._getModuleActivationHandlers(moduleId)\r\n            .onDeactivations.add(serviceIdentifier, onDeactivation);\r\n    };\r\n    ModuleActivationStore.prototype.addActivation = function (moduleId, serviceIdentifier, onActivation) {\r\n        this._getModuleActivationHandlers(moduleId)\r\n            .onActivations.add(serviceIdentifier, onActivation);\r\n    };\r\n    ModuleActivationStore.prototype.clone = function () {\r\n        var clone = new ModuleActivationStore();\r\n        this._map.forEach(function (handlersStore, moduleId) {\r\n            clone._map.set(moduleId, {\r\n                onActivations: handlersStore.onActivations.clone(),\r\n                onDeactivations: handlersStore.onDeactivations.clone(),\r\n            });\r\n        });\r\n        return clone;\r\n    };\r\n    ModuleActivationStore.prototype._getModuleActivationHandlers = function (moduleId) {\r\n        var moduleActivationHandlers = this._map.get(moduleId);\r\n        if (moduleActivationHandlers === undefined) {\r\n            moduleActivationHandlers = this._getEmptyHandlersStore();\r\n            this._map.set(moduleId, moduleActivationHandlers);\r\n        }\r\n        return moduleActivationHandlers;\r\n    };\r\n    ModuleActivationStore.prototype._getEmptyHandlersStore = function () {\r\n        var handlersStore = {\r\n            onActivations: new Lookup(),\r\n            onDeactivations: new Lookup()\r\n        };\r\n        return handlersStore;\r\n    };\r\n    return ModuleActivationStore;\r\n}());\r\nexport { ModuleActivationStore };\r\n","var __assign = (this && this.__assign) || function () {\r\n    __assign = Object.assign || function(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n                t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n    return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nimport { Binding } from '../bindings/binding';\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingScopeEnum, TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { MetadataReader } from '../planning/metadata_reader';\r\nimport { createMockRequest, getBindingDictionary, plan } from '../planning/planner';\r\nimport { resolve } from '../resolution/resolver';\r\nimport { BindingToSyntax } from '../syntax/binding_to_syntax';\r\nimport { isPromise, isPromiseOrContainsPromise } from '../utils/async';\r\nimport { id } from '../utils/id';\r\nimport { getServiceIdentifierAsString } from '../utils/serialization';\r\nimport { ContainerSnapshot } from './container_snapshot';\r\nimport { Lookup } from './lookup';\r\nimport { ModuleActivationStore } from './module_activation_store';\r\nvar Container = (function () {\r\n    function Container(containerOptions) {\r\n        var options = containerOptions || {};\r\n        if (typeof options !== 'object') {\r\n            throw new Error(\"\" + ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT);\r\n        }\r\n        if (options.defaultScope === undefined) {\r\n            options.defaultScope = BindingScopeEnum.Transient;\r\n        }\r\n        else if (options.defaultScope !== BindingScopeEnum.Singleton &&\r\n            options.defaultScope !== BindingScopeEnum.Transient &&\r\n            options.defaultScope !== BindingScopeEnum.Request) {\r\n            throw new Error(\"\" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE);\r\n        }\r\n        if (options.autoBindInjectable === undefined) {\r\n            options.autoBindInjectable = false;\r\n        }\r\n        else if (typeof options.autoBindInjectable !== 'boolean') {\r\n            throw new Error(\"\" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE);\r\n        }\r\n        if (options.skipBaseClassChecks === undefined) {\r\n            options.skipBaseClassChecks = false;\r\n        }\r\n        else if (typeof options.skipBaseClassChecks !== 'boolean') {\r\n            throw new Error(\"\" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK);\r\n        }\r\n        this.options = {\r\n            autoBindInjectable: options.autoBindInjectable,\r\n            defaultScope: options.defaultScope,\r\n            skipBaseClassChecks: options.skipBaseClassChecks\r\n        };\r\n        this.id = id();\r\n        this._bindingDictionary = new Lookup();\r\n        this._snapshots = [];\r\n        this._middleware = null;\r\n        this._activations = new Lookup();\r\n        this._deactivations = new Lookup();\r\n        this.parent = null;\r\n        this._metadataReader = new MetadataReader();\r\n        this._moduleActivationStore = new ModuleActivationStore();\r\n    }\r\n    Container.merge = function (container1, container2) {\r\n        var containers = [];\r\n        for (var _i = 2; _i < arguments.length; _i++) {\r\n            containers[_i - 2] = arguments[_i];\r\n        }\r\n        var container = new Container();\r\n        var targetContainers = __spreadArray([container1, container2], containers, true).map(function (targetContainer) { return getBindingDictionary(targetContainer); });\r\n        var bindingDictionary = getBindingDictionary(container);\r\n        function copyDictionary(origin, destination) {\r\n            origin.traverse(function (_key, value) {\r\n                value.forEach(function (binding) {\r\n                    destination.add(binding.serviceIdentifier, binding.clone());\r\n                });\r\n            });\r\n        }\r\n        targetContainers.forEach(function (targetBindingDictionary) {\r\n            copyDictionary(targetBindingDictionary, bindingDictionary);\r\n        });\r\n        return container;\r\n    };\r\n    Container.prototype.load = function () {\r\n        var modules = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            modules[_i] = arguments[_i];\r\n        }\r\n        var getHelpers = this._getContainerModuleHelpersFactory();\r\n        for (var _a = 0, modules_1 = modules; _a < modules_1.length; _a++) {\r\n            var currentModule = modules_1[_a];\r\n            var containerModuleHelpers = getHelpers(currentModule.id);\r\n            currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction);\r\n        }\r\n    };\r\n    Container.prototype.loadAsync = function () {\r\n        var modules = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            modules[_i] = arguments[_i];\r\n        }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var getHelpers, _a, modules_2, currentModule, containerModuleHelpers;\r\n            return __generator(this, function (_b) {\r\n                switch (_b.label) {\r\n                    case 0:\r\n                        getHelpers = this._getContainerModuleHelpersFactory();\r\n                        _a = 0, modules_2 = modules;\r\n                        _b.label = 1;\r\n                    case 1:\r\n                        if (!(_a < modules_2.length)) return [3, 4];\r\n                        currentModule = modules_2[_a];\r\n                        containerModuleHelpers = getHelpers(currentModule.id);\r\n                        return [4, currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction)];\r\n                    case 2:\r\n                        _b.sent();\r\n                        _b.label = 3;\r\n                    case 3:\r\n                        _a++;\r\n                        return [3, 1];\r\n                    case 4: return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype.unload = function () {\r\n        var _this = this;\r\n        var modules = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            modules[_i] = arguments[_i];\r\n        }\r\n        modules.forEach(function (module) {\r\n            var deactivations = _this._removeModuleBindings(module.id);\r\n            _this._deactivateSingletons(deactivations);\r\n            _this._removeModuleHandlers(module.id);\r\n        });\r\n    };\r\n    Container.prototype.unloadAsync = function () {\r\n        var modules = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            modules[_i] = arguments[_i];\r\n        }\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var _a, modules_3, module_1, deactivations;\r\n            return __generator(this, function (_b) {\r\n                switch (_b.label) {\r\n                    case 0:\r\n                        _a = 0, modules_3 = modules;\r\n                        _b.label = 1;\r\n                    case 1:\r\n                        if (!(_a < modules_3.length)) return [3, 4];\r\n                        module_1 = modules_3[_a];\r\n                        deactivations = this._removeModuleBindings(module_1.id);\r\n                        return [4, this._deactivateSingletonsAsync(deactivations)];\r\n                    case 2:\r\n                        _b.sent();\r\n                        this._removeModuleHandlers(module_1.id);\r\n                        _b.label = 3;\r\n                    case 3:\r\n                        _a++;\r\n                        return [3, 1];\r\n                    case 4: return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype.bind = function (serviceIdentifier) {\r\n        var scope = this.options.defaultScope || BindingScopeEnum.Transient;\r\n        var binding = new Binding(serviceIdentifier, scope);\r\n        this._bindingDictionary.add(serviceIdentifier, binding);\r\n        return new BindingToSyntax(binding);\r\n    };\r\n    Container.prototype.rebind = function (serviceIdentifier) {\r\n        this.unbind(serviceIdentifier);\r\n        return this.bind(serviceIdentifier);\r\n    };\r\n    Container.prototype.rebindAsync = function (serviceIdentifier) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4, this.unbindAsync(serviceIdentifier)];\r\n                    case 1:\r\n                        _a.sent();\r\n                        return [2, this.bind(serviceIdentifier)];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype.unbind = function (serviceIdentifier) {\r\n        if (this._bindingDictionary.hasKey(serviceIdentifier)) {\r\n            var bindings = this._bindingDictionary.get(serviceIdentifier);\r\n            this._deactivateSingletons(bindings);\r\n        }\r\n        this._removeServiceFromDictionary(serviceIdentifier);\r\n    };\r\n    Container.prototype.unbindAsync = function (serviceIdentifier) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var bindings;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        if (!this._bindingDictionary.hasKey(serviceIdentifier)) return [3, 2];\r\n                        bindings = this._bindingDictionary.get(serviceIdentifier);\r\n                        return [4, this._deactivateSingletonsAsync(bindings)];\r\n                    case 1:\r\n                        _a.sent();\r\n                        _a.label = 2;\r\n                    case 2:\r\n                        this._removeServiceFromDictionary(serviceIdentifier);\r\n                        return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype.unbindAll = function () {\r\n        var _this = this;\r\n        this._bindingDictionary.traverse(function (_key, value) {\r\n            _this._deactivateSingletons(value);\r\n        });\r\n        this._bindingDictionary = new Lookup();\r\n    };\r\n    Container.prototype.unbindAllAsync = function () {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var promises;\r\n            var _this = this;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        promises = [];\r\n                        this._bindingDictionary.traverse(function (_key, value) {\r\n                            promises.push(_this._deactivateSingletonsAsync(value));\r\n                        });\r\n                        return [4, Promise.all(promises)];\r\n                    case 1:\r\n                        _a.sent();\r\n                        this._bindingDictionary = new Lookup();\r\n                        return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype.onActivation = function (serviceIdentifier, onActivation) {\r\n        this._activations.add(serviceIdentifier, onActivation);\r\n    };\r\n    Container.prototype.onDeactivation = function (serviceIdentifier, onDeactivation) {\r\n        this._deactivations.add(serviceIdentifier, onDeactivation);\r\n    };\r\n    Container.prototype.isBound = function (serviceIdentifier) {\r\n        var bound = this._bindingDictionary.hasKey(serviceIdentifier);\r\n        if (!bound && this.parent) {\r\n            bound = this.parent.isBound(serviceIdentifier);\r\n        }\r\n        return bound;\r\n    };\r\n    Container.prototype.isCurrentBound = function (serviceIdentifier) {\r\n        return this._bindingDictionary.hasKey(serviceIdentifier);\r\n    };\r\n    Container.prototype.isBoundNamed = function (serviceIdentifier, named) {\r\n        return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n    };\r\n    Container.prototype.isBoundTagged = function (serviceIdentifier, key, value) {\r\n        var bound = false;\r\n        if (this._bindingDictionary.hasKey(serviceIdentifier)) {\r\n            var bindings = this._bindingDictionary.get(serviceIdentifier);\r\n            var request_1 = createMockRequest(this, serviceIdentifier, key, value);\r\n            bound = bindings.some(function (b) { return b.constraint(request_1); });\r\n        }\r\n        if (!bound && this.parent) {\r\n            bound = this.parent.isBoundTagged(serviceIdentifier, key, value);\r\n        }\r\n        return bound;\r\n    };\r\n    Container.prototype.snapshot = function () {\r\n        this._snapshots.push(ContainerSnapshot.of(this._bindingDictionary.clone(), this._middleware, this._activations.clone(), this._deactivations.clone(), this._moduleActivationStore.clone()));\r\n    };\r\n    Container.prototype.restore = function () {\r\n        var snapshot = this._snapshots.pop();\r\n        if (snapshot === undefined) {\r\n            throw new Error(ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE);\r\n        }\r\n        this._bindingDictionary = snapshot.bindings;\r\n        this._activations = snapshot.activations;\r\n        this._deactivations = snapshot.deactivations;\r\n        this._middleware = snapshot.middleware;\r\n        this._moduleActivationStore = snapshot.moduleActivationStore;\r\n    };\r\n    Container.prototype.createChild = function (containerOptions) {\r\n        var child = new Container(containerOptions || this.options);\r\n        child.parent = this;\r\n        return child;\r\n    };\r\n    Container.prototype.applyMiddleware = function () {\r\n        var middlewares = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            middlewares[_i] = arguments[_i];\r\n        }\r\n        var initial = (this._middleware) ? this._middleware : this._planAndResolve();\r\n        this._middleware = middlewares.reduce(function (prev, curr) { return curr(prev); }, initial);\r\n    };\r\n    Container.prototype.applyCustomMetadataReader = function (metadataReader) {\r\n        this._metadataReader = metadataReader;\r\n    };\r\n    Container.prototype.get = function (serviceIdentifier) {\r\n        var getArgs = this._getNotAllArgs(serviceIdentifier, false);\r\n        return this._getButThrowIfAsync(getArgs);\r\n    };\r\n    Container.prototype.getAsync = function (serviceIdentifier) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var getArgs;\r\n            return __generator(this, function (_a) {\r\n                getArgs = this._getNotAllArgs(serviceIdentifier, false);\r\n                return [2, this._get(getArgs)];\r\n            });\r\n        });\r\n    };\r\n    Container.prototype.getTagged = function (serviceIdentifier, key, value) {\r\n        var getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\r\n        return this._getButThrowIfAsync(getArgs);\r\n    };\r\n    Container.prototype.getTaggedAsync = function (serviceIdentifier, key, value) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var getArgs;\r\n            return __generator(this, function (_a) {\r\n                getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\r\n                return [2, this._get(getArgs)];\r\n            });\r\n        });\r\n    };\r\n    Container.prototype.getNamed = function (serviceIdentifier, named) {\r\n        return this.getTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n    };\r\n    Container.prototype.getNamedAsync = function (serviceIdentifier, named) {\r\n        return this.getTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n    };\r\n    Container.prototype.getAll = function (serviceIdentifier) {\r\n        var getArgs = this._getAllArgs(serviceIdentifier);\r\n        return this._getButThrowIfAsync(getArgs);\r\n    };\r\n    Container.prototype.getAllAsync = function (serviceIdentifier) {\r\n        var getArgs = this._getAllArgs(serviceIdentifier);\r\n        return this._getAll(getArgs);\r\n    };\r\n    Container.prototype.getAllTagged = function (serviceIdentifier, key, value) {\r\n        var getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\r\n        return this._getButThrowIfAsync(getArgs);\r\n    };\r\n    Container.prototype.getAllTaggedAsync = function (serviceIdentifier, key, value) {\r\n        var getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\r\n        return this._getAll(getArgs);\r\n    };\r\n    Container.prototype.getAllNamed = function (serviceIdentifier, named) {\r\n        return this.getAllTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n    };\r\n    Container.prototype.getAllNamedAsync = function (serviceIdentifier, named) {\r\n        return this.getAllTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n    };\r\n    Container.prototype.resolve = function (constructorFunction) {\r\n        var isBound = this.isBound(constructorFunction);\r\n        if (!isBound) {\r\n            this.bind(constructorFunction).toSelf();\r\n        }\r\n        var resolved = this.get(constructorFunction);\r\n        if (!isBound) {\r\n            this.unbind(constructorFunction);\r\n        }\r\n        return resolved;\r\n    };\r\n    Container.prototype._preDestroy = function (constructor, instance) {\r\n        var _a, _b;\r\n        if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constructor)) {\r\n            var data = Reflect.getMetadata(METADATA_KEY.PRE_DESTROY, constructor);\r\n            return (_b = (_a = instance)[data.value]) === null || _b === void 0 ? void 0 : _b.call(_a);\r\n        }\r\n    };\r\n    Container.prototype._removeModuleHandlers = function (moduleId) {\r\n        var moduleActivationsHandlers = this._moduleActivationStore.remove(moduleId);\r\n        this._activations.removeIntersection(moduleActivationsHandlers.onActivations);\r\n        this._deactivations.removeIntersection(moduleActivationsHandlers.onDeactivations);\r\n    };\r\n    Container.prototype._removeModuleBindings = function (moduleId) {\r\n        return this._bindingDictionary.removeByCondition(function (binding) { return binding.moduleId === moduleId; });\r\n    };\r\n    Container.prototype._deactivate = function (binding, instance) {\r\n        var _this = this;\r\n        var constructor = Object.getPrototypeOf(instance).constructor;\r\n        try {\r\n            if (this._deactivations.hasKey(binding.serviceIdentifier)) {\r\n                var result = this._deactivateContainer(instance, this._deactivations.get(binding.serviceIdentifier).values());\r\n                if (isPromise(result)) {\r\n                    return this._handleDeactivationError(result.then(function () { return _this._propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor); }), constructor);\r\n                }\r\n            }\r\n            var propagateDeactivationResult = this._propagateContainerDeactivationThenBindingAndPreDestroy(binding, instance, constructor);\r\n            if (isPromise(propagateDeactivationResult)) {\r\n                return this._handleDeactivationError(propagateDeactivationResult, constructor);\r\n            }\r\n        }\r\n        catch (ex) {\r\n            if (ex instanceof Error) {\r\n                throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex.message));\r\n            }\r\n        }\r\n    };\r\n    Container.prototype._handleDeactivationError = function (asyncResult, constructor) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var ex_1;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        _a.trys.push([0, 2, , 3]);\r\n                        return [4, asyncResult];\r\n                    case 1:\r\n                        _a.sent();\r\n                        return [3, 3];\r\n                    case 2:\r\n                        ex_1 = _a.sent();\r\n                        if (ex_1 instanceof Error) {\r\n                            throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex_1.message));\r\n                        }\r\n                        return [3, 3];\r\n                    case 3: return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype._deactivateContainer = function (instance, deactivationsIterator) {\r\n        var _this = this;\r\n        var deactivation = deactivationsIterator.next();\r\n        while (deactivation.value) {\r\n            var result = deactivation.value(instance);\r\n            if (isPromise(result)) {\r\n                return result.then(function () {\r\n                    return _this._deactivateContainerAsync(instance, deactivationsIterator);\r\n                });\r\n            }\r\n            deactivation = deactivationsIterator.next();\r\n        }\r\n    };\r\n    Container.prototype._deactivateContainerAsync = function (instance, deactivationsIterator) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var deactivation;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        deactivation = deactivationsIterator.next();\r\n                        _a.label = 1;\r\n                    case 1:\r\n                        if (!deactivation.value) return [3, 3];\r\n                        return [4, deactivation.value(instance)];\r\n                    case 2:\r\n                        _a.sent();\r\n                        deactivation = deactivationsIterator.next();\r\n                        return [3, 1];\r\n                    case 3: return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype._getContainerModuleHelpersFactory = function () {\r\n        var _this = this;\r\n        var setModuleId = function (bindingToSyntax, moduleId) {\r\n            bindingToSyntax._binding.moduleId = moduleId;\r\n        };\r\n        var getBindFunction = function (moduleId) {\r\n            return function (serviceIdentifier) {\r\n                var bindingToSyntax = _this.bind(serviceIdentifier);\r\n                setModuleId(bindingToSyntax, moduleId);\r\n                return bindingToSyntax;\r\n            };\r\n        };\r\n        var getUnbindFunction = function () {\r\n            return function (serviceIdentifier) {\r\n                return _this.unbind(serviceIdentifier);\r\n            };\r\n        };\r\n        var getUnbindAsyncFunction = function () {\r\n            return function (serviceIdentifier) {\r\n                return _this.unbindAsync(serviceIdentifier);\r\n            };\r\n        };\r\n        var getIsboundFunction = function () {\r\n            return function (serviceIdentifier) {\r\n                return _this.isBound(serviceIdentifier);\r\n            };\r\n        };\r\n        var getRebindFunction = function (moduleId) {\r\n            return function (serviceIdentifier) {\r\n                var bindingToSyntax = _this.rebind(serviceIdentifier);\r\n                setModuleId(bindingToSyntax, moduleId);\r\n                return bindingToSyntax;\r\n            };\r\n        };\r\n        var getOnActivationFunction = function (moduleId) {\r\n            return function (serviceIdentifier, onActivation) {\r\n                _this._moduleActivationStore.addActivation(moduleId, serviceIdentifier, onActivation);\r\n                _this.onActivation(serviceIdentifier, onActivation);\r\n            };\r\n        };\r\n        var getOnDeactivationFunction = function (moduleId) {\r\n            return function (serviceIdentifier, onDeactivation) {\r\n                _this._moduleActivationStore.addDeactivation(moduleId, serviceIdentifier, onDeactivation);\r\n                _this.onDeactivation(serviceIdentifier, onDeactivation);\r\n            };\r\n        };\r\n        return function (mId) { return ({\r\n            bindFunction: getBindFunction(mId),\r\n            isboundFunction: getIsboundFunction(),\r\n            onActivationFunction: getOnActivationFunction(mId),\r\n            onDeactivationFunction: getOnDeactivationFunction(mId),\r\n            rebindFunction: getRebindFunction(mId),\r\n            unbindFunction: getUnbindFunction(),\r\n            unbindAsyncFunction: getUnbindAsyncFunction()\r\n        }); };\r\n    };\r\n    Container.prototype._getAll = function (getArgs) {\r\n        return Promise.all(this._get(getArgs));\r\n    };\r\n    Container.prototype._get = function (getArgs) {\r\n        var planAndResolveArgs = __assign(__assign({}, getArgs), { contextInterceptor: function (context) { return context; }, targetType: TargetTypeEnum.Variable });\r\n        if (this._middleware) {\r\n            var middlewareResult = this._middleware(planAndResolveArgs);\r\n            if (middlewareResult === undefined || middlewareResult === null) {\r\n                throw new Error(ERROR_MSGS.INVALID_MIDDLEWARE_RETURN);\r\n            }\r\n            return middlewareResult;\r\n        }\r\n        return this._planAndResolve()(planAndResolveArgs);\r\n    };\r\n    Container.prototype._getButThrowIfAsync = function (getArgs) {\r\n        var result = this._get(getArgs);\r\n        if (isPromiseOrContainsPromise(result)) {\r\n            throw new Error(ERROR_MSGS.LAZY_IN_SYNC(getArgs.serviceIdentifier));\r\n        }\r\n        return result;\r\n    };\r\n    Container.prototype._getAllArgs = function (serviceIdentifier) {\r\n        var getAllArgs = {\r\n            avoidConstraints: true,\r\n            isMultiInject: true,\r\n            serviceIdentifier: serviceIdentifier,\r\n        };\r\n        return getAllArgs;\r\n    };\r\n    Container.prototype._getNotAllArgs = function (serviceIdentifier, isMultiInject, key, value) {\r\n        var getNotAllArgs = {\r\n            avoidConstraints: false,\r\n            isMultiInject: isMultiInject,\r\n            serviceIdentifier: serviceIdentifier,\r\n            key: key,\r\n            value: value,\r\n        };\r\n        return getNotAllArgs;\r\n    };\r\n    Container.prototype._planAndResolve = function () {\r\n        var _this = this;\r\n        return function (args) {\r\n            var context = plan(_this._metadataReader, _this, args.isMultiInject, args.targetType, args.serviceIdentifier, args.key, args.value, args.avoidConstraints);\r\n            context = args.contextInterceptor(context);\r\n            var result = resolve(context);\r\n            return result;\r\n        };\r\n    };\r\n    Container.prototype._deactivateIfSingleton = function (binding) {\r\n        var _this = this;\r\n        if (!binding.activated) {\r\n            return;\r\n        }\r\n        if (isPromise(binding.cache)) {\r\n            return binding.cache.then(function (resolved) { return _this._deactivate(binding, resolved); });\r\n        }\r\n        return this._deactivate(binding, binding.cache);\r\n    };\r\n    Container.prototype._deactivateSingletons = function (bindings) {\r\n        for (var _i = 0, bindings_1 = bindings; _i < bindings_1.length; _i++) {\r\n            var binding = bindings_1[_i];\r\n            var result = this._deactivateIfSingleton(binding);\r\n            if (isPromise(result)) {\r\n                throw new Error(ERROR_MSGS.ASYNC_UNBIND_REQUIRED);\r\n            }\r\n        }\r\n    };\r\n    Container.prototype._deactivateSingletonsAsync = function (bindings) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            var _this = this;\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0: return [4, Promise.all(bindings.map(function (b) { return _this._deactivateIfSingleton(b); }))];\r\n                    case 1:\r\n                        _a.sent();\r\n                        return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype._propagateContainerDeactivationThenBindingAndPreDestroy = function (binding, instance, constructor) {\r\n        if (this.parent) {\r\n            return this._deactivate.bind(this.parent)(binding, instance);\r\n        }\r\n        else {\r\n            return this._bindingDeactivationAndPreDestroy(binding, instance, constructor);\r\n        }\r\n    };\r\n    Container.prototype._propagateContainerDeactivationThenBindingAndPreDestroyAsync = function (binding, instance, constructor) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        if (!this.parent) return [3, 2];\r\n                        return [4, this._deactivate.bind(this.parent)(binding, instance)];\r\n                    case 1:\r\n                        _a.sent();\r\n                        return [3, 4];\r\n                    case 2: return [4, this._bindingDeactivationAndPreDestroyAsync(binding, instance, constructor)];\r\n                    case 3:\r\n                        _a.sent();\r\n                        _a.label = 4;\r\n                    case 4: return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    Container.prototype._removeServiceFromDictionary = function (serviceIdentifier) {\r\n        try {\r\n            this._bindingDictionary.remove(serviceIdentifier);\r\n        }\r\n        catch (e) {\r\n            throw new Error(ERROR_MSGS.CANNOT_UNBIND + \" \" + getServiceIdentifierAsString(serviceIdentifier));\r\n        }\r\n    };\r\n    Container.prototype._bindingDeactivationAndPreDestroy = function (binding, instance, constructor) {\r\n        var _this = this;\r\n        if (typeof binding.onDeactivation === 'function') {\r\n            var result = binding.onDeactivation(instance);\r\n            if (isPromise(result)) {\r\n                return result.then(function () { return _this._preDestroy(constructor, instance); });\r\n            }\r\n        }\r\n        return this._preDestroy(constructor, instance);\r\n    };\r\n    Container.prototype._bindingDeactivationAndPreDestroyAsync = function (binding, instance, constructor) {\r\n        return __awaiter(this, void 0, void 0, function () {\r\n            return __generator(this, function (_a) {\r\n                switch (_a.label) {\r\n                    case 0:\r\n                        if (!(typeof binding.onDeactivation === 'function')) return [3, 2];\r\n                        return [4, binding.onDeactivation(instance)];\r\n                    case 1:\r\n                        _a.sent();\r\n                        _a.label = 2;\r\n                    case 2: return [4, this._preDestroy(constructor, instance)];\r\n                    case 3:\r\n                        _a.sent();\r\n                        return [2];\r\n                }\r\n            });\r\n        });\r\n    };\r\n    return Container;\r\n}());\r\nexport { Container };\r\n","export function getFirstArrayDuplicate(array) {\r\n    var seenValues = new Set();\r\n    for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {\r\n        var entry = array_1[_i];\r\n        if (seenValues.has(entry)) {\r\n            return entry;\r\n        }\r\n        else {\r\n            seenValues.add(entry);\r\n        }\r\n    }\r\n    return undefined;\r\n}\r\n","import * as ERROR_MSGS from '../constants/error_msgs';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { getFirstArrayDuplicate } from '../utils/js';\r\nfunction targetIsConstructorFunction(target) {\r\n    return target.prototype !== undefined;\r\n}\r\nfunction _throwIfMethodParameter(parameterName) {\r\n    if (parameterName !== undefined) {\r\n        throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\r\n    }\r\n}\r\nfunction tagParameter(annotationTarget, parameterName, parameterIndex, metadata) {\r\n    _throwIfMethodParameter(parameterName);\r\n    _tagParameterOrProperty(METADATA_KEY.TAGGED, annotationTarget, parameterIndex.toString(), metadata);\r\n}\r\nfunction tagProperty(annotationTarget, propertyName, metadata) {\r\n    if (targetIsConstructorFunction(annotationTarget)) {\r\n        throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\r\n    }\r\n    _tagParameterOrProperty(METADATA_KEY.TAGGED_PROP, annotationTarget.constructor, propertyName, metadata);\r\n}\r\nfunction _ensureNoMetadataKeyDuplicates(metadata) {\r\n    var metadatas = [];\r\n    if (Array.isArray(metadata)) {\r\n        metadatas = metadata;\r\n        var duplicate = getFirstArrayDuplicate(metadatas.map(function (md) { return md.key; }));\r\n        if (duplicate !== undefined) {\r\n            throw new Error(ERROR_MSGS.DUPLICATED_METADATA + \" \" + duplicate.toString());\r\n        }\r\n    }\r\n    else {\r\n        metadatas = [metadata];\r\n    }\r\n    return metadatas;\r\n}\r\nfunction _tagParameterOrProperty(metadataKey, annotationTarget, key, metadata) {\r\n    var metadatas = _ensureNoMetadataKeyDuplicates(metadata);\r\n    var paramsOrPropertiesMetadata = {};\r\n    if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {\r\n        paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);\r\n    }\r\n    var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key];\r\n    if (paramOrPropertyMetadata === undefined) {\r\n        paramOrPropertyMetadata = [];\r\n    }\r\n    else {\r\n        var _loop_1 = function (m) {\r\n            if (metadatas.some(function (md) { return md.key === m.key; })) {\r\n                throw new Error(ERROR_MSGS.DUPLICATED_METADATA + \" \" + m.key.toString());\r\n            }\r\n        };\r\n        for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) {\r\n            var m = paramOrPropertyMetadata_1[_i];\r\n            _loop_1(m);\r\n        }\r\n    }\r\n    paramOrPropertyMetadata.push.apply(paramOrPropertyMetadata, metadatas);\r\n    paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;\r\n    Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);\r\n}\r\nfunction createTaggedDecorator(metadata) {\r\n    return function (target, targetKey, indexOrPropertyDescriptor) {\r\n        if (typeof indexOrPropertyDescriptor === 'number') {\r\n            tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata);\r\n        }\r\n        else {\r\n            tagProperty(target, targetKey, metadata);\r\n        }\r\n    };\r\n}\r\nfunction _decorate(decorators, target) {\r\n    Reflect.decorate(decorators, target);\r\n}\r\nfunction _param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); };\r\n}\r\nfunction decorate(decorator, target, parameterIndexOrProperty) {\r\n    if (typeof parameterIndexOrProperty === 'number') {\r\n        _decorate([_param(parameterIndexOrProperty, decorator)], target);\r\n    }\r\n    else if (typeof parameterIndexOrProperty === 'string') {\r\n        Reflect.decorate([decorator], target, parameterIndexOrProperty);\r\n    }\r\n    else {\r\n        _decorate([decorator], target);\r\n    }\r\n}\r\nexport { decorate, tagParameter, tagProperty, createTaggedDecorator };\r\n","import * as ERRORS_MSGS from '../constants/error_msgs';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nfunction injectable() {\r\n    return function (target) {\r\n        if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {\r\n            throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);\r\n        }\r\n        var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];\r\n        Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);\r\n        return target;\r\n    };\r\n}\r\nexport { injectable };\r\n","import { UNDEFINED_INJECT_ANNOTATION } from '../constants/error_msgs';\r\nimport { Metadata } from '../planning/metadata';\r\nimport { createTaggedDecorator } from './decorator_utils';\r\nexport function injectBase(metadataKey) {\r\n    return function (serviceIdentifier) {\r\n        return function (target, targetKey, indexOrPropertyDescriptor) {\r\n            if (serviceIdentifier === undefined) {\r\n                var className = typeof target === 'function' ? target.name : target.constructor.name;\r\n                throw new Error(UNDEFINED_INJECT_ANNOTATION(className));\r\n            }\r\n            return createTaggedDecorator(new Metadata(metadataKey, serviceIdentifier))(target, targetKey, indexOrPropertyDescriptor);\r\n        };\r\n    };\r\n}\r\n","import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { injectBase } from './inject_base';\r\nvar inject = injectBase(METADATA_KEY.INJECT_TAG);\r\nexport { inject };\r\n","var INJECTION = Symbol.for(\"INJECTION\");\nfunction _proxyGetter(proto, key, resolve, doCache) {\n    function getter() {\n        if (doCache && !Reflect.hasMetadata(INJECTION, this, key)) {\n            Reflect.defineMetadata(INJECTION, resolve(), this, key);\n        }\n        if (Reflect.hasMetadata(INJECTION, this, key)) {\n            return Reflect.getMetadata(INJECTION, this, key);\n        }\n        else {\n            return resolve();\n        }\n    }\n    function setter(newVal) {\n        Reflect.defineMetadata(INJECTION, newVal, this, key);\n    }\n    Object.defineProperty(proto, key, {\n        configurable: true,\n        enumerable: true,\n        get: getter,\n        set: setter\n    });\n}\nfunction makePropertyInjectDecorator(container, doCache) {\n    return function (serviceIdentifier) {\n        return function (proto, key) {\n            var resolve = function () {\n                return container.get(serviceIdentifier);\n            };\n            _proxyGetter(proto, key, resolve, doCache);\n        };\n    };\n}\nfunction makePropertyInjectNamedDecorator(container, doCache) {\n    return function (serviceIdentifier, named) {\n        return function (proto, key) {\n            var resolve = function () {\n                return container.getNamed(serviceIdentifier, named);\n            };\n            _proxyGetter(proto, key, resolve, doCache);\n        };\n    };\n}\nfunction makePropertyInjectTaggedDecorator(container, doCache) {\n    return function (serviceIdentifier, key, value) {\n        return function (proto, propertyName) {\n            var resolve = function () {\n                return container.getTagged(serviceIdentifier, key, value);\n            };\n            _proxyGetter(proto, propertyName, resolve, doCache);\n        };\n    };\n}\nfunction makePropertyMultiInjectDecorator(container, doCache) {\n    return function (serviceIdentifier) {\n        return function (proto, key) {\n            var resolve = function () {\n                return container.getAll(serviceIdentifier);\n            };\n            _proxyGetter(proto, key, resolve, doCache);\n        };\n    };\n}\nexport { makePropertyInjectDecorator, makePropertyMultiInjectDecorator, makePropertyInjectTaggedDecorator, makePropertyInjectNamedDecorator };\n","import { makePropertyInjectDecorator, makePropertyMultiInjectDecorator, makePropertyInjectTaggedDecorator, makePropertyInjectNamedDecorator } from \"./decorators\";\nfunction getDecorators(container, doCache) {\n    if (doCache === void 0) { doCache = true; }\n    var lazyInject = makePropertyInjectDecorator(container, doCache);\n    var lazyInjectNamed = makePropertyInjectNamedDecorator(container, doCache);\n    var lazyInjectTagged = makePropertyInjectTaggedDecorator(container, doCache);\n    var lazyMultiInject = makePropertyMultiInjectDecorator(container, doCache);\n    return {\n        lazyInject: lazyInject,\n        lazyInjectNamed: lazyInjectNamed,\n        lazyInjectTagged: lazyInjectTagged,\n        lazyMultiInject: lazyMultiInject\n    };\n}\nexport default getDecorators;\n","import { Container } from \"inversify\";\nimport getDecorators from \"inversify-inject-decorators\";\nconst container = new Container();\nconst { lazyInject } = getDecorators(container, false);\n\nexport { container, lazyInject };\n\nexport const registerDep = (dep: any) => {\n  container.bind(dep).toSelf();\n};\n\nexport const unregisterDep = (dep: any) => {\n  container.isBound(dep) && container.unbind(dep);\n};\n","export const TYPES = {\n  primaryApi: Symbol.for(\"primaryApi\"),\n  store: Symbol.for(\"store\"),\n  localeManager: Symbol.for(\"localeManager\"),\n};\n","import { css, html, LitElement, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { pdfViwerEvents } from \"../../../../src/api/pdf-viewer-manager/events\";\nimport { lazyInject } from \"../../../../src/infrastructure/ioc/container\";\nimport { TYPES } from \"../../../../src/infrastructure/ioc/types\";\nimport { translate } from \"../../../../src/locales\";\nimport { PrimariaApi } from \"../../../api/api\";\nimport { BrokerDisposableHandler } from \"../../../api/broker/primaria-broker\";\nimport { IPdfDocument } from \"../../../api/pdf-viewer-manager/pdf-viewer-manager\";\nimport styles from \"./styles.css?inline\";\nimport { createUrlFromBase64 } from \"./utils\";\n\nexport class PdfVisor extends LitElement {\n  static styles = css`${unsafeCSS(styles)}`;\n\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  @property({ type: Array })\n  pdfList: IPdfDocument[] = [];\n\n  @property({ type: Array })\n  activePdfs: IPdfDocument[] = [];\n\n  private subscriptions: BrokerDisposableHandler[] = [];\n\n  async connectedCallback() {\n    super.connectedCallback();\n    this._initializePdfState();\n    this._subscribeEvents();\n  }\n\n  disconnectedCallback(): void {\n    super.disconnectedCallback();\n    this._unsubscribeEvents();\n  }\n\n  private _initializePdfState() {\n    const initialPdfs = this.api.pdfViewerManager.getPdfs?.() || [];\n    this.pdfList = [...initialPdfs];\n\n    if (initialPdfs.length === 1) {\n      this.activePdfs = [initialPdfs[0] as IPdfDocument];\n    } else if (initialPdfs.length >= 2) {\n      this.activePdfs = initialPdfs.slice(-2);\n    }\n  }\n\n  private _getPdfSrc(pdf: IPdfDocument): string {\n    const src = pdf.data.url || (pdf.data.b64 ? createUrlFromBase64(pdf.data.b64) : \"\") || \"\";\n    if (!src) return \"\";\n\n    const separator = src.includes(\"#\") ? \"&\" : \"#\";\n    return `${src}${separator}navpanes=0`;\n  }\n\n  private _subscribeEvents() {\n    const subscriptions = [\n      this.api.broker.subscribe(pdfViwerEvents.added, (pdf: IPdfDocument) => this._onPdfAdded(pdf)),\n      this.api.broker.subscribe(pdfViwerEvents.deleted, ({ id }) => this._onPdfDeleted({ id })),\n    ];\n    subscriptions.forEach((s) => this.subscriptions.push(s));\n  }\n\n  private _unsubscribeEvents() {\n    this.subscriptions.forEach((s) => s.dispose());\n  }\n\n  private _onPdfAdded(pdf: IPdfDocument) {\n    this.pdfList = [...this.pdfList, pdf];\n    this._updateActivePdfs(pdf.id);\n  }\n\n  private _onPdfDeleted({ id }) {\n    this.pdfList = this.pdfList.filter((pdf) => pdf.id !== id);\n    this.activePdfs = this.activePdfs.filter((pdf) => pdf.id !== id);\n    this.requestUpdate();\n  }\n\n  private _removePdf(id: string) {\n    this.api.pdfViewerManager.delete(id);\n    this.activePdfs = this.activePdfs.filter((pdf) => pdf.id !== id);\n  }\n\n  private _updateActivePdfs(id: string) {\n    const isAlreadyActive = this.activePdfs.some((pdf) => pdf.id === id);\n    if (isAlreadyActive) {\n      this.activePdfs = this.activePdfs.filter((pdf) => pdf.id !== id);\n    } else {\n      const newPdf = this.pdfList.find((pdf) => pdf.id === id);\n      if (!newPdf) return;\n      if (this.activePdfs.length === 2) {\n        this.activePdfs = [this.activePdfs[1] as IPdfDocument, newPdf];\n      } else {\n        this.activePdfs = [...this.activePdfs, newPdf];\n      }\n    }\n    this.requestUpdate();\n  }\n\n  render() {\n    return html`\n      <div class=\"pdf-container\">\n        ${\n          this.activePdfs.length > 0\n            ? this.activePdfs.map((pdf) => html`<iframe height=\"100%\" src=${this._getPdfSrc(pdf)} frameborder=\"0\"></iframe>`)\n            : html`\n                <div class=\"no-pdf\">\n                  <p>${translate(\"pdfVisor.noPdfSelected\")}</p>\n                </div>\n              `\n        }\n      </div>\n      <pdf-selector\n        .pdfList=${this.pdfList}\n        .activePdfs=${this.activePdfs}\n        @pdf-removed=${(e: CustomEvent) => this._removePdf(e.detail)}\n        @active-pdf-changed=${(e: CustomEvent) => this._updateActivePdfs(e.detail)}\n      ></pdf-selector>\n    `;\n  }\n}\n","export const pdfViewerId = \"pdf-viewer\";\n","import { customElement } from \"lit/decorators.js\";\nimport { translate } from \"../../locales\";\nimport { PrimariaBroker } from \"../broker/primaria-broker\";\nimport { PrimariaNotificationService } from \"../notification-service/notification-service\";\nimport { pdfViwerEvents } from \"./events\";\nimport { PdfSelector } from \"./pdf-visor/pdf-selector/pdf-selector\";\nimport { PdfVisor } from \"./pdf-visor/pdf-visor\";\nimport { pdfViewerId } from \"./constants\";\n\nexport interface PdfData {\n  id: string;\n  name: string;\n  date: string;\n  url?: string;\n  b64?: string;\n}\n\nexport interface IPdfDocument {\n  id: string;\n  pdfName: string;\n  data: PdfData;\n}\n\nexport interface PdfViewerOptions {\n  autoNavigate?: boolean;\n}\n\nexport class PdfViewerManager {\n  constructor(\n    private broker: PrimariaBroker,\n    private notificationService: PrimariaNotificationService,\n  ) {\n    if (!customElements.get(\"pdf-visor\")) {\n      customElement(\"pdf-visor\")(PdfVisor);\n    }\n    if (!customElements.get(\"pdf-selector\")) {\n      customElement(\"pdf-selector\")(PdfSelector);\n    }\n  }\n\n  private pdfs: IPdfDocument[] = [];\n  private activePdf: IPdfDocument | null = null;\n\n  add(data: PdfData, options?: PdfViewerOptions) {\n    const pdf: IPdfDocument = {\n      id: data.id,\n      pdfName: data.name,\n      data\n    };\n\n    if (!data.url && !data.b64) {\n      this.notificationService.error(translate(\"pdfManager.missingData\"));\n      return;\n    }\n    if (data.url && data.b64) {\n      this.notificationService.error(translate(\"pdfManager.duplicatedSource\"));\n      return;\n    }\n    if (this.pdfs.some((p) => p.id === pdf.id)) {\n      this.notificationService.warning(translate(\"pdfManager.alreadyUploaded\"));\n    } else {\n      this.pdfs.push(pdf as IPdfDocument);\n      this.broker.publish(pdfViwerEvents.added, pdf);\n\n      if (options?.autoNavigate) {\n        // Navigate automatically to PDF viewer\n        setTimeout(() => {\n          import(\"../api\").then(({ shellApi }) => {\n            shellApi.regionManager.activateMainView(pdfViewerId);\n          });\n        }, 150);\n      } else {\n        this.notificationService.success(translate(\"pdfManager.tooltipMessage\"));\n      }\n    }\n\n    return pdf;\n  }\n\n  delete(pdfId: string) {\n    this.pdfs = this.pdfs.filter((pdf) => pdf.id !== pdfId);\n\n    if (this.activePdf?.id === pdfId) {\n      this.activePdf = null;\n    }\n\n    this.broker.publish(pdfViwerEvents.deleted, { id: pdfId });\n  }\n\n  getPdfs(): IPdfDocument[] {\n    return this.pdfs;\n  }\n}\n\nexport const createPdfViewerManager = (broker: PrimariaBroker, notificationService: PrimariaNotificationService) =>\n  new PdfViewerManager(broker, notificationService);\n","import { html } from \"lit\";\nimport { translate } from \"../../../locales\";\nimport { PluginTask } from \"../plugin-busy-manager\";\nimport { PluginBusyList } from \"./component\";\n\nexport const template = (props: PluginBusyList) => html`\n    <div class=\"container\">\n        <div class=\"title\">${translate(\"busyManager.title\")}</div>\n        <div class=\"list\">\n            ${props.data?.busyTasks?.map(\n              (item: PluginTask) => html`\n                <div class=\"plugin-busy-item\">\n                    <dss-typography tag=\"div\" variant=\"body-3\" fontweight=\"regular\">\n                        ${item.taskDescription}\n                    </dss-typography>\n                </div>`,\n            )}\n        </div>\n    </div>\n`;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { PluginTask } from \"../plugin-busy-manager\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nexport class PluginBusyList extends LitElement {\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  data: { busyTasks: PluginTask[] };\n}\n","import { customElement } from \"lit/decorators.js\";\nimport { PluginBusyList } from \"./plugin-busy-list/component\";\n\nexport interface PluginTask {\n  taskId: string;\n  taskDescription: string;\n}\n\n/**\n * @deprecated Use the `canDispose(api)` plugin lifecycle hook instead. Plugins should\n * decide whether they can be disposed (e.g. show their own confirmation modal) rather\n * than relying on shell-level busy tasks. This API is kept for backwards compatibility.\n */\nexport abstract class PluginBusyManager {\n  abstract addTask(task: PluginTask): void;\n  abstract removeTask(taskId: string): void;\n  abstract clearAll(): void;\n  abstract isBusy(): boolean;\n  abstract getTasks(): PluginTask[];\n}\n\n/** @deprecated See {@link PluginBusyManager}. */\nexport class PluginBusyManagerImpl implements PluginBusyManager {\n  private tasks: PluginTask[] = [];\n\n  constructor() {\n    if (!customElements.get(\"plugin-busy-list\")) {\n      customElement(\"plugin-busy-list\")(PluginBusyList);\n    }\n  }\n\n  public addTask(task: PluginTask): void {\n    const exists = this.tasks.some((t) => t.taskId === task.taskId);\n    if (!exists) {\n      this.tasks.push(task);\n    }\n  }\n\n  public removeTask(taskId: string): void {\n    const index = this.tasks.findIndex((item) => item.taskId === taskId);\n    if (index > -1) {\n      this.tasks.splice(index, 1);\n    }\n  }\n\n  public isBusy(): boolean {\n    return this.tasks.length > 0;\n  }\n\n  public clearAll(): void {\n    this.tasks = [];\n  }\n\n  public getTasks(): PluginTask[] {\n    return this.tasks;\n  }\n}\n","import { BROKER_EVENTS } from \"../broker/broker-events\";\nimport { PrimariaBroker } from \"../broker/primaria-broker\";\n\nexport interface QuickActionTask {\n  taskId: string;\n}\n\nexport abstract class QuickActionBusyManager {\n  abstract addTask(task: QuickActionTask): void;\n  abstract removeTask(taskId: string): void;\n  abstract clearAll(): void;\n  abstract isBusy(): boolean;\n}\n\nexport class QuickActionBusyManagerImpl implements QuickActionBusyManager {\n  private tasks: QuickActionTask[] = [];\n\n  constructor(private broker: PrimariaBroker) {}\n\n  public addTask(task: QuickActionTask): void {\n    const index = this.tasks.findIndex((item) => item.taskId === task.taskId);\n    if (index > -1) {\n      return;\n    }\n\n    this.tasks.push(task);\n    this.emitBusyChanged();\n  }\n\n  public removeTask(taskId: string): void {\n    const index = this.tasks.findIndex((item) => item.taskId === taskId);\n    if (index > -1) {\n      this.tasks.splice(index, 1);\n      this.emitBusyChanged();\n    }\n  }\n\n  public isBusy(): boolean {\n    return this.tasks.length > 0;\n  }\n\n  public clearAll(): void {\n    this.tasks = [];\n  }\n\n  private emitBusyChanged(): void {\n    const busy = this.isBusy();\n    this.broker.publish(BROKER_EVENTS.shell.quickActionBusyChanged, { busy });\n  }\n}\n","export const shellRegions = {\n  header: \"header-region\",\n  headerRightActions: \"header-actions-region\",\n  main: \"main-region\",\n  navigationMenu: \"menu-region\",\n  navigationLowerLeftMenu: \"navigation-lower-left-menu\",\n  quickActions: \"quick-actions-region\",\n  floating: \"floating-region\",\n  communicationSidenav: \"communication-sidenav-region\",\n  clinicalPathwaysSidenav: \"clinical-pathways-sidenav-region\",\n  petitionerSidenav: \"petitioner-sidenav-region\",\n  importData: \"import-data-region\",\n  importDataActivityHistory: \"import-data-activity-history-region\",\n};\n\nexport const clinicalMonitoringRegions = {\n  sidebar: \"clinical-monitoring-widgets-sidebar-region\",\n  header: \"clinical-monitoring-header-widgets-region\",\n  content: \"clinical-monitoring-content-widgets-region\",\n};\n\nexport const activityHistoryRegions = {\n  customFilters: \"clinical-monitoring-activity-history-filters-region\",\n};\nexport const administrativeManagementRegions = {\n  widgets: \"administrative-management-widgets-region\",\n  tabs: \"administrative-management-tabs-region\",\n  detail: \"administrative-management-detail-region\",\n};\n\nexport type PrimariaRegionNames =\n  | (typeof shellRegions)[keyof typeof shellRegions]\n  | (typeof clinicalMonitoringRegions)[keyof typeof clinicalMonitoringRegions]\n  | (typeof activityHistoryRegions)[keyof typeof activityHistoryRegions]\n  | (typeof administrativeManagementRegions)[keyof typeof administrativeManagementRegions];\n","import { HarmonixRegionManager, IRegionManager, HarmonixViewDefinition } from \"@uxland/harmonix\";\nimport { PluginInfo } from \"../../handle-plugins\";\nimport { IRegion } from \"@uxland/regions\";\nimport { shellRegions, clinicalMonitoringRegions, activityHistoryRegions, administrativeManagementRegions } from \"./regions\";\nimport { PrimariaBroker } from \"../broker/primaria-broker\";\nimport { BROKER_EVENTS } from \"../broker/broker-events\";\n\nexport interface PrimariaRegionManager extends HarmonixRegionManager {\n  regions: {\n    shell: typeof shellRegions;\n    clinicalMonitoring: typeof clinicalMonitoringRegions;\n    activityHistory: typeof activityHistoryRegions;\n    administrativeManagement: typeof administrativeManagementRegions;\n  };\n  registerQuickAction(view: HarmonixViewDefinition): Promise<void>;\n  registerNavigationMenu(view: HarmonixViewDefinition): Promise<void>;\n  registerMainView(view: HarmonixViewDefinition): Promise<void>;\n  activateMainView(viewId: string): Promise<void>;\n  activatePluginView(regionName: string, pluginId: string, viewId: string): Promise<void>;\n  getCurrentMainViewActive(): string | undefined;\n  _destroy(): void;\n}\n\nclass RegionManagerProxy implements PrimariaRegionManager {\n  regions = {\n    shell: shellRegions,\n    clinicalMonitoring: clinicalMonitoringRegions,\n    activityHistory: activityHistoryRegions,\n    administrativeManagement: administrativeManagementRegions,\n  };\n\n  constructor(\n    private pluginInfo: PluginInfo,\n    private regionManager: IRegionManager,\n    private broker: PrimariaBroker,\n  ) {}\n  /**\n   * Register a view in a specific region.\n   *\n   * @param {string} regionName - The name of the region to register the view with.\n   * @param {HarmonixViewDefinition} view - The view definition to be registered.\n   * @return {Promise<void>} A promise that resolves when the view is successfully registered.\n   */\n  async registerView(regionName: string, view: HarmonixViewDefinition): Promise<void> {\n    const key = `${this.pluginInfo.pluginId}::${view.id}`;\n\n    await this.regionManager.registerViewWithRegion(regionName, key, view);\n    this.activateIfDefault(regionName, key, view);\n  }\n  /**\n   * Removes a view from a specific region.\n   *\n   * @param {string} regionName - The name of the region to remove the view from.\n   * @param {string} viewId - The ID of the view to be removed.\n   * @return {Promise<void>} A promise that resolves when the view is successfully removed.\n   */\n  async removeView(regionName: string, viewId: string): Promise<void> {\n    await this.regionManager.unregisterViewFromRegion(regionName, `${this.pluginInfo.pluginId}::${viewId}`);\n  }\n  /**\n   * Activates a view in a specific region.\n   *\n   * @param {string} regionName - The name of the region where the view is located.\n   * @param {string} viewId - The ID of the view to be activated.\n   * @return {Promise<void>} A promise that resolves when the view is successfully activated.\n   */\n  activateView(regionName: string, viewId: string): Promise<void> {\n    this.regionManager.getRegion(regionName).activate(`${this.pluginInfo.pluginId}::${viewId}`);\n    if (regionName === this.regions.shell.main) this._notifyMainViewChanged(viewId);\n    return Promise.resolve();\n  }\n  /**\n   * Deactivates a view in a specific region.\n   *\n   * @param {string} regionName - The name of the region where the view is located.\n   * @param {string} viewId - The ID of the view to be deactivated.\n   * @return {Promise<void>} A promise that resolves when the view is successfully deactivated.\n   */\n  deactivateView(regionName: string, viewId: string): Promise<void> {\n    this.regionManager.getRegion(regionName).deactivate(`${this.pluginInfo.pluginId}::${viewId}`);\n    return Promise.resolve();\n  }\n  /**\n   * Retrieves a region by its name.\n   *\n   * @param {string} regionName - The name of the region to retrieve.\n   * @return {Promise<IRegion>} A promise that resolves to the retrieved region.\n   */\n  getRegion(regionName: string): Promise<IRegion> {\n    return Promise.resolve(this.regionManager.getRegion(regionName));\n  }\n  /**\n   * Checks if a view with the given ID exists in a specific region.\n   *\n   * @param {string} regionName - The name of the region to check.\n   * @param {string} viewId - The ID of the view to check for.\n   * @return {Promise<boolean>} A promise that resolves to true if the view exists, false otherwise.\n   */\n  containsView(regionName: string, viewId: string) {\n    const region = this.regionManager.getRegion(regionName);\n    return Promise.resolve(region?.containsView(`${this.pluginInfo.pluginId}::${viewId}`));\n  }\n  /**\n   * Checks if a view with the given ID is active in a specific region.\n   *\n   * @param {string} regionName - The name of the region to check.\n   * @param {string} viewId - The ID of the view to check for.\n   * @return {Promise<boolean>} A promise that resolves to true if the view is active, false otherwise.\n   */\n  isViewActive(regionName: string, viewId: string) {\n    const region = this.regionManager.getRegion(regionName);\n    const isViewActive = region.currentActiveViews.some((view) => view.id === viewId);\n    return Promise.resolve(isViewActive);\n  }\n  async registerQuickAction(view: HarmonixViewDefinition): Promise<void> {\n    await this.regionManager.registerViewWithRegion(this.regions.shell.quickActions, `${this.pluginInfo.pluginId}::${view.id}`, view);\n  }\n  async registerNavigationMenu(view: HarmonixViewDefinition): Promise<void> {\n    await this.regionManager.registerViewWithRegion(this.regions.shell.navigationMenu, `${this.pluginInfo.pluginId}::${view.id}`, view);\n  }\n  async registerMainView(view: HarmonixViewDefinition): Promise<void> {\n    await this.regionManager.registerViewWithRegion(this.regions.shell.main, `${this.pluginInfo.pluginId}::${view.id}`, view);\n  }\n  activateMainView(viewId: string): Promise<void> {\n    this.regionManager.getRegion(this.regions.shell.main).activate(`${this.pluginInfo.pluginId}::${viewId}`);\n    this._notifyMainViewChanged(viewId);\n    return Promise.resolve();\n  }\n  /**\n   * Activates a view that was registered by another plugin.\n   *\n   * Unlike `activateView`, which always prefixes with the calling plugin's id, this method\n   * lets an orchestrator activate views owned by a different plugin by passing the owner's\n   * pluginId explicitly. Use only when crossing plugin boundaries.\n   *\n   * @param {string} regionName - The name of the region where the view is located.\n   * @param {string} pluginId - The id of the plugin that registered the view.\n   * @param {string} viewId - The id of the view to be activated.\n   * @return {Promise<void>} A promise that resolves when the view is successfully activated.\n   */\n  activatePluginView(regionName: string, pluginId: string, viewId: string): Promise<void> {\n    this.regionManager.getRegion(regionName).activate(`${pluginId}::${viewId}`);\n    if (regionName === this.regions.shell.main) this._notifyMainViewChanged(viewId);\n    return Promise.resolve();\n  }\n\n  getCurrentMainViewActive() {\n    const mainView = this.regionManager.getRegion(this.regions.shell.main).currentActiveViews[0] as HarmonixViewDefinition;\n    return mainView?.id;\n  }\n\n  /**\n   * Activates a view if it is marked as default and the region currently has no active views.\n   *\n   * @param {string} regionName - The name of the region to activate the view in.\n   * @param {string} key - The key of the view to activate.\n   * @param {HarmonixViewDefinition} view - The view to activate.\n   * @return {void}\n   */\n  activateIfDefault(regionName: string, key: string, view: HarmonixViewDefinition) {\n    if (!(view as any).isDefault) return;\n\n    const region = this.regionManager.getRegion(regionName);\n    if (!region || typeof (region as any).activate !== \"function\") return;\n\n    const hasActiveView = region.currentActiveViews?.length > 0;\n    if (!hasActiveView) {\n      (region as any).activate(key);\n    }\n  }\n\n  _notifyMainViewChanged(viewId: string) {\n    this.broker.publish(BROKER_EVENTS.shell.mainViewChanged, { viewId });\n  }\n\n  _destroy() {\n    this.regionManager.destroy();\n  }\n}\n\n/**\n * Creates a proxy for the region manager with the given plugin info and region manager instance.\n *\n * @param {PluginInfo} pluginInfo - The plugin information.\n * @param {IRegionManager} regionManager - The region manager instance.\n * @return {HarmonixRegionManager} The created region manager proxy.\n */\nexport const createRegionManagerProxy = (\n  pluginInfo: PluginInfo,\n  regionManager: IRegionManager,\n  broker: PrimariaBroker,\n): PrimariaRegionManager => new RegionManagerProxy(pluginInfo, regionManager, broker);\n","import axios from \"axios\";\nimport { BROKER_EVENTS } from \"../broker/broker-events\";\nimport { PrimariaBroker } from \"../broker/primaria-broker\";\n\nexport interface TokenManager {\n  setInitialTokens: (access_token: string, refresh_token: string) => void;\n  getToken: () => string;\n  refreshToken: () => Promise<string>;\n}\n\nlet token: string;\nlet refreshToken: string;\nlet tokenInitialized = false;\n\nexport class TokenManagerImpl implements TokenManager {\n  constructor(private readonly broker: PrimariaBroker) {}\n\n  getUrlParams = (): URLSearchParams => {\n    return new URLSearchParams(window.location.search);\n  };\n\n  private initToken = () => {\n    if (tokenInitialized) throw new Error(\"Token already initialized\");\n    tokenInitialized = true;\n    const searchString = this.getUrlParams();\n    token = searchString.get(\"access_token\") || \"\";\n    refreshToken = searchString.get(\"refresh_token\") || \"\";\n    return token;\n  };\n\n  setInitialTokens = (access_token: string, refresh_token: string) => {\n    if (tokenInitialized) throw new Error(\"Token already initialized\");\n    token = access_token;\n    refreshToken = refresh_token;\n    tokenInitialized = true;\n  };\n\n  getToken = () => {\n    if (!tokenInitialized) this.initToken();\n    return token;\n  };\n\n  refreshToken = async () => {\n    if (!tokenInitialized) this.initToken();\n    try {\n      const response = await axios.post(\"/api/token/refresh\", { token: refreshToken });\n      const { access_token, refresh_token } = response.data;\n      if (!access_token) throw new Error(\"Invalid refresh token response\");\n      token = access_token;\n      refreshToken = refresh_token;\n      return token;\n    } catch (error) {\n      this.broker.publish(BROKER_EVENTS.shell.refreshTokenFailed, {});\n      throw error;\n    }\n  };\n}\n\nlet tokenManager: TokenManagerImpl;\n\nexport const createTokenManager = (broker: PrimariaBroker) => {\n  if (tokenManager) return tokenManager;\n  tokenManager = new TokenManagerImpl(broker);\n  return tokenManager;\n};\n","import { jwtDecode } from \"jwt-decode\";\nimport { TokenManager } from \"../token-manager/token-manager\";\n\ninterface Identifier {\n  type: string;\n  value: string;\n}\n\ninterface JWTPayload {\n  access_info?: {\n    role_type?: string;\n    trace_user_given_name?: string;\n    trace_user_family_name?: string;\n    module_code?: string;\n    identifier?: Identifier[];\n  };\n}\n\nexport interface UserManager {\n  getRole: () => string | undefined;\n  isUserRoleAdministrative: () => boolean;\n  getFullName: () => string | undefined;\n  getSector: () => string | undefined;\n  getDNI: () => string | undefined;\n}\n\nexport class UserManagerImpl implements UserManager {\n  constructor(private tokenManager: TokenManager) {}\n\n  private getAccessInfo(): JWTPayload[\"access_info\"] | undefined {\n    const token = this.tokenManager.getToken();\n    if (!token) return undefined;\n    try {\n      return jwtDecode<JWTPayload>(token).access_info;\n    } catch (error) {\n      console.error(\"Error decoding JWT token:\", error);\n      return undefined;\n    }\n  }\n\n  getRole = (): string | undefined => {\n    return this.getAccessInfo()?.role_type;\n  };\n\n  isUserRoleAdministrative = (): boolean => {\n    return this.getRole() === \"ADM\";\n  };\n\n  getFullName = (): string | undefined => {\n    const accessInfo = this.getAccessInfo();\n    if (!accessInfo) return undefined;\n\n    const givenName = accessInfo.trace_user_given_name;\n    const familyName = accessInfo.trace_user_family_name;\n\n    if (!givenName && !familyName) return undefined;\n\n    return [familyName, givenName].filter(Boolean).join(\" \");\n  };\n\n  getSector = (): string | undefined => {\n    return this.getAccessInfo()?.module_code;\n  };\n\n  getDNI = (): string | undefined => {\n    const identifiers = this.getAccessInfo()?.identifier;\n    if (!identifiers) return undefined;\n\n    const dniIdentifier = identifiers.find(id => id.type === \"DNI\");\n    return dniIdentifier?.value;\n  };\n}\n\nlet userManager: UserManager;\nexport const createUserManager = (tokenManager: TokenManager): UserManager => {\n  if (userManager) return userManager;\n  userManager = new UserManagerImpl(tokenManager);\n  return userManager;\n};\n","import { ImportParams, PrimariaImportDataManager } from \"./import-data-manager\";\nimport { PrimariaInteractionService } from \"../interaction-service/interaction-service\";\n\nexport class ImportDataManagerImpl implements PrimariaImportDataManager {\n  private selectedItems: Record<string, any[]> = {};\n  private currentImporterId = \"\";\n  private currentImportParams: ImportParams | undefined;\n  private pluginTexts: Record<string, { raw: string; html: string }> = {};\n\n  constructor(private interactionService: PrimariaInteractionService) {}\n\n  async import(\n    importerId: string,\n    params?: ImportParams,\n  ): Promise<{\n    accepted: boolean;\n    data: Record<string, any[]>;\n    text: { raw: string; html: string };\n  }> {\n    this.currentImporterId = importerId;\n    this.currentImportParams = params;\n    this.selectedItems = {};\n    this.pluginTexts = {};\n\n    try {\n      // Import component dynamically to avoid circular dependency\n      const { ImportDataManagerModal } = await import(\"./component/component\");\n\n      const { confirmed } = await this.interactionService.confirm(\n        undefined,\n        { component: ImportDataManagerModal as any },\n        {\n          fullCustomization: true,\n        },\n      );\n\n      const concatenatedText = this.getConcatenatedText();\n\n      const finalResult = {\n        accepted: confirmed,\n        data: confirmed ? this.selectedItems : {},\n        text: confirmed ? concatenatedText : { raw: \"\", html: \"\" },\n      };\n\n      if (confirmed) {\n        console.log(\"[ImportDataManager] Imported data:\", finalResult);\n      }\n\n      this.selectedItems = {};\n      this.currentImporterId = \"\";\n      this.currentImportParams = undefined;\n      this.pluginTexts = {};\n\n      return finalResult;\n    } catch (error) {\n      this.selectedItems = {};\n      this.currentImporterId = \"\";\n      this.currentImportParams = undefined;\n      this.pluginTexts = {};\n      throw error;\n    }\n  }\n\n  selectItems(payload: { pluginId: string; data: any[]; text: { raw: string; html: string } }): void {\n    this.selectedItems[payload.pluginId] = payload.data;\n    this.pluginTexts[payload.pluginId] = payload.text;\n  }\n\n  getCurrentImporterId(): string {\n    return this.currentImporterId;\n  }\n\n  getCurrentImportParams(): ImportParams | undefined {\n    return this.currentImportParams;\n  }\n\n  private getConcatenatedText(): { raw: string; html: string } {\n    const rawTexts: string[] = [];\n    const htmlTexts: string[] = [];\n\n    for (const text of Object.values(this.pluginTexts)) {\n      if (text.raw) rawTexts.push(text.raw);\n      if (text.html) htmlTexts.push(text.html);\n    }\n\n    return {\n      raw: rawTexts.join(\"\\n\\n\"),\n      html: htmlTexts.join(\"<br><br>\"),\n    };\n  }\n}\n","export interface EcapContext {\n  visi_id?: string;\n  hes_appointment_id?: string;\n  signador?: string;\n  campanya?: string;\n}\n\nexport abstract class PrimariaContextManager {\n  abstract getContext(): Readonly<EcapContext>;\n}\n\nclass PrimariaContextManagerImpl implements PrimariaContextManager {\n  private context: EcapContext = {};\n\n  /**\n   * Initializes the context with the provided ECAP context data.\n   * This should only be called once during shell initialization.\n   *\n   * @param {EcapContext} context - The context data from ECAP\n   * @return {void}\n   */\n  public initializeContext(context: EcapContext): void {\n    this.context = { ...context };\n  }\n\n  /**\n   * Returns a read-only copy of the entire ECAP context.\n   *\n   * @return {Readonly<EcapContext>} The context object\n   */\n  getContext(): Readonly<EcapContext> {\n    return { ...this.context };\n  }\n}\n\nlet contextManager: PrimariaContextManagerImpl;\n\nexport const createContextManager = (): PrimariaContextManagerImpl => {\n  if (contextManager) return contextManager;\n  contextManager = new PrimariaContextManagerImpl();\n  return contextManager;\n};\n","import { ApiFactory, HarmonixApi, PluginInfo, RegionManager, createRegionHost, createRegionManager } from \"@uxland/harmonix\";\nimport { primariaShellId } from \"../constants\";\nimport { createBroker } from \"./broker/factory\";\nimport { PrimariaBroker } from \"./broker/primaria-broker\";\nimport { EcapEventManager, createEcapEventManager } from \"./ecap-event-manager/ecap-event-manager\";\nimport { ExitGuardManager, ExitGuardManagerImpl } from \"./exit-guard-manager/exit-guard-manager\";\nimport { PrimariaGlobalStateManager, createGlobalStateManager } from \"./global-state/global-state\";\nimport { createActivityMonitor } from \"./activity-monitor/activity-monitor\";\nimport { HttpClient, createHttpClient } from \"./http-client/http-client\";\nimport { PrimariaInteractionService } from \"./interaction-service\";\nimport { createSessionRefreshTimer } from \"./session-refresh-timer/session-refresh-timer\";\nimport { ParimariaInteractionServiceImpl } from \"./interaction-service/interaction-service-impl\";\nimport { createLocaleManager } from \"./localization/localization\";\nimport { PrimariaNotificationService } from \"./notification-service/notification-service\";\nimport { PrimariaNotificationServiceImpl } from \"./notification-service/notification.service-impl\";\nimport { PdfViewerManager, createPdfViewerManager } from \"./pdf-viewer-manager/pdf-viewer-manager\";\nimport { PluginBusyManager, PluginBusyManagerImpl } from \"./plugin-busy-manager/plugin-busy-manager\";\nimport { QuickActionBusyManager, QuickActionBusyManagerImpl } from \"./quick-action-busy-manager/quick-action-busy-manager\";\nimport { PrimariaRegionManager, createRegionManagerProxy } from \"./region-manager/region-manager\";\nimport { TokenManager, createTokenManager } from \"./token-manager/token-manager\";\nimport { UserManager, createUserManager } from \"./user-manager/user-manager\";\nimport { PrimariaImportDataManager, ImportDataManagerImpl } from \"./import-data-manager\";\nimport { PrimariaContextManager, createContextManager } from \"./context-manager/context-manager\";\n\nconst broker = createBroker();\n\nexport interface PrimariaApi extends HarmonixApi {\n  httpClient: HttpClient;\n  interactionService: PrimariaInteractionService;\n  notificationService: PrimariaNotificationService;\n  broker: PrimariaBroker;\n  regionManager: PrimariaRegionManager;\n  globalStateManager: PrimariaGlobalStateManager;\n  contextManager: PrimariaContextManager;\n  tokenManager: TokenManager;\n  userManager: UserManager;\n  ecapEventManager: EcapEventManager;\n  pluginBusyManager: PluginBusyManager;\n  exitGuardManager: ExitGuardManager;\n  quickActionBusyManager: QuickActionBusyManager;\n  pdfViewerManager: PdfViewerManager;\n  importDataManager: PrimariaImportDataManager;\n}\n\nconst regionManager: RegionManager = createRegionManager(\"primaria\");\nexport const PrimariaRegionHost: any = createRegionHost(regionManager as any);\nconst tokenManager = createTokenManager(broker);\nconst userManager = createUserManager(tokenManager);\nexport const activityMonitor = createActivityMonitor();\nexport const sessionRefreshTimer = createSessionRefreshTimer(tokenManager, activityMonitor);\nconst globalStateManager: PrimariaGlobalStateManager = createGlobalStateManager(broker);\nconst contextManager = createContextManager();\nconst pluginBusyManager = new PluginBusyManagerImpl();\nconst exitGuardManager = new ExitGuardManagerImpl();\nconst quickActionBusyManager = new QuickActionBusyManagerImpl(broker);\nconst interactionService = new ParimariaInteractionServiceImpl();\nconst notificationService = new PrimariaNotificationServiceImpl();\nconst ecapEventManager = createEcapEventManager(globalStateManager);\nconst pdfViewerManager = createPdfViewerManager(broker, notificationService);\nconst importDataManager = new ImportDataManagerImpl(interactionService);\n\n/**\n * Factory function that creates a Primaria API instance.\n *\n * @param {PluginInfo} pluginInfo - Information about the plugin\n * @return {PrimariaApi} The created Primaria API instance\n */\nexport const primariaApiFactory: ApiFactory<PrimariaApi> = (pluginInfo: PluginInfo): PrimariaApi => {\n  const regionManagerProxy = createRegionManagerProxy(pluginInfo, regionManager, broker);\n\n  return {\n    pluginInfo: pluginInfo,\n    regionManager: regionManagerProxy,\n    httpClient: createHttpClient(tokenManager, broker),\n    broker,\n    createLocaleManager: createLocaleManager(pluginInfo.pluginId) as any,\n    globalStateManager,\n    contextManager,\n    tokenManager,\n    userManager,\n    ecapEventManager,\n    pluginBusyManager,\n    exitGuardManager,\n    quickActionBusyManager,\n    interactionService,\n    notificationService,\n    pdfViewerManager,\n    importDataManager,\n  };\n};\n\nexport const shellApi = primariaApiFactory({ pluginId: primariaShellId }) as PrimariaApi;\n","import { Container, injectable } from \"inversify\";\nimport type { interfaces } from \"inversify\";\nimport { IRequest, IRequestClass } from \"..\";\nimport { PrimariaApi } from \"../api/api\";\n\n//TODO aixo ho fan ja les Broker extensions de plugins/core. Veure si s'ha de canviar\nexport const registerRequest =\n  (api: PrimariaApi, container: Container) =>\n  (command: IRequestClass<any>, handler: interfaces.Newable<any>) => {\n    container.bind(handler).to(handler).inTransientScope();\n    injectable()(handler);\n    const disposable = api.broker.registerRequest(command, (cmd: IRequest<any>) => {\n      const handlerInstance = container.get(handler);\n      return handlerInstance.handle(cmd);\n    });\n    return {\n      dispose: () => {\n        container.isBound(handler) && container.unbind(handler);\n        disposable.dispose();\n      },\n    };\n  };\n","import { Container, injectable} from \"inversify\";\nimport type { interfaces } from \"inversify\";\nimport {\n  PrimariaApi,\n  IRequest,\n  IRequestClass,\n  BrokerDisposableHandler,\n} from \"@uxland/primary-shell\";\n\nconst registerRequest =\n  (api: PrimariaApi, container: Container) =>\n  (command: IRequestClass<any>, handler: interfaces.Newable<any>) => {\n    container.bind(handler).to(handler).inTransientScope();\n    injectable()(handler);\n    const disposable = api.broker.registerRequest(command, (cmd: IRequest<any>) => {\n      const handlerInstance = container.get(handler);\n      return handlerInstance.handle(cmd);\n    });\n    return {\n      dispose: () => {\n        container.isBound(handler) && container.unbind(handler);\n        disposable.dispose();\n      },\n    };\n  };\n\nexport interface BrokerExtensions {\n  registerRequest: (\n    command: IRequestClass<any> | string,\n    handler: interfaces.Newable<any>,\n  ) => BrokerDisposableHandler;\n}\n\nexport const brokerExtensions = (api: PrimariaApi, container: Container): BrokerExtensions => {\n  const register = registerRequest(api, container);\n  return {\n    registerRequest: register,\n  };\n};\n","export const generateId = ():string => {\n  try {\n    if (typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\") {\n      return crypto.randomUUID();\n    }\n  } catch (error) {\n    console.warn(\"crypto.randomUUID() failed, using fallback\");\n  }\n\n  // Fallback\n  return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n    const r = (Math.random() * 16) | 0;\n    const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n    return v.toString(16);\n  });\n}\n","export const mapArrayToLabelValue = (array: any[], labelProp: string, valueProp: string) => {\n  return array\n    .map((item) => {\n      const label = item[labelProp];\n      const value = item[valueProp];\n\n      if ((label === '' || label == null) && typeof value === 'string' && value.trim() !== '') {\n        return {\n          label: value,\n          value: value,\n        };\n      }\n\n      if ((label === '' || label == null) && (value === '' || value == null)) {\n        return null;\n      }\n\n      return {\n        label,\n        value,\n      };\n    })\n    .filter((item) => item !== null);\n};\n\nexport const mapEntityDescriptionArrayToLabelValue = (array: any[]) =>\n  mapArrayToLabelValue(array, \"description\", \"id\");\n","export function createConnectToStoreDecorator(store: any) {\n  return function connectToStore(selector: (state: any) => any) {\n    return (target: any, propertyKey: string): void => {\n      Object.defineProperty(target, propertyKey, {\n        get() {\n          return this[`__${propertyKey}`];\n        },\n        set(newVal) {\n          if (this[`__${propertyKey}`] !== newVal) {\n            this[`__${propertyKey}`] = Array.isArray(newVal)\n              ? [...newVal] // 🔥 Clonar array para cambiar referencia\n              : typeof newVal === \"object\" && newVal !== null\n                ? { ...newVal } // 🔥 Clonar objetos también\n                : newVal;\n            this.requestUpdate(propertyKey);\n          }\n        },\n        configurable: true,\n        enumerable: true,\n      });\n\n      const connectedCallback = target.connectedCallback;\n      const disconnectedCallback = target.disconnectedCallback;\n\n      target.connectedCallback = function () {\n        if (connectedCallback) {\n          connectedCallback.call(this);\n        }\n\n        // Set initial state value (con nueva referencia)\n        this[propertyKey] = selector(store.getState());\n\n        this[`__unsubscribe__${propertyKey}`] = store.subscribe(() => {\n          const newValue = selector(store.getState());\n          this[propertyKey] = Array.isArray(newValue)\n            ? [...newValue] // 🔥 Clonar para evitar referencias iguales\n            : typeof newValue === \"object\" && newValue !== null\n              ? { ...newValue }\n              : newValue;\n        });\n      };\n\n      target.disconnectedCallback = function () {\n        if (disconnectedCallback) {\n          disconnectedCallback.call(this);\n        }\n        if (this[`__unsubscribe__${propertyKey}`]) {\n          this[`__unsubscribe__${propertyKey}`]();\n        }\n      };\n    };\n  };\n}\n","import { createConnectToStoreDecorator } from \"./redux-decorator-factory\";\nimport { property } from \"lit/decorators.js\";\n\nexport function createConnectedProperty(store) {\n  return (selector: (state: any) => any, options: any = {}) => {\n    const connectToStore = createConnectToStoreDecorator(store);\n    return (target: any, propertyKey: string): void => {\n      property(options)(target, propertyKey);\n      connectToStore(selector)(target, propertyKey);\n    };\n  };\n}\n","export const TYPES = {\n  primaryApi: Symbol.for(\"primaryApi\"),\n  store: Symbol.for(\"store\"),\n};\n","// src/utils/formatProdErrorMessage.ts\nfunction formatProdErrorMessage(code) {\n  return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n}\n\n// src/utils/symbol-observable.ts\nvar $$observable = /* @__PURE__ */ (() => typeof Symbol === \"function\" && Symbol.observable || \"@@observable\")();\nvar symbol_observable_default = $$observable;\n\n// src/utils/actionTypes.ts\nvar randomString = () => Math.random().toString(36).substring(7).split(\"\").join(\".\");\nvar ActionTypes = {\n  INIT: `@@redux/INIT${/* @__PURE__ */ randomString()}`,\n  REPLACE: `@@redux/REPLACE${/* @__PURE__ */ randomString()}`,\n  PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`\n};\nvar actionTypes_default = ActionTypes;\n\n// src/utils/isPlainObject.ts\nfunction isPlainObject(obj) {\n  if (typeof obj !== \"object\" || obj === null)\n    return false;\n  let proto = obj;\n  while (Object.getPrototypeOf(proto) !== null) {\n    proto = Object.getPrototypeOf(proto);\n  }\n  return Object.getPrototypeOf(obj) === proto || Object.getPrototypeOf(obj) === null;\n}\n\n// src/utils/kindOf.ts\nfunction miniKindOf(val) {\n  if (val === void 0)\n    return \"undefined\";\n  if (val === null)\n    return \"null\";\n  const type = typeof val;\n  switch (type) {\n    case \"boolean\":\n    case \"string\":\n    case \"number\":\n    case \"symbol\":\n    case \"function\": {\n      return type;\n    }\n  }\n  if (Array.isArray(val))\n    return \"array\";\n  if (isDate(val))\n    return \"date\";\n  if (isError(val))\n    return \"error\";\n  const constructorName = ctorName(val);\n  switch (constructorName) {\n    case \"Symbol\":\n    case \"Promise\":\n    case \"WeakMap\":\n    case \"WeakSet\":\n    case \"Map\":\n    case \"Set\":\n      return constructorName;\n  }\n  return Object.prototype.toString.call(val).slice(8, -1).toLowerCase().replace(/\\s/g, \"\");\n}\nfunction ctorName(val) {\n  return typeof val.constructor === \"function\" ? val.constructor.name : null;\n}\nfunction isError(val) {\n  return val instanceof Error || typeof val.message === \"string\" && val.constructor && typeof val.constructor.stackTraceLimit === \"number\";\n}\nfunction isDate(val) {\n  if (val instanceof Date)\n    return true;\n  return typeof val.toDateString === \"function\" && typeof val.getDate === \"function\" && typeof val.setDate === \"function\";\n}\nfunction kindOf(val) {\n  let typeOfVal = typeof val;\n  if (process.env.NODE_ENV !== \"production\") {\n    typeOfVal = miniKindOf(val);\n  }\n  return typeOfVal;\n}\n\n// src/createStore.ts\nfunction createStore(reducer, preloadedState, enhancer) {\n  if (typeof reducer !== \"function\") {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : `Expected the root reducer to be a function. Instead, received: '${kindOf(reducer)}'`);\n  }\n  if (typeof preloadedState === \"function\" && typeof enhancer === \"function\" || typeof enhancer === \"function\" && typeof arguments[3] === \"function\") {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : \"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.\");\n  }\n  if (typeof preloadedState === \"function\" && typeof enhancer === \"undefined\") {\n    enhancer = preloadedState;\n    preloadedState = void 0;\n  }\n  if (typeof enhancer !== \"undefined\") {\n    if (typeof enhancer !== \"function\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : `Expected the enhancer to be a function. Instead, received: '${kindOf(enhancer)}'`);\n    }\n    return enhancer(createStore)(reducer, preloadedState);\n  }\n  let currentReducer = reducer;\n  let currentState = preloadedState;\n  let currentListeners = /* @__PURE__ */ new Map();\n  let nextListeners = currentListeners;\n  let listenerIdCounter = 0;\n  let isDispatching = false;\n  function ensureCanMutateNextListeners() {\n    if (nextListeners === currentListeners) {\n      nextListeners = /* @__PURE__ */ new Map();\n      currentListeners.forEach((listener, key) => {\n        nextListeners.set(key, listener);\n      });\n    }\n  }\n  function getState() {\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : \"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");\n    }\n    return currentState;\n  }\n  function subscribe(listener) {\n    if (typeof listener !== \"function\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : `Expected the listener to be a function. Instead, received: '${kindOf(listener)}'`);\n    }\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : \"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.\");\n    }\n    let isSubscribed = true;\n    ensureCanMutateNextListeners();\n    const listenerId = listenerIdCounter++;\n    nextListeners.set(listenerId, listener);\n    return function unsubscribe() {\n      if (!isSubscribed) {\n        return;\n      }\n      if (isDispatching) {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : \"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.\");\n      }\n      isSubscribed = false;\n      ensureCanMutateNextListeners();\n      nextListeners.delete(listenerId);\n      currentListeners = null;\n    };\n  }\n  function dispatch(action) {\n    if (!isPlainObject(action)) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : `Actions must be plain objects. Instead, the actual type was: '${kindOf(action)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);\n    }\n    if (typeof action.type === \"undefined\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n    }\n    if (typeof action.type !== \"string\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(17) : `Action \"type\" property must be a string. Instead, the actual type was: '${kindOf(action.type)}'. Value was: '${action.type}' (stringified)`);\n    }\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : \"Reducers may not dispatch actions.\");\n    }\n    try {\n      isDispatching = true;\n      currentState = currentReducer(currentState, action);\n    } finally {\n      isDispatching = false;\n    }\n    const listeners = currentListeners = nextListeners;\n    listeners.forEach((listener) => {\n      listener();\n    });\n    return action;\n  }\n  function replaceReducer(nextReducer) {\n    if (typeof nextReducer !== \"function\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : `Expected the nextReducer to be a function. Instead, received: '${kindOf(nextReducer)}`);\n    }\n    currentReducer = nextReducer;\n    dispatch({\n      type: actionTypes_default.REPLACE\n    });\n  }\n  function observable() {\n    const outerSubscribe = subscribe;\n    return {\n      /**\n       * The minimal observable subscription method.\n       * @param observer Any object that can be used as an observer.\n       * The observer object should have a `next` method.\n       * @returns An object with an `unsubscribe` method that can\n       * be used to unsubscribe the observable from the store, and prevent further\n       * emission of values from the observable.\n       */\n      subscribe(observer) {\n        if (typeof observer !== \"object\" || observer === null) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : `Expected the observer to be an object. Instead, received: '${kindOf(observer)}'`);\n        }\n        function observeState() {\n          const observerAsObserver = observer;\n          if (observerAsObserver.next) {\n            observerAsObserver.next(getState());\n          }\n        }\n        observeState();\n        const unsubscribe = outerSubscribe(observeState);\n        return {\n          unsubscribe\n        };\n      },\n      [symbol_observable_default]() {\n        return this;\n      }\n    };\n  }\n  dispatch({\n    type: actionTypes_default.INIT\n  });\n  const store = {\n    dispatch,\n    subscribe,\n    getState,\n    replaceReducer,\n    [symbol_observable_default]: observable\n  };\n  return store;\n}\nfunction legacy_createStore(reducer, preloadedState, enhancer) {\n  return createStore(reducer, preloadedState, enhancer);\n}\n\n// src/utils/warning.ts\nfunction warning(message) {\n  if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n    console.error(message);\n  }\n  try {\n    throw new Error(message);\n  } catch (e) {\n  }\n}\n\n// src/combineReducers.ts\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n  const reducerKeys = Object.keys(reducers);\n  const argumentName = action && action.type === actionTypes_default.INIT ? \"preloadedState argument passed to createStore\" : \"previous state received by the reducer\";\n  if (reducerKeys.length === 0) {\n    return \"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.\";\n  }\n  if (!isPlainObject(inputState)) {\n    return `The ${argumentName} has unexpected type of \"${kindOf(inputState)}\". Expected argument to be an object with the following keys: \"${reducerKeys.join('\", \"')}\"`;\n  }\n  const unexpectedKeys = Object.keys(inputState).filter((key) => !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]);\n  unexpectedKeys.forEach((key) => {\n    unexpectedKeyCache[key] = true;\n  });\n  if (action && action.type === actionTypes_default.REPLACE)\n    return;\n  if (unexpectedKeys.length > 0) {\n    return `Unexpected ${unexpectedKeys.length > 1 ? \"keys\" : \"key\"} \"${unexpectedKeys.join('\", \"')}\" found in ${argumentName}. Expected to find one of the known reducer keys instead: \"${reducerKeys.join('\", \"')}\". Unexpected keys will be ignored.`;\n  }\n}\nfunction assertReducerShape(reducers) {\n  Object.keys(reducers).forEach((key) => {\n    const reducer = reducers[key];\n    const initialState = reducer(void 0, {\n      type: actionTypes_default.INIT\n    });\n    if (typeof initialState === \"undefined\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : `The slice reducer for key \"${key}\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);\n    }\n    if (typeof reducer(void 0, {\n      type: actionTypes_default.PROBE_UNKNOWN_ACTION()\n    }) === \"undefined\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : `The slice reducer for key \"${key}\" returned undefined when probed with a random type. Don't try to handle '${actionTypes_default.INIT}' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`);\n    }\n  });\n}\nfunction combineReducers(reducers) {\n  const reducerKeys = Object.keys(reducers);\n  const finalReducers = {};\n  for (let i = 0; i < reducerKeys.length; i++) {\n    const key = reducerKeys[i];\n    if (process.env.NODE_ENV !== \"production\") {\n      if (typeof reducers[key] === \"undefined\") {\n        warning(`No reducer provided for key \"${key}\"`);\n      }\n    }\n    if (typeof reducers[key] === \"function\") {\n      finalReducers[key] = reducers[key];\n    }\n  }\n  const finalReducerKeys = Object.keys(finalReducers);\n  let unexpectedKeyCache;\n  if (process.env.NODE_ENV !== \"production\") {\n    unexpectedKeyCache = {};\n  }\n  let shapeAssertionError;\n  try {\n    assertReducerShape(finalReducers);\n  } catch (e) {\n    shapeAssertionError = e;\n  }\n  return function combination(state = {}, action) {\n    if (shapeAssertionError) {\n      throw shapeAssertionError;\n    }\n    if (process.env.NODE_ENV !== \"production\") {\n      const warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n      if (warningMessage) {\n        warning(warningMessage);\n      }\n    }\n    let hasChanged = false;\n    const nextState = {};\n    for (let i = 0; i < finalReducerKeys.length; i++) {\n      const key = finalReducerKeys[i];\n      const reducer = finalReducers[key];\n      const previousStateForKey = state[key];\n      const nextStateForKey = reducer(previousStateForKey, action);\n      if (typeof nextStateForKey === \"undefined\") {\n        const actionType = action && action.type;\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : `When called with an action of type ${actionType ? `\"${String(actionType)}\"` : \"(unknown type)\"}, the slice reducer for key \"${key}\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`);\n      }\n      nextState[key] = nextStateForKey;\n      hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n    }\n    hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n    return hasChanged ? nextState : state;\n  };\n}\n\n// src/bindActionCreators.ts\nfunction bindActionCreator(actionCreator, dispatch) {\n  return function(...args) {\n    return dispatch(actionCreator.apply(this, args));\n  };\n}\nfunction bindActionCreators(actionCreators, dispatch) {\n  if (typeof actionCreators === \"function\") {\n    return bindActionCreator(actionCreators, dispatch);\n  }\n  if (typeof actionCreators !== \"object\" || actionCreators === null) {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : `bindActionCreators expected an object or a function, but instead received: '${kindOf(actionCreators)}'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?`);\n  }\n  const boundActionCreators = {};\n  for (const key in actionCreators) {\n    const actionCreator = actionCreators[key];\n    if (typeof actionCreator === \"function\") {\n      boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n    }\n  }\n  return boundActionCreators;\n}\n\n// src/compose.ts\nfunction compose(...funcs) {\n  if (funcs.length === 0) {\n    return (arg) => arg;\n  }\n  if (funcs.length === 1) {\n    return funcs[0];\n  }\n  return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n\n// src/applyMiddleware.ts\nfunction applyMiddleware(...middlewares) {\n  return (createStore2) => (reducer, preloadedState) => {\n    const store = createStore2(reducer, preloadedState);\n    let dispatch = () => {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : \"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\");\n    };\n    const middlewareAPI = {\n      getState: store.getState,\n      dispatch: (action, ...args) => dispatch(action, ...args)\n    };\n    const chain = middlewares.map((middleware) => middleware(middlewareAPI));\n    dispatch = compose(...chain)(store.dispatch);\n    return {\n      ...store,\n      dispatch\n    };\n  };\n}\n\n// src/utils/isAction.ts\nfunction isAction(action) {\n  return isPlainObject(action) && \"type\" in action && typeof action.type === \"string\";\n}\nexport {\n  actionTypes_default as __DO_NOT_USE__ActionTypes,\n  applyMiddleware,\n  bindActionCreators,\n  combineReducers,\n  compose,\n  createStore,\n  isAction,\n  isPlainObject,\n  legacy_createStore\n};\n//# sourceMappingURL=redux.mjs.map","// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n  // All error codes, starting by 0:\n  function(plugin) {\n    return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n  },\n  function(thing) {\n    return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n  },\n  \"This object has been frozen and should not be mutated\",\n  function(data) {\n    return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n  },\n  \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n  \"Immer forbids circular references\",\n  \"The first or second argument to `produce` must be a function\",\n  \"The third argument to `produce` must be a function or undefined\",\n  \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n  \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n  function(thing) {\n    return `'current' expects a draft, got: ${thing}`;\n  },\n  \"Object.defineProperty() cannot be used on an Immer draft\",\n  \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n  \"Immer only supports deleting array indices\",\n  \"Immer only supports setting array indices and the 'length' property\",\n  function(thing) {\n    return `'original' expects a draft, got: ${thing}`;\n  }\n  // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n  // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n  if (process.env.NODE_ENV !== \"production\") {\n    const e = errors[error];\n    const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n    throw new Error(`[Immer] ${msg}`);\n  }\n  throw new Error(\n    `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n  );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n  return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n  if (!value)\n    return false;\n  return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n  if (!value || typeof value !== \"object\")\n    return false;\n  const proto = getPrototypeOf(value);\n  if (proto === null) {\n    return true;\n  }\n  const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n  if (Ctor === Object)\n    return true;\n  return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n  if (!isDraft(value))\n    die(15, value);\n  return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n  if (getArchtype(obj) === 0 /* Object */) {\n    Reflect.ownKeys(obj).forEach((key) => {\n      iter(key, obj[key], obj);\n    });\n  } else {\n    obj.forEach((entry, index) => iter(index, entry, obj));\n  }\n}\nfunction getArchtype(thing) {\n  const state = thing[DRAFT_STATE];\n  return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n  return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n  return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n  const t = getArchtype(thing);\n  if (t === 2 /* Map */)\n    thing.set(propOrOldValue, value);\n  else if (t === 3 /* Set */) {\n    thing.add(value);\n  } else\n    thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n  if (x === y) {\n    return x !== 0 || 1 / x === 1 / y;\n  } else {\n    return x !== x && y !== y;\n  }\n}\nfunction isMap(target) {\n  return target instanceof Map;\n}\nfunction isSet(target) {\n  return target instanceof Set;\n}\nfunction latest(state) {\n  return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n  if (isMap(base)) {\n    return new Map(base);\n  }\n  if (isSet(base)) {\n    return new Set(base);\n  }\n  if (Array.isArray(base))\n    return Array.prototype.slice.call(base);\n  const isPlain = isPlainObject(base);\n  if (strict === true || strict === \"class_only\" && !isPlain) {\n    const descriptors = Object.getOwnPropertyDescriptors(base);\n    delete descriptors[DRAFT_STATE];\n    let keys = Reflect.ownKeys(descriptors);\n    for (let i = 0; i < keys.length; i++) {\n      const key = keys[i];\n      const desc = descriptors[key];\n      if (desc.writable === false) {\n        desc.writable = true;\n        desc.configurable = true;\n      }\n      if (desc.get || desc.set)\n        descriptors[key] = {\n          configurable: true,\n          writable: true,\n          // could live with !!desc.set as well here...\n          enumerable: desc.enumerable,\n          value: base[key]\n        };\n    }\n    return Object.create(getPrototypeOf(base), descriptors);\n  } else {\n    const proto = getPrototypeOf(base);\n    if (proto !== null && isPlain) {\n      return { ...base };\n    }\n    const obj = Object.create(proto);\n    return Object.assign(obj, base);\n  }\n}\nfunction freeze(obj, deep = false) {\n  if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n    return obj;\n  if (getArchtype(obj) > 1) {\n    obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n  }\n  Object.freeze(obj);\n  if (deep)\n    Object.entries(obj).forEach(([key, value]) => freeze(value, true));\n  return obj;\n}\nfunction dontMutateFrozenCollections() {\n  die(2);\n}\nfunction isFrozen(obj) {\n  return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n  const plugin = plugins[pluginKey];\n  if (!plugin) {\n    die(0, pluginKey);\n  }\n  return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n  if (!plugins[pluginKey])\n    plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n  return currentScope;\n}\nfunction createScope(parent_, immer_) {\n  return {\n    drafts_: [],\n    parent_,\n    immer_,\n    // Whenever the modified draft contains a draft from another scope, we\n    // need to prevent auto-freezing so the unowned draft can be finalized.\n    canAutoFreeze_: true,\n    unfinalizedDrafts_: 0\n  };\n}\nfunction usePatchesInScope(scope, patchListener) {\n  if (patchListener) {\n    getPlugin(\"Patches\");\n    scope.patches_ = [];\n    scope.inversePatches_ = [];\n    scope.patchListener_ = patchListener;\n  }\n}\nfunction revokeScope(scope) {\n  leaveScope(scope);\n  scope.drafts_.forEach(revokeDraft);\n  scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n  if (scope === currentScope) {\n    currentScope = scope.parent_;\n  }\n}\nfunction enterScope(immer2) {\n  return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n  const state = draft[DRAFT_STATE];\n  if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n    state.revoke_();\n  else\n    state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n  scope.unfinalizedDrafts_ = scope.drafts_.length;\n  const baseDraft = scope.drafts_[0];\n  const isReplaced = result !== void 0 && result !== baseDraft;\n  if (isReplaced) {\n    if (baseDraft[DRAFT_STATE].modified_) {\n      revokeScope(scope);\n      die(4);\n    }\n    if (isDraftable(result)) {\n      result = finalize(scope, result);\n      if (!scope.parent_)\n        maybeFreeze(scope, result);\n    }\n    if (scope.patches_) {\n      getPlugin(\"Patches\").generateReplacementPatches_(\n        baseDraft[DRAFT_STATE].base_,\n        result,\n        scope.patches_,\n        scope.inversePatches_\n      );\n    }\n  } else {\n    result = finalize(scope, baseDraft, []);\n  }\n  revokeScope(scope);\n  if (scope.patches_) {\n    scope.patchListener_(scope.patches_, scope.inversePatches_);\n  }\n  return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n  if (isFrozen(value))\n    return value;\n  const state = value[DRAFT_STATE];\n  if (!state) {\n    each(\n      value,\n      (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path)\n    );\n    return value;\n  }\n  if (state.scope_ !== rootScope)\n    return value;\n  if (!state.modified_) {\n    maybeFreeze(rootScope, state.base_, true);\n    return state.base_;\n  }\n  if (!state.finalized_) {\n    state.finalized_ = true;\n    state.scope_.unfinalizedDrafts_--;\n    const result = state.copy_;\n    let resultEach = result;\n    let isSet2 = false;\n    if (state.type_ === 3 /* Set */) {\n      resultEach = new Set(result);\n      result.clear();\n      isSet2 = true;\n    }\n    each(\n      resultEach,\n      (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n    );\n    maybeFreeze(rootScope, result, false);\n    if (path && rootScope.patches_) {\n      getPlugin(\"Patches\").generatePatches_(\n        state,\n        path,\n        rootScope.patches_,\n        rootScope.inversePatches_\n      );\n    }\n  }\n  return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n  if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n    die(5);\n  if (isDraft(childValue)) {\n    const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n    !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n    const res = finalize(rootScope, childValue, path);\n    set(targetObject, prop, res);\n    if (isDraft(res)) {\n      rootScope.canAutoFreeze_ = false;\n    } else\n      return;\n  } else if (targetIsSet) {\n    targetObject.add(childValue);\n  }\n  if (isDraftable(childValue) && !isFrozen(childValue)) {\n    if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n      return;\n    }\n    finalize(rootScope, childValue);\n    if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))\n      maybeFreeze(rootScope, childValue);\n  }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n  if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n    freeze(value, deep);\n  }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n  const isArray = Array.isArray(base);\n  const state = {\n    type_: isArray ? 1 /* Array */ : 0 /* Object */,\n    // Track which produce call this is associated with.\n    scope_: parent ? parent.scope_ : getCurrentScope(),\n    // True for both shallow and deep changes.\n    modified_: false,\n    // Used during finalization.\n    finalized_: false,\n    // Track which properties have been assigned (true) or deleted (false).\n    assigned_: {},\n    // The parent draft state.\n    parent_: parent,\n    // The base state.\n    base_: base,\n    // The base proxy.\n    draft_: null,\n    // set below\n    // The base copy with any updated values.\n    copy_: null,\n    // Called by the `produce` function.\n    revoke_: null,\n    isManual_: false\n  };\n  let target = state;\n  let traps = objectTraps;\n  if (isArray) {\n    target = [state];\n    traps = arrayTraps;\n  }\n  const { revoke, proxy } = Proxy.revocable(target, traps);\n  state.draft_ = proxy;\n  state.revoke_ = revoke;\n  return proxy;\n}\nvar objectTraps = {\n  get(state, prop) {\n    if (prop === DRAFT_STATE)\n      return state;\n    const source = latest(state);\n    if (!has(source, prop)) {\n      return readPropFromProto(state, source, prop);\n    }\n    const value = source[prop];\n    if (state.finalized_ || !isDraftable(value)) {\n      return value;\n    }\n    if (value === peek(state.base_, prop)) {\n      prepareCopy(state);\n      return state.copy_[prop] = createProxy(value, state);\n    }\n    return value;\n  },\n  has(state, prop) {\n    return prop in latest(state);\n  },\n  ownKeys(state) {\n    return Reflect.ownKeys(latest(state));\n  },\n  set(state, prop, value) {\n    const desc = getDescriptorFromProto(latest(state), prop);\n    if (desc?.set) {\n      desc.set.call(state.draft_, value);\n      return true;\n    }\n    if (!state.modified_) {\n      const current2 = peek(latest(state), prop);\n      const currentState = current2?.[DRAFT_STATE];\n      if (currentState && currentState.base_ === value) {\n        state.copy_[prop] = value;\n        state.assigned_[prop] = false;\n        return true;\n      }\n      if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n        return true;\n      prepareCopy(state);\n      markChanged(state);\n    }\n    if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n    (value !== void 0 || prop in state.copy_) || // special case: NaN\n    Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n      return true;\n    state.copy_[prop] = value;\n    state.assigned_[prop] = true;\n    return true;\n  },\n  deleteProperty(state, prop) {\n    if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n      state.assigned_[prop] = false;\n      prepareCopy(state);\n      markChanged(state);\n    } else {\n      delete state.assigned_[prop];\n    }\n    if (state.copy_) {\n      delete state.copy_[prop];\n    }\n    return true;\n  },\n  // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n  // the same guarantee in ES5 mode.\n  getOwnPropertyDescriptor(state, prop) {\n    const owner = latest(state);\n    const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n    if (!desc)\n      return desc;\n    return {\n      writable: true,\n      configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n      enumerable: desc.enumerable,\n      value: owner[prop]\n    };\n  },\n  defineProperty() {\n    die(11);\n  },\n  getPrototypeOf(state) {\n    return getPrototypeOf(state.base_);\n  },\n  setPrototypeOf() {\n    die(12);\n  }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n  arrayTraps[key] = function() {\n    arguments[0] = arguments[0][0];\n    return fn.apply(this, arguments);\n  };\n});\narrayTraps.deleteProperty = function(state, prop) {\n  if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n    die(13);\n  return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n  if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n    die(14);\n  return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n  const state = draft[DRAFT_STATE];\n  const source = state ? latest(state) : draft;\n  return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n  const desc = getDescriptorFromProto(source, prop);\n  return desc ? `value` in desc ? desc.value : (\n    // This is a very special case, if the prop is a getter defined by the\n    // prototype, we should invoke it with the draft as context!\n    desc.get?.call(state.draft_)\n  ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n  if (!(prop in source))\n    return void 0;\n  let proto = getPrototypeOf(source);\n  while (proto) {\n    const desc = Object.getOwnPropertyDescriptor(proto, prop);\n    if (desc)\n      return desc;\n    proto = getPrototypeOf(proto);\n  }\n  return void 0;\n}\nfunction markChanged(state) {\n  if (!state.modified_) {\n    state.modified_ = true;\n    if (state.parent_) {\n      markChanged(state.parent_);\n    }\n  }\n}\nfunction prepareCopy(state) {\n  if (!state.copy_) {\n    state.copy_ = shallowCopy(\n      state.base_,\n      state.scope_.immer_.useStrictShallowCopy_\n    );\n  }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n  constructor(config) {\n    this.autoFreeze_ = true;\n    this.useStrictShallowCopy_ = false;\n    /**\n     * The `produce` function takes a value and a \"recipe function\" (whose\n     * return value often depends on the base state). The recipe function is\n     * free to mutate its first argument however it wants. All mutations are\n     * only ever applied to a __copy__ of the base state.\n     *\n     * Pass only a function to create a \"curried producer\" which relieves you\n     * from passing the recipe function every time.\n     *\n     * Only plain objects and arrays are made mutable. All other objects are\n     * considered uncopyable.\n     *\n     * Note: This function is __bound__ to its `Immer` instance.\n     *\n     * @param {any} base - the initial state\n     * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n     * @param {Function} patchListener - optional function that will be called with all the patches produced here\n     * @returns {any} a new state, or the initial state if nothing was modified\n     */\n    this.produce = (base, recipe, patchListener) => {\n      if (typeof base === \"function\" && typeof recipe !== \"function\") {\n        const defaultBase = recipe;\n        recipe = base;\n        const self = this;\n        return function curriedProduce(base2 = defaultBase, ...args) {\n          return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n        };\n      }\n      if (typeof recipe !== \"function\")\n        die(6);\n      if (patchListener !== void 0 && typeof patchListener !== \"function\")\n        die(7);\n      let result;\n      if (isDraftable(base)) {\n        const scope = enterScope(this);\n        const proxy = createProxy(base, void 0);\n        let hasError = true;\n        try {\n          result = recipe(proxy);\n          hasError = false;\n        } finally {\n          if (hasError)\n            revokeScope(scope);\n          else\n            leaveScope(scope);\n        }\n        usePatchesInScope(scope, patchListener);\n        return processResult(result, scope);\n      } else if (!base || typeof base !== \"object\") {\n        result = recipe(base);\n        if (result === void 0)\n          result = base;\n        if (result === NOTHING)\n          result = void 0;\n        if (this.autoFreeze_)\n          freeze(result, true);\n        if (patchListener) {\n          const p = [];\n          const ip = [];\n          getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n          patchListener(p, ip);\n        }\n        return result;\n      } else\n        die(1, base);\n    };\n    this.produceWithPatches = (base, recipe) => {\n      if (typeof base === \"function\") {\n        return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n      }\n      let patches, inversePatches;\n      const result = this.produce(base, recipe, (p, ip) => {\n        patches = p;\n        inversePatches = ip;\n      });\n      return [result, patches, inversePatches];\n    };\n    if (typeof config?.autoFreeze === \"boolean\")\n      this.setAutoFreeze(config.autoFreeze);\n    if (typeof config?.useStrictShallowCopy === \"boolean\")\n      this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n  }\n  createDraft(base) {\n    if (!isDraftable(base))\n      die(8);\n    if (isDraft(base))\n      base = current(base);\n    const scope = enterScope(this);\n    const proxy = createProxy(base, void 0);\n    proxy[DRAFT_STATE].isManual_ = true;\n    leaveScope(scope);\n    return proxy;\n  }\n  finishDraft(draft, patchListener) {\n    const state = draft && draft[DRAFT_STATE];\n    if (!state || !state.isManual_)\n      die(9);\n    const { scope_: scope } = state;\n    usePatchesInScope(scope, patchListener);\n    return processResult(void 0, scope);\n  }\n  /**\n   * Pass true to automatically freeze all copies created by Immer.\n   *\n   * By default, auto-freezing is enabled.\n   */\n  setAutoFreeze(value) {\n    this.autoFreeze_ = value;\n  }\n  /**\n   * Pass true to enable strict shallow copy.\n   *\n   * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n   */\n  setUseStrictShallowCopy(value) {\n    this.useStrictShallowCopy_ = value;\n  }\n  applyPatches(base, patches) {\n    let i;\n    for (i = patches.length - 1; i >= 0; i--) {\n      const patch = patches[i];\n      if (patch.path.length === 0 && patch.op === \"replace\") {\n        base = patch.value;\n        break;\n      }\n    }\n    if (i > -1) {\n      patches = patches.slice(i + 1);\n    }\n    const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n    if (isDraft(base)) {\n      return applyPatchesImpl(base, patches);\n    }\n    return this.produce(\n      base,\n      (draft) => applyPatchesImpl(draft, patches)\n    );\n  }\n};\nfunction createProxy(value, parent) {\n  const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n  const scope = parent ? parent.scope_ : getCurrentScope();\n  scope.drafts_.push(draft);\n  return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n  if (!isDraft(value))\n    die(10, value);\n  return currentImpl(value);\n}\nfunction currentImpl(value) {\n  if (!isDraftable(value) || isFrozen(value))\n    return value;\n  const state = value[DRAFT_STATE];\n  let copy;\n  if (state) {\n    if (!state.modified_)\n      return state.base_;\n    state.finalized_ = true;\n    copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n  } else {\n    copy = shallowCopy(value, true);\n  }\n  each(copy, (key, childValue) => {\n    set(copy, key, currentImpl(childValue));\n  });\n  if (state) {\n    state.finalized_ = false;\n  }\n  return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n  const errorOffset = 16;\n  if (process.env.NODE_ENV !== \"production\") {\n    errors.push(\n      'Sets cannot have \"replace\" patches.',\n      function(op) {\n        return \"Unsupported patch operation: \" + op;\n      },\n      function(path) {\n        return \"Cannot apply patch, path doesn't resolve: \" + path;\n      },\n      \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n    );\n  }\n  const REPLACE = \"replace\";\n  const ADD = \"add\";\n  const REMOVE = \"remove\";\n  function generatePatches_(state, basePath, patches, inversePatches) {\n    switch (state.type_) {\n      case 0 /* Object */:\n      case 2 /* Map */:\n        return generatePatchesFromAssigned(\n          state,\n          basePath,\n          patches,\n          inversePatches\n        );\n      case 1 /* Array */:\n        return generateArrayPatches(state, basePath, patches, inversePatches);\n      case 3 /* Set */:\n        return generateSetPatches(\n          state,\n          basePath,\n          patches,\n          inversePatches\n        );\n    }\n  }\n  function generateArrayPatches(state, basePath, patches, inversePatches) {\n    let { base_, assigned_ } = state;\n    let copy_ = state.copy_;\n    if (copy_.length < base_.length) {\n      ;\n      [base_, copy_] = [copy_, base_];\n      [patches, inversePatches] = [inversePatches, patches];\n    }\n    for (let i = 0; i < base_.length; i++) {\n      if (assigned_[i] && copy_[i] !== base_[i]) {\n        const path = basePath.concat([i]);\n        patches.push({\n          op: REPLACE,\n          path,\n          // Need to maybe clone it, as it can in fact be the original value\n          // due to the base/copy inversion at the start of this function\n          value: clonePatchValueIfNeeded(copy_[i])\n        });\n        inversePatches.push({\n          op: REPLACE,\n          path,\n          value: clonePatchValueIfNeeded(base_[i])\n        });\n      }\n    }\n    for (let i = base_.length; i < copy_.length; i++) {\n      const path = basePath.concat([i]);\n      patches.push({\n        op: ADD,\n        path,\n        // Need to maybe clone it, as it can in fact be the original value\n        // due to the base/copy inversion at the start of this function\n        value: clonePatchValueIfNeeded(copy_[i])\n      });\n    }\n    for (let i = copy_.length - 1; base_.length <= i; --i) {\n      const path = basePath.concat([i]);\n      inversePatches.push({\n        op: REMOVE,\n        path\n      });\n    }\n  }\n  function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n    const { base_, copy_ } = state;\n    each(state.assigned_, (key, assignedValue) => {\n      const origValue = get(base_, key);\n      const value = get(copy_, key);\n      const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n      if (origValue === value && op === REPLACE)\n        return;\n      const path = basePath.concat(key);\n      patches.push(op === REMOVE ? { op, path } : { op, path, value });\n      inversePatches.push(\n        op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n      );\n    });\n  }\n  function generateSetPatches(state, basePath, patches, inversePatches) {\n    let { base_, copy_ } = state;\n    let i = 0;\n    base_.forEach((value) => {\n      if (!copy_.has(value)) {\n        const path = basePath.concat([i]);\n        patches.push({\n          op: REMOVE,\n          path,\n          value\n        });\n        inversePatches.unshift({\n          op: ADD,\n          path,\n          value\n        });\n      }\n      i++;\n    });\n    i = 0;\n    copy_.forEach((value) => {\n      if (!base_.has(value)) {\n        const path = basePath.concat([i]);\n        patches.push({\n          op: ADD,\n          path,\n          value\n        });\n        inversePatches.unshift({\n          op: REMOVE,\n          path,\n          value\n        });\n      }\n      i++;\n    });\n  }\n  function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n    patches.push({\n      op: REPLACE,\n      path: [],\n      value: replacement === NOTHING ? void 0 : replacement\n    });\n    inversePatches.push({\n      op: REPLACE,\n      path: [],\n      value: baseValue\n    });\n  }\n  function applyPatches_(draft, patches) {\n    patches.forEach((patch) => {\n      const { path, op } = patch;\n      let base = draft;\n      for (let i = 0; i < path.length - 1; i++) {\n        const parentType = getArchtype(base);\n        let p = path[i];\n        if (typeof p !== \"string\" && typeof p !== \"number\") {\n          p = \"\" + p;\n        }\n        if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n          die(errorOffset + 3);\n        if (typeof base === \"function\" && p === \"prototype\")\n          die(errorOffset + 3);\n        base = get(base, p);\n        if (typeof base !== \"object\")\n          die(errorOffset + 2, path.join(\"/\"));\n      }\n      const type = getArchtype(base);\n      const value = deepClonePatchValue(patch.value);\n      const key = path[path.length - 1];\n      switch (op) {\n        case REPLACE:\n          switch (type) {\n            case 2 /* Map */:\n              return base.set(key, value);\n            case 3 /* Set */:\n              die(errorOffset);\n            default:\n              return base[key] = value;\n          }\n        case ADD:\n          switch (type) {\n            case 1 /* Array */:\n              return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n            case 2 /* Map */:\n              return base.set(key, value);\n            case 3 /* Set */:\n              return base.add(value);\n            default:\n              return base[key] = value;\n          }\n        case REMOVE:\n          switch (type) {\n            case 1 /* Array */:\n              return base.splice(key, 1);\n            case 2 /* Map */:\n              return base.delete(key);\n            case 3 /* Set */:\n              return base.delete(patch.value);\n            default:\n              return delete base[key];\n          }\n        default:\n          die(errorOffset + 1, op);\n      }\n    });\n    return draft;\n  }\n  function deepClonePatchValue(obj) {\n    if (!isDraftable(obj))\n      return obj;\n    if (Array.isArray(obj))\n      return obj.map(deepClonePatchValue);\n    if (isMap(obj))\n      return new Map(\n        Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n      );\n    if (isSet(obj))\n      return new Set(Array.from(obj).map(deepClonePatchValue));\n    const cloned = Object.create(getPrototypeOf(obj));\n    for (const key in obj)\n      cloned[key] = deepClonePatchValue(obj[key]);\n    if (has(obj, DRAFTABLE))\n      cloned[DRAFTABLE] = obj[DRAFTABLE];\n    return cloned;\n  }\n  function clonePatchValueIfNeeded(obj) {\n    if (isDraft(obj)) {\n      return deepClonePatchValue(obj);\n    } else\n      return obj;\n  }\n  loadPlugin(\"Patches\", {\n    applyPatches_,\n    generatePatches_,\n    generateReplacementPatches_\n  });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n  class DraftMap extends Map {\n    constructor(target, parent) {\n      super();\n      this[DRAFT_STATE] = {\n        type_: 2 /* Map */,\n        parent_: parent,\n        scope_: parent ? parent.scope_ : getCurrentScope(),\n        modified_: false,\n        finalized_: false,\n        copy_: void 0,\n        assigned_: void 0,\n        base_: target,\n        draft_: this,\n        isManual_: false,\n        revoked_: false\n      };\n    }\n    get size() {\n      return latest(this[DRAFT_STATE]).size;\n    }\n    has(key) {\n      return latest(this[DRAFT_STATE]).has(key);\n    }\n    set(key, value) {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      if (!latest(state).has(key) || latest(state).get(key) !== value) {\n        prepareMapCopy(state);\n        markChanged(state);\n        state.assigned_.set(key, true);\n        state.copy_.set(key, value);\n        state.assigned_.set(key, true);\n      }\n      return this;\n    }\n    delete(key) {\n      if (!this.has(key)) {\n        return false;\n      }\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      prepareMapCopy(state);\n      markChanged(state);\n      if (state.base_.has(key)) {\n        state.assigned_.set(key, false);\n      } else {\n        state.assigned_.delete(key);\n      }\n      state.copy_.delete(key);\n      return true;\n    }\n    clear() {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      if (latest(state).size) {\n        prepareMapCopy(state);\n        markChanged(state);\n        state.assigned_ = /* @__PURE__ */ new Map();\n        each(state.base_, (key) => {\n          state.assigned_.set(key, false);\n        });\n        state.copy_.clear();\n      }\n    }\n    forEach(cb, thisArg) {\n      const state = this[DRAFT_STATE];\n      latest(state).forEach((_value, key, _map) => {\n        cb.call(thisArg, this.get(key), key, this);\n      });\n    }\n    get(key) {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      const value = latest(state).get(key);\n      if (state.finalized_ || !isDraftable(value)) {\n        return value;\n      }\n      if (value !== state.base_.get(key)) {\n        return value;\n      }\n      const draft = createProxy(value, state);\n      prepareMapCopy(state);\n      state.copy_.set(key, draft);\n      return draft;\n    }\n    keys() {\n      return latest(this[DRAFT_STATE]).keys();\n    }\n    values() {\n      const iterator = this.keys();\n      return {\n        [Symbol.iterator]: () => this.values(),\n        next: () => {\n          const r = iterator.next();\n          if (r.done)\n            return r;\n          const value = this.get(r.value);\n          return {\n            done: false,\n            value\n          };\n        }\n      };\n    }\n    entries() {\n      const iterator = this.keys();\n      return {\n        [Symbol.iterator]: () => this.entries(),\n        next: () => {\n          const r = iterator.next();\n          if (r.done)\n            return r;\n          const value = this.get(r.value);\n          return {\n            done: false,\n            value: [r.value, value]\n          };\n        }\n      };\n    }\n    [(DRAFT_STATE, Symbol.iterator)]() {\n      return this.entries();\n    }\n  }\n  function proxyMap_(target, parent) {\n    return new DraftMap(target, parent);\n  }\n  function prepareMapCopy(state) {\n    if (!state.copy_) {\n      state.assigned_ = /* @__PURE__ */ new Map();\n      state.copy_ = new Map(state.base_);\n    }\n  }\n  class DraftSet extends Set {\n    constructor(target, parent) {\n      super();\n      this[DRAFT_STATE] = {\n        type_: 3 /* Set */,\n        parent_: parent,\n        scope_: parent ? parent.scope_ : getCurrentScope(),\n        modified_: false,\n        finalized_: false,\n        copy_: void 0,\n        base_: target,\n        draft_: this,\n        drafts_: /* @__PURE__ */ new Map(),\n        revoked_: false,\n        isManual_: false\n      };\n    }\n    get size() {\n      return latest(this[DRAFT_STATE]).size;\n    }\n    has(value) {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      if (!state.copy_) {\n        return state.base_.has(value);\n      }\n      if (state.copy_.has(value))\n        return true;\n      if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n        return true;\n      return false;\n    }\n    add(value) {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      if (!this.has(value)) {\n        prepareSetCopy(state);\n        markChanged(state);\n        state.copy_.add(value);\n      }\n      return this;\n    }\n    delete(value) {\n      if (!this.has(value)) {\n        return false;\n      }\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      prepareSetCopy(state);\n      markChanged(state);\n      return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n        /* istanbul ignore next */\n        false\n      ));\n    }\n    clear() {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      if (latest(state).size) {\n        prepareSetCopy(state);\n        markChanged(state);\n        state.copy_.clear();\n      }\n    }\n    values() {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      prepareSetCopy(state);\n      return state.copy_.values();\n    }\n    entries() {\n      const state = this[DRAFT_STATE];\n      assertUnrevoked(state);\n      prepareSetCopy(state);\n      return state.copy_.entries();\n    }\n    keys() {\n      return this.values();\n    }\n    [(DRAFT_STATE, Symbol.iterator)]() {\n      return this.values();\n    }\n    forEach(cb, thisArg) {\n      const iterator = this.values();\n      let result = iterator.next();\n      while (!result.done) {\n        cb.call(thisArg, result.value, result.value, this);\n        result = iterator.next();\n      }\n    }\n  }\n  function proxySet_(target, parent) {\n    return new DraftSet(target, parent);\n  }\n  function prepareSetCopy(state) {\n    if (!state.copy_) {\n      state.copy_ = /* @__PURE__ */ new Set();\n      state.base_.forEach((value) => {\n        if (isDraftable(value)) {\n          const draft = createProxy(value, state);\n          state.drafts_.set(value, draft);\n          state.copy_.add(draft);\n        } else {\n          state.copy_.add(value);\n        }\n      });\n    }\n  }\n  function assertUnrevoked(state) {\n    if (state.revoked_)\n      die(3, JSON.stringify(latest(state)));\n  }\n  loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n  immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n  return value;\n}\nfunction castImmutable(value) {\n  return value;\n}\nexport {\n  Immer2 as Immer,\n  applyPatches,\n  castDraft,\n  castImmutable,\n  createDraft,\n  current,\n  enableMapSet,\n  enablePatches,\n  finishDraft,\n  freeze,\n  DRAFTABLE as immerable,\n  isDraft,\n  isDraftable,\n  NOTHING as nothing,\n  original,\n  produce,\n  produceWithPatches,\n  setAutoFreeze,\n  setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map","// src/devModeChecks/identityFunctionCheck.ts\nvar runIdentityFunctionCheck = (resultFunc, inputSelectorsResults, outputSelectorResult) => {\n  if (inputSelectorsResults.length === 1 && inputSelectorsResults[0] === outputSelectorResult) {\n    let isInputSameAsOutput = false;\n    try {\n      const emptyObject = {};\n      if (resultFunc(emptyObject) === emptyObject)\n        isInputSameAsOutput = true;\n    } catch {\n    }\n    if (isInputSameAsOutput) {\n      let stack = void 0;\n      try {\n        throw new Error();\n      } catch (e) {\n        ;\n        ({ stack } = e);\n      }\n      console.warn(\n        \"The result function returned its own inputs without modification. e.g\\n`createSelector([state => state.todos], todos => todos)`\\nThis could lead to inefficient memoization and unnecessary re-renders.\\nEnsure transformation logic is in the result function, and extraction logic is in the input selectors.\",\n        { stack }\n      );\n    }\n  }\n};\n\n// src/devModeChecks/inputStabilityCheck.ts\nvar runInputStabilityCheck = (inputSelectorResultsObject, options, inputSelectorArgs) => {\n  const { memoize, memoizeOptions } = options;\n  const { inputSelectorResults, inputSelectorResultsCopy } = inputSelectorResultsObject;\n  const createAnEmptyObject = memoize(() => ({}), ...memoizeOptions);\n  const areInputSelectorResultsEqual = createAnEmptyObject.apply(null, inputSelectorResults) === createAnEmptyObject.apply(null, inputSelectorResultsCopy);\n  if (!areInputSelectorResultsEqual) {\n    let stack = void 0;\n    try {\n      throw new Error();\n    } catch (e) {\n      ;\n      ({ stack } = e);\n    }\n    console.warn(\n      \"An input selector returned a different result when passed same arguments.\\nThis means your output selector will likely run more frequently than intended.\\nAvoid returning a new reference inside your input selector, e.g.\\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`\",\n      {\n        arguments: inputSelectorArgs,\n        firstInputs: inputSelectorResults,\n        secondInputs: inputSelectorResultsCopy,\n        stack\n      }\n    );\n  }\n};\n\n// src/devModeChecks/setGlobalDevModeChecks.ts\nvar globalDevModeChecks = {\n  inputStabilityCheck: \"once\",\n  identityFunctionCheck: \"once\"\n};\nvar setGlobalDevModeChecks = (devModeChecks) => {\n  Object.assign(globalDevModeChecks, devModeChecks);\n};\n\n// src/utils.ts\nvar NOT_FOUND = /* @__PURE__ */ Symbol(\"NOT_FOUND\");\nfunction assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {\n  if (typeof func !== \"function\") {\n    throw new TypeError(errorMessage);\n  }\n}\nfunction assertIsObject(object, errorMessage = `expected an object, instead received ${typeof object}`) {\n  if (typeof object !== \"object\") {\n    throw new TypeError(errorMessage);\n  }\n}\nfunction assertIsArrayOfFunctions(array, errorMessage = `expected all items to be functions, instead received the following types: `) {\n  if (!array.every((item) => typeof item === \"function\")) {\n    const itemTypes = array.map(\n      (item) => typeof item === \"function\" ? `function ${item.name || \"unnamed\"}()` : typeof item\n    ).join(\", \");\n    throw new TypeError(`${errorMessage}[${itemTypes}]`);\n  }\n}\nvar ensureIsArray = (item) => {\n  return Array.isArray(item) ? item : [item];\n};\nfunction getDependencies(createSelectorArgs) {\n  const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;\n  assertIsArrayOfFunctions(\n    dependencies,\n    `createSelector expects all input-selectors to be functions, but received the following types: `\n  );\n  return dependencies;\n}\nfunction collectInputSelectorResults(dependencies, inputSelectorArgs) {\n  const inputSelectorResults = [];\n  const { length } = dependencies;\n  for (let i = 0; i < length; i++) {\n    inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));\n  }\n  return inputSelectorResults;\n}\nvar getDevModeChecksExecutionInfo = (firstRun, devModeChecks) => {\n  const { identityFunctionCheck, inputStabilityCheck } = {\n    ...globalDevModeChecks,\n    ...devModeChecks\n  };\n  return {\n    identityFunctionCheck: {\n      shouldRun: identityFunctionCheck === \"always\" || identityFunctionCheck === \"once\" && firstRun,\n      run: runIdentityFunctionCheck\n    },\n    inputStabilityCheck: {\n      shouldRun: inputStabilityCheck === \"always\" || inputStabilityCheck === \"once\" && firstRun,\n      run: runInputStabilityCheck\n    }\n  };\n};\n\n// src/autotrackMemoize/autotracking.ts\nvar $REVISION = 0;\nvar CURRENT_TRACKER = null;\nvar Cell = class {\n  revision = $REVISION;\n  _value;\n  _lastValue;\n  _isEqual = tripleEq;\n  constructor(initialValue, isEqual = tripleEq) {\n    this._value = this._lastValue = initialValue;\n    this._isEqual = isEqual;\n  }\n  // Whenever a storage value is read, it'll add itself to the current tracker if\n  // one exists, entangling its state with that cache.\n  get value() {\n    CURRENT_TRACKER?.add(this);\n    return this._value;\n  }\n  // Whenever a storage value is updated, we bump the global revision clock,\n  // assign the revision for this storage to the new value, _and_ we schedule a\n  // rerender. This is important, and it's what makes autotracking  _pull_\n  // based. We don't actively tell the caches which depend on the storage that\n  // anything has happened. Instead, we recompute the caches when needed.\n  set value(newValue) {\n    if (this.value === newValue)\n      return;\n    this._value = newValue;\n    this.revision = ++$REVISION;\n  }\n};\nfunction tripleEq(a, b) {\n  return a === b;\n}\nvar TrackingCache = class {\n  _cachedValue;\n  _cachedRevision = -1;\n  _deps = [];\n  hits = 0;\n  fn;\n  constructor(fn) {\n    this.fn = fn;\n  }\n  clear() {\n    this._cachedValue = void 0;\n    this._cachedRevision = -1;\n    this._deps = [];\n    this.hits = 0;\n  }\n  get value() {\n    if (this.revision > this._cachedRevision) {\n      const { fn } = this;\n      const currentTracker = /* @__PURE__ */ new Set();\n      const prevTracker = CURRENT_TRACKER;\n      CURRENT_TRACKER = currentTracker;\n      this._cachedValue = fn();\n      CURRENT_TRACKER = prevTracker;\n      this.hits++;\n      this._deps = Array.from(currentTracker);\n      this._cachedRevision = this.revision;\n    }\n    CURRENT_TRACKER?.add(this);\n    return this._cachedValue;\n  }\n  get revision() {\n    return Math.max(...this._deps.map((d) => d.revision), 0);\n  }\n};\nfunction getValue(cell) {\n  if (!(cell instanceof Cell)) {\n    console.warn(\"Not a valid cell! \", cell);\n  }\n  return cell.value;\n}\nfunction setValue(storage, value) {\n  if (!(storage instanceof Cell)) {\n    throw new TypeError(\n      \"setValue must be passed a tracked store created with `createStorage`.\"\n    );\n  }\n  storage.value = storage._lastValue = value;\n}\nfunction createCell(initialValue, isEqual = tripleEq) {\n  return new Cell(initialValue, isEqual);\n}\nfunction createCache(fn) {\n  assertIsFunction(\n    fn,\n    \"the first parameter to `createCache` must be a function\"\n  );\n  return new TrackingCache(fn);\n}\n\n// src/autotrackMemoize/tracking.ts\nvar neverEq = (a, b) => false;\nfunction createTag() {\n  return createCell(null, neverEq);\n}\nfunction dirtyTag(tag, value) {\n  setValue(tag, value);\n}\nvar consumeCollection = (node) => {\n  let tag = node.collectionTag;\n  if (tag === null) {\n    tag = node.collectionTag = createTag();\n  }\n  getValue(tag);\n};\nvar dirtyCollection = (node) => {\n  const tag = node.collectionTag;\n  if (tag !== null) {\n    dirtyTag(tag, null);\n  }\n};\n\n// src/autotrackMemoize/proxy.ts\nvar REDUX_PROXY_LABEL = Symbol();\nvar nextId = 0;\nvar proto = Object.getPrototypeOf({});\nvar ObjectTreeNode = class {\n  constructor(value) {\n    this.value = value;\n    this.value = value;\n    this.tag.value = value;\n  }\n  proxy = new Proxy(this, objectProxyHandler);\n  tag = createTag();\n  tags = {};\n  children = {};\n  collectionTag = null;\n  id = nextId++;\n};\nvar objectProxyHandler = {\n  get(node, key) {\n    function calculateResult() {\n      const { value } = node;\n      const childValue = Reflect.get(value, key);\n      if (typeof key === \"symbol\") {\n        return childValue;\n      }\n      if (key in proto) {\n        return childValue;\n      }\n      if (typeof childValue === \"object\" && childValue !== null) {\n        let childNode = node.children[key];\n        if (childNode === void 0) {\n          childNode = node.children[key] = createNode(childValue);\n        }\n        if (childNode.tag) {\n          getValue(childNode.tag);\n        }\n        return childNode.proxy;\n      } else {\n        let tag = node.tags[key];\n        if (tag === void 0) {\n          tag = node.tags[key] = createTag();\n          tag.value = childValue;\n        }\n        getValue(tag);\n        return childValue;\n      }\n    }\n    const res = calculateResult();\n    return res;\n  },\n  ownKeys(node) {\n    consumeCollection(node);\n    return Reflect.ownKeys(node.value);\n  },\n  getOwnPropertyDescriptor(node, prop) {\n    return Reflect.getOwnPropertyDescriptor(node.value, prop);\n  },\n  has(node, prop) {\n    return Reflect.has(node.value, prop);\n  }\n};\nvar ArrayTreeNode = class {\n  constructor(value) {\n    this.value = value;\n    this.value = value;\n    this.tag.value = value;\n  }\n  proxy = new Proxy([this], arrayProxyHandler);\n  tag = createTag();\n  tags = {};\n  children = {};\n  collectionTag = null;\n  id = nextId++;\n};\nvar arrayProxyHandler = {\n  get([node], key) {\n    if (key === \"length\") {\n      consumeCollection(node);\n    }\n    return objectProxyHandler.get(node, key);\n  },\n  ownKeys([node]) {\n    return objectProxyHandler.ownKeys(node);\n  },\n  getOwnPropertyDescriptor([node], prop) {\n    return objectProxyHandler.getOwnPropertyDescriptor(node, prop);\n  },\n  has([node], prop) {\n    return objectProxyHandler.has(node, prop);\n  }\n};\nfunction createNode(value) {\n  if (Array.isArray(value)) {\n    return new ArrayTreeNode(value);\n  }\n  return new ObjectTreeNode(value);\n}\nfunction updateNode(node, newValue) {\n  const { value, tags, children } = node;\n  node.value = newValue;\n  if (Array.isArray(value) && Array.isArray(newValue) && value.length !== newValue.length) {\n    dirtyCollection(node);\n  } else {\n    if (value !== newValue) {\n      let oldKeysSize = 0;\n      let newKeysSize = 0;\n      let anyKeysAdded = false;\n      for (const _key in value) {\n        oldKeysSize++;\n      }\n      for (const key in newValue) {\n        newKeysSize++;\n        if (!(key in value)) {\n          anyKeysAdded = true;\n          break;\n        }\n      }\n      const isDifferent = anyKeysAdded || oldKeysSize !== newKeysSize;\n      if (isDifferent) {\n        dirtyCollection(node);\n      }\n    }\n  }\n  for (const key in tags) {\n    const childValue = value[key];\n    const newChildValue = newValue[key];\n    if (childValue !== newChildValue) {\n      dirtyCollection(node);\n      dirtyTag(tags[key], newChildValue);\n    }\n    if (typeof newChildValue === \"object\" && newChildValue !== null) {\n      delete tags[key];\n    }\n  }\n  for (const key in children) {\n    const childNode = children[key];\n    const newChildValue = newValue[key];\n    const childValue = childNode.value;\n    if (childValue === newChildValue) {\n      continue;\n    } else if (typeof newChildValue === \"object\" && newChildValue !== null) {\n      updateNode(childNode, newChildValue);\n    } else {\n      deleteNode(childNode);\n      delete children[key];\n    }\n  }\n}\nfunction deleteNode(node) {\n  if (node.tag) {\n    dirtyTag(node.tag, null);\n  }\n  dirtyCollection(node);\n  for (const key in node.tags) {\n    dirtyTag(node.tags[key], null);\n  }\n  for (const key in node.children) {\n    deleteNode(node.children[key]);\n  }\n}\n\n// src/lruMemoize.ts\nfunction createSingletonCache(equals) {\n  let entry;\n  return {\n    get(key) {\n      if (entry && equals(entry.key, key)) {\n        return entry.value;\n      }\n      return NOT_FOUND;\n    },\n    put(key, value) {\n      entry = { key, value };\n    },\n    getEntries() {\n      return entry ? [entry] : [];\n    },\n    clear() {\n      entry = void 0;\n    }\n  };\n}\nfunction createLruCache(maxSize, equals) {\n  let entries = [];\n  function get(key) {\n    const cacheIndex = entries.findIndex((entry) => equals(key, entry.key));\n    if (cacheIndex > -1) {\n      const entry = entries[cacheIndex];\n      if (cacheIndex > 0) {\n        entries.splice(cacheIndex, 1);\n        entries.unshift(entry);\n      }\n      return entry.value;\n    }\n    return NOT_FOUND;\n  }\n  function put(key, value) {\n    if (get(key) === NOT_FOUND) {\n      entries.unshift({ key, value });\n      if (entries.length > maxSize) {\n        entries.pop();\n      }\n    }\n  }\n  function getEntries() {\n    return entries;\n  }\n  function clear() {\n    entries = [];\n  }\n  return { get, put, getEntries, clear };\n}\nvar referenceEqualityCheck = (a, b) => a === b;\nfunction createCacheKeyComparator(equalityCheck) {\n  return function areArgumentsShallowlyEqual(prev, next) {\n    if (prev === null || next === null || prev.length !== next.length) {\n      return false;\n    }\n    const { length } = prev;\n    for (let i = 0; i < length; i++) {\n      if (!equalityCheck(prev[i], next[i])) {\n        return false;\n      }\n    }\n    return true;\n  };\n}\nfunction lruMemoize(func, equalityCheckOrOptions) {\n  const providedOptions = typeof equalityCheckOrOptions === \"object\" ? equalityCheckOrOptions : { equalityCheck: equalityCheckOrOptions };\n  const {\n    equalityCheck = referenceEqualityCheck,\n    maxSize = 1,\n    resultEqualityCheck\n  } = providedOptions;\n  const comparator = createCacheKeyComparator(equalityCheck);\n  let resultsCount = 0;\n  const cache = maxSize <= 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator);\n  function memoized() {\n    let value = cache.get(arguments);\n    if (value === NOT_FOUND) {\n      value = func.apply(null, arguments);\n      resultsCount++;\n      if (resultEqualityCheck) {\n        const entries = cache.getEntries();\n        const matchingEntry = entries.find(\n          (entry) => resultEqualityCheck(entry.value, value)\n        );\n        if (matchingEntry) {\n          value = matchingEntry.value;\n          resultsCount !== 0 && resultsCount--;\n        }\n      }\n      cache.put(arguments, value);\n    }\n    return value;\n  }\n  memoized.clearCache = () => {\n    cache.clear();\n    memoized.resetResultsCount();\n  };\n  memoized.resultsCount = () => resultsCount;\n  memoized.resetResultsCount = () => {\n    resultsCount = 0;\n  };\n  return memoized;\n}\n\n// src/autotrackMemoize/autotrackMemoize.ts\nfunction autotrackMemoize(func) {\n  const node = createNode(\n    []\n  );\n  let lastArgs = null;\n  const shallowEqual = createCacheKeyComparator(referenceEqualityCheck);\n  const cache = createCache(() => {\n    const res = func.apply(null, node.proxy);\n    return res;\n  });\n  function memoized() {\n    if (!shallowEqual(lastArgs, arguments)) {\n      updateNode(node, arguments);\n      lastArgs = arguments;\n    }\n    return cache.value;\n  }\n  memoized.clearCache = () => {\n    return cache.clear();\n  };\n  return memoized;\n}\n\n// src/weakMapMemoize.ts\nvar StrongRef = class {\n  constructor(value) {\n    this.value = value;\n  }\n  deref() {\n    return this.value;\n  }\n};\nvar Ref = typeof WeakRef !== \"undefined\" ? WeakRef : StrongRef;\nvar UNTERMINATED = 0;\nvar TERMINATED = 1;\nfunction createCacheNode() {\n  return {\n    s: UNTERMINATED,\n    v: void 0,\n    o: null,\n    p: null\n  };\n}\nfunction weakMapMemoize(func, options = {}) {\n  let fnNode = createCacheNode();\n  const { resultEqualityCheck } = options;\n  let lastResult;\n  let resultsCount = 0;\n  function memoized() {\n    let cacheNode = fnNode;\n    const { length } = arguments;\n    for (let i = 0, l = length; i < l; i++) {\n      const arg = arguments[i];\n      if (typeof arg === \"function\" || typeof arg === \"object\" && arg !== null) {\n        let objectCache = cacheNode.o;\n        if (objectCache === null) {\n          cacheNode.o = objectCache = /* @__PURE__ */ new WeakMap();\n        }\n        const objectNode = objectCache.get(arg);\n        if (objectNode === void 0) {\n          cacheNode = createCacheNode();\n          objectCache.set(arg, cacheNode);\n        } else {\n          cacheNode = objectNode;\n        }\n      } else {\n        let primitiveCache = cacheNode.p;\n        if (primitiveCache === null) {\n          cacheNode.p = primitiveCache = /* @__PURE__ */ new Map();\n        }\n        const primitiveNode = primitiveCache.get(arg);\n        if (primitiveNode === void 0) {\n          cacheNode = createCacheNode();\n          primitiveCache.set(arg, cacheNode);\n        } else {\n          cacheNode = primitiveNode;\n        }\n      }\n    }\n    const terminatedNode = cacheNode;\n    let result;\n    if (cacheNode.s === TERMINATED) {\n      result = cacheNode.v;\n    } else {\n      result = func.apply(null, arguments);\n      resultsCount++;\n      if (resultEqualityCheck) {\n        const lastResultValue = lastResult?.deref?.() ?? lastResult;\n        if (lastResultValue != null && resultEqualityCheck(lastResultValue, result)) {\n          result = lastResultValue;\n          resultsCount !== 0 && resultsCount--;\n        }\n        const needsWeakRef = typeof result === \"object\" && result !== null || typeof result === \"function\";\n        lastResult = needsWeakRef ? new Ref(result) : result;\n      }\n    }\n    terminatedNode.s = TERMINATED;\n    terminatedNode.v = result;\n    return result;\n  }\n  memoized.clearCache = () => {\n    fnNode = createCacheNode();\n    memoized.resetResultsCount();\n  };\n  memoized.resultsCount = () => resultsCount;\n  memoized.resetResultsCount = () => {\n    resultsCount = 0;\n  };\n  return memoized;\n}\n\n// src/createSelectorCreator.ts\nfunction createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {\n  const createSelectorCreatorOptions = typeof memoizeOrOptions === \"function\" ? {\n    memoize: memoizeOrOptions,\n    memoizeOptions: memoizeOptionsFromArgs\n  } : memoizeOrOptions;\n  const createSelector2 = (...createSelectorArgs) => {\n    let recomputations = 0;\n    let dependencyRecomputations = 0;\n    let lastResult;\n    let directlyPassedOptions = {};\n    let resultFunc = createSelectorArgs.pop();\n    if (typeof resultFunc === \"object\") {\n      directlyPassedOptions = resultFunc;\n      resultFunc = createSelectorArgs.pop();\n    }\n    assertIsFunction(\n      resultFunc,\n      `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`\n    );\n    const combinedOptions = {\n      ...createSelectorCreatorOptions,\n      ...directlyPassedOptions\n    };\n    const {\n      memoize,\n      memoizeOptions = [],\n      argsMemoize = weakMapMemoize,\n      argsMemoizeOptions = [],\n      devModeChecks = {}\n    } = combinedOptions;\n    const finalMemoizeOptions = ensureIsArray(memoizeOptions);\n    const finalArgsMemoizeOptions = ensureIsArray(argsMemoizeOptions);\n    const dependencies = getDependencies(createSelectorArgs);\n    const memoizedResultFunc = memoize(function recomputationWrapper() {\n      recomputations++;\n      return resultFunc.apply(\n        null,\n        arguments\n      );\n    }, ...finalMemoizeOptions);\n    let firstRun = true;\n    const selector = argsMemoize(function dependenciesChecker() {\n      dependencyRecomputations++;\n      const inputSelectorResults = collectInputSelectorResults(\n        dependencies,\n        arguments\n      );\n      lastResult = memoizedResultFunc.apply(null, inputSelectorResults);\n      if (process.env.NODE_ENV !== \"production\") {\n        const { identityFunctionCheck, inputStabilityCheck } = getDevModeChecksExecutionInfo(firstRun, devModeChecks);\n        if (identityFunctionCheck.shouldRun) {\n          identityFunctionCheck.run(\n            resultFunc,\n            inputSelectorResults,\n            lastResult\n          );\n        }\n        if (inputStabilityCheck.shouldRun) {\n          const inputSelectorResultsCopy = collectInputSelectorResults(\n            dependencies,\n            arguments\n          );\n          inputStabilityCheck.run(\n            { inputSelectorResults, inputSelectorResultsCopy },\n            { memoize, memoizeOptions: finalMemoizeOptions },\n            arguments\n          );\n        }\n        if (firstRun)\n          firstRun = false;\n      }\n      return lastResult;\n    }, ...finalArgsMemoizeOptions);\n    return Object.assign(selector, {\n      resultFunc,\n      memoizedResultFunc,\n      dependencies,\n      dependencyRecomputations: () => dependencyRecomputations,\n      resetDependencyRecomputations: () => {\n        dependencyRecomputations = 0;\n      },\n      lastResult: () => lastResult,\n      recomputations: () => recomputations,\n      resetRecomputations: () => {\n        recomputations = 0;\n      },\n      memoize,\n      argsMemoize\n    });\n  };\n  Object.assign(createSelector2, {\n    withTypes: () => createSelector2\n  });\n  return createSelector2;\n}\nvar createSelector = /* @__PURE__ */ createSelectorCreator(weakMapMemoize);\n\n// src/createStructuredSelector.ts\nvar createStructuredSelector = Object.assign(\n  (inputSelectorsObject, selectorCreator = createSelector) => {\n    assertIsObject(\n      inputSelectorsObject,\n      `createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof inputSelectorsObject}`\n    );\n    const inputSelectorKeys = Object.keys(inputSelectorsObject);\n    const dependencies = inputSelectorKeys.map(\n      (key) => inputSelectorsObject[key]\n    );\n    const structuredSelector = selectorCreator(\n      dependencies,\n      (...inputSelectorResults) => {\n        return inputSelectorResults.reduce((composition, value, index) => {\n          composition[inputSelectorKeys[index]] = value;\n          return composition;\n        }, {});\n      }\n    );\n    return structuredSelector;\n  },\n  { withTypes: () => createStructuredSelector }\n);\nexport {\n  createSelector,\n  createSelectorCreator,\n  createStructuredSelector,\n  lruMemoize,\n  referenceEqualityCheck,\n  setGlobalDevModeChecks,\n  autotrackMemoize as unstable_autotrackMemoize,\n  weakMapMemoize\n};\n//# sourceMappingURL=reselect.mjs.map","// src/index.ts\nfunction createThunkMiddleware(extraArgument) {\n  const middleware = ({ dispatch, getState }) => (next) => (action) => {\n    if (typeof action === \"function\") {\n      return action(dispatch, getState, extraArgument);\n    }\n    return next(action);\n  };\n  return middleware;\n}\nvar thunk = createThunkMiddleware();\nvar withExtraArgument = createThunkMiddleware;\nexport {\n  thunk,\n  withExtraArgument\n};\n","// src/index.ts\nexport * from \"redux\";\nimport { produce, current as current3, freeze, original as original2, isDraft as isDraft5 } from \"immer\";\nimport { createSelector, createSelectorCreator as createSelectorCreator2, lruMemoize, weakMapMemoize as weakMapMemoize2 } from \"reselect\";\n\n// src/createDraftSafeSelector.ts\nimport { current, isDraft } from \"immer\";\nimport { createSelectorCreator, weakMapMemoize } from \"reselect\";\nvar createDraftSafeSelectorCreator = (...args) => {\n  const createSelector2 = createSelectorCreator(...args);\n  const createDraftSafeSelector2 = Object.assign((...args2) => {\n    const selector = createSelector2(...args2);\n    const wrappedSelector = (value, ...rest) => selector(isDraft(value) ? current(value) : value, ...rest);\n    Object.assign(wrappedSelector, selector);\n    return wrappedSelector;\n  }, {\n    withTypes: () => createDraftSafeSelector2\n  });\n  return createDraftSafeSelector2;\n};\nvar createDraftSafeSelector = /* @__PURE__ */ createDraftSafeSelectorCreator(weakMapMemoize);\n\n// src/configureStore.ts\nimport { applyMiddleware, createStore, compose as compose2, combineReducers, isPlainObject as isPlainObject2 } from \"redux\";\n\n// src/devtoolsExtension.ts\nimport { compose } from \"redux\";\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function() {\n  if (arguments.length === 0) return void 0;\n  if (typeof arguments[0] === \"object\") return compose;\n  return compose.apply(null, arguments);\n};\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function() {\n  return function(noop3) {\n    return noop3;\n  };\n};\n\n// src/getDefaultMiddleware.ts\nimport { thunk as thunkMiddleware, withExtraArgument } from \"redux-thunk\";\n\n// src/createAction.ts\nimport { isAction } from \"redux\";\n\n// src/tsHelpers.ts\nvar hasMatchFunction = (v) => {\n  return v && typeof v.match === \"function\";\n};\n\n// src/createAction.ts\nfunction createAction(type, prepareAction) {\n  function actionCreator(...args) {\n    if (prepareAction) {\n      let prepared = prepareAction(...args);\n      if (!prepared) {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : \"prepareAction did not return an object\");\n      }\n      return {\n        type,\n        payload: prepared.payload,\n        ...\"meta\" in prepared && {\n          meta: prepared.meta\n        },\n        ...\"error\" in prepared && {\n          error: prepared.error\n        }\n      };\n    }\n    return {\n      type,\n      payload: args[0]\n    };\n  }\n  actionCreator.toString = () => `${type}`;\n  actionCreator.type = type;\n  actionCreator.match = (action) => isAction(action) && action.type === type;\n  return actionCreator;\n}\nfunction isActionCreator(action) {\n  return typeof action === \"function\" && \"type\" in action && // hasMatchFunction only wants Matchers but I don't see the point in rewriting it\n  hasMatchFunction(action);\n}\nfunction isFSA(action) {\n  return isAction(action) && Object.keys(action).every(isValidKey);\n}\nfunction isValidKey(key) {\n  return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\n}\n\n// src/actionCreatorInvariantMiddleware.ts\nfunction getMessage(type) {\n  const splitType = type ? `${type}`.split(\"/\") : [];\n  const actionName = splitType[splitType.length - 1] || \"actionCreator\";\n  return `Detected an action creator with type \"${type || \"unknown\"}\" being dispatched. \nMake sure you're calling the action creator before dispatching, i.e. \\`dispatch(${actionName}())\\` instead of \\`dispatch(${actionName})\\`. This is necessary even if the action has no payload.`;\n}\nfunction createActionCreatorInvariantMiddleware(options = {}) {\n  if (process.env.NODE_ENV === \"production\") {\n    return () => (next) => (action) => next(action);\n  }\n  const {\n    isActionCreator: isActionCreator2 = isActionCreator\n  } = options;\n  return () => (next) => (action) => {\n    if (isActionCreator2(action)) {\n      console.warn(getMessage(action.type));\n    }\n    return next(action);\n  };\n}\n\n// src/utils.ts\nimport { produce as createNextState, isDraftable } from \"immer\";\nfunction getTimeMeasureUtils(maxDelay, fnName) {\n  let elapsed = 0;\n  return {\n    measureTime(fn) {\n      const started = Date.now();\n      try {\n        return fn();\n      } finally {\n        const finished = Date.now();\n        elapsed += finished - started;\n      }\n    },\n    warnIfExceeded() {\n      if (elapsed > maxDelay) {\n        console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\nIt is disabled in production builds, so you don't need to worry about that.`);\n      }\n    }\n  };\n}\nvar Tuple = class _Tuple extends Array {\n  constructor(...items) {\n    super(...items);\n    Object.setPrototypeOf(this, _Tuple.prototype);\n  }\n  static get [Symbol.species]() {\n    return _Tuple;\n  }\n  concat(...arr) {\n    return super.concat.apply(this, arr);\n  }\n  prepend(...arr) {\n    if (arr.length === 1 && Array.isArray(arr[0])) {\n      return new _Tuple(...arr[0].concat(this));\n    }\n    return new _Tuple(...arr.concat(this));\n  }\n};\nfunction freezeDraftable(val) {\n  return isDraftable(val) ? createNextState(val, () => {\n  }) : val;\n}\nfunction getOrInsertComputed(map, key, compute) {\n  if (map.has(key)) return map.get(key);\n  return map.set(key, compute(key)).get(key);\n}\n\n// src/immutableStateInvariantMiddleware.ts\nfunction isImmutableDefault(value) {\n  return typeof value !== \"object\" || value == null || Object.isFrozen(value);\n}\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\n  const trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\n  return {\n    detectMutations() {\n      return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\n    }\n  };\n}\nfunction trackProperties(isImmutable, ignorePaths = [], obj, path = \"\", checkedObjects = /* @__PURE__ */ new Set()) {\n  const tracked = {\n    value: obj\n  };\n  if (!isImmutable(obj) && !checkedObjects.has(obj)) {\n    checkedObjects.add(obj);\n    tracked.children = {};\n    for (const key in obj) {\n      const childPath = path ? path + \".\" + key : key;\n      if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\n        continue;\n      }\n      tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\n    }\n  }\n  return tracked;\n}\nfunction detectMutations(isImmutable, ignoredPaths = [], trackedProperty, obj, sameParentRef = false, path = \"\") {\n  const prevObj = trackedProperty ? trackedProperty.value : void 0;\n  const sameRef = prevObj === obj;\n  if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\n    return {\n      wasMutated: true,\n      path\n    };\n  }\n  if (isImmutable(prevObj) || isImmutable(obj)) {\n    return {\n      wasMutated: false\n    };\n  }\n  const keysToDetect = {};\n  for (let key in trackedProperty.children) {\n    keysToDetect[key] = true;\n  }\n  for (let key in obj) {\n    keysToDetect[key] = true;\n  }\n  const hasIgnoredPaths = ignoredPaths.length > 0;\n  for (let key in keysToDetect) {\n    const nestedPath = path ? path + \".\" + key : key;\n    if (hasIgnoredPaths) {\n      const hasMatches = ignoredPaths.some((ignored) => {\n        if (ignored instanceof RegExp) {\n          return ignored.test(nestedPath);\n        }\n        return nestedPath === ignored;\n      });\n      if (hasMatches) {\n        continue;\n      }\n    }\n    const result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath);\n    if (result.wasMutated) {\n      return result;\n    }\n  }\n  return {\n    wasMutated: false\n  };\n}\nfunction createImmutableStateInvariantMiddleware(options = {}) {\n  if (process.env.NODE_ENV === \"production\") {\n    return () => (next) => (action) => next(action);\n  } else {\n    let stringify2 = function(obj, serializer, indent, decycler) {\n      return JSON.stringify(obj, getSerialize2(serializer, decycler), indent);\n    }, getSerialize2 = function(serializer, decycler) {\n      let stack = [], keys = [];\n      if (!decycler) decycler = function(_, value) {\n        if (stack[0] === value) return \"[Circular ~]\";\n        return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\n      };\n      return function(key, value) {\n        if (stack.length > 0) {\n          var thisPos = stack.indexOf(this);\n          ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\n          ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\n          if (~stack.indexOf(value)) value = decycler.call(this, key, value);\n        } else stack.push(value);\n        return serializer == null ? value : serializer.call(this, key, value);\n      };\n    };\n    var stringify = stringify2, getSerialize = getSerialize2;\n    let {\n      isImmutable = isImmutableDefault,\n      ignoredPaths,\n      warnAfter = 32\n    } = options;\n    const track = trackForMutations.bind(null, isImmutable, ignoredPaths);\n    return ({\n      getState\n    }) => {\n      let state = getState();\n      let tracker = track(state);\n      let result;\n      return (next) => (action) => {\n        const measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\n        measureUtils.measureTime(() => {\n          state = getState();\n          result = tracker.detectMutations();\n          tracker = track(state);\n          if (result.wasMutated) {\n            throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(19) : `A state mutation was detected between dispatches, in the path '${result.path || \"\"}'.  This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`);\n          }\n        });\n        const dispatchedAction = next(action);\n        measureUtils.measureTime(() => {\n          state = getState();\n          result = tracker.detectMutations();\n          tracker = track(state);\n          if (result.wasMutated) {\n            throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(20) : `A state mutation was detected inside a dispatch, in the path: ${result.path || \"\"}. Take a look at the reducer(s) handling the action ${stringify2(action)}. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`);\n          }\n        });\n        measureUtils.warnIfExceeded();\n        return dispatchedAction;\n      };\n    };\n  }\n}\n\n// src/serializableStateInvariantMiddleware.ts\nimport { isAction as isAction2, isPlainObject } from \"redux\";\nfunction isPlain(val) {\n  const type = typeof val;\n  return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\n}\nfunction findNonSerializableValue(value, path = \"\", isSerializable = isPlain, getEntries, ignoredPaths = [], cache) {\n  let foundNestedSerializable;\n  if (!isSerializable(value)) {\n    return {\n      keyPath: path || \"<root>\",\n      value\n    };\n  }\n  if (typeof value !== \"object\" || value === null) {\n    return false;\n  }\n  if (cache?.has(value)) return false;\n  const entries = getEntries != null ? getEntries(value) : Object.entries(value);\n  const hasIgnoredPaths = ignoredPaths.length > 0;\n  for (const [key, nestedValue] of entries) {\n    const nestedPath = path ? path + \".\" + key : key;\n    if (hasIgnoredPaths) {\n      const hasMatches = ignoredPaths.some((ignored) => {\n        if (ignored instanceof RegExp) {\n          return ignored.test(nestedPath);\n        }\n        return nestedPath === ignored;\n      });\n      if (hasMatches) {\n        continue;\n      }\n    }\n    if (!isSerializable(nestedValue)) {\n      return {\n        keyPath: nestedPath,\n        value: nestedValue\n      };\n    }\n    if (typeof nestedValue === \"object\") {\n      foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache);\n      if (foundNestedSerializable) {\n        return foundNestedSerializable;\n      }\n    }\n  }\n  if (cache && isNestedFrozen(value)) cache.add(value);\n  return false;\n}\nfunction isNestedFrozen(value) {\n  if (!Object.isFrozen(value)) return false;\n  for (const nestedValue of Object.values(value)) {\n    if (typeof nestedValue !== \"object\" || nestedValue === null) continue;\n    if (!isNestedFrozen(nestedValue)) return false;\n  }\n  return true;\n}\nfunction createSerializableStateInvariantMiddleware(options = {}) {\n  if (process.env.NODE_ENV === \"production\") {\n    return () => (next) => (action) => next(action);\n  } else {\n    const {\n      isSerializable = isPlain,\n      getEntries,\n      ignoredActions = [],\n      ignoredActionPaths = [\"meta.arg\", \"meta.baseQueryMeta\"],\n      ignoredPaths = [],\n      warnAfter = 32,\n      ignoreState = false,\n      ignoreActions = false,\n      disableCache = false\n    } = options;\n    const cache = !disableCache && WeakSet ? /* @__PURE__ */ new WeakSet() : void 0;\n    return (storeAPI) => (next) => (action) => {\n      if (!isAction2(action)) {\n        return next(action);\n      }\n      const result = next(action);\n      const measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\n      if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\n        measureUtils.measureTime(() => {\n          const foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths, cache);\n          if (foundActionNonSerializableValue) {\n            const {\n              keyPath,\n              value\n            } = foundActionNonSerializableValue;\n            console.error(`A non-serializable value was detected in an action, in the path: \\`${keyPath}\\`. Value:`, value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\n          }\n        });\n      }\n      if (!ignoreState) {\n        measureUtils.measureTime(() => {\n          const state = storeAPI.getState();\n          const foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths, cache);\n          if (foundStateNonSerializableValue) {\n            const {\n              keyPath,\n              value\n            } = foundStateNonSerializableValue;\n            console.error(`A non-serializable value was detected in the state, in the path: \\`${keyPath}\\`. Value:`, value, `\nTake a look at the reducer(s) handling this action type: ${action.type}.\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`);\n          }\n        });\n        measureUtils.warnIfExceeded();\n      }\n      return result;\n    };\n  }\n}\n\n// src/getDefaultMiddleware.ts\nfunction isBoolean(x) {\n  return typeof x === \"boolean\";\n}\nvar buildGetDefaultMiddleware = () => function getDefaultMiddleware(options) {\n  const {\n    thunk = true,\n    immutableCheck = true,\n    serializableCheck = true,\n    actionCreatorCheck = true\n  } = options ?? {};\n  let middlewareArray = new Tuple();\n  if (thunk) {\n    if (isBoolean(thunk)) {\n      middlewareArray.push(thunkMiddleware);\n    } else {\n      middlewareArray.push(withExtraArgument(thunk.extraArgument));\n    }\n  }\n  if (process.env.NODE_ENV !== \"production\") {\n    if (immutableCheck) {\n      let immutableOptions = {};\n      if (!isBoolean(immutableCheck)) {\n        immutableOptions = immutableCheck;\n      }\n      middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\n    }\n    if (serializableCheck) {\n      let serializableOptions = {};\n      if (!isBoolean(serializableCheck)) {\n        serializableOptions = serializableCheck;\n      }\n      middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\n    }\n    if (actionCreatorCheck) {\n      let actionCreatorOptions = {};\n      if (!isBoolean(actionCreatorCheck)) {\n        actionCreatorOptions = actionCreatorCheck;\n      }\n      middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions));\n    }\n  }\n  return middlewareArray;\n};\n\n// src/autoBatchEnhancer.ts\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\nvar prepareAutoBatched = () => (payload) => ({\n  payload,\n  meta: {\n    [SHOULD_AUTOBATCH]: true\n  }\n});\nvar createQueueWithTimer = (timeout) => {\n  return (notify) => {\n    setTimeout(notify, timeout);\n  };\n};\nvar autoBatchEnhancer = (options = {\n  type: \"raf\"\n}) => (next) => (...args) => {\n  const store = next(...args);\n  let notifying = true;\n  let shouldNotifyAtEndOfTick = false;\n  let notificationQueued = false;\n  const listeners = /* @__PURE__ */ new Set();\n  const queueCallback = options.type === \"tick\" ? queueMicrotask : options.type === \"raf\" ? (\n    // requestAnimationFrame won't exist in SSR environments. Fall back to a vague approximation just to keep from erroring.\n    typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10)\n  ) : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\n  const notifyListeners = () => {\n    notificationQueued = false;\n    if (shouldNotifyAtEndOfTick) {\n      shouldNotifyAtEndOfTick = false;\n      listeners.forEach((l) => l());\n    }\n  };\n  return Object.assign({}, store, {\n    // Override the base `store.subscribe` method to keep original listeners\n    // from running if we're delaying notifications\n    subscribe(listener2) {\n      const wrappedListener = () => notifying && listener2();\n      const unsubscribe = store.subscribe(wrappedListener);\n      listeners.add(listener2);\n      return () => {\n        unsubscribe();\n        listeners.delete(listener2);\n      };\n    },\n    // Override the base `store.dispatch` method so that we can check actions\n    // for the `shouldAutoBatch` flag and determine if batching is active\n    dispatch(action) {\n      try {\n        notifying = !action?.meta?.[SHOULD_AUTOBATCH];\n        shouldNotifyAtEndOfTick = !notifying;\n        if (shouldNotifyAtEndOfTick) {\n          if (!notificationQueued) {\n            notificationQueued = true;\n            queueCallback(notifyListeners);\n          }\n        }\n        return store.dispatch(action);\n      } finally {\n        notifying = true;\n      }\n    }\n  });\n};\n\n// src/getDefaultEnhancers.ts\nvar buildGetDefaultEnhancers = (middlewareEnhancer) => function getDefaultEnhancers(options) {\n  const {\n    autoBatch = true\n  } = options ?? {};\n  let enhancerArray = new Tuple(middlewareEnhancer);\n  if (autoBatch) {\n    enhancerArray.push(autoBatchEnhancer(typeof autoBatch === \"object\" ? autoBatch : void 0));\n  }\n  return enhancerArray;\n};\n\n// src/configureStore.ts\nfunction configureStore(options) {\n  const getDefaultMiddleware = buildGetDefaultMiddleware();\n  const {\n    reducer = void 0,\n    middleware,\n    devTools = true,\n    preloadedState = void 0,\n    enhancers = void 0\n  } = options || {};\n  let rootReducer;\n  if (typeof reducer === \"function\") {\n    rootReducer = reducer;\n  } else if (isPlainObject2(reducer)) {\n    rootReducer = combineReducers(reducer);\n  } else {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers\");\n  }\n  if (process.env.NODE_ENV !== \"production\" && middleware && typeof middleware !== \"function\") {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"`middleware` field must be a callback\");\n  }\n  let finalMiddleware;\n  if (typeof middleware === \"function\") {\n    finalMiddleware = middleware(getDefaultMiddleware);\n    if (process.env.NODE_ENV !== \"production\" && !Array.isArray(finalMiddleware)) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : \"when using a middleware builder function, an array of middleware must be returned\");\n    }\n  } else {\n    finalMiddleware = getDefaultMiddleware();\n  }\n  if (process.env.NODE_ENV !== \"production\" && finalMiddleware.some((item) => typeof item !== \"function\")) {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"each middleware provided to configureStore must be a function\");\n  }\n  let finalCompose = compose2;\n  if (devTools) {\n    finalCompose = composeWithDevTools({\n      // Enable capture of stack traces for dispatched Redux actions\n      trace: process.env.NODE_ENV !== \"production\",\n      ...typeof devTools === \"object\" && devTools\n    });\n  }\n  const middlewareEnhancer = applyMiddleware(...finalMiddleware);\n  const getDefaultEnhancers = buildGetDefaultEnhancers(middlewareEnhancer);\n  if (process.env.NODE_ENV !== \"production\" && enhancers && typeof enhancers !== \"function\") {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : \"`enhancers` field must be a callback\");\n  }\n  let storeEnhancers = typeof enhancers === \"function\" ? enhancers(getDefaultEnhancers) : getDefaultEnhancers();\n  if (process.env.NODE_ENV !== \"production\" && !Array.isArray(storeEnhancers)) {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : \"`enhancers` callback must return an array\");\n  }\n  if (process.env.NODE_ENV !== \"production\" && storeEnhancers.some((item) => typeof item !== \"function\")) {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"each enhancer provided to configureStore must be a function\");\n  }\n  if (process.env.NODE_ENV !== \"production\" && finalMiddleware.length && !storeEnhancers.includes(middlewareEnhancer)) {\n    console.error(\"middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`\");\n  }\n  const composedEnhancer = finalCompose(...storeEnhancers);\n  return createStore(rootReducer, preloadedState, composedEnhancer);\n}\n\n// src/createReducer.ts\nimport { produce as createNextState2, isDraft as isDraft2, isDraftable as isDraftable2 } from \"immer\";\n\n// src/mapBuilders.ts\nfunction executeReducerBuilderCallback(builderCallback) {\n  const actionsMap = {};\n  const actionMatchers = [];\n  let defaultCaseReducer;\n  const builder = {\n    addCase(typeOrActionCreator, reducer) {\n      if (process.env.NODE_ENV !== \"production\") {\n        if (actionMatchers.length > 0) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(26) : \"`builder.addCase` should only be called before calling `builder.addMatcher`\");\n        }\n        if (defaultCaseReducer) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(27) : \"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\n        }\n      }\n      const type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\n      if (!type) {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(28) : \"`builder.addCase` cannot be called with an empty action type\");\n      }\n      if (type in actionsMap) {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(29) : `\\`builder.addCase\\` cannot be called with two reducers for the same action type '${type}'`);\n      }\n      actionsMap[type] = reducer;\n      return builder;\n    },\n    addMatcher(matcher, reducer) {\n      if (process.env.NODE_ENV !== \"production\") {\n        if (defaultCaseReducer) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(30) : \"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\n        }\n      }\n      actionMatchers.push({\n        matcher,\n        reducer\n      });\n      return builder;\n    },\n    addDefaultCase(reducer) {\n      if (process.env.NODE_ENV !== \"production\") {\n        if (defaultCaseReducer) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(31) : \"`builder.addDefaultCase` can only be called once\");\n        }\n      }\n      defaultCaseReducer = reducer;\n      return builder;\n    }\n  };\n  builderCallback(builder);\n  return [actionsMap, actionMatchers, defaultCaseReducer];\n}\n\n// src/createReducer.ts\nfunction isStateFunction(x) {\n  return typeof x === \"function\";\n}\nfunction createReducer(initialState, mapOrBuilderCallback) {\n  if (process.env.NODE_ENV !== \"production\") {\n    if (typeof mapOrBuilderCallback === \"object\") {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : \"The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\n    }\n  }\n  let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] = executeReducerBuilderCallback(mapOrBuilderCallback);\n  let getInitialState;\n  if (isStateFunction(initialState)) {\n    getInitialState = () => freezeDraftable(initialState());\n  } else {\n    const frozenInitialState = freezeDraftable(initialState);\n    getInitialState = () => frozenInitialState;\n  }\n  function reducer(state = getInitialState(), action) {\n    let caseReducers = [actionsMap[action.type], ...finalActionMatchers.filter(({\n      matcher\n    }) => matcher(action)).map(({\n      reducer: reducer2\n    }) => reducer2)];\n    if (caseReducers.filter((cr) => !!cr).length === 0) {\n      caseReducers = [finalDefaultCaseReducer];\n    }\n    return caseReducers.reduce((previousState, caseReducer) => {\n      if (caseReducer) {\n        if (isDraft2(previousState)) {\n          const draft = previousState;\n          const result = caseReducer(draft, action);\n          if (result === void 0) {\n            return previousState;\n          }\n          return result;\n        } else if (!isDraftable2(previousState)) {\n          const result = caseReducer(previousState, action);\n          if (result === void 0) {\n            if (previousState === null) {\n              return previousState;\n            }\n            throw Error(\"A case reducer on a non-draftable value must not return undefined\");\n          }\n          return result;\n        } else {\n          return createNextState2(previousState, (draft) => {\n            return caseReducer(draft, action);\n          });\n        }\n      }\n      return previousState;\n    }, state);\n  }\n  reducer.getInitialState = getInitialState;\n  return reducer;\n}\n\n// src/matchers.ts\nvar matches = (matcher, action) => {\n  if (hasMatchFunction(matcher)) {\n    return matcher.match(action);\n  } else {\n    return matcher(action);\n  }\n};\nfunction isAnyOf(...matchers) {\n  return (action) => {\n    return matchers.some((matcher) => matches(matcher, action));\n  };\n}\nfunction isAllOf(...matchers) {\n  return (action) => {\n    return matchers.every((matcher) => matches(matcher, action));\n  };\n}\nfunction hasExpectedRequestMetadata(action, validStatus) {\n  if (!action || !action.meta) return false;\n  const hasValidRequestId = typeof action.meta.requestId === \"string\";\n  const hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\n  return hasValidRequestId && hasValidRequestStatus;\n}\nfunction isAsyncThunkArray(a) {\n  return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\n}\nfunction isPending(...asyncThunks) {\n  if (asyncThunks.length === 0) {\n    return (action) => hasExpectedRequestMetadata(action, [\"pending\"]);\n  }\n  if (!isAsyncThunkArray(asyncThunks)) {\n    return isPending()(asyncThunks[0]);\n  }\n  return isAnyOf(...asyncThunks.map((asyncThunk) => asyncThunk.pending));\n}\nfunction isRejected(...asyncThunks) {\n  if (asyncThunks.length === 0) {\n    return (action) => hasExpectedRequestMetadata(action, [\"rejected\"]);\n  }\n  if (!isAsyncThunkArray(asyncThunks)) {\n    return isRejected()(asyncThunks[0]);\n  }\n  return isAnyOf(...asyncThunks.map((asyncThunk) => asyncThunk.rejected));\n}\nfunction isRejectedWithValue(...asyncThunks) {\n  const hasFlag = (action) => {\n    return action && action.meta && action.meta.rejectedWithValue;\n  };\n  if (asyncThunks.length === 0) {\n    return isAllOf(isRejected(...asyncThunks), hasFlag);\n  }\n  if (!isAsyncThunkArray(asyncThunks)) {\n    return isRejectedWithValue()(asyncThunks[0]);\n  }\n  return isAllOf(isRejected(...asyncThunks), hasFlag);\n}\nfunction isFulfilled(...asyncThunks) {\n  if (asyncThunks.length === 0) {\n    return (action) => hasExpectedRequestMetadata(action, [\"fulfilled\"]);\n  }\n  if (!isAsyncThunkArray(asyncThunks)) {\n    return isFulfilled()(asyncThunks[0]);\n  }\n  return isAnyOf(...asyncThunks.map((asyncThunk) => asyncThunk.fulfilled));\n}\nfunction isAsyncThunkAction(...asyncThunks) {\n  if (asyncThunks.length === 0) {\n    return (action) => hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]);\n  }\n  if (!isAsyncThunkArray(asyncThunks)) {\n    return isAsyncThunkAction()(asyncThunks[0]);\n  }\n  return isAnyOf(...asyncThunks.flatMap((asyncThunk) => [asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled]));\n}\n\n// src/nanoid.ts\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\nvar nanoid = (size = 21) => {\n  let id = \"\";\n  let i = size;\n  while (i--) {\n    id += urlAlphabet[Math.random() * 64 | 0];\n  }\n  return id;\n};\n\n// src/createAsyncThunk.ts\nvar commonProperties = [\"name\", \"message\", \"stack\", \"code\"];\nvar RejectWithValue = class {\n  constructor(payload, meta) {\n    this.payload = payload;\n    this.meta = meta;\n  }\n  /*\n  type-only property to distinguish between RejectWithValue and FulfillWithMeta\n  does not exist at runtime\n  */\n  _type;\n};\nvar FulfillWithMeta = class {\n  constructor(payload, meta) {\n    this.payload = payload;\n    this.meta = meta;\n  }\n  /*\n  type-only property to distinguish between RejectWithValue and FulfillWithMeta\n  does not exist at runtime\n  */\n  _type;\n};\nvar miniSerializeError = (value) => {\n  if (typeof value === \"object\" && value !== null) {\n    const simpleError = {};\n    for (const property of commonProperties) {\n      if (typeof value[property] === \"string\") {\n        simpleError[property] = value[property];\n      }\n    }\n    return simpleError;\n  }\n  return {\n    message: String(value)\n  };\n};\nvar externalAbortMessage = \"External signal was aborted\";\nvar createAsyncThunk = /* @__PURE__ */ (() => {\n  function createAsyncThunk2(typePrefix, payloadCreator, options) {\n    const fulfilled = createAction(typePrefix + \"/fulfilled\", (payload, requestId, arg, meta) => ({\n      payload,\n      meta: {\n        ...meta || {},\n        arg,\n        requestId,\n        requestStatus: \"fulfilled\"\n      }\n    }));\n    const pending = createAction(typePrefix + \"/pending\", (requestId, arg, meta) => ({\n      payload: void 0,\n      meta: {\n        ...meta || {},\n        arg,\n        requestId,\n        requestStatus: \"pending\"\n      }\n    }));\n    const rejected = createAction(typePrefix + \"/rejected\", (error, requestId, arg, payload, meta) => ({\n      payload,\n      error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\n      meta: {\n        ...meta || {},\n        arg,\n        requestId,\n        rejectedWithValue: !!payload,\n        requestStatus: \"rejected\",\n        aborted: error?.name === \"AbortError\",\n        condition: error?.name === \"ConditionError\"\n      }\n    }));\n    function actionCreator(arg, {\n      signal\n    } = {}) {\n      return (dispatch, getState, extra) => {\n        const requestId = options?.idGenerator ? options.idGenerator(arg) : nanoid();\n        const abortController = new AbortController();\n        let abortHandler;\n        let abortReason;\n        function abort(reason) {\n          abortReason = reason;\n          abortController.abort();\n        }\n        if (signal) {\n          if (signal.aborted) {\n            abort(externalAbortMessage);\n          } else {\n            signal.addEventListener(\"abort\", () => abort(externalAbortMessage), {\n              once: true\n            });\n          }\n        }\n        const promise = async function() {\n          let finalAction;\n          try {\n            let conditionResult = options?.condition?.(arg, {\n              getState,\n              extra\n            });\n            if (isThenable(conditionResult)) {\n              conditionResult = await conditionResult;\n            }\n            if (conditionResult === false || abortController.signal.aborted) {\n              throw {\n                name: \"ConditionError\",\n                message: \"Aborted due to condition callback returning false.\"\n              };\n            }\n            const abortedPromise = new Promise((_, reject) => {\n              abortHandler = () => {\n                reject({\n                  name: \"AbortError\",\n                  message: abortReason || \"Aborted\"\n                });\n              };\n              abortController.signal.addEventListener(\"abort\", abortHandler);\n            });\n            dispatch(pending(requestId, arg, options?.getPendingMeta?.({\n              requestId,\n              arg\n            }, {\n              getState,\n              extra\n            })));\n            finalAction = await Promise.race([abortedPromise, Promise.resolve(payloadCreator(arg, {\n              dispatch,\n              getState,\n              extra,\n              requestId,\n              signal: abortController.signal,\n              abort,\n              rejectWithValue: (value, meta) => {\n                return new RejectWithValue(value, meta);\n              },\n              fulfillWithValue: (value, meta) => {\n                return new FulfillWithMeta(value, meta);\n              }\n            })).then((result) => {\n              if (result instanceof RejectWithValue) {\n                throw result;\n              }\n              if (result instanceof FulfillWithMeta) {\n                return fulfilled(result.payload, requestId, arg, result.meta);\n              }\n              return fulfilled(result, requestId, arg);\n            })]);\n          } catch (err) {\n            finalAction = err instanceof RejectWithValue ? rejected(null, requestId, arg, err.payload, err.meta) : rejected(err, requestId, arg);\n          } finally {\n            if (abortHandler) {\n              abortController.signal.removeEventListener(\"abort\", abortHandler);\n            }\n          }\n          const skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\n          if (!skipDispatch) {\n            dispatch(finalAction);\n          }\n          return finalAction;\n        }();\n        return Object.assign(promise, {\n          abort,\n          requestId,\n          arg,\n          unwrap() {\n            return promise.then(unwrapResult);\n          }\n        });\n      };\n    }\n    return Object.assign(actionCreator, {\n      pending,\n      rejected,\n      fulfilled,\n      settled: isAnyOf(rejected, fulfilled),\n      typePrefix\n    });\n  }\n  createAsyncThunk2.withTypes = () => createAsyncThunk2;\n  return createAsyncThunk2;\n})();\nfunction unwrapResult(action) {\n  if (action.meta && action.meta.rejectedWithValue) {\n    throw action.payload;\n  }\n  if (action.error) {\n    throw action.error;\n  }\n  return action.payload;\n}\nfunction isThenable(value) {\n  return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\n}\n\n// src/createSlice.ts\nvar asyncThunkSymbol = /* @__PURE__ */ Symbol.for(\"rtk-slice-createasyncthunk\");\nvar asyncThunkCreator = {\n  [asyncThunkSymbol]: createAsyncThunk\n};\nvar ReducerType = /* @__PURE__ */ ((ReducerType2) => {\n  ReducerType2[\"reducer\"] = \"reducer\";\n  ReducerType2[\"reducerWithPrepare\"] = \"reducerWithPrepare\";\n  ReducerType2[\"asyncThunk\"] = \"asyncThunk\";\n  return ReducerType2;\n})(ReducerType || {});\nfunction getType(slice, actionKey) {\n  return `${slice}/${actionKey}`;\n}\nfunction buildCreateSlice({\n  creators\n} = {}) {\n  const cAT = creators?.asyncThunk?.[asyncThunkSymbol];\n  return function createSlice2(options) {\n    const {\n      name,\n      reducerPath = name\n    } = options;\n    if (!name) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"`name` is a required option for createSlice\");\n    }\n    if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\n      if (options.initialState === void 0) {\n        console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\n      }\n    }\n    const reducers = (typeof options.reducers === \"function\" ? options.reducers(buildReducerCreators()) : options.reducers) || {};\n    const reducerNames = Object.keys(reducers);\n    const context = {\n      sliceCaseReducersByName: {},\n      sliceCaseReducersByType: {},\n      actionCreators: {},\n      sliceMatchers: []\n    };\n    const contextMethods = {\n      addCase(typeOrActionCreator, reducer2) {\n        const type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\n        if (!type) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"`context.addCase` cannot be called with an empty action type\");\n        }\n        if (type in context.sliceCaseReducersByType) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"`context.addCase` cannot be called with two reducers for the same action type: \" + type);\n        }\n        context.sliceCaseReducersByType[type] = reducer2;\n        return contextMethods;\n      },\n      addMatcher(matcher, reducer2) {\n        context.sliceMatchers.push({\n          matcher,\n          reducer: reducer2\n        });\n        return contextMethods;\n      },\n      exposeAction(name2, actionCreator) {\n        context.actionCreators[name2] = actionCreator;\n        return contextMethods;\n      },\n      exposeCaseReducer(name2, reducer2) {\n        context.sliceCaseReducersByName[name2] = reducer2;\n        return contextMethods;\n      }\n    };\n    reducerNames.forEach((reducerName) => {\n      const reducerDefinition = reducers[reducerName];\n      const reducerDetails = {\n        reducerName,\n        type: getType(name, reducerName),\n        createNotation: typeof options.reducers === \"function\"\n      };\n      if (isAsyncThunkSliceReducerDefinition(reducerDefinition)) {\n        handleThunkCaseReducerDefinition(reducerDetails, reducerDefinition, contextMethods, cAT);\n      } else {\n        handleNormalReducerDefinition(reducerDetails, reducerDefinition, contextMethods);\n      }\n    });\n    function buildReducer() {\n      if (process.env.NODE_ENV !== \"production\") {\n        if (typeof options.extraReducers === \"object\") {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\n        }\n      }\n      const [extraReducers = {}, actionMatchers = [], defaultCaseReducer = void 0] = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers];\n      const finalCaseReducers = {\n        ...extraReducers,\n        ...context.sliceCaseReducersByType\n      };\n      return createReducer(options.initialState, (builder) => {\n        for (let key in finalCaseReducers) {\n          builder.addCase(key, finalCaseReducers[key]);\n        }\n        for (let sM of context.sliceMatchers) {\n          builder.addMatcher(sM.matcher, sM.reducer);\n        }\n        for (let m of actionMatchers) {\n          builder.addMatcher(m.matcher, m.reducer);\n        }\n        if (defaultCaseReducer) {\n          builder.addDefaultCase(defaultCaseReducer);\n        }\n      });\n    }\n    const selectSelf = (state) => state;\n    const injectedSelectorCache = /* @__PURE__ */ new Map();\n    let _reducer;\n    function reducer(state, action) {\n      if (!_reducer) _reducer = buildReducer();\n      return _reducer(state, action);\n    }\n    function getInitialState() {\n      if (!_reducer) _reducer = buildReducer();\n      return _reducer.getInitialState();\n    }\n    function makeSelectorProps(reducerPath2, injected = false) {\n      function selectSlice(state) {\n        let sliceState = state[reducerPath2];\n        if (typeof sliceState === \"undefined\") {\n          if (injected) {\n            sliceState = getInitialState();\n          } else if (process.env.NODE_ENV !== \"production\") {\n            throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : \"selectSlice returned undefined for an uninjected slice reducer\");\n          }\n        }\n        return sliceState;\n      }\n      function getSelectors(selectState = selectSelf) {\n        const selectorCache = getOrInsertComputed(injectedSelectorCache, injected, () => /* @__PURE__ */ new WeakMap());\n        return getOrInsertComputed(selectorCache, selectState, () => {\n          const map = {};\n          for (const [name2, selector] of Object.entries(options.selectors ?? {})) {\n            map[name2] = wrapSelector(selector, selectState, getInitialState, injected);\n          }\n          return map;\n        });\n      }\n      return {\n        reducerPath: reducerPath2,\n        getSelectors,\n        get selectors() {\n          return getSelectors(selectSlice);\n        },\n        selectSlice\n      };\n    }\n    const slice = {\n      name,\n      reducer,\n      actions: context.actionCreators,\n      caseReducers: context.sliceCaseReducersByName,\n      getInitialState,\n      ...makeSelectorProps(reducerPath),\n      injectInto(injectable, {\n        reducerPath: pathOpt,\n        ...config\n      } = {}) {\n        const newReducerPath = pathOpt ?? reducerPath;\n        injectable.inject({\n          reducerPath: newReducerPath,\n          reducer\n        }, config);\n        return {\n          ...slice,\n          ...makeSelectorProps(newReducerPath, true)\n        };\n      }\n    };\n    return slice;\n  };\n}\nfunction wrapSelector(selector, selectState, getInitialState, injected) {\n  function wrapper(rootState, ...args) {\n    let sliceState = selectState(rootState);\n    if (typeof sliceState === \"undefined\") {\n      if (injected) {\n        sliceState = getInitialState();\n      } else if (process.env.NODE_ENV !== \"production\") {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"selectState returned undefined for an uninjected slice reducer\");\n      }\n    }\n    return selector(sliceState, ...args);\n  }\n  wrapper.unwrapped = selector;\n  return wrapper;\n}\nvar createSlice = /* @__PURE__ */ buildCreateSlice();\nfunction buildReducerCreators() {\n  function asyncThunk(payloadCreator, config) {\n    return {\n      _reducerDefinitionType: \"asyncThunk\" /* asyncThunk */,\n      payloadCreator,\n      ...config\n    };\n  }\n  asyncThunk.withTypes = () => asyncThunk;\n  return {\n    reducer(caseReducer) {\n      return Object.assign({\n        // hack so the wrapping function has the same name as the original\n        // we need to create a wrapper so the `reducerDefinitionType` is not assigned to the original\n        [caseReducer.name](...args) {\n          return caseReducer(...args);\n        }\n      }[caseReducer.name], {\n        _reducerDefinitionType: \"reducer\" /* reducer */\n      });\n    },\n    preparedReducer(prepare, reducer) {\n      return {\n        _reducerDefinitionType: \"reducerWithPrepare\" /* reducerWithPrepare */,\n        prepare,\n        reducer\n      };\n    },\n    asyncThunk\n  };\n}\nfunction handleNormalReducerDefinition({\n  type,\n  reducerName,\n  createNotation\n}, maybeReducerWithPrepare, context) {\n  let caseReducer;\n  let prepareCallback;\n  if (\"reducer\" in maybeReducerWithPrepare) {\n    if (createNotation && !isCaseReducerWithPrepareDefinition(maybeReducerWithPrepare)) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(17) : \"Please use the `create.preparedReducer` notation for prepared action creators with the `create` notation.\");\n    }\n    caseReducer = maybeReducerWithPrepare.reducer;\n    prepareCallback = maybeReducerWithPrepare.prepare;\n  } else {\n    caseReducer = maybeReducerWithPrepare;\n  }\n  context.addCase(type, caseReducer).exposeCaseReducer(reducerName, caseReducer).exposeAction(reducerName, prepareCallback ? createAction(type, prepareCallback) : createAction(type));\n}\nfunction isAsyncThunkSliceReducerDefinition(reducerDefinition) {\n  return reducerDefinition._reducerDefinitionType === \"asyncThunk\" /* asyncThunk */;\n}\nfunction isCaseReducerWithPrepareDefinition(reducerDefinition) {\n  return reducerDefinition._reducerDefinitionType === \"reducerWithPrepare\" /* reducerWithPrepare */;\n}\nfunction handleThunkCaseReducerDefinition({\n  type,\n  reducerName\n}, reducerDefinition, context, cAT) {\n  if (!cAT) {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(18) : \"Cannot use `create.asyncThunk` in the built-in `createSlice`. Use `buildCreateSlice({ creators: { asyncThunk: asyncThunkCreator } })` to create a customised version of `createSlice`.\");\n  }\n  const {\n    payloadCreator,\n    fulfilled,\n    pending,\n    rejected,\n    settled,\n    options\n  } = reducerDefinition;\n  const thunk = cAT(type, payloadCreator, options);\n  context.exposeAction(reducerName, thunk);\n  if (fulfilled) {\n    context.addCase(thunk.fulfilled, fulfilled);\n  }\n  if (pending) {\n    context.addCase(thunk.pending, pending);\n  }\n  if (rejected) {\n    context.addCase(thunk.rejected, rejected);\n  }\n  if (settled) {\n    context.addMatcher(thunk.settled, settled);\n  }\n  context.exposeCaseReducer(reducerName, {\n    fulfilled: fulfilled || noop,\n    pending: pending || noop,\n    rejected: rejected || noop,\n    settled: settled || noop\n  });\n}\nfunction noop() {\n}\n\n// src/entities/entity_state.ts\nfunction getInitialEntityState() {\n  return {\n    ids: [],\n    entities: {}\n  };\n}\nfunction createInitialStateFactory(stateAdapter) {\n  function getInitialState(additionalState = {}, entities) {\n    const state = Object.assign(getInitialEntityState(), additionalState);\n    return entities ? stateAdapter.setAll(state, entities) : state;\n  }\n  return {\n    getInitialState\n  };\n}\n\n// src/entities/state_selectors.ts\nfunction createSelectorsFactory() {\n  function getSelectors(selectState, options = {}) {\n    const {\n      createSelector: createSelector2 = createDraftSafeSelector\n    } = options;\n    const selectIds = (state) => state.ids;\n    const selectEntities = (state) => state.entities;\n    const selectAll = createSelector2(selectIds, selectEntities, (ids, entities) => ids.map((id) => entities[id]));\n    const selectId = (_, id) => id;\n    const selectById = (entities, id) => entities[id];\n    const selectTotal = createSelector2(selectIds, (ids) => ids.length);\n    if (!selectState) {\n      return {\n        selectIds,\n        selectEntities,\n        selectAll,\n        selectTotal,\n        selectById: createSelector2(selectEntities, selectId, selectById)\n      };\n    }\n    const selectGlobalizedEntities = createSelector2(selectState, selectEntities);\n    return {\n      selectIds: createSelector2(selectState, selectIds),\n      selectEntities: selectGlobalizedEntities,\n      selectAll: createSelector2(selectState, selectAll),\n      selectTotal: createSelector2(selectState, selectTotal),\n      selectById: createSelector2(selectGlobalizedEntities, selectId, selectById)\n    };\n  }\n  return {\n    getSelectors\n  };\n}\n\n// src/entities/state_adapter.ts\nimport { produce as createNextState3, isDraft as isDraft3 } from \"immer\";\nvar isDraftTyped = isDraft3;\nfunction createSingleArgumentStateOperator(mutator) {\n  const operator = createStateOperator((_, state) => mutator(state));\n  return function operation(state) {\n    return operator(state, void 0);\n  };\n}\nfunction createStateOperator(mutator) {\n  return function operation(state, arg) {\n    function isPayloadActionArgument(arg2) {\n      return isFSA(arg2);\n    }\n    const runMutator = (draft) => {\n      if (isPayloadActionArgument(arg)) {\n        mutator(arg.payload, draft);\n      } else {\n        mutator(arg, draft);\n      }\n    };\n    if (isDraftTyped(state)) {\n      runMutator(state);\n      return state;\n    }\n    return createNextState3(state, runMutator);\n  };\n}\n\n// src/entities/utils.ts\nimport { current as current2, isDraft as isDraft4 } from \"immer\";\nfunction selectIdValue(entity, selectId) {\n  const key = selectId(entity);\n  if (process.env.NODE_ENV !== \"production\" && key === void 0) {\n    console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\n  }\n  return key;\n}\nfunction ensureEntitiesArray(entities) {\n  if (!Array.isArray(entities)) {\n    entities = Object.values(entities);\n  }\n  return entities;\n}\nfunction getCurrent(value) {\n  return isDraft4(value) ? current2(value) : value;\n}\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\n  newEntities = ensureEntitiesArray(newEntities);\n  const existingIdsArray = getCurrent(state.ids);\n  const existingIds = new Set(existingIdsArray);\n  const added = [];\n  const updated = [];\n  for (const entity of newEntities) {\n    const id = selectIdValue(entity, selectId);\n    if (existingIds.has(id)) {\n      updated.push({\n        id,\n        changes: entity\n      });\n    } else {\n      added.push(entity);\n    }\n  }\n  return [added, updated, existingIdsArray];\n}\n\n// src/entities/unsorted_state_adapter.ts\nfunction createUnsortedStateAdapter(selectId) {\n  function addOneMutably(entity, state) {\n    const key = selectIdValue(entity, selectId);\n    if (key in state.entities) {\n      return;\n    }\n    state.ids.push(key);\n    state.entities[key] = entity;\n  }\n  function addManyMutably(newEntities, state) {\n    newEntities = ensureEntitiesArray(newEntities);\n    for (const entity of newEntities) {\n      addOneMutably(entity, state);\n    }\n  }\n  function setOneMutably(entity, state) {\n    const key = selectIdValue(entity, selectId);\n    if (!(key in state.entities)) {\n      state.ids.push(key);\n    }\n    ;\n    state.entities[key] = entity;\n  }\n  function setManyMutably(newEntities, state) {\n    newEntities = ensureEntitiesArray(newEntities);\n    for (const entity of newEntities) {\n      setOneMutably(entity, state);\n    }\n  }\n  function setAllMutably(newEntities, state) {\n    newEntities = ensureEntitiesArray(newEntities);\n    state.ids = [];\n    state.entities = {};\n    addManyMutably(newEntities, state);\n  }\n  function removeOneMutably(key, state) {\n    return removeManyMutably([key], state);\n  }\n  function removeManyMutably(keys, state) {\n    let didMutate = false;\n    keys.forEach((key) => {\n      if (key in state.entities) {\n        delete state.entities[key];\n        didMutate = true;\n      }\n    });\n    if (didMutate) {\n      state.ids = state.ids.filter((id) => id in state.entities);\n    }\n  }\n  function removeAllMutably(state) {\n    Object.assign(state, {\n      ids: [],\n      entities: {}\n    });\n  }\n  function takeNewKey(keys, update, state) {\n    const original3 = state.entities[update.id];\n    if (original3 === void 0) {\n      return false;\n    }\n    const updated = Object.assign({}, original3, update.changes);\n    const newKey = selectIdValue(updated, selectId);\n    const hasNewKey = newKey !== update.id;\n    if (hasNewKey) {\n      keys[update.id] = newKey;\n      delete state.entities[update.id];\n    }\n    ;\n    state.entities[newKey] = updated;\n    return hasNewKey;\n  }\n  function updateOneMutably(update, state) {\n    return updateManyMutably([update], state);\n  }\n  function updateManyMutably(updates, state) {\n    const newKeys = {};\n    const updatesPerEntity = {};\n    updates.forEach((update) => {\n      if (update.id in state.entities) {\n        updatesPerEntity[update.id] = {\n          id: update.id,\n          // Spreads ignore falsy values, so this works even if there isn't\n          // an existing update already at this key\n          changes: {\n            ...updatesPerEntity[update.id]?.changes,\n            ...update.changes\n          }\n        };\n      }\n    });\n    updates = Object.values(updatesPerEntity);\n    const didMutateEntities = updates.length > 0;\n    if (didMutateEntities) {\n      const didMutateIds = updates.filter((update) => takeNewKey(newKeys, update, state)).length > 0;\n      if (didMutateIds) {\n        state.ids = Object.values(state.entities).map((e) => selectIdValue(e, selectId));\n      }\n    }\n  }\n  function upsertOneMutably(entity, state) {\n    return upsertManyMutably([entity], state);\n  }\n  function upsertManyMutably(newEntities, state) {\n    const [added, updated] = splitAddedUpdatedEntities(newEntities, selectId, state);\n    updateManyMutably(updated, state);\n    addManyMutably(added, state);\n  }\n  return {\n    removeAll: createSingleArgumentStateOperator(removeAllMutably),\n    addOne: createStateOperator(addOneMutably),\n    addMany: createStateOperator(addManyMutably),\n    setOne: createStateOperator(setOneMutably),\n    setMany: createStateOperator(setManyMutably),\n    setAll: createStateOperator(setAllMutably),\n    updateOne: createStateOperator(updateOneMutably),\n    updateMany: createStateOperator(updateManyMutably),\n    upsertOne: createStateOperator(upsertOneMutably),\n    upsertMany: createStateOperator(upsertManyMutably),\n    removeOne: createStateOperator(removeOneMutably),\n    removeMany: createStateOperator(removeManyMutably)\n  };\n}\n\n// src/entities/sorted_state_adapter.ts\nfunction findInsertIndex(sortedItems, item, comparisonFunction) {\n  let lowIndex = 0;\n  let highIndex = sortedItems.length;\n  while (lowIndex < highIndex) {\n    let middleIndex = lowIndex + highIndex >>> 1;\n    const currentItem = sortedItems[middleIndex];\n    const res = comparisonFunction(item, currentItem);\n    if (res >= 0) {\n      lowIndex = middleIndex + 1;\n    } else {\n      highIndex = middleIndex;\n    }\n  }\n  return lowIndex;\n}\nfunction insert(sortedItems, item, comparisonFunction) {\n  const insertAtIndex = findInsertIndex(sortedItems, item, comparisonFunction);\n  sortedItems.splice(insertAtIndex, 0, item);\n  return sortedItems;\n}\nfunction createSortedStateAdapter(selectId, comparer) {\n  const {\n    removeOne,\n    removeMany,\n    removeAll\n  } = createUnsortedStateAdapter(selectId);\n  function addOneMutably(entity, state) {\n    return addManyMutably([entity], state);\n  }\n  function addManyMutably(newEntities, state, existingIds) {\n    newEntities = ensureEntitiesArray(newEntities);\n    const existingKeys = new Set(existingIds ?? getCurrent(state.ids));\n    const models = newEntities.filter((model) => !existingKeys.has(selectIdValue(model, selectId)));\n    if (models.length !== 0) {\n      mergeFunction(state, models);\n    }\n  }\n  function setOneMutably(entity, state) {\n    return setManyMutably([entity], state);\n  }\n  function setManyMutably(newEntities, state) {\n    newEntities = ensureEntitiesArray(newEntities);\n    if (newEntities.length !== 0) {\n      for (const item of newEntities) {\n        delete state.entities[selectId(item)];\n      }\n      mergeFunction(state, newEntities);\n    }\n  }\n  function setAllMutably(newEntities, state) {\n    newEntities = ensureEntitiesArray(newEntities);\n    state.entities = {};\n    state.ids = [];\n    addManyMutably(newEntities, state, []);\n  }\n  function updateOneMutably(update, state) {\n    return updateManyMutably([update], state);\n  }\n  function updateManyMutably(updates, state) {\n    let appliedUpdates = false;\n    let replacedIds = false;\n    for (let update of updates) {\n      const entity = state.entities[update.id];\n      if (!entity) {\n        continue;\n      }\n      appliedUpdates = true;\n      Object.assign(entity, update.changes);\n      const newId = selectId(entity);\n      if (update.id !== newId) {\n        replacedIds = true;\n        delete state.entities[update.id];\n        const oldIndex = state.ids.indexOf(update.id);\n        state.ids[oldIndex] = newId;\n        state.entities[newId] = entity;\n      }\n    }\n    if (appliedUpdates) {\n      mergeFunction(state, [], appliedUpdates, replacedIds);\n    }\n  }\n  function upsertOneMutably(entity, state) {\n    return upsertManyMutably([entity], state);\n  }\n  function upsertManyMutably(newEntities, state) {\n    const [added, updated, existingIdsArray] = splitAddedUpdatedEntities(newEntities, selectId, state);\n    if (updated.length) {\n      updateManyMutably(updated, state);\n    }\n    if (added.length) {\n      addManyMutably(added, state, existingIdsArray);\n    }\n  }\n  function areArraysEqual(a, b) {\n    if (a.length !== b.length) {\n      return false;\n    }\n    for (let i = 0; i < a.length; i++) {\n      if (a[i] === b[i]) {\n        continue;\n      }\n      return false;\n    }\n    return true;\n  }\n  const mergeFunction = (state, addedItems, appliedUpdates, replacedIds) => {\n    const currentEntities = getCurrent(state.entities);\n    const currentIds = getCurrent(state.ids);\n    const stateEntities = state.entities;\n    let ids = currentIds;\n    if (replacedIds) {\n      ids = new Set(currentIds);\n    }\n    let sortedEntities = [];\n    for (const id of ids) {\n      const entity = currentEntities[id];\n      if (entity) {\n        sortedEntities.push(entity);\n      }\n    }\n    const wasPreviouslyEmpty = sortedEntities.length === 0;\n    for (const item of addedItems) {\n      stateEntities[selectId(item)] = item;\n      if (!wasPreviouslyEmpty) {\n        insert(sortedEntities, item, comparer);\n      }\n    }\n    if (wasPreviouslyEmpty) {\n      sortedEntities = addedItems.slice().sort(comparer);\n    } else if (appliedUpdates) {\n      sortedEntities.sort(comparer);\n    }\n    const newSortedIds = sortedEntities.map(selectId);\n    if (!areArraysEqual(currentIds, newSortedIds)) {\n      state.ids = newSortedIds;\n    }\n  };\n  return {\n    removeOne,\n    removeMany,\n    removeAll,\n    addOne: createStateOperator(addOneMutably),\n    updateOne: createStateOperator(updateOneMutably),\n    upsertOne: createStateOperator(upsertOneMutably),\n    setOne: createStateOperator(setOneMutably),\n    setMany: createStateOperator(setManyMutably),\n    setAll: createStateOperator(setAllMutably),\n    addMany: createStateOperator(addManyMutably),\n    updateMany: createStateOperator(updateManyMutably),\n    upsertMany: createStateOperator(upsertManyMutably)\n  };\n}\n\n// src/entities/create_adapter.ts\nfunction createEntityAdapter(options = {}) {\n  const {\n    selectId,\n    sortComparer\n  } = {\n    sortComparer: false,\n    selectId: (instance) => instance.id,\n    ...options\n  };\n  const stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\n  const stateFactory = createInitialStateFactory(stateAdapter);\n  const selectorsFactory = createSelectorsFactory();\n  return {\n    selectId,\n    sortComparer,\n    ...stateFactory,\n    ...selectorsFactory,\n    ...stateAdapter\n  };\n}\n\n// src/listenerMiddleware/index.ts\nimport { isAction as isAction3 } from \"redux\";\n\n// src/listenerMiddleware/exceptions.ts\nvar task = \"task\";\nvar listener = \"listener\";\nvar completed = \"completed\";\nvar cancelled = \"cancelled\";\nvar taskCancelled = `task-${cancelled}`;\nvar taskCompleted = `task-${completed}`;\nvar listenerCancelled = `${listener}-${cancelled}`;\nvar listenerCompleted = `${listener}-${completed}`;\nvar TaskAbortError = class {\n  constructor(code) {\n    this.code = code;\n    this.message = `${task} ${cancelled} (reason: ${code})`;\n  }\n  name = \"TaskAbortError\";\n  message;\n};\n\n// src/listenerMiddleware/utils.ts\nvar assertFunction = (func, expected) => {\n  if (typeof func !== \"function\") {\n    throw new TypeError(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(32) : `${expected} is not a function`);\n  }\n};\nvar noop2 = () => {\n};\nvar catchRejection = (promise, onError = noop2) => {\n  promise.catch(onError);\n  return promise;\n};\nvar addAbortSignalListener = (abortSignal, callback) => {\n  abortSignal.addEventListener(\"abort\", callback, {\n    once: true\n  });\n  return () => abortSignal.removeEventListener(\"abort\", callback);\n};\nvar abortControllerWithReason = (abortController, reason) => {\n  const signal = abortController.signal;\n  if (signal.aborted) {\n    return;\n  }\n  if (!(\"reason\" in signal)) {\n    Object.defineProperty(signal, \"reason\", {\n      enumerable: true,\n      value: reason,\n      configurable: true,\n      writable: true\n    });\n  }\n  ;\n  abortController.abort(reason);\n};\n\n// src/listenerMiddleware/task.ts\nvar validateActive = (signal) => {\n  if (signal.aborted) {\n    const {\n      reason\n    } = signal;\n    throw new TaskAbortError(reason);\n  }\n};\nfunction raceWithSignal(signal, promise) {\n  let cleanup = noop2;\n  return new Promise((resolve, reject) => {\n    const notifyRejection = () => reject(new TaskAbortError(signal.reason));\n    if (signal.aborted) {\n      notifyRejection();\n      return;\n    }\n    cleanup = addAbortSignalListener(signal, notifyRejection);\n    promise.finally(() => cleanup()).then(resolve, reject);\n  }).finally(() => {\n    cleanup = noop2;\n  });\n}\nvar runTask = async (task2, cleanUp) => {\n  try {\n    await Promise.resolve();\n    const value = await task2();\n    return {\n      status: \"ok\",\n      value\n    };\n  } catch (error) {\n    return {\n      status: error instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\n      error\n    };\n  } finally {\n    cleanUp?.();\n  }\n};\nvar createPause = (signal) => {\n  return (promise) => {\n    return catchRejection(raceWithSignal(signal, promise).then((output) => {\n      validateActive(signal);\n      return output;\n    }));\n  };\n};\nvar createDelay = (signal) => {\n  const pause = createPause(signal);\n  return (timeoutMs) => {\n    return pause(new Promise((resolve) => setTimeout(resolve, timeoutMs)));\n  };\n};\n\n// src/listenerMiddleware/index.ts\nvar {\n  assign\n} = Object;\nvar INTERNAL_NIL_TOKEN = {};\nvar alm = \"listenerMiddleware\";\nvar createFork = (parentAbortSignal, parentBlockingPromises) => {\n  const linkControllers = (controller) => addAbortSignalListener(parentAbortSignal, () => abortControllerWithReason(controller, parentAbortSignal.reason));\n  return (taskExecutor, opts) => {\n    assertFunction(taskExecutor, \"taskExecutor\");\n    const childAbortController = new AbortController();\n    linkControllers(childAbortController);\n    const result = runTask(async () => {\n      validateActive(parentAbortSignal);\n      validateActive(childAbortController.signal);\n      const result2 = await taskExecutor({\n        pause: createPause(childAbortController.signal),\n        delay: createDelay(childAbortController.signal),\n        signal: childAbortController.signal\n      });\n      validateActive(childAbortController.signal);\n      return result2;\n    }, () => abortControllerWithReason(childAbortController, taskCompleted));\n    if (opts?.autoJoin) {\n      parentBlockingPromises.push(result.catch(noop2));\n    }\n    return {\n      result: createPause(parentAbortSignal)(result),\n      cancel() {\n        abortControllerWithReason(childAbortController, taskCancelled);\n      }\n    };\n  };\n};\nvar createTakePattern = (startListening, signal) => {\n  const take = async (predicate, timeout) => {\n    validateActive(signal);\n    let unsubscribe = () => {\n    };\n    const tuplePromise = new Promise((resolve, reject) => {\n      let stopListening = startListening({\n        predicate,\n        effect: (action, listenerApi) => {\n          listenerApi.unsubscribe();\n          resolve([action, listenerApi.getState(), listenerApi.getOriginalState()]);\n        }\n      });\n      unsubscribe = () => {\n        stopListening();\n        reject();\n      };\n    });\n    const promises = [tuplePromise];\n    if (timeout != null) {\n      promises.push(new Promise((resolve) => setTimeout(resolve, timeout, null)));\n    }\n    try {\n      const output = await raceWithSignal(signal, Promise.race(promises));\n      validateActive(signal);\n      return output;\n    } finally {\n      unsubscribe();\n    }\n  };\n  return (predicate, timeout) => catchRejection(take(predicate, timeout));\n};\nvar getListenerEntryPropsFrom = (options) => {\n  let {\n    type,\n    actionCreator,\n    matcher,\n    predicate,\n    effect\n  } = options;\n  if (type) {\n    predicate = createAction(type).match;\n  } else if (actionCreator) {\n    type = actionCreator.type;\n    predicate = actionCreator.match;\n  } else if (matcher) {\n    predicate = matcher;\n  } else if (predicate) {\n  } else {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(21) : \"Creating or removing a listener requires one of the known fields for matching an action\");\n  }\n  assertFunction(effect, \"options.listener\");\n  return {\n    predicate,\n    type,\n    effect\n  };\n};\nvar createListenerEntry = /* @__PURE__ */ assign((options) => {\n  const {\n    type,\n    predicate,\n    effect\n  } = getListenerEntryPropsFrom(options);\n  const entry = {\n    id: nanoid(),\n    effect,\n    type,\n    predicate,\n    pending: /* @__PURE__ */ new Set(),\n    unsubscribe: () => {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(22) : \"Unsubscribe not initialized\");\n    }\n  };\n  return entry;\n}, {\n  withTypes: () => createListenerEntry\n});\nvar findListenerEntry = (listenerMap, options) => {\n  const {\n    type,\n    effect,\n    predicate\n  } = getListenerEntryPropsFrom(options);\n  return Array.from(listenerMap.values()).find((entry) => {\n    const matchPredicateOrType = typeof type === \"string\" ? entry.type === type : entry.predicate === predicate;\n    return matchPredicateOrType && entry.effect === effect;\n  });\n};\nvar cancelActiveListeners = (entry) => {\n  entry.pending.forEach((controller) => {\n    abortControllerWithReason(controller, listenerCancelled);\n  });\n};\nvar createClearListenerMiddleware = (listenerMap) => {\n  return () => {\n    listenerMap.forEach(cancelActiveListeners);\n    listenerMap.clear();\n  };\n};\nvar safelyNotifyError = (errorHandler, errorToNotify, errorInfo) => {\n  try {\n    errorHandler(errorToNotify, errorInfo);\n  } catch (errorHandlerError) {\n    setTimeout(() => {\n      throw errorHandlerError;\n    }, 0);\n  }\n};\nvar addListener = /* @__PURE__ */ assign(/* @__PURE__ */ createAction(`${alm}/add`), {\n  withTypes: () => addListener\n});\nvar clearAllListeners = /* @__PURE__ */ createAction(`${alm}/removeAll`);\nvar removeListener = /* @__PURE__ */ assign(/* @__PURE__ */ createAction(`${alm}/remove`), {\n  withTypes: () => removeListener\n});\nvar defaultErrorHandler = (...args) => {\n  console.error(`${alm}/error`, ...args);\n};\nvar createListenerMiddleware = (middlewareOptions = {}) => {\n  const listenerMap = /* @__PURE__ */ new Map();\n  const {\n    extra,\n    onError = defaultErrorHandler\n  } = middlewareOptions;\n  assertFunction(onError, \"onError\");\n  const insertEntry = (entry) => {\n    entry.unsubscribe = () => listenerMap.delete(entry.id);\n    listenerMap.set(entry.id, entry);\n    return (cancelOptions) => {\n      entry.unsubscribe();\n      if (cancelOptions?.cancelActive) {\n        cancelActiveListeners(entry);\n      }\n    };\n  };\n  const startListening = (options) => {\n    const entry = findListenerEntry(listenerMap, options) ?? createListenerEntry(options);\n    return insertEntry(entry);\n  };\n  assign(startListening, {\n    withTypes: () => startListening\n  });\n  const stopListening = (options) => {\n    const entry = findListenerEntry(listenerMap, options);\n    if (entry) {\n      entry.unsubscribe();\n      if (options.cancelActive) {\n        cancelActiveListeners(entry);\n      }\n    }\n    return !!entry;\n  };\n  assign(stopListening, {\n    withTypes: () => stopListening\n  });\n  const notifyListener = async (entry, action, api, getOriginalState) => {\n    const internalTaskController = new AbortController();\n    const take = createTakePattern(startListening, internalTaskController.signal);\n    const autoJoinPromises = [];\n    try {\n      entry.pending.add(internalTaskController);\n      await Promise.resolve(entry.effect(\n        action,\n        // Use assign() rather than ... to avoid extra helper functions added to bundle\n        assign({}, api, {\n          getOriginalState,\n          condition: (predicate, timeout) => take(predicate, timeout).then(Boolean),\n          take,\n          delay: createDelay(internalTaskController.signal),\n          pause: createPause(internalTaskController.signal),\n          extra,\n          signal: internalTaskController.signal,\n          fork: createFork(internalTaskController.signal, autoJoinPromises),\n          unsubscribe: entry.unsubscribe,\n          subscribe: () => {\n            listenerMap.set(entry.id, entry);\n          },\n          cancelActiveListeners: () => {\n            entry.pending.forEach((controller, _, set) => {\n              if (controller !== internalTaskController) {\n                abortControllerWithReason(controller, listenerCancelled);\n                set.delete(controller);\n              }\n            });\n          },\n          cancel: () => {\n            abortControllerWithReason(internalTaskController, listenerCancelled);\n            entry.pending.delete(internalTaskController);\n          },\n          throwIfCancelled: () => {\n            validateActive(internalTaskController.signal);\n          }\n        })\n      ));\n    } catch (listenerError) {\n      if (!(listenerError instanceof TaskAbortError)) {\n        safelyNotifyError(onError, listenerError, {\n          raisedBy: \"effect\"\n        });\n      }\n    } finally {\n      await Promise.all(autoJoinPromises);\n      abortControllerWithReason(internalTaskController, listenerCompleted);\n      entry.pending.delete(internalTaskController);\n    }\n  };\n  const clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\n  const middleware = (api) => (next) => (action) => {\n    if (!isAction3(action)) {\n      return next(action);\n    }\n    if (addListener.match(action)) {\n      return startListening(action.payload);\n    }\n    if (clearAllListeners.match(action)) {\n      clearListenerMiddleware();\n      return;\n    }\n    if (removeListener.match(action)) {\n      return stopListening(action.payload);\n    }\n    let originalState = api.getState();\n    const getOriginalState = () => {\n      if (originalState === INTERNAL_NIL_TOKEN) {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(23) : `${alm}: getOriginalState can only be called synchronously`);\n      }\n      return originalState;\n    };\n    let result;\n    try {\n      result = next(action);\n      if (listenerMap.size > 0) {\n        const currentState = api.getState();\n        const listenerEntries = Array.from(listenerMap.values());\n        for (const entry of listenerEntries) {\n          let runListener = false;\n          try {\n            runListener = entry.predicate(action, currentState, originalState);\n          } catch (predicateError) {\n            runListener = false;\n            safelyNotifyError(onError, predicateError, {\n              raisedBy: \"predicate\"\n            });\n          }\n          if (!runListener) {\n            continue;\n          }\n          notifyListener(entry, action, api, getOriginalState);\n        }\n      }\n    } finally {\n      originalState = INTERNAL_NIL_TOKEN;\n    }\n    return result;\n  };\n  return {\n    middleware,\n    startListening,\n    stopListening,\n    clearListeners: clearListenerMiddleware\n  };\n};\n\n// src/dynamicMiddleware/index.ts\nimport { compose as compose3 } from \"redux\";\nvar createMiddlewareEntry = (middleware) => ({\n  middleware,\n  applied: /* @__PURE__ */ new Map()\n});\nvar matchInstance = (instanceId) => (action) => action?.meta?.instanceId === instanceId;\nvar createDynamicMiddleware = () => {\n  const instanceId = nanoid();\n  const middlewareMap = /* @__PURE__ */ new Map();\n  const withMiddleware = Object.assign(createAction(\"dynamicMiddleware/add\", (...middlewares) => ({\n    payload: middlewares,\n    meta: {\n      instanceId\n    }\n  })), {\n    withTypes: () => withMiddleware\n  });\n  const addMiddleware = Object.assign(function addMiddleware2(...middlewares) {\n    middlewares.forEach((middleware2) => {\n      getOrInsertComputed(middlewareMap, middleware2, createMiddlewareEntry);\n    });\n  }, {\n    withTypes: () => addMiddleware\n  });\n  const getFinalMiddleware = (api) => {\n    const appliedMiddleware = Array.from(middlewareMap.values()).map((entry) => getOrInsertComputed(entry.applied, api, entry.middleware));\n    return compose3(...appliedMiddleware);\n  };\n  const isWithMiddleware = isAllOf(withMiddleware, matchInstance(instanceId));\n  const middleware = (api) => (next) => (action) => {\n    if (isWithMiddleware(action)) {\n      addMiddleware(...action.payload);\n      return api.dispatch;\n    }\n    return getFinalMiddleware(api)(next)(action);\n  };\n  return {\n    middleware,\n    addMiddleware,\n    withMiddleware,\n    instanceId\n  };\n};\n\n// src/combineSlices.ts\nimport { combineReducers as combineReducers2 } from \"redux\";\nvar isSliceLike = (maybeSliceLike) => \"reducerPath\" in maybeSliceLike && typeof maybeSliceLike.reducerPath === \"string\";\nvar getReducers = (slices) => slices.flatMap((sliceOrMap) => isSliceLike(sliceOrMap) ? [[sliceOrMap.reducerPath, sliceOrMap.reducer]] : Object.entries(sliceOrMap));\nvar ORIGINAL_STATE = Symbol.for(\"rtk-state-proxy-original\");\nvar isStateProxy = (value) => !!value && !!value[ORIGINAL_STATE];\nvar stateProxyMap = /* @__PURE__ */ new WeakMap();\nvar createStateProxy = (state, reducerMap) => getOrInsertComputed(stateProxyMap, state, () => new Proxy(state, {\n  get: (target, prop, receiver) => {\n    if (prop === ORIGINAL_STATE) return target;\n    const result = Reflect.get(target, prop, receiver);\n    if (typeof result === \"undefined\") {\n      const reducer = reducerMap[prop.toString()];\n      if (reducer) {\n        const reducerResult = reducer(void 0, {\n          type: nanoid()\n        });\n        if (typeof reducerResult === \"undefined\") {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(24) : `The slice reducer for key \"${prop.toString()}\" returned undefined when called for selector(). If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);\n        }\n        return reducerResult;\n      }\n    }\n    return result;\n  }\n}));\nvar original = (state) => {\n  if (!isStateProxy(state)) {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(25) : \"original must be used on state Proxy\");\n  }\n  return state[ORIGINAL_STATE];\n};\nvar noopReducer = (state = {}) => state;\nfunction combineSlices(...slices) {\n  const reducerMap = Object.fromEntries(getReducers(slices));\n  const getReducer = () => Object.keys(reducerMap).length ? combineReducers2(reducerMap) : noopReducer;\n  let reducer = getReducer();\n  function combinedReducer(state, action) {\n    return reducer(state, action);\n  }\n  combinedReducer.withLazyLoadedSlices = () => combinedReducer;\n  const inject = (slice, config = {}) => {\n    const {\n      reducerPath,\n      reducer: reducerToInject\n    } = slice;\n    const currentReducer = reducerMap[reducerPath];\n    if (!config.overrideExisting && currentReducer && currentReducer !== reducerToInject) {\n      if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\n        console.error(`called \\`inject\\` to override already-existing reducer ${reducerPath} without specifying \\`overrideExisting: true\\``);\n      }\n      return combinedReducer;\n    }\n    reducerMap[reducerPath] = reducerToInject;\n    reducer = getReducer();\n    return combinedReducer;\n  };\n  const selector = Object.assign(function makeSelector(selectorFn, selectState) {\n    return function selector2(state, ...args) {\n      return selectorFn(createStateProxy(selectState ? selectState(state, ...args) : state, reducerMap), ...args);\n    };\n  }, {\n    original\n  });\n  return Object.assign(combinedReducer, {\n    inject,\n    selector\n  });\n}\n\n// src/formatProdErrorMessage.ts\nfunction formatProdErrorMessage(code) {\n  return `Minified Redux Toolkit error #${code}; visit https://redux-toolkit.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n}\nexport {\n  ReducerType,\n  SHOULD_AUTOBATCH,\n  TaskAbortError,\n  Tuple,\n  addListener,\n  asyncThunkCreator,\n  autoBatchEnhancer,\n  buildCreateSlice,\n  clearAllListeners,\n  combineSlices,\n  configureStore,\n  createAction,\n  createActionCreatorInvariantMiddleware,\n  createAsyncThunk,\n  createDraftSafeSelector,\n  createDraftSafeSelectorCreator,\n  createDynamicMiddleware,\n  createEntityAdapter,\n  createImmutableStateInvariantMiddleware,\n  createListenerMiddleware,\n  produce as createNextState,\n  createReducer,\n  createSelector,\n  createSelectorCreator2 as createSelectorCreator,\n  createSerializableStateInvariantMiddleware,\n  createSlice,\n  current3 as current,\n  findNonSerializableValue,\n  formatProdErrorMessage,\n  freeze,\n  isActionCreator,\n  isAllOf,\n  isAnyOf,\n  isAsyncThunkAction,\n  isDraft5 as isDraft,\n  isFSA as isFluxStandardAction,\n  isFulfilled,\n  isImmutableDefault,\n  isPending,\n  isPlain,\n  isRejected,\n  isRejectedWithValue,\n  lruMemoize,\n  miniSerializeError,\n  nanoid,\n  original2 as original,\n  prepareAutoBatched,\n  removeListener,\n  unwrapResult,\n  weakMapMemoize2 as weakMapMemoize\n};\n//# sourceMappingURL=redux-toolkit.modern.mjs.map","import {\n  IActivityHistoryItem,\n  IActivityHistoryItemCollection,\n  IHistoryDataImporterRules,\n  TSearchActivityHistoryItemPredicate,\n} from \"../../domain/model\";\n\nexport const addItemsToCollection = (\n  collections: Record<string, IActivityHistoryItemCollection>,\n  id: string,\n  items: IActivityHistoryItem[],\n  componentFactory?: (item: IActivityHistoryItem) => HTMLElement,\n  searchPredicate?: TSearchActivityHistoryItemPredicate,\n  historyDataImporterRules?: IHistoryDataImporterRules,\n) => {\n  // Crea la colección si no existe\n  if (!collections[id]) {\n    return { ...collections, [id]: { id, items, componentFactory, searchPredicate, historyDataImporterRules } };\n  }\n  // Si la colección ya existe, fusiona el array existente con el nuevo; si arriba\n  // un nou set de regles, prevaleix; si no, manté les que ja tenia.\n  return {\n    ...collections,\n    [id]: {\n      ...collections[id],\n      items: [...(collections[id]?.items || []), ...items],\n      historyDataImporterRules: historyDataImporterRules ?? collections[id]?.historyDataImporterRules,\n    },\n  };\n};\n","import { IActivityHistoryItem, IActivityHistoryItemCollection } from \"../../domain/model\";\nimport { addItemsToCollection } from \"../add-history-items/add-items-to-collection\";\n\nexport const addItemToCollection = (\n  collections: Record<string, IActivityHistoryItemCollection>,\n  id: string,\n  item: IActivityHistoryItem,\n  componentFactory?: (item: IActivityHistoryItem) => HTMLElement,\n) => {\n  return addItemsToCollection(collections, id, [item], componentFactory);\n};\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { addItemToCollection } from \"./add-item-to-collection\";\nimport { IActivityHistoryItem } from \"../../domain/model\";\n\nexport function addActivityHistoryItemReducer(\n  state,\n  action: PayloadAction<{\n    id: string;\n    item: IActivityHistoryItem;\n    componentFactory: (item: IActivityHistoryItem) => HTMLElement;\n  }>,\n) {\n  const { id, item, componentFactory } = action.payload;\n  state.collections = addItemToCollection(state.collections, id, item, componentFactory);\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryItem, IHistoryDataImporterRules, TSearchActivityHistoryItemPredicate } from \"../../domain/model\";\nimport { addItemsToCollection } from \"./add-items-to-collection\";\n\nexport function addActivityHistoryItemsReducer(\n  state,\n  action: PayloadAction<{\n    id: string;\n    items: IActivityHistoryItem[];\n    componentFactory?: (item: IActivityHistoryItem) => HTMLElement;\n    searchPredicate?: TSearchActivityHistoryItemPredicate;\n    historyDataImporterRules?: IHistoryDataImporterRules;\n  }>,\n) {\n  const { id, items, componentFactory, searchPredicate, historyDataImporterRules } = action.payload;\n  return {\n    ...state,\n    collections: addItemsToCollection(state.collections, id, items, componentFactory, searchPredicate, historyDataImporterRules),\n  };\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\n\nexport function addBusyHistoryItemReducer(state, action: PayloadAction<string>) {\n  state.busy.push(action.payload);\n}\nexport function removeBusyHistoryItemReducer(state, action: PayloadAction<string>) {\n  state.busy = state.busy.filter((i) => i !== action.payload);\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { IErrorHistoryItem } from \"../../domain/model\";\n\nexport function addErrorHistoryItemReducer(\n  state,\n  action: PayloadAction<IErrorHistoryItem>,\n) {\n  state.error.push(action.payload);\n}\nexport function removeErrorHistoryItemReducer(state, action: PayloadAction<string>) {\n  state.error = state.error.filter((item) => item.entityId !== action.payload);\n}\n","export function clearActivityHistoryCollectionsReducer(state) {\n  return {\n    ...state,\n    collections: {},\n    error: [],\n  };\n}\n","import { IActivityHistoryItem } from \"../domain/model\";\n\nexport const removeItemFromCollection = (\n  collections: Record<string, any>,\n  id: string,\n  itemId: string,\n) => {\n  if (!collections[id]?.items) return collections;\n  const items = collections[id]?.items ?? [];\n\n  return {\n    ...collections,\n    [id]: {\n      ...collections[id],\n      items: items.filter((i: IActivityHistoryItem) => i.id !== itemId),\n    },\n  };\n};","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { removeItemFromCollection } from \"./remove-item-from-collection\";\n\nexport function removeActivityHistoryItemReducer(\n  state,\n  action: PayloadAction<{ id: string; itemId: string }>,\n) {\n  const { id, itemId } = action.payload;\n  state.collections = removeItemFromCollection(state.collections, id, itemId);\n}\n","import { IActivityHistoryItem } from \"../domain/model\";\n\nexport const updateItemInCollection = (\n  collections: Record<string, any>,\n  id: string,\n  updatedItem: IActivityHistoryItem,\n) => {\n  if (!collections[id]?.items) return collections;\n  const items = collections[id]?.items ?? [];\n\n  return {\n    ...collections,\n    [id]: {\n      ...collections[id],\n      items: items.map((i: IActivityHistoryItem) => (i.id === updatedItem.id ? updatedItem : i)),\n    },\n  };\n};\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { updateItemInCollection } from \"./update-item-in-collection\";\nimport { IActivityHistoryItem } from \"../domain/model\";\n\nexport function updateActivityHistoryItemReducer(\n  state,\n  action: PayloadAction<{ id: string; item: IActivityHistoryItem }>,\n) {\n  const { id, item } = action.payload;\n  state.collections = updateItemInCollection(state.collections, id, item);\n}\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { addActivityHistoryItemReducer } from \"./add/add-history-item/reducer\";\nimport { addActivityHistoryItemsReducer } from \"./add/add-history-items/reducer\";\nimport { addBusyHistoryItemReducer, removeBusyHistoryItemReducer } from \"./add/handle-busy/reducers\";\nimport { addErrorHistoryItemReducer, removeErrorHistoryItemReducer } from \"./add/handle-error/reducers\";\nimport { clearActivityHistoryCollectionsReducer } from \"./clear/reducer\";\nimport { IActivityHistoryItemCollection, IBusyHistoryItem, IErrorHistoryItem } from \"./domain/model\";\nimport { removeActivityHistoryItemReducer } from \"./remove/reducer\";\nimport { updateActivityHistoryItemReducer } from \"./update/reducer\";\n\nexport const activityHistoryCollectionsSlice = createSlice({\n  name: \"activity-history-collections\",\n  initialState: {\n    busy: [] as IBusyHistoryItem[],\n    error: [] as IErrorHistoryItem[],\n    collections: {} as Record<string, IActivityHistoryItemCollection>,\n  },\n  reducers: {\n    addBusyHistoryItem: addBusyHistoryItemReducer,\n    removeBusyHistoryItem: removeBusyHistoryItemReducer,\n    addActivityHistoryItem: addActivityHistoryItemReducer,\n    updateActivityHistoryItem: updateActivityHistoryItemReducer,\n    addActivityHistoryItems: addActivityHistoryItemsReducer,\n    clearActivityHistoryCollections: clearActivityHistoryCollectionsReducer,\n    addErrorHistoryItem: addErrorHistoryItemReducer,\n    removeErrorHistoryItem: removeErrorHistoryItemReducer,\n    removeActivityHistoryItem: removeActivityHistoryItemReducer,\n  },\n});\n","import { PayloadAction } from \"@reduxjs/toolkit\";\n\nexport function setSearchStringReducer(state, action: PayloadAction<string>) {\n  state.searchString = action.payload;\n}\n","export interface ISpec<TContext> {\n  isSatisfiedBy(context: TContext): boolean;\n  and(spec: ISpec<TContext>): ISpec<TContext>;\n  or(spec: ISpec<TContext>): ISpec<TContext>;\n  not(): ISpec<TContext>;\n}\n\n\nexport abstract class Spec<TContext> implements ISpec<TContext> {\n  abstract isSatisfiedBy(context: TContext): boolean;\n  and(spec: ISpec<TContext>): ISpec<TContext> {\n    return new AndSpec(this as unknown as ISpec<TContext>, spec);\n  }\n    or(spec: ISpec<TContext>): ISpec<TContext> {\n        return new OrSpec(this as unknown as ISpec<TContext>, spec);\n    }\n    not(): ISpec<TContext> {\n      return new NotSpec(this as unknown as ISpec<TContext>);\n    }\n}\nexport class AndSpec<TContext> extends Spec<TContext> {\n  constructor(\n    private left: ISpec<TContext>,\n    private right: ISpec<TContext>,\n  ) {\n    super();\n  }\n  isSatisfiedBy(context: TContext): boolean {\n    return this.left.isSatisfiedBy(context) && this.right.isSatisfiedBy(context);\n  }\n}\n\nexport class OrSpec<TContext> extends Spec<TContext> {\n  constructor(\n    private left: ISpec<TContext>,\n    private right: ISpec<TContext>,\n  ) {\n    super();\n  }\n\n  isSatisfiedBy(context: TContext): boolean {\n    return this.left.isSatisfiedBy(context) || this.right.isSatisfiedBy(context);\n  }\n}\n\nexport class NotSpec<TContext> extends Spec<TContext> {\n  constructor(private spec: ISpec<TContext>) {\n    super();\n  }\n\n  isSatisfiedBy(context: TContext): boolean {\n    return !this.spec.isSatisfiedBy(context);\n  }\n}\n","import { IUserInfo } from \"@uxland/primary-shell\";\nimport { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\n\n// Global variable to hold shellApi reference\nlet shellApiRef: any = null;\n\n// Function to set the shellApi (called from plugin initialization)\nexport const setShellApiForOwnSpec = (api: any) => {\n  shellApiRef = api;\n};\n\nexport class OwnSpec extends Spec<IActivityHistoryItem> {\n  constructor(public context: IActivityHistoryItem) {\n    super();\n  }\n  isSatisfiedBy(context: IActivityHistoryItem): boolean {\n    // If no shellApi is available, return false (e.g., during tests)\n    if (!shellApiRef) {\n      return false;\n    }\n    \n    try {\n      const userInfo = shellApiRef.globalStateManager.getData(\"userInfo\") as IUserInfo;\n      return context?.professional?.id === userInfo?.userId;\n    } catch {\n      return false;\n    }\n  }\n}\n","import { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\n\nexport class RelevantSpec extends Spec<IActivityHistoryItem> {\n  constructor(public context: IActivityHistoryItem) {\n    super();\n  }\n  isSatisfiedBy(context: IActivityHistoryItem): boolean {\n    return context?.relevant ?? false;\n  }\n}\n","import { IActivityHistoryItem } from \"../domain/model\";\nimport { Spec } from \"../domain/specs/spec\";\n\ntype Constructor<T> = new (...args: any[]) => T;\n\nexport enum ActivityHistoryFilterType {\n  Switch = \"switch\",\n  Checkbox = \"checkbox\",\n  Dropdown = \"dropdown\",\n}\n\nexport enum ActivityHistoryFilterOperation {\n  And = \"and\",\n  Or = \"or\",\n}\n\nexport interface IActivityHistoryCommonFilterGroup {\n  id: string;\n  title: string;\n  filters: IActivityHistoryCommonFilter[];\n}\n\nexport interface IActivityHistoryCommonFilter {\n  id: string;\n  title: string;\n  spec: Constructor<Spec<IActivityHistoryItem>>;\n  enabled: boolean;\n  type: ActivityHistoryFilterType;\n}\n\nexport interface IActivityHistoryCustomFilterGroup {\n  id: string;\n  title: string;\n  enabled: boolean;\n  sort: string;\n  filters: IActivityHistoryCustomFilter[];\n}\n\nexport type IActivityHistoryFilter =\n  | IActivityHistoryCommonFilterGroup\n  | IActivityHistoryCustomFilterGroup\n  | IActivityHistoryDiagnosticsFilter;\n\nexport interface IActivityHistoryCustomFilter {\n  id: string;\n  title: string;\n  propPathValue: string[];\n  propsPathDescription: string[];\n  enabled: boolean;\n  type: ActivityHistoryFilterType;\n  singleOption?: boolean;\n  options?: {\n    id: string;\n    title: string;\n  }[];\n  enabledValues?: string[];\n}\n\nexport const isCommonFilterGroup = (group: IActivityHistoryFilter) => group.id === \"common\";\nexport const isNotCommonFilterGroup = (group: IActivityHistoryFilter) => !isCommonFilterGroup(group);\nexport const isDiagnosticFilter = (filter: IActivityHistoryFilter) => filter.id === diagnosticsfilterId;\nexport const isNotDiagnosticFilter = (filter: IActivityHistoryFilter) => !isDiagnosticFilter(filter);\nexport const isCustomFilter = (filter: IActivityHistoryFilter) =>\n  !isCommonFilterGroup(filter) && !isDiagnosticFilter(filter) && !isUpFilter(filter);\nexport const isUpFilter = (filter: IActivityHistoryFilter) => filter.id === upFilterId;\nexport interface IActivityHistoryDiagnosticsFilter {\n  id: string;\n  title: string;\n  values: { label: string; value: string }[];\n  enabledValues: IDiagnosticWithRelations[];\n}\n\n// Nova estructura per diagnostics amb evolucions i relacions\nexport interface IDiagnosticRelation {\n  codi: string;\n  cataleg: string;\n  nomCataleg: string;\n  descripcio: string;\n  idEcap: string;\n  idCipds: string;\n}\n\nexport interface IDiagnosticWithRelations extends IDiagnosticRelation {\n  evolucions?: IDiagnosticRelation[];\n  relacions?: IDiagnosticRelation[];\n}\n\nexport interface ICiPdSDiagnosticFilter {\n  diagnostics: IDiagnosticWithRelations[];\n}\n\nexport interface IActivityHistoryUpFilter {\n  id: string;\n  title: string;\n  values: { label: string; value: string }[];\n  enabledValues: string[];\n}\n\nexport const diagnosticsfilterId = \"history-diagnostics\";\nexport const relevantFilterId = \"history-relevant\";\nexport const ownFilterId = \"history-own\";\nexport const upFilterId = \"history-up\";\n","import { OwnSpec } from \"../../domain/specs/own-spec\";\nimport { RelevantSpec } from \"../../domain/specs/relevant-spec\";\nimport {\n  IActivityHistoryCommonFilterGroup,\n  ActivityHistoryFilterType,\n  relevantFilterId,\n  ownFilterId,\n} from \"../model\";\n\nexport const commonFilters: IActivityHistoryCommonFilterGroup[] = [\n  {\n    id: \"common\",\n    title: \"Comuns\",\n    filters: [\n      {\n        id: relevantFilterId,\n        title: \"Veure rellevants\",\n        spec: RelevantSpec,\n        enabled: false,\n        type: ActivityHistoryFilterType.Switch,\n      },\n      {\n        id: ownFilterId,\n        title: \"Veure meus\",\n        spec: OwnSpec,\n        enabled: false,\n        type: ActivityHistoryFilterType.Switch,\n      },\n    ],\n  },\n];\n","import { PayloadAction } from \"@reduxjs/toolkit\";\n\nexport function setCommonFilterValueReducer(\n  state,\n  action: PayloadAction<{ id: string; enabled: boolean }>,\n) {\n  state.filters = state.filters.map((f) => {\n    if (f.id === \"common\") {\n      return {\n        ...f,\n        filters: f.filters.map((ff) =>\n          ff.id === action.payload.id ? { ...ff, enabled: action.payload.enabled } : ff,\n        ),\n      };\n    }\n    return f;\n  });\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryCustomFilterGroup } from \"../../model\";\n\nexport function addCustomFiltersReducer(\n  state,\n  action: PayloadAction<IActivityHistoryCustomFilterGroup>,\n) {\n  const exists = state.filters.some((filter) => filter.id === action.payload.id);\n\n  if (!exists) {\n    state.filters = [...state.filters, action.payload];\n  }\n}\n","import { isCustomFilter } from \"../../model\";\n\nexport function clearCustomFiltersReducer(state) {\n  state.filters = state.filters.filter((filter) => !isCustomFilter(filter));\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { SetCustomFilterAllValuesPayload } from \"./request\";\n\nexport function setCustomFilterAllValuesReducer(\n  state,\n  action: PayloadAction<SetCustomFilterAllValuesPayload>,\n) {\n  state.filters = state.filters.map((f) => {\n    if (f.id === action.payload.filterGroupId) {\n      return {\n        ...f,\n        filters: f.filters.map((ff) =>\n          ff.id === action.payload.filterId\n            ?  { ...ff, enabledValues: action.payload.values }\n            : ff,\n        ),\n      };\n    }\n    return f;\n  });\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\n\nexport function setCustomFilterGroupValueReducer(\n  state,\n  action: PayloadAction<{ id: string; enabled: boolean }>,\n) {\n  //seteamos el valor de enabled en el filterGroup, y ademas vamos a todos los hijos y deshabilitamos todas sus opciones si estamos deshabilitando el grupo.\n  state.filters = state.filters.map((f) => {\n    if (f.id === action.payload.id) {\n      return {\n        ...f,\n        enabled: action.payload.enabled,\n      };\n    }\n    return f;\n  });\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { SetCustomFilterValuePayload } from \"./request\";\nimport { IActivityHistoryCustomFilter } from \"../../model\";\n\nexport function setCustomFilterValueReducer(\n  state,\n  action: PayloadAction<SetCustomFilterValuePayload>,\n) {\n  state.filters = state.filters.map((f) => {\n    if (f.id === action.payload.filterGroupId) {\n      return {\n        ...f,\n        filters: f.filters.map((ff) =>\n          ff.id === action.payload.filterId\n            ? ff.singleOption\n              ? setSingleOptionFilterValue(ff, action.payload.enabled)\n              : setMultipleOptionsFilterValue(ff, action.payload)\n            : ff,\n        ),\n      };\n    }\n    return f;\n  });\n}\n\nconst setMultipleOptionsFilterValue = (\n  filter: IActivityHistoryCustomFilter,\n  payload: SetCustomFilterValuePayload,\n) => {\n  const { optionId, enabled } = payload;\n  //Si el option ya estaba habilitado, no cambiamos nada\n  if (filter.enabledValues?.some((id) => id === optionId) && enabled) return filter;\n  //Si no hay option id, devolvemos enabledValues vació, para evitar meter un undefined\n  if(optionId === undefined || optionId === null)\n    return {\n      ...filter,\n      enabledValues: [],\n    };\n  return {\n    ...filter,\n    enabledValues: enabled\n      ? [...(filter.enabledValues || []), optionId]\n      : filter.enabledValues.filter((id) => id !== optionId),\n  };\n};\n\nconst setSingleOptionFilterValue = (filter, value: boolean) => {\n  return {\n    ...filter,\n    enabled: value,\n    enabledValues: value ? [true] : [],\n  };\n};\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryDiagnosticsFilter, isDiagnosticFilter, IDiagnosticWithRelations } from \"../../model\";\n\nexport function deleteDiagnosticFilterValueReducer(state, action: PayloadAction<{ diagnosticCodi: string }>) {\n  const diagnosticFilterExists = state.filters.some(isDiagnosticFilter);\n\n  if (diagnosticFilterExists) {\n    state.filters = [...state.filters].map((f) => {\n      if (isDiagnosticFilter(f)) {\n        // Filtrar el diagnostic pare i tots els seus fills (evolucions i relacions)\n        const updatedDiagnostics = f.enabledValues.filter((diagnostic: IDiagnosticWithRelations) => {\n          // Esborrar si és el diagnostic pare\n          if (diagnostic.codi === action.payload.diagnosticCodi) {\n            return false;\n          }\n\n          // Esborrar si és una evolució del diagnostic pare\n          const isEvolution = f.enabledValues.some((parent: IDiagnosticWithRelations) =>\n            parent.codi === action.payload.diagnosticCodi &&\n            parent.evolucions?.some(ev => ev.codi === diagnostic.codi)\n          );\n\n          // Esborrar si és una relació del diagnostic pare\n          const isRelation = f.enabledValues.some((parent: IDiagnosticWithRelations) =>\n            parent.codi === action.payload.diagnosticCodi &&\n            parent.relacions?.some(rel => rel.codi === diagnostic.codi)\n          );\n\n          return !isEvolution && !isRelation;\n        });\n\n        return { ...f, enabledValues: updatedDiagnostics } as IActivityHistoryDiagnosticsFilter;\n      }\n      return f;\n    });\n  }\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryDiagnosticsFilter, isDiagnosticFilter, diagnosticsfilterId, IDiagnosticWithRelations } from \"../../model\";\n\nexport function setDiagnosticFilterValuesReducer(state, action: PayloadAction<IDiagnosticWithRelations[]>) {\n  const diagnosticFilterExists = state.filters.some(isDiagnosticFilter);\n\n  if (diagnosticFilterExists) {\n    // Si el filtre existeix, actualitzar-lo\n    state.filters = [...state.filters].map((f) => {\n      if (isDiagnosticFilter(f)) {\n        return { ...f, enabledValues: action.payload } as IActivityHistoryDiagnosticsFilter;\n      }\n      return f;\n    });\n  } else {\n    // Si el filtre no existeix, crear-lo\n    const newDiagnosticFilter: IActivityHistoryDiagnosticsFilter = {\n      id: diagnosticsfilterId,\n      title: \"Diagnòstics\",\n      values: [],\n      enabledValues: action.payload,\n    };\n    state.filters = [...state.filters, newDiagnosticFilter];\n  }\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { commonFilters } from \"../common-filters/common-filters\";\n\nexport function resetFiltersReducer(state, action: PayloadAction<void>) {\n  state.filters = state.filters.map((f) => {\n    if (f.id !== \"common\" && f.id !== \"history-diagnostics\" && f.id !== \"history-up\") {\n      return {\n        ...f,\n        filters: f.filters.map((ff) => {\n          if(ff.singleOption)\n            return {...ff, enabled: false}\n          return {...ff, enabled: true, enabledValues: []}\n        }),\n      };\n    }\n\n    if(f.id === \"history-diagnostics\" || f.id === \"history-up\") {\n      return {\n        ...f,\n        enabledValues: [],\n      };\n    }\n    if(f.id === \"common\") {\n      return commonFilters[0]\n    }\n    return f;\n  });\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryUpFilter, isUpFilter } from \"../../model\";\n\nexport function addUpFiltersReducer(state, action: PayloadAction<IActivityHistoryUpFilter>) {\n  const index = state.filters.findIndex(isUpFilter);\n\n  if (index === -1) {\n    state.filters.push(action.payload);\n  } else {\n    const existing = state.filters[index];\n\n    const mergedValues = [\n      ...existing.values,\n      ...action.payload.values.filter((v) => !existing.values.some((ev) => ev.value === v.value)),\n    ];\n\n    state.filters[index] = {\n      ...existing,\n      values: mergedValues,\n    };\n  }\n}\n","import { PayloadAction } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryUpFilter, isUpFilter } from \"../../model\";\n\nexport function setUpFilterValuesReducer(state, action: PayloadAction<string[]>) {\n  state.filters = [...state.filters].map((f) => {\n    if (isUpFilter(f)) {\n      return { ...f, enabledValues: action.payload } as IActivityHistoryUpFilter;\n    }\n    return f;\n  });\n}\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { setSearchStringReducer } from \"../search/reducer\";\nimport { commonFilters } from \"./common-filters/common-filters\";\nimport { setCommonFilterValueReducer } from \"./common-filters/set-common-filter/reducer\";\nimport { addCustomFiltersReducer } from \"./custom-filters/add-custom-filters/reducer\";\nimport { clearCustomFiltersReducer } from \"./custom-filters/clear-custom-filters/reducer\";\nimport { setCustomFilterAllValuesReducer } from \"./custom-filters/set-custom-filter-all-values/reducer\";\nimport { setCustomFilterGroupValueReducer } from \"./custom-filters/set-custom-filter-group/reducer\";\nimport { setCustomFilterValueReducer } from \"./custom-filters/set-custom-filter-value/reducer\";\nimport { deleteDiagnosticFilterValueReducer } from \"./diagnostic-filters/delete/reducer\";\nimport { setDiagnosticFilterValuesReducer } from \"./diagnostic-filters/set/reducer\";\nimport { IActivityHistoryFilter } from \"./model\";\nimport { resetFiltersReducer } from \"./reset/reducer\";\nimport { addUpFiltersReducer } from \"./up-filters/add/reducer\";\nimport { setUpFilterValuesReducer } from \"./up-filters/set/reducer\";\n\nexport const activityHistoryFiltersSlice = createSlice({\n  name: \"activity-history-filters\",\n  initialState: {\n    searchString: \"\",\n    filters: [...commonFilters] as IActivityHistoryFilter[],\n  },\n  reducers: {\n    setSearchString: setSearchStringReducer,\n    setCommonFilterValue: setCommonFilterValueReducer,\n    addCustomFilters: addCustomFiltersReducer,\n    clearCustomFilters: clearCustomFiltersReducer,\n    setCustomFilterGroupValue: setCustomFilterGroupValueReducer,\n    setCustomFilterValue: setCustomFilterValueReducer,\n    setCustomFilterAllValues: setCustomFilterAllValuesReducer,\n    setDiagnosticFilterValues: setDiagnosticFilterValuesReducer,\n    deleteDiagnosticFilterValue: deleteDiagnosticFilterValueReducer,\n    addUpFilters: addUpFiltersReducer,\n    setUpFilterValues: setUpFilterValuesReducer,\n    resetFilters: resetFiltersReducer,\n  },\n});\n","import { configureStore } from \"@reduxjs/toolkit\";\nimport { activityHistoryCollectionsSlice } from \"../../activity-history-item/slice\";\nimport { activityHistoryFiltersSlice } from \"../../activity-history-item/filter/slice\";\n\nexport type RootState = ReturnType<typeof store.getState>;\nexport type AppDispatch = typeof store.dispatch;\n\nexport const store = configureStore({\n  reducer: {\n    activityHistoryCollections: activityHistoryCollectionsSlice.reducer,\n    activityHistoryFilters: activityHistoryFiltersSlice.reducer,\n  },\n  devTools: {\n    name: \"activity-history\",\n  },\n  middleware: (getDefaultMiddleware) =>\n    getDefaultMiddleware({\n      serializableCheck: false, // Disable serializable state invariant middleware\n    }),\n});\n\nexport const dispatch = store.dispatch;\nexport const getState = store.getState;\n","import { Container } from \"inversify\";\nimport getDecorators from \"inversify-inject-decorators\";\nimport { PrimariaApi } from \"@uxland/primary-shell\";\nimport { TYPES } from \"./types\";\nimport { store } from \"../state/store\";\nconst container = new Container();\nconst { lazyInject } = getDecorators(container, false);\n\nexport { container, lazyInject };\n\nexport const bindDeps = (api: PrimariaApi) => {\n  container.bind(TYPES.primaryApi).toConstantValue(api);\n  container.bind(TYPES.store).toConstantValue(store);\n};\n\nexport const unbindDeps = () => {\n  container.unbind(TYPES.primaryApi);\n  container.unbind(TYPES.store);\n};\n","import { inject, injectable } from \"inversify\";\nimport { TYPES } from \"./ioc/types\";\nimport { Store } from \"@reduxjs/toolkit\";\nimport { PrimariaApi } from \"@uxland/primary-shell\";\n\n@injectable()\nexport class StoreBaseHandler {\n  constructor(@inject(TYPES.store) protected readonly store: Store) {}\n}\n\n@injectable()\nexport class ApiBaseHandler {\n  constructor(@inject(TYPES.primaryApi) protected readonly api: PrimariaApi) {}\n}\n\n@injectable()\nexport class BaseHandler {\n  constructor(\n    @inject(TYPES.store) protected readonly store: Store,\n    @inject(TYPES.primaryApi) protected readonly api: PrimariaApi,\n  ) {}\n}\n","import { activityHistoryCollectionsSlice } from \"../../slice\";\n\nexport const { addBusyHistoryItem, removeBusyHistoryItem } =\n  activityHistoryCollectionsSlice.actions;\n","import { activityHistoryCollectionsSlice } from \"../../slice\";\n\nexport const { addErrorHistoryItem, removeErrorHistoryItem } =\n  activityHistoryCollectionsSlice.actions;\n","import { IActivityHistoryItem } from \"../../domain/model\";\nimport { InjectAsyncHistoryItemsPayload } from \"./request\";\n\nexport const validateAddAsyncCommand = (payload: InjectAsyncHistoryItemsPayload, items: IActivityHistoryItem[]) => {\n    if(!payload.filters)\n        throw new Error(\"filters is required\");\n    if(payload.entityId !== payload.filters.id)\n        throw new Error(\"entityId and filters.id must be the same\");\n    if(!payload.filters.title)\n        throw new Error(\"filters.title is required\");\n    if(!payload.asyncDataProvider)\n        throw new Error(\"asyncDataProvider is required\");\n    if(!payload.componentFactory)\n        throw new Error(\"componentFactory is required\");\n    if(!payload.errorMessage)\n        throw new Error(\"errorMessage is required for failure asyncDataProviders\");\n    if(items === null || items === undefined)\n        throw new Error(\"items is required\");\n    if(!Array.isArray(items))\n        throw new Error(\"items must be an array\");\n};","import { BaseHandler } from \"../../../infrastructure/base-handlers\";\nimport { AddCustomFiltersCommand } from \"../../filter/custom-filters/add-custom-filters/request\";\nimport { addBusyHistoryItem, removeBusyHistoryItem } from \"../handle-busy/actions\";\nimport { addErrorHistoryItem } from \"../handle-error/actions\";\nimport { InjectAsyncHistoryItemsPayload } from \"./request\";\nimport { validateAddAsyncCommand } from \"./validate-add-async-items-command\";\n\nexport class InjectAsyncHistoryItemsHandler extends BaseHandler {\n  async handle(payload: InjectAsyncHistoryItemsPayload) {\n    this.store.dispatch(addBusyHistoryItem(payload.entityId));\n    try {\n      const items = await payload.asyncDataProvider();\n      validateAddAsyncCommand(payload, items);\n      this.api.broker.send(this.api.broker.events.activityHistory.addHistoryItemsRequest, {\n        entityId: payload.entityId,\n        entityDescription: payload.entityDescription,\n        items,\n        componentFactory: payload.componentFactory,\n        searchPredicate: payload.searchPredicate,\n        filters: payload.filters,\n        historyDataImporterRules: payload.historyDataImporterRules,\n      });\n    } catch (e) {\n      console.error(e.message);\n      this.store.dispatch(\n        addErrorHistoryItem({\n          entityId: payload.entityId,\n          message: payload.errorMessage || e.message,\n          entityDescription: payload.entityDescription,\n        }),\n      );\n    } finally {\n      this.store.dispatch(removeBusyHistoryItem(payload.entityId));\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler, PrimariaApi } from \"@uxland/primary-shell\";\nimport { InjectAsyncHistoryItemsHandler } from \"./handler\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapInjectAsyncHistoryItems = (broker: BrokerExtensions, api: PrimariaApi) => {\n  request = broker.registerRequest(\n    api.broker.events.activityHistory.injectAsyncHistoryItemsRequest,\n    InjectAsyncHistoryItemsHandler,\n  );\n};\n\nexport const teardownInjectAsyncHistoryItems = () => {\n  request?.dispose();\n};\n","import { PrimariaApi } from \"@uxland/primary-shell\";\n\ntype LocaleKeys<T> = T extends object\n  ? {\n      [K in keyof T]: `${K & string}` | (T[K] extends object ? `${K & string}.${LocaleKeys<T[K]>}` : never);\n    }[keyof T]\n  : never;\n\nexport type ActivityHistoryLocales = LocaleKeys<(typeof locales)[typeof defaultLang][\"activity-history\"]>;\n\nconst defaultLang = \"ca\";\n\nlet pluginLocaleManager;\n\nexport const initializeLocalization = async (api: PrimariaApi) => {\n  pluginLocaleManager = await api.createLocaleManager(locales);\n};\n\nexport const translate = (path: ActivityHistoryLocales) => {\n  if (pluginLocaleManager) return (pluginLocaleManager as any).translate(path);\n  return path;\n};\n\nexport const locales = {\n  ca: {\n    \"activity-history\": {\n      activityHistory: \"Històric d’activitat\",\n      importer: {\n        title: \"Històric d’activitat\",\n        searchPlaceholder: \"Escriu per cercar\",\n        selectAll: \"Seleccionar tot\",\n        filters: \"Filtres:\",\n        today: \"Avui\",\n        diagnostics: \"Diagnòstics associats\",\n        noResults: \"Sense resultats\",\n      },\n      search: \"Cercar\",\n      groupedView: \"Visió agrupada\",\n      maximize: \"Ampliar\",\n      deleted: \"Eliminat\",\n      goToDate: \"Anar a data\",\n      busyEntriesLoading: \"Carregant totes les entrades\",\n      noResults: \"Sense resultats. Modifica la cerca\",\n      noData: {\n        title: \"Sense dades\",\n        description: \"No existeix informació per a mostrar\",\n      },\n      isGrouping: \"Creant agrupacions i preparant les dades...\",\n      searchBarResults: \"Resultats per\",\n      actions: {\n        cronogram: \"Cronograma\",\n        exportPdf: \"Exportar PDF\",\n        moreOptions: \"Més opcions\",\n        refresh: \"Actualitzar\",\n        entryLegend: \"Llegenda entrades\",\n        maximizeButton: \"Botó maximitzar\",\n        minimizeButton: \"Botó minimitzar\",\n        menuButton: \"Botó menu\",\n      },\n      modal: {\n        selectExportOption: \"Tria una opció d'exportació\",\n        allActivityHistory: \"Tot l’històric d’activitat\",\n        onlyAppliedFilters: \"Només amb filtres aplicats\",\n        selectDateRange: \"En el cas que sigui necessari, selecciona un rang de dates\",\n        helpText:\n          \"Sense seleccionar data, s'aplicarà la de la primera entrada. Sense seleccionar data de fi, s'aplicarà la de l'última entrada.\",\n        startDate: \"Data Inici\",\n        endDate: \"Data Fi\",\n        cancel: \"Cancel·lar\",\n        export: \"Exportar\",\n      },\n      filters: {\n        filters: \"Filtres\",\n        searchFilter: \"Cercar filtre\",\n        ownFilters: \"Els meus\",\n        rellevantFilters: \"Rellevants\",\n        episode: \"Episodi\",\n\n        dates: \"Dates\",\n        diagnoses: \"Diagnòstics\",\n        clinicalCourseType: \"Tipus Curs Clínic\",\n\n        selected: \"seleccionats\",\n        applyFilters: \"Aplicar filtres\",\n\n        deleted: \"Eliminats\",\n      },\n      tooltips: {\n        subjective: \"Subjectiu\",\n        UPconfidenciality: \"Confidencialitat: per a la meva UP\",\n      },\n      grouped: {\n        clinicalCourses: \"Cursos clínics\",\n        activities: \"Activitats\",\n        variablees: \"Variables\",\n        prescriptions: \"Prescripcions\",\n      },\n      chipHeader: {\n        selection: \"Selecció:\",\n        without: \"Sense\",\n        cleanFilters: \"Netejar filtres\",\n      },\n      error: {\n        general: {\n          title: \"Hi ha hagut un problema durant la càrrega de contingut. Actualitza la pàgina o torna-ho a provar més tard.\",\n          refresh: \"Actualitzar pàgina\",\n          noInfo: \"No hi ha informació disponible.\",\n        },\n        partial: {\n          title: \"Hi ha hagut un problema i no s'ha pogut carregar les notes de tipus\",\n          refresh: \"Actualitzar\",\n          limit: \"Límit de clicks superat\",\n        },\n        title: \"Error en la càrrega\",\n        viewDetails: \"Veure detalls\",\n        imageAlt: \"Imatge d'error\",\n        errorToRefresh: \"Error en l'acció d'actualitzar la pàgina\",\n        itemAlreadyExists: \"Aquest element ja existeix al històric d'activitat\",\n        allItemsAlreadyExist: \"Tots els elements ja existeixen al històric d'activitat\",\n        filterNotInitialized:\n          \"No s'han pogut afegir elements ja que aquesta iniciativa no ha sigut inicialitzada a l'Històric d'Activitat.\",\n      },\n      warning: {\n        someItemsAlreadyExist: \"Alguns elements ja existien al històric d'activitat i no s'han afegit\",\n      },\n    },\n  },\n};\n","import { IActivityHistoryItem, IActivityHistoryItemCollection } from \"./model\";\n\n/**\n * Checks if an item with the given ID already exists in the specified collection\n * @param collections - Record of all activity history collections\n * @param entityId - The collection ID to check in\n * @param itemId - The item ID to check for\n * @returns true if the item exists in the collection, false otherwise\n */\nexport const existItemInCollection = (\n  collections: Record<string, IActivityHistoryItemCollection>,\n  entityId: string,\n  itemId: string,\n): boolean => {\n  const collection = collections?.[entityId];\n  if (!collection?.items) {\n    return false;\n  }\n\n  return collection.items.some((existingItem: IActivityHistoryItem) => existingItem.id === itemId);\n};\n","export const isString = (value) => typeof value === \"string\" && value.trim() !== \"\";\nexport const isBoolean = (value) => typeof value === \"boolean\";\nexport const isArray = (value) => Array.isArray(value);\n\n// Función para comprobar si un string representa una fecha válida\nexport const isValidDateString = (value: any) => {\n  if (typeof value !== \"string\" || value.trim() === \"\") return false;\n\n  const date = new Date(value);\n  return date instanceof Date && !Number.isNaN(date.getTime());\n};\n","import { IActivityHistoryItem } from \"../model\";\nimport { isString, isValidDateString } from \"./utils\";\n\nexport const isValidBasicActivityHistoryItem = (obj: IActivityHistoryItem) => {\n  // Comprobación del objeto principal\n  return (\n    obj &&\n    isString(obj.id) && // Verifica que \"id\" esté informado\n    isValidDateString(obj.date) // Verifica que \"date\" sea un string de fecha válido\n  );\n};\n\nexport const ensureAreValidBasicActivityHistoryItems = (items: IActivityHistoryItem[]) => {\n  const areValid = items.every(isValidBasicActivityHistoryItem);\n  if (!areValid) {\n    console.error(\"Invalid activity history items\", items);\n    throw new Error(\"Invalid activity history items\");\n  }\n  return items;\n};\n\nconst notifyInvalidItem = (item: IActivityHistoryItem) => {\n  console.error(\"Invalid history item\", item);\n};\n\nexport const validateAndFilterBasicItems = (items: IActivityHistoryItem[]) => {\n  const validItems = [] as IActivityHistoryItem[];\n  for (const item of items) {\n    if (isValidBasicActivityHistoryItem(item)) validItems.push(item);\n    else notifyInvalidItem(item);\n  }\n  return validItems;\n};\n","import { mapArrayToLabelValue } from \"@primaria/plugins-core\";\nimport { Store } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryItem } from \"../../domain/model\";\nimport { upFilterId } from \"../model\";\nimport { activityHistoryFiltersSlice } from \"../slice\";\n\nexport const getUpFilter = (items: IActivityHistoryItem[]) => {\n  const allUps = items\n    .flatMap((item) => item.up ?? [])\n    .filter((up) => up?.id?.trim()) // Filtrar UPs que tienen ID válido (no vacío ni solo espacios)\n    .filter((up, index, self) => index === self.findIndex((u) => u.id === up.id)); // Filtrar duplicados\n\n  if (allUps.length > 0) {\n    const newUpFilter = {\n      id: upFilterId,\n      title: \"UP\",\n      values: mapArrayToLabelValue(allUps, \"description\", \"id\"),\n      enabledValues: [],\n    };\n\n    return newUpFilter;\n  }\n};\n\nexport const handleAddUpFilter = (items: IActivityHistoryItem[], store: Store) => {\n  const newUpFilter = getUpFilter(items);\n  if (newUpFilter)\n    store.dispatch(activityHistoryFiltersSlice.actions.addUpFilters(newUpFilter));\n};\n","import { activityHistoryCollectionsSlice } from \"../../slice\";\n\nexport const { addActivityHistoryItem } = activityHistoryCollectionsSlice.actions;\n","import { BaseHandler } from \"../../../infrastructure/base-handlers\";\nimport { translate } from \"../../../localization\";\nimport { existItemInCollection } from \"../../domain/exist-item-in-collection\";\nimport { ensureAreValidBasicActivityHistoryItems } from \"../../domain/validation/is-valid-basic-history-item\";\nimport { handleAddUpFilter } from \"../../filter/up-filters/handle-add-up-options-from-item\";\nimport { addActivityHistoryItem } from \"./action\";\nimport { AddHistoryItemPayload } from \"./request\";\n\nexport class AddHistoryItemHandler extends BaseHandler {\n  async handle(payload: AddHistoryItemPayload) {\n    try {\n      ensureAreValidBasicActivityHistoryItems([payload.item]);\n\n      // Check if item already exists in the collection\n      const state = this.store.getState();\n      const itemExists = existItemInCollection(state.activityHistoryCollections?.collections, payload.entityId, payload.item.id);\n      const existFilterGroup = state.activityHistoryFilters?.filters?.find((item) => item.id === payload.entityId);\n      if (itemExists) {\n        throw new Error(translate(\"error.itemAlreadyExists\"));\n      }\n\n      if (!existFilterGroup) {\n        throw new Error(translate(\"error.filterNotInitialized\"));\n      }\n\n      handleAddUpFilter([payload.item], this.store);\n      this.store.dispatch(\n        addActivityHistoryItem({\n          id: payload.entityId,\n          item: payload.item,\n          componentFactory: payload.componentFactory,\n        }),\n      );\n    } catch (e) {\n      this.api.notificationService.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler, PrimariaApi } from \"@uxland/primary-shell\";\nimport { AddHistoryItemHandler } from \"./handler\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapAddHistoryItem = (broker: BrokerExtensions, api: PrimariaApi) => {\n  request = broker.registerRequest(api.broker.events.activityHistory.addHistoryItemRequest, AddHistoryItemHandler);\n};\n\nexport const teardownAddHistoryItem = () => {\n  request?.dispose();\n};\n","import { IActivityHistoryCustomFilterGroup } from \"../../model\";\n\nexport class AddCustomFiltersCommand {\n  constructor(public payload: IActivityHistoryCustomFilterGroup) {}\n}\n","import { activityHistoryCollectionsSlice } from \"../../slice\";\n\nexport const { addActivityHistoryItems } = activityHistoryCollectionsSlice.actions;\n","import { BaseHandler } from \"../../../infrastructure/base-handlers\";\nimport { translate } from \"../../../localization\";\nimport { existItemInCollection } from \"../../domain/exist-item-in-collection\";\nimport { IActivityHistoryItem } from \"../../domain/model\";\nimport { validateAndFilterBasicItems } from \"../../domain/validation/is-valid-basic-history-item\";\nimport { AddCustomFiltersCommand } from \"../../filter/custom-filters/add-custom-filters/request\";\nimport { handleAddUpFilter } from \"../../filter/up-filters/handle-add-up-options-from-item\";\nimport { addActivityHistoryItems } from \"./action\";\nimport { AddHistoryItemsPayload } from \"./request\";\n\nexport class AddHistoryItemsHandler extends BaseHandler {\n  async handle(payload: AddHistoryItemsPayload) {\n    try {\n      const validItems = validateAndFilterBasicItems(payload.items);\n      const newItems = this.filterDuplicateItems(validItems, payload.entityId);\n      const state = this.store.getState();\n      const existFilterGroup = state.activityHistoryFilters?.filters?.find((item) => item.id === payload.entityId);\n\n      // Los filtros son obligatorios: debe existir un grupo previo O proporcionar uno nuevo\n      if (!existFilterGroup && !payload.filters) {\n        throw new Error(translate(\"error.filterNotInitialized\"));\n      }\n\n      if (newItems.length > 0) {\n        handleAddUpFilter(newItems, this.store);\n      }\n\n      this.store.dispatch(\n        addActivityHistoryItems({\n          id: payload.entityId,\n          items: newItems,\n          componentFactory: payload.componentFactory,\n          searchPredicate: payload.searchPredicate,\n          historyDataImporterRules: payload.historyDataImporterRules,\n        }),\n      );\n\n      if (payload.filters) {\n        this.api.broker.send(new AddCustomFiltersCommand(payload.filters));\n      }\n    } catch (e) {\n      this.api.notificationService.error(e.message);\n    }\n  }\n\n  private filterDuplicateItems(validItems: IActivityHistoryItem[], entityId: string): IActivityHistoryItem[] {\n    if (validItems.length === 0) {\n      return [];\n    }\n\n    const state = this.store.getState();\n    const newItems = validItems.filter(\n      (item) => !existItemInCollection(state.activityHistoryCollections?.collections, entityId, item.id),\n    );\n\n    // If all items already exist, throw error\n    if (newItems.length === 0 && validItems.length > 0) {\n      throw new Error(translate(\"error.allItemsAlreadyExist\"));\n    }\n\n    // If some items were filtered, show warning\n    if (newItems.length < validItems.length) {\n      this.api.notificationService.warning(translate(\"warning.someItemsAlreadyExist\"));\n    }\n\n    return newItems;\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler, PrimariaApi } from \"@uxland/primary-shell\";\nimport { AddHistoryItemsHandler } from \"./handler\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapAddHistoryItems = (broker: BrokerExtensions, api: PrimariaApi) => {\n  request = broker.registerRequest(api.broker.events.activityHistory.addHistoryItemsRequest, AddHistoryItemsHandler);\n};\n\nexport const teardownAddHistoryItems = () => {\n  request?.dispose();\n};\n","import { createConnectedProperty } from \"@primaria/plugins-core\";\nimport { store } from \"./store\";\n\nexport function connectedProperty(selector: (state: any) => any, options: any = {}) {\n  return createConnectedProperty(store)(selector, options);\n}\n","import { RootState } from \"../../../infrastructure/state/store\";\n\nexport const isAnyCollectionBusySelector = (state: RootState) => state.activityHistoryCollections.busy.length > 0;\n\nexport const isSomeCollectionLoadedAndOtherLoading = (state: RootState) => {\n  const collections = Object.values(state.activityHistoryCollections.collections);\n  return collections && isAnyCollectionBusySelector(state);\n};\n\nexport const isEmptyDataAndOtherLoading = (state: RootState) => {\n  const collections = Object.values(state.activityHistoryCollections.collections);\n  return !collections?.length && isAnyCollectionBusySelector(state);\n};\n","import { html, nothing } from \"lit\";\nimport { ActivityHistoryBusy } from \"./component\";\nimport { translate } from \"../../../../localization\";\n\nexport const template = (props: ActivityHistoryBusy) =>\n  props.isEmptyDataAndOtherLoading\n    ? html`<div class=\"skeleton-container\">${props.skeletons}</div>`\n    : props.isSomeCollectionLoadedAndOtherLoading\n      ? html`<div class=\"spinner-container\"><dss-spinner size=\"sm\"></dss-spinner><div class=\"busy-description\">${translate(\"busyEntriesLoading\")}</div></div>`\n      : nothing;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport { isEmptyDataAndOtherLoading, isSomeCollectionLoadedAndOtherLoading } from \"../selectors\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\n//@ts-ignore\n@customElement(\"activity-history-busy\")\nexport class ActivityHistoryBusy extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @connectedProperty(isSomeCollectionLoadedAndOtherLoading)\n  isSomeCollectionLoadedAndOtherLoading: boolean;\n\n  @connectedProperty(isEmptyDataAndOtherLoading)\n  isEmptyDataAndOtherLoading: boolean;\n\n  get skeletons() {\n    return Array.from({ length: 12 }, () => html`<dss-skeleton width=\"100\" height=\"10\"></dss-skeleton>`);\n  }\n}\n","import { IErrorHistoryItem } from \"../../../domain/model\";\n\nexport class HandleHistoryItemsAddError {\n  constructor(public entities: Array<IErrorHistoryItem>) {}\n}","import { BaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { translate } from \"../../../../localization\";\nimport { removeErrorHistoryItem } from \"../actions\";\nimport { HandleHistoryItemsAddError } from \"./request\";\n\nexport class HandleHistoryItemsAddErrorHandler extends BaseHandler {\n  async handle(payload: HandleHistoryItemsAddError) {\n    try {\n      const entityIdsWithError = payload.entities.map((error) => error.entityId);\n\n      await this.dispatchRemoveErrorItems(entityIdsWithError);\n\n      this.api.broker.publish(this.api.broker.events.activityHistory.errorLoadingData, entityIdsWithError);\n    } catch (e) {\n      this.api.notificationService.error(translate(\"error.errorToRefresh\"));\n    }\n  }\n\n  private async dispatchRemoveErrorItems(entityIds: string[]) {\n    for (const entityId of entityIds) {\n      this.store.dispatch(removeErrorHistoryItem(entityId));\n    }\n  }\n}\n","import { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { HandleHistoryItemsAddError } from \"./request\";\nimport { HandleHistoryItemsAddErrorHandler } from \"./handler\";\nimport { BrokerExtensions } from \"@primaria/plugins-core\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapHandleHistoryItemsAddError = (broker: BrokerExtensions) => {\n  teardownHandleHistoryItemsAddError();\n  request = broker.registerRequest(HandleHistoryItemsAddError, HandleHistoryItemsAddErrorHandler);\n};\n\nexport const teardownHandleHistoryItemsAddError = () => {\n  request?.dispose();\n};\n","import { html, nothing } from \"lit\";\nimport { ExportPdfModal } from \"./export-pdf-modal\";\nimport { translate } from \"../../../localization\";\n\nexport const template = (props: ExportPdfModal) => {\n  const { arrayElements, text } = props;\n  return html`\n        <div class=\"wrapper\">\n            <!-- <dss-input-dropdown type=\"default\" .elements=${arrayElements} selectall=\"\" dropdownplaceholder=\"Seleccionar\" \n            @onInputDropdownChange=${(e) => {\n              props.selectedVisibilityLevelElement = e.detail;\n            }}>\n                <label slot=\"label\" for=\"dropdown1\">Selecciona periode</label>\n                <input id=\"dropdown1\" slot=\"input\" type=\"text\" class=\"dss-input\" />\n            </dss-input-dropdown> -->\n            <div class=\"content-options\">\n              <div class=\"selector-options\">\n                <dss-radio-button>\n                  <input slot=\"input\" id=\"radioButton1\" type=\"radio\" name=\"exportOption\" @change=${() => {\n                    props.selectedRadioOption = \"history\";\n                  }}>\n                  <label slot=\"label\" for=\"radioButton1\">${translate(\"modal.allActivityHistory\")}</label>\n                </dss-radio-button>\n                <dss-radio-button>\n                  <input slot=\"input\" id=\"radioButton2\" type=\"radio\" name=\"exportOption\" @change=${() => {\n                    props.selectedRadioOption = \"filters\";\n                  }}>\n                  <label slot=\"label\" for=\"radioButton2\">${translate(\"modal.onlyAppliedFilters\")}</label>\n                </dss-radio-button>\n              </div>\n            </div>\n            ${\n              props.selectedRadioOption\n                ? html`<div class=\"content-date\">\n                <span>${translate(\"modal.selectDateRange\")}</span>\n                <div class=\"datepicker-canvas\">\n                  <dss-datepicker-range inputsize=\"md\" @onRangeChange=${(e) => {\n                    props.selectedPeriodDate = e.detail;\n                  }} helpText=${translate(\"modal.helpText\")}>\n                    <label slot=\"label-range-start\" for=\"myDatepickerRangeStart\">${translate(\"modal.startDate\")}</label>\n                    <input slot=\"input-range-start\" id=\"myDatepickerRangeStart\" type=\"text\" class=\"dss-input\">\n                    <label slot=\"label-range-end\" for=\"myDatepickerRangeEnd\">${translate(\"modal.endDate\")}</label>\n                    <input slot=\"input-range-end\" id=\"myDatepickerRangeEnd\" type=\"text\" class=\"dss-input\">\n                  </dss-datepicker-range>\n                </div>\n              </div>`\n                : nothing\n            }\n        </div>`;\n};\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./export-pdf-modal.css?inline\";\nimport { template } from \"./template\";\n\n@customElement(\"export-pdf-modal\")\nexport class ExportPdfModal extends LitElement {\n  render() {\n    return html`\n        ${template(this)} \n    `;\n  }\n\n  static get styles() {\n    return css`\n      ${unsafeCSS(styles)}\n    `;\n  }\n\n  @property()\n  selectedRadioOption: string;\n\n  @property()\n  text: string;\n\n  @property()\n  selectedVisibilityLevelElement;\n\n  @property()\n  selectedPeriodDate;\n\n  @property({ type: Array })\n  arrayElements = [\n    { label: \"Element 1\", value: \"1\" },\n    { label: \"Element 2\", value: \"2\" },\n    { label: \"Element 3\", value: \"3\" },\n    { label: \"Element 4\", value: \"4\" },\n  ];\n\n  handleTest() {\n    console.log(\n      // this.selectedVisibilityLevelElement,\n      this.selectedPeriodDate,\n    );\n  }\n}\n","import { ApiBaseHandler } from \"../../infrastructure/base-handlers\";\nimport { translate } from \"../../localization\";\nimport { ExportPdfModal } from \"./export-pdf-modal/export-pdf-modal\";\n\nexport class ExportToPdfHandler extends ApiBaseHandler {\n  async handle() {\n    try {\n      this.api.interactionService.confirm(undefined, {component: ExportPdfModal}, {\n        title: translate(\"modal.selectExportOption\"),\n        confirmButtonText: \"Exportar\",\n        cancelButtonText: \"Cancelar\",\n      });\n    } catch (error) {\n      this._notifyError(error.message);\n    }\n  }\n\n  _notifyError(errorMessage?: string) {\n    this.api.notificationService.error(\n      errorMessage || \"actions.delete.error\",\n    );\n  }\n}\n","export class ExportPdf {}\n","import { BrokerExtensions } from \"plugins/core\";\nimport { ExportToPdfHandler } from \"./handler\";\nimport { ExportPdf } from \"./request\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport \"./export-pdf-modal/export-pdf-modal\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapExportPdf = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(ExportPdf, ExportToPdfHandler);\n};\n\nexport const teardownExportPdf = () => {\n  request?.dispose();\n};\n","export function getUniqueObjects<T>(\n  items: T[],\n  propPathId: string[],\n  propPathDescription: string[],\n  filterTitle: string\n): { id: string; title: string }[] {\n  const SENSE_TITLE = `Sense ${filterTitle.toLocaleLowerCase()}`;\n  const map = new Map<string, { id: string; title: string }>();\n  let hasSenseItem = false;\n\n  for (const item of items) {\n    const id = propPathId.reduce((acc, key) => acc?.[key], item);\n    const title = propPathDescription.reduce((acc, key) => acc?.[key], item);\n\n    const isValidId = typeof id === \"string\" && id.trim() !== \"\";\n\n    //Tret el trim del title pels casos de migració on arriben camps buits\n    const isValidTitle = typeof title === \"string\";\n\n    if (isValidId && isValidTitle) {\n      if (!map.has(id)) {\n        map.set(id, { id, title });\n      }\n    } else {\n      hasSenseItem = true;\n    }\n  }\n\n  const result = Array.from(map.values()).sort((a, b) =>\n    a.title.localeCompare(b.title, \"ca\", { sensitivity: \"base\" })\n  );\n\n  if (hasSenseItem) {\n    result.push({ id: \"\", title: SENSE_TITLE });\n  }\n\n  return result;\n}","import { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\n\nexport class TrueSpec extends Spec<IActivityHistoryItem> {\n  isSatisfiedBy(): boolean {\n    return true;\n  }\n}\n","import { IActivityHistoryCommonFilter } from \"../../filter\";\nimport { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\nimport { TrueSpec } from \"./true-spec\";\n\nexport class CommonFilterSpec extends Spec<IActivityHistoryItem> {\n  constructor(private commonFilters: IActivityHistoryCommonFilter[]) {\n    super();\n  }\n\n  isSatisfiedBy(item: IActivityHistoryItem): boolean {\n    const enabledCommonFilters = this.commonFilters.filter((f) => f.enabled);\n    const finalCommonSpec = enabledCommonFilters.reduce((acc, filter) => {\n      return acc.and(new filter.spec());\n    }, new TrueSpec());\n    return finalCommonSpec.isSatisfiedBy(item);\n  }\n}\n","import { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\n\nexport class FalseSpec extends Spec<IActivityHistoryItem> {\n  isSatisfiedBy(): boolean {\n    return false;\n  }\n}\n","import { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\n\nexport class PropPathSpec extends Spec<IActivityHistoryItem> {\n  constructor(\n    public propPath: string[],\n    private value: any,\n  ) {\n    super();\n  }\n\n  isSatisfiedBy(context: IActivityHistoryItem): boolean {\n    // Reducir el context siguiendo el path hasta llegar al valor final\n    const propValue = this.propPath.reduce((acc, key) => acc?.[key], context);\n\n    // Comparar con el valor esperado\n    return propValue === this.value;\n  }\n}\n","import { IActivityHistoryCommonFilterGroup, IActivityHistoryCustomFilterGroup } from \"../../filter\";\nimport { IActivityHistoryItem } from \"../model\";\nimport { FalseSpec } from \"./false-spec\";\nimport { PropPathSpec } from \"./prop-path-spec\";\nimport { Spec } from \"./spec\";\n\nexport class CustomFilterSpec extends Spec<IActivityHistoryItem> {\n  constructor(private filters: IActivityHistoryCustomFilterGroup[]) {\n    super();\n  }\n\n  isSatisfiedBy(item: IActivityHistoryItem): boolean {\n    const enabledGroups = this.filters.filter((group) => group.enabled);\n\n    if (enabledGroups.length === 0) {\n      return true; // No hay filtros activados, se aceptan todos los items\n    }\n\n    return enabledGroups.every((group) => {\n      if (!this.belongsToGroup(item, group)) {\n        return true;\n      }\n\n      const enabledFilters = group.filters.filter(\n        (filter) => filter.enabled || filter.singleOption,\n      );\n\n      if (enabledFilters.length === 0) {\n        return true;\n      }\n\n      return enabledFilters.every((filter) => {\n        if (filter.singleOption) {\n          // Si el filtro booleano está DESACTIVADO, debe filtrar los elementos con ese valor\n          return !filter.enabled\n            ? new PropPathSpec(filter.propPathValue, false).isSatisfiedBy(item)\n            : true; // Si está activado, no filtra nada\n        }\n\n        if (!filter.enabledValues || filter.enabledValues.length === 0) {\n          return true;\n        }\n\n        const propSpec = filter.enabledValues.reduce((acc, value) => {\n          return acc.or(new PropPathSpec(filter.propPathValue, value));\n        }, new FalseSpec());\n\n        return propSpec.isSatisfiedBy(item);\n      });\n    });\n  }\n\n  private belongsToGroup(\n    item: IActivityHistoryItem,\n    group: IActivityHistoryCustomFilterGroup,\n  ): boolean {\n    return item.type === group.id;\n  }\n}\n","import { IDiagnosticWithRelations } from \"../../filter/model\";\nimport { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\n\nexport class DiagnosticCodeSpec extends Spec<IActivityHistoryItem> {\n  private diagnosticCodes: string[];\n\n  constructor(diagnostics: IDiagnosticWithRelations[]) {\n    super();\n    this.diagnosticCodes = this.extractAllCodes(diagnostics);\n  }\n\n  private extractAllCodes(diagnostics: IDiagnosticWithRelations[]): string[] {\n    const codes = new Set<string>();\n\n    for (const diagnostic of diagnostics) {\n      // Afegir el codi principal (pare)\n      if (diagnostic.codi) {\n        codes.add(diagnostic.codi);\n      }\n      // Afegir codis de les evolucions\n      if (diagnostic.evolucions && Array.isArray(diagnostic.evolucions)) {\n        for (const evolucio of diagnostic.evolucions) {\n          if (evolucio.codi) {\n            codes.add(evolucio.codi);\n          }\n        }\n      }\n      // Afegir codis de les relacions\n      if (diagnostic.relacions && Array.isArray(diagnostic.relacions)) {\n        for (const relacio of diagnostic.relacions) {\n          if (relacio.codi) {\n            codes.add(relacio.codi);\n          }\n        }\n      }\n    }\n\n    return Array.from(codes);\n  }\n\n  isSatisfiedBy(item: IActivityHistoryItem): boolean {\n    if (!this.diagnosticCodes?.length) {\n      return true; // No es filtra si no hi ha diagnòstics\n    }\n\n    const itemDiagnostics = item.diagnostics ?? [];\n\n    return itemDiagnostics.some((d) => this.diagnosticCodes.includes(d.codi));\n  }\n}\n","export const normalizeStringToNFD = (text: string | number | boolean | null | undefined) => {\n  if (text == null) return \"\";\n  const str = String(text);\n  const normalized = str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n  return normalized.toLocaleLowerCase();\n};\n","import { normalizeStringToNFD } from \"./normalize-string\";\n\nexport const propContainsString = (prop: any, searchString: string) => {\n  const newProp = normalizeStringToNFD(prop);\n  const newSearchString = normalizeStringToNFD(searchString);\n  return (\n    newProp.toString().toLowerCase().indexOf(newSearchString) !== -1 ||\n    newProp.toString().indexOf(newSearchString) !== -1\n  );\n};\n","import { IActivityHistoryItem, TSearchActivityHistoryItemPredicate } from \"../model\";\nimport { Spec } from \"./spec\";\nimport { propContainsString } from \"../../../utils/prop-contains-string\";\n\nconst commonFieldsSearchPredicate = (item: IActivityHistoryItem, searchString: string) => {\n  const professionalNameContainsSearchString =\n    item.professional?.name && propContainsString(item.professional?.name, searchString);\n  const centerNameContainsSearchString = item.center?.description && propContainsString(item.center.description, searchString);\n  const specialityNameContainsSearchString =\n    item.professional?.speciality?.description && propContainsString(item.professional?.speciality.description, searchString);\n  const roleNameContainsSearchString =\n    item.professional?.role?.description && propContainsString(item.professional?.role.description, searchString);\n  const serviceNameContainsSearchString = item.service?.description && propContainsString(item.service.description, searchString);\n  const upNameContainsSearchString = item.up?.description && propContainsString(item.up.description, searchString);\n  const diagnosticsMatch = item.diagnostics?.some(\n    (diagnostic) => propContainsString(diagnostic.descripcio, searchString),\n  );\n  return (\n    professionalNameContainsSearchString ||\n    centerNameContainsSearchString ||\n    specialityNameContainsSearchString ||\n    roleNameContainsSearchString ||\n    serviceNameContainsSearchString ||\n    upNameContainsSearchString ||\n    diagnosticsMatch\n  );\n};\n\nexport class SearchStringSpec extends Spec<IActivityHistoryItem> {\n  constructor(\n    public searchString: string,\n    public searchPredicate: TSearchActivityHistoryItemPredicate,\n  ) {\n    super();\n  }\n\n  isSatisfiedBy(context: IActivityHistoryItem): boolean {\n    // Si searchString está vacío o solo tiene espacios, no filtramos y devolvemos true\n    if (!this.searchString?.trim()) {\n      return true;\n    }\n\n    // Verificamos coincidencias en los campos comunes\n    const matchesCommonFields = commonFieldsSearchPredicate(context, this.searchString);\n\n    // Verificamos coincidencias con el searchPredicate\n    const matchesSearchPredicate = this.searchPredicate ? this.searchPredicate(this.searchString.toLowerCase(), context) : false;\n\n    // Aseguramos que siempre se retorne un valor booleano\n    return !!(matchesCommonFields || matchesSearchPredicate);\n  }\n}\n","import { IActivityHistoryCustomFilterGroup } from \"../../filter\";\nimport { IActivityHistoryItem } from \"../model\";\nimport { FalseSpec } from \"./false-spec\";\nimport { Spec } from \"./spec\";\n\nexport class TypeSpec extends Spec<IActivityHistoryItem> {\n  constructor(public itemType: string) {\n    super();\n  }\n  isSatisfiedBy(context: IActivityHistoryItem): boolean {\n    return context?.type === this.itemType;\n  }\n}\n\nexport class ComposedTypeSpec extends Spec<IActivityHistoryItem> {\n  constructor(public filters: IActivityHistoryCustomFilterGroup[]) {\n    super();\n  }\n  isSatisfiedBy(item: IActivityHistoryItem): boolean {\n    const enabledGroupTypes = this.filters.filter((f) => f.enabled).map((f) => f.id);\n\n    // Si no hay filtros de tipo habilitados, aceptar todos los items\n    if (enabledGroupTypes.length === 0) {\n      return true;\n    }\n\n    const finalSpec = enabledGroupTypes.reduce((acc, groupId) => {\n      return acc.or(new TypeSpec(groupId));\n    }, new FalseSpec());\n    return finalSpec.isSatisfiedBy(item);\n  }\n}\n","import { IActivityHistoryItem } from \"../model\";\nimport { Spec } from \"./spec\";\n\nexport class UpFilterSpec extends Spec<IActivityHistoryItem> {\n  constructor(private upIds: string[]) {\n    super();\n  }\n\n  isSatisfiedBy(item: IActivityHistoryItem): boolean {\n    if (!this.upIds?.length) {\n      return true; // No se filtra si no se proporcionan códigos\n    }\n\n    const itemUp = item.up ?? null;\n\n    return this.upIds.some((upId) => itemUp.id === upId);\n  }\n}\n","import { RootState } from \"../../infrastructure/state/store\";\n\nexport const activityHistoryFiltersSelector = (state: RootState) =>\n  state.activityHistoryFilters.filters;\n","import { createSelector } from \"@reduxjs/toolkit\";\nimport { isCommonFilterGroup } from \"../model\";\nimport { activityHistoryFiltersSelector } from \"../selectors\";\n\nexport const activityHistoryCommonFiltersSelector = createSelector(\n  activityHistoryFiltersSelector,\n  (filters) => filters.find(isCommonFilterGroup)?.filters || [],\n);\n\nexport const isEnabledCommonFilterSelector = (filterId: string) =>\n  createSelector(\n    activityHistoryCommonFiltersSelector,\n    (filterSpecs) => filterSpecs?.find((s) => s.id === filterId)?.enabled,\n  );\n\nexport const activityHistoryEnabledCommonFiltersSelector = createSelector(\n  activityHistoryCommonFiltersSelector,\n  (filters) => filters.filter((f) => f.enabled),\n);\n\nexport const areCommonFiltersActive = createSelector(\n  activityHistoryEnabledCommonFiltersSelector,\n  (filters) => !!filters.length,\n);\n","import { createSelector } from \"@reduxjs/toolkit\";\nimport {\n  IActivityHistoryCustomFilterGroup,\n  IActivityHistoryFilter,\n  isCustomFilter,\n} from \"../model\";\nimport { activityHistoryFiltersSelector } from \"../selectors\";\n\nexport const activityHistoryCustomFilterGroupsSelector = createSelector(\n  activityHistoryFiltersSelector,\n  (filters: IActivityHistoryFilter[]) => {\n    const customFilters = filters.filter(isCustomFilter);\n    return customFilters.sort(sortBySortProperty);\n  },\n);\n\nconst sortBySortProperty = (\n  a: IActivityHistoryCustomFilterGroup,\n  b: IActivityHistoryCustomFilterGroup,\n) => Number(a.sort) - Number(b.sort);\n\nexport const areCustomFiltersActive = createSelector(\n  activityHistoryCustomFilterGroupsSelector,\n  (filters: IActivityHistoryCustomFilterGroup[]) => {\n    return filters.some((filter) =>\n      filter.filters.some((singleFilter) => singleFilter.enabledValues?.length),\n    );\n  },\n);\n\nexport const activeGroupsWithEnabledFilters = createSelector(\n  activityHistoryCustomFilterGroupsSelector,\n  (filters: IActivityHistoryCustomFilterGroup[]) => {\n    return filters\n      .filter((group) => group.enabled)\n      .map(({ id, title, enabled, sort, filters }) => ({\n        id,\n        title,\n        enabled,\n        sort,\n        filters: filters.filter((filter) => filter.enabledValues?.length),\n      }))\n      .filter((group) => group.filters.length > 0);\n  },\n);\n","import { createSelector } from \"@reduxjs/toolkit\";\nimport {\n  IActivityHistoryDiagnosticsFilter,\n  IActivityHistoryFilter,\n  IDiagnosticWithRelations,\n  isDiagnosticFilter,\n} from \"../model\";\nimport { activityHistoryFiltersSelector } from \"../selectors\";\n\nexport const diagnosticFilterSelector = createSelector(activityHistoryFiltersSelector, (filters: IActivityHistoryFilter[]) =>\n  filters.find(isDiagnosticFilter),\n);\n\nexport const diagnosticFilterEnabledValuesSelector = createSelector(\n  diagnosticFilterSelector,\n  (filter: IActivityHistoryDiagnosticsFilter) => filter?.enabledValues || [],\n);\n\nexport const areDiagnosticFiltersActive = createSelector(\n  diagnosticFilterEnabledValuesSelector,\n  (filters) => !!filters.length,\n);\n","import { createSelector } from \"@reduxjs/toolkit\";\nimport { IActivityHistoryFilter, IActivityHistoryUpFilter, isUpFilter } from \"../model\";\nimport { activityHistoryFiltersSelector } from \"../selectors\";\n\nexport const upFilterSelector = createSelector(activityHistoryFiltersSelector, (filters: IActivityHistoryFilter[]) =>\n  filters.find(isUpFilter),\n);\n\nexport const upFilterEnabledValuesSelector = createSelector(\n  upFilterSelector,\n  (filter: IActivityHistoryUpFilter) => filter?.enabledValues || [],\n);\n\nexport const areUpFiltersActive = createSelector(upFilterEnabledValuesSelector, (filters) => !!filters.length);\n","import { IActivityHistoryDiagnostic } from \"../../model\";\n\nexport const areSameDiagnostics = (\n  diag1: IActivityHistoryDiagnostic[],\n  diag2: IActivityHistoryDiagnostic[],\n): boolean => {\n  if (diag1.length !== diag2.length) {\n    return false;\n  }\n\n  const sortedDiag1 = diag1.map((d) => d.codi).sort();\n  const sortedDiag2 = diag2.map((d) => d.codi).sort();\n\n  return sortedDiag1.every((id, index) => id === sortedDiag2[index]);\n};\n","import { IActivityHistoryDiagnostic } from \"../../model\";\n\nexport const hasValidDiagnostic = (diagnostic: IActivityHistoryDiagnostic) => {\n  return (\n    diagnostic !== null &&\n    diagnostic !== undefined &&\n    typeof diagnostic.codi === \"string\" &&\n    (typeof diagnostic.cataleg === \"string\" || diagnostic.cataleg === null) &&\n    typeof diagnostic.descripcio === \"string\"\n  );\n};\n\n// Comprueba las propiedades de un diagnóstico\nexport const hasValidDiagnostics = (diagnostics: IActivityHistoryDiagnostic[]) => {\n  if (diagnostics === null || diagnostics === undefined) {\n    return true;\n  }\n\n  return Array.isArray(diagnostics) && diagnostics.every(hasValidDiagnostic);\n};\n","import { generateId } from \"@primaria/plugins-core\";\nimport { IActivityHistoryGroup, IActivityHistoryItem, IActivityHistorySubGroup } from \"../../domain/model\";\nimport { areSameDiagnostics } from \"../../domain/validation/diagnostics/are-same-diagnostics\";\nimport { hasValidDiagnostics } from \"../../domain/validation/diagnostics/has-valid-diagnostics\";\n\n// Cache para evitar recalcular fechas\nconst dateStringCache = new Map<string, string>();\nconst dateObjectCache = new Map<string, Date>();\n\nconst getDateString = (dateStr: string): string => {\n  if (!dateStringCache.has(dateStr)) {\n    dateStringCache.set(dateStr, new Date(dateStr).toDateString());\n  }\n  return dateStringCache.get(dateStr)!;\n};\n\nconst getDateObject = (dateStr: string): Date => {\n  if (!dateObjectCache.has(dateStr)) {\n    dateObjectCache.set(dateStr, new Date(dateStr));\n  }\n  return dateObjectCache.get(dateStr)!;\n};\n\n// Crear una clave base sin servicio (para comparaciones cuando el servicio no está informado)\nconst createVisitKeyWithoutService = (item: IActivityHistoryItem): string => {\n  const professionalKey = `${item.professional?.id || 'null'}-${item.professional?.role?.id || 'null'}-${item.professional?.speciality?.id || 'null'}`;\n  const locationKey = `${item.ep?.id || 'null'}-${item.up?.id || 'null'}-${item.center?.id || 'null'}`;\n  const dayKey = getDateString(item.date);\n\n  return `${professionalKey}|${locationKey}|${dayKey}`;\n};\n\n// Verificar si el servicio está informado (null, undefined o string vacío = no informado)\nconst hasService = (item: IActivityHistoryItem): boolean => {\n  return item.service?.id != null && item.service.id !== \"\";\n};\n\n// Comparar si dos items pueden agruparse juntos\n// Si alguno de los items no tiene servicio informado, se ignora el servicio en la comparación\nconst canGroupTogether = (item1: IActivityHistoryItem, item2: IActivityHistoryItem): boolean => {\n  const baseKey1 = createVisitKeyWithoutService(item1);\n  const baseKey2 = createVisitKeyWithoutService(item2);\n\n  // Si las claves base no coinciden, no se pueden agrupar\n  if (baseKey1 !== baseKey2) return false;\n\n  // Si alguno no tiene servicio informado, se pueden agrupar (ya que la base coincide)\n  if (!hasService(item1) || !hasService(item2)) return true;\n\n  // Si ambos tienen servicio, deben coincidir\n  return item1.service?.id === item2.service?.id;\n};\n\nconst withinEightHours = (date1: string, date2: string): boolean => {\n  const time1 = getDateObject(date1).getTime();\n  const time2 = getDateObject(date2).getTime();\n  return Math.abs(time1 - time2) <= 8 * 60 * 60 * 1000; // 8 hours in milliseconds\n};\n\nfunction groupByValidDiagnostics(groups: IActivityHistoryGroup[]) {\n  groups.forEach((group) => {\n    const subGroups: IActivityHistorySubGroup[] = [];\n    const remainingItems: IActivityHistoryItem[] = [];\n\n    group.items.forEach((item) => {\n      const diagnostics = item.diagnostics;\n      const allDiagnosticsValid = diagnostics?.length > 0 && hasValidDiagnostics(diagnostics);\n\n      if (allDiagnosticsValid) {\n        let addedToSubGroup = false;\n\n        // Optimización: usar for...of con break para salir temprano\n        for (const subGroup of subGroups) {\n          const firstSubGroupItem = subGroup.items[0];\n\n          if (areSameDiagnostics(firstSubGroupItem.diagnostics, diagnostics)) {\n            subGroup.items.push(item);\n            addedToSubGroup = true;\n            break;\n          }\n        }\n\n        if (!addedToSubGroup) {\n          subGroups.push({\n            idSubGroup: generateId(),\n            items: [item],\n          });\n        }\n      } else {\n        remainingItems.push(item);\n      }\n    });\n\n    group.items = remainingItems;\n    group.subGroups = subGroups;\n  });\n}\n\nconst groupActivityHistoryItems = (items: IActivityHistoryItem[]): IActivityHistoryGroup[] => {\n  if (!items?.length) return [];\n\n  // Clear caches\n  dateStringCache.clear();\n  dateObjectCache.clear();\n\n  // Sort all items by date (most recent first)\n  const sortedItems = [...items].sort((a, b) =>\n    getDateObject(b.date).getTime() - getDateObject(a.date).getTime()\n  );\n\n  // Use a Map to track groups by base visit key (without service) for O(1) lookup\n  const groupsByBaseKey = new Map<string, IActivityHistoryGroup[]>();\n  const allGroups: IActivityHistoryGroup[] = [];\n\n  for (const item of sortedItems) {\n    const itemBaseKey = createVisitKeyWithoutService(item);\n    const itemTime = getDateObject(item.date).getTime();\n    let addedToExistingGroup = false;\n\n    // Get all groups for this base key (O(1) lookup)\n    const candidateGroups = groupsByBaseKey.get(itemBaseKey) || [];\n\n    // Try to add to an existing group with the same base key\n    for (const group of candidateGroups) {\n      const firstItem = group.items[0];\n      const lastItem = group.items[group.items.length - 1];\n\n      if (!firstItem || !lastItem) continue;\n\n      // Check if items can be grouped together (handles service logic)\n      if (!canGroupTogether(firstItem, item)) continue;\n\n      // Verificar si está dentro del rango de 8 horas\n      if (\n        withinEightHours(firstItem.date, item.date) &&\n        withinEightHours(lastItem.date, item.date)\n      ) {\n        // Check for temporal conflicts with other groups\n        const groupStartTime = getDateObject(lastItem.date).getTime();\n        const groupEndTime = getDateObject(firstItem.date).getTime();\n        const newGroupStartTime = Math.min(groupStartTime, itemTime);\n        const newGroupEndTime = Math.max(groupEndTime, itemTime);\n\n        let hasTemporalConflict = false;\n\n        // Only check groups with different base keys (different professionals/locations)\n        for (const [otherKey, otherGroups] of groupsByBaseKey) {\n          if (otherKey === itemBaseKey) continue;\n\n          for (const otherGroup of otherGroups) {\n            for (const otherItem of otherGroup.items) {\n              const otherTime = getDateObject(otherItem.date).getTime();\n              if (otherTime > newGroupStartTime && otherTime < newGroupEndTime) {\n                hasTemporalConflict = true;\n                break;\n              }\n            }\n            if (hasTemporalConflict) break;\n          }\n          if (hasTemporalConflict) break;\n        }\n\n        if (!hasTemporalConflict) {\n          group.items.push(item);\n          // Items are already sorted in sortedItems, no need to re-sort\n          addedToExistingGroup = true;\n          break;\n        }\n      }\n    }\n\n    // Create new group if not added to existing one\n    if (!addedToExistingGroup) {\n      const newGroup: IActivityHistoryGroup = {\n        idGroup: Math.random().toString(36).substring(2, 11),\n        items: [item],\n        subGroups: [],\n      };\n\n      allGroups.push(newGroup);\n\n      // Add to the map using base key (without service)\n      const keyGroups = groupsByBaseKey.get(itemBaseKey);\n      if (keyGroups) {\n        keyGroups.push(newGroup);\n      } else {\n        groupsByBaseKey.set(itemBaseKey, [newGroup]);\n      }\n    }\n  }\n\n  // Sort groups by the most recent item date in each group\n  allGroups.sort((a, b) => {\n    const aFirstItem = a.items[0];\n    const bFirstItem = b.items[0];\n    if (!aFirstItem || !bFirstItem) return 0;\n    return getDateObject(bFirstItem.date).getTime() - getDateObject(aFirstItem.date).getTime();\n  });\n\n  // Create subgroups by matching diagnostics\n  groupByValidDiagnostics(allGroups);\n\n  return allGroups;\n};\n\nexport { groupActivityHistoryItems };\n","import { IActivityHistoryGroup } from \"../../domain/model\";\n\n// Helper: obtener la fecha más reciente de una lista de items\nconst getMostRecentDate = (items: { date: string }[]): Date => {\n  return items.reduce((latest, item) => {\n    const itemDate = new Date(item.date);\n    return itemDate > latest ? itemDate : latest;\n  }, new Date(0));\n};\n\n// Obtener la fecha más reciente de un subgrupo\nconst getSubGroupMostRecentDate = (subGroup: { items: { date: string }[] }): Date => {\n  return getMostRecentDate(subGroup.items);\n};\n\n/**\n * Fecha por la que un grupo queda posicionado en la lista: la más reciente\n * considerando TANTO sus items planos COMO sus subgrupos (diagnósticos).\n *\n * IMPORTANTE: esta es la misma clave que usa `sortGroupsByMostRecentDate` para\n * ordenar. Cualquier funcionalidad que mapee una fecha a la posición de un grupo\n * (p. ej. \"Anar a data\") DEBE usar esta función y no `group.items[0].date`, que\n * puede ser más antigua que el subgrupo y romper la monotonía del orden.\n */\nexport const getGroupMostRecentDate = (group: IActivityHistoryGroup): Date => {\n  const itemDates = group.items.length > 0 ? [getMostRecentDate(group.items)] : [];\n  const subGroupDates = group.subGroups.map(getSubGroupMostRecentDate);\n  const allDates = [...itemDates, ...subGroupDates];\n  return allDates.length > 0 ? new Date(Math.max(...allDates.map((d) => d.getTime()))) : new Date(0);\n};\n\nexport const sortGroupsByMostRecentDate = (arr: IActivityHistoryGroup[]) => {\n  // Ordenar items de más reciente a más antiguo\n  const sortItemsByDate = (items: { date: string }[]) => {\n    return items.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime());\n  };\n\n  // Procesar cada grupo\n  arr.forEach((group) => {\n    // Ordenar items del grupo\n    group.items = sortItemsByDate(group.items);\n\n    // Ordenar items de cada subgrupo\n    group.subGroups.forEach((subGroup) => {\n      subGroup.items = sortItemsByDate(subGroup.items);\n    });\n\n    // Ordenar subgrupos según el item más reciente en cada uno\n    group.subGroups.sort((a, b) => getSubGroupMostRecentDate(b).getTime() - getSubGroupMostRecentDate(a).getTime());\n  });\n\n  // Finalmente, ordenar los grupos por su fecha más reciente\n  return arr.sort((a, b) => getGroupMostRecentDate(b).getTime() - getGroupMostRecentDate(a).getTime());\n};\n","import { RootState } from \"../../infrastructure/state/store\";\n\nexport const activityHistorySearchStringSelector = (state: RootState) =>\n  state.activityHistoryFilters.searchString;\n","import { createSelector } from \"@reduxjs/toolkit\";\nimport { RootState } from \"../infrastructure/state/store\";\nimport { getUniqueObjects } from \"../utils/get-unique-values-by-prop-path\";\nimport {\n  IActivityHistoryItem,\n  IActivityHistoryItemCollection,\n  IHistoryDataImporterRules,\n  TSearchActivityHistoryItemPredicate,\n} from \"./domain/model\";\nimport { CommonFilterSpec } from \"./domain/specs/common-filter-spec\";\nimport { CustomFilterSpec } from \"./domain/specs/custom-filter-spec\";\nimport { DiagnosticCodeSpec } from \"./domain/specs/diagnostics-filter-spec\";\nimport { SearchStringSpec } from \"./domain/specs/search-string-spec\";\nimport { ComposedTypeSpec } from \"./domain/specs/type-spec\";\nimport { UpFilterSpec } from \"./domain/specs/up-filter-spec\";\nimport { IActivityHistoryCommonFilter, IActivityHistoryCustomFilterGroup, IDiagnosticWithRelations } from \"./filter\";\nimport { activityHistoryCommonFiltersSelector } from \"./filter/common-filters/selectors\";\nimport { activityHistoryCustomFilterGroupsSelector } from \"./filter/custom-filters/selectors\";\nimport { diagnosticFilterEnabledValuesSelector } from \"./filter/diagnostic-filters/selectors\";\nimport { upFilterEnabledValuesSelector } from \"./filter/up-filters/selectors\";\nimport { groupActivityHistoryItems } from \"./list/group-history-items/group-history-items\";\nimport { sortGroupsByMostRecentDate } from \"./list/sort-history-items-by-date/sort-history-items-by-date\";\nimport { activityHistorySearchStringSelector } from \"./search/selectors\";\n\nexport const activityHistoryCollectionsSelector = (state: RootState) => state.activityHistoryCollections.collections;\n\nexport const historyDataImporterRulesByCollectionIdSelector = createSelector(\n  activityHistoryCollectionsSelector,\n  (collections: Record<string, IActivityHistoryItemCollection>): Record<string, IHistoryDataImporterRules> => {\n    const rules: Record<string, IHistoryDataImporterRules> = {};\n    for (const [id, collection] of Object.entries(collections)) {\n      if (collection?.historyDataImporterRules) {\n        rules[id] = collection.historyDataImporterRules;\n      }\n    }\n    return rules;\n  },\n);\n\nconst mapItemsWithMetadata = (\n  items: IActivityHistoryItem[],\n  componentFactory: any,\n  type: string,\n  searchPredicate: TSearchActivityHistoryItemPredicate,\n) => {\n  return items.map(\n    (item) =>\n      ({\n        ...item,\n        searchPredicate,\n        componentFactory,\n        type,\n      }) as IActivityHistoryItem,\n  );\n};\n\nexport const activityHistoryMappedItems = createSelector(\n  activityHistoryCollectionsSelector,\n  (collections: Record<string, IActivityHistoryItemCollection>) => {\n    return Object.values(collections).flatMap((collection: IActivityHistoryItemCollection) => {\n      return mapItemsWithMetadata(collection.items, collection.componentFactory, collection.id, collection.searchPredicate);\n    });\n  },\n);\n\nexport const customFilterGroupsWithItemsSelector = createSelector(\n  activityHistoryCustomFilterGroupsSelector,\n  activityHistoryCollectionsSelector,\n  (filterGroups: IActivityHistoryCustomFilterGroup[], collections: Record<string, IActivityHistoryItemCollection>) => {\n    return filterGroups.filter((g: IActivityHistoryCustomFilterGroup) => {\n      const filterCollection = collections[g.id] as IActivityHistoryItemCollection;\n      return filterCollection?.items && filterCollection.items.length > 0;\n    });\n  },\n);\nexport const customFilterGroupsWithOptionsSelector = createSelector(\n  activityHistoryCustomFilterGroupsSelector,\n  activityHistoryCollectionsSelector,\n  (filterGroupsWithItems: IActivityHistoryCustomFilterGroup[], collections: Record<string, IActivityHistoryItemCollection>) => {\n    const result = filterGroupsWithItems.map((filterGroup: IActivityHistoryCustomFilterGroup) => {\n      const collection = collections[filterGroup.id] as IActivityHistoryItemCollection;\n      return {\n        ...filterGroup,\n        filters: filterGroup.filters.map((f) => {\n          return {\n            ...f,\n            options:\n              (!f.singleOption\n                ? collection?.items &&\n                  getUniqueObjects<IActivityHistoryItem>(collection.items, f.propPathValue, f.propsPathDescription, f.title)\n                : []) || [],\n          };\n        }),\n      };\n    });\n    return result;\n  },\n);\n\nexport const activityHistoryGroupedItems = createSelector(\n  activityHistoryMappedItems,\n  activityHistorySearchStringSelector,\n  activityHistoryCommonFiltersSelector,\n  activityHistoryCustomFilterGroupsSelector,\n  diagnosticFilterEnabledValuesSelector,\n  upFilterEnabledValuesSelector,\n  (\n    items: IActivityHistoryItem[],\n    searchString: string,\n    commonFilters: IActivityHistoryCommonFilter[],\n    customFilters: IActivityHistoryCustomFilterGroup[],\n    diagnosticFilterEnabledValues: IDiagnosticWithRelations[],\n    upFilterEnabledValues: string[],\n  ) => {\n    // Create the filter spec chain ONCE instead of creating it for every item\n    const commonFilterSpec = new CommonFilterSpec(commonFilters);\n    const typeSpec = new ComposedTypeSpec(customFilters);\n    const customFilterSpec = new CustomFilterSpec(customFilters);\n    const diagnosticSpec = new DiagnosticCodeSpec(diagnosticFilterEnabledValues);\n    const upSpec = new UpFilterSpec(upFilterEnabledValues);\n\n    const filteredItems = items.filter((item: IActivityHistoryItem) => {\n      // Create search spec per item since it needs item.searchPredicate\n      const searchSpec = new SearchStringSpec(searchString, item.searchPredicate);\n\n      return searchSpec\n        .and(commonFilterSpec)\n        .and(typeSpec)\n        .and(customFilterSpec)\n        .and(diagnosticSpec)\n        .and(upSpec)\n        .isSatisfiedBy(item);\n    });\n\n    const groupedItems = groupActivityHistoryItems(filteredItems);\n    const sortedByMostRecentDate = sortGroupsByMostRecentDate(groupedItems);\n    return sortedByMostRecentDate;\n  },\n);\n","export class SetCommonFilter {\n  constructor(public payload: { id: string; enabled: boolean }) {}\n}\n","export interface SetCustomFilterAllValuesPayload {\n  filterGroupId: string;\n  filterId: string;\n  values: string[];\n}\n\nexport class SetCustomFilterAllValues {\n  constructor(public payload: SetCustomFilterAllValuesPayload) {}\n}\n","export class SetCustomFilterGroup {\n  constructor(public payload: { id: string; enabled: boolean }) {}\n}\n","export interface SetCustomFilterValuePayload {\n  filterGroupId: string;\n  filterId: string;\n  optionId: string;\n  enabled: boolean;\n}\n\nexport class SetCustomFilterValue {\n  constructor(public payload: SetCustomFilterValuePayload) {}\n}\n","export class SetUpFiltersCommand {\n  constructor(public payload: string[]) {}\n}\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction nn(n,r,t){return n?r(n):t?.(n)}export{nn as when};\n//# sourceMappingURL=when.js.map\n","import { generateId } from \"@primaria/plugins-core\";\nimport { html } from \"lit\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { when } from \"lit/directives/when.js\";\nimport { translate } from \"../../../../localization\";\nimport {\n  ActivityHistoryFilterType,\n  IActivityHistoryCommonFilter,\n  IActivityHistoryCustomFilter,\n  IActivityHistoryCustomFilterGroup,\n  IActivityHistoryFilter,\n} from \"../../model\";\nimport { ActivityHistoryFilters } from \"./activity-history-filters\";\n\nconst filterTemplates = {\n  [ActivityHistoryFilterType.Switch]: (id, title, handleChange, isSelected, isEnabled) => html`\n    <dss-input-switch size=\"sm\" @onChangeValue=${handleChange} .checked=${isSelected}>\n      <input slot=\"input\" id=\"switch-${id}\" aria-label=${title} type=\"checkbox\"  ?disabled=${!isEnabled}>\n      <label slot=\"label\" for=\"switch-${id}\">${title || id}</label>\n    </dss-input-switch>`,\n\n  [ActivityHistoryFilterType.Checkbox]: (id, title, handleChange, isSelected, isEnabled) => html`\n    <dss-checkbox variant=\"default\" @onChange=${(e) => handleChange(e)}> \n      <input slot=\"input\" id=\"checkboxStory-${id}\" type=\"checkbox\" .checked=${isSelected} ?disabled=${!isEnabled}>\n      <label slot=\"label\" for=\"checkboxStory-${id}\">${title || id}</label>\n    </dss-checkbox>`,\n\n  /* [ActivityHistoryFilterType.Dropdown]: (id, title, handleChange, isSelected, isEnabled) => html`\n    <dss-input-dropdown type=\"default\" @onChange=${(e) => handleChange(e)}> \n      <input slot=\"input\" id=\"dropdownStory-${id}\" type=\"text\" .checked=${isSelected} ?disabled=${!isEnabled}>\n      <label slot=\"label\" for=\"dropdownStory-${id}\">${title || id}</label>\n    </dss-input-dropdown>`, */\n};\n\nconst getFilterTemplate = (\n  filter: IActivityHistoryCommonFilter & IActivityHistoryCustomFilter,\n  onChangeValue: (...args: any[]) => void,\n  filterGroup?: IActivityHistoryFilter,\n  option?: { id: string; title: string },\n) => {\n  const isCustom = !!filterGroup?.id && !!option;\n  //const id = isCustom ? `${filterGroupId}-${filter.id}-${option.id}` : filter.id;\n  const id = generateId();\n  const title = isCustom ? option.title || option.id : filter.title;\n\n  const handleChange = (e) => {\n    if (filter.singleOption) onChangeValue(filterGroup?.id, filter.id, null, e.detail);\n    else if (isCustom && option) onChangeValue(filterGroup?.id, filter.id, option.id, e.detail);\n    else onChangeValue(filter.id, e.detail);\n  };\n\n  const isSelected =\n    isCustom && option ? (filter as IActivityHistoryCustomFilter).enabledValues?.includes(option.id) : filter.enabled;\n\n  const isEnabled =\n    (isCustom && option) || filter.singleOption ? (filterGroup as IActivityHistoryCustomFilterGroup).enabled : true;\n\n  return filterTemplates[filter.type]?.(id, title, handleChange, isSelected, isEnabled) || html``;\n};\n\nexport const template = (props: ActivityHistoryFilters) =>\n  html`\n  <div class=\"filters-sidebar\" ?expanded=${props.filtersExpanded} >\n      ${\n        props.filtersExpanded\n          ? html`<div class=\"filters-sidebar-opened\">${translate(\"filters.filters\")}<dss-icon-button ?hidden=${props.wrapperMaximized} @click=${() => props._toggleFilters()} size=\"md\" variant=\"primary\" icon=\"keyboard_double_arrow_left\"></dss-icon-button></div>\n          <div class=\"filter-container\">\n                  ${repeat(props.commonFilters, (filter: IActivityHistoryCommonFilter) => html`<div class=\"filter\">${getFilterTemplate(filter, props._onChangeCommonFilterValue.bind(props))}</div> `)}\n                  <!-- Regió per al filtre de diagnostics extern -->\n                  <div class=\"filter\">\n                    <primaria-region name=${props.api.regionManager.regions.activityHistory.customFilters}></primaria-region>\n                  </div>\n                  ${\n                    props.upFilter &&\n                    html`<div class=\"filter\">\n                      <dss-input-dropdown inputsize=\"md\" icon=\"\" multiple dropdownFixed type=\"default\" .elements=${props.upFilter?.values} @onInputDropdownChange=${props._handleUpFilterChange} .selectedValue=${props.upFilterEnabledValues} selectorStyle=${\"max-height: 450px\"}>\n                        <label slot=\"label\" for=\"up-filter\">${props.upFilter.title}</label>\n                        <input id=\"up-filter\" slot=\"input\" type=\"text\" class=\"dss-input\" autocomplete=\"off\"/>\n                      </dss-input-dropdown>\n                    </div>`\n                  }\n                  ${repeat(\n                    props.customFilterGroups,\n                    (group: IActivityHistoryCustomFilterGroup) => html`\n                  <div class=\"filter-group\">\n                    <dss-input-switch size=\"sm\" .checked=${group.enabled} @onChangeValue=${(e) => props._onChangeCustomFilterGroupValue(group.id, e.detail)}>\n                      <input slot=\"input\" id=\"switch-${group.id}\" aria-label=${group.title} type=\"checkbox\">\n                      <label slot=\"label\" for=\"switch-${group.id}\">${group.title}</label>\n                    </dss-input-switch>\n                    <div class=\"custom-subfilters-container\">\n                      ${\n                        group?.filters &&\n                        repeat(group.filters, (filter: IActivityHistoryCustomFilter) =>\n                          customFilterTemplate(filter, props, group),\n                        )\n                      }\n                    </div>\n                  </div> `,\n                  )}\n                </div> `\n          : html`\n            <dss-icon-button tooltipFixed label=${translate(\"filters.filters\")} @click=${() => props._toggleFilters()} size=\"md\" variant=\"primary\" icon=\"filter_list\"></dss-icon-button>\n          `\n      }\n  </div>\n  `;\n\nconst customFilterTemplate = (\n  filter: IActivityHistoryCustomFilter,\n  props: ActivityHistoryFilters,\n  group: IActivityHistoryCustomFilterGroup,\n) => {\n  if (filter.type === ActivityHistoryFilterType.Dropdown) {\n    const elements = filter?.options.map((option) => ({ value: option.id, label: option.title || option.id }));\n    return when(\n      elements.length > 0,\n      () => html`\n      <dss-input-dropdown\n        inputsize=\"md\"\n        icon=\"\"\n        multiple\n        dropdownFixed\n        type=\"default\"\n        .elements=${elements}\n        @onInputDropdownChange=${(e) => props._onChangeCustomFilterAllValues(group.id, filter.id, e.detail.selectedValue)}\n        .selectedValue=${filter.enabledValues}\n        selectorStyle=\"max-height: 450px\"\n      >\n        <label slot=\"label\">${filter.title}</label>\n        <input slot=\"input\" type=\"text\" class=\"dss-input\" autocomplete=\"off\" ?disabled=${!group.enabled} />\n      </dss-input-dropdown>\n    `,\n    );\n  }\n\n  return filter.singleOption\n    ? getFilterTemplate(filter, props._onChangeCustomFilterValue.bind(props), group)\n    : when(\n        !!filter.options?.length,\n        () => html`\n        <primaria-accordion>\n          <dss-typography slot=\"title\" tag=\"p\" variant=\"body-3\" fontweight=\"regular\">${filter.title}</dss-typography>\n          <div class=\"custom-filter-content\" slot=\"content\">\n            ${filter.options.map((option) =>\n              getFilterTemplate(filter, props._onChangeCustomFilterValue.bind(props), group, option),\n            )}\n          </div>\n        </primaria-accordion>\n      `,\n      );\n};\n","import { PrimariaApi } from \"@uxland/primary-shell\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { lazyInject } from \"../../../../infrastructure/ioc/container\";\nimport { TYPES } from \"../../../../infrastructure/ioc/types\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport { customFilterGroupsWithOptionsSelector } from \"../../../selectors\";\nimport { activityHistoryCommonFiltersSelector } from \"../../common-filters/selectors\";\nimport { SetCommonFilter } from \"../../common-filters/set-common-filter/request\";\nimport { SetCustomFilterAllValues } from \"../../custom-filters/set-custom-filter-all-values/request\";\nimport { SetCustomFilterGroup } from \"../../custom-filters/set-custom-filter-group/request\";\nimport { SetCustomFilterValue } from \"../../custom-filters/set-custom-filter-value/request\";\nimport { IActivityHistoryCommonFilter, IActivityHistoryCustomFilterGroup, IActivityHistoryUpFilter } from \"../../model\";\nimport { upFilterEnabledValuesSelector, upFilterSelector } from \"../../up-filters/selectors\";\nimport { SetUpFiltersCommand } from \"../../up-filters/set/request\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\n//@ts-ignore\n@customElement(\"activity-history-filters\")\nexport class ActivityHistoryFilters extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @connectedProperty(activityHistoryCommonFiltersSelector)\n  commonFilters: IActivityHistoryCommonFilter[];\n\n  @connectedProperty(customFilterGroupsWithOptionsSelector)\n  customFilterGroups: IActivityHistoryCustomFilterGroup[];\n\n  @connectedProperty(upFilterSelector)\n  upFilter: IActivityHistoryUpFilter;\n\n  @connectedProperty(upFilterEnabledValuesSelector)\n  upFilterEnabledValues: string[];\n\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  @state()\n  filtersExpanded = false;\n\n  @property({ type: Boolean })\n  wrapperMaximized: boolean;\n\n  updated(changedProperties) {\n    if (changedProperties.has(\"wrapperMaximized\")) {\n      this.filtersExpanded = this.wrapperMaximized;\n    }\n  }\n\n  _toggleFilters() {\n    this.filtersExpanded = !this.filtersExpanded;\n  }\n\n  _onChangeCommonFilterValue(filterId: string, value: boolean) {\n    this.api.broker.send(new SetCommonFilter({ id: filterId, enabled: value }));\n  }\n\n  _onChangeCustomFilterGroupValue(filterGroupId: string, value: boolean) {\n    this.api.broker.send(new SetCustomFilterGroup({ id: filterGroupId, enabled: value }));\n  }\n\n  _onChangeCustomFilterValue(filterGroupId: string, filterId: string, optionId: string, value: boolean) {\n    this.api.broker.send(\n      new SetCustomFilterValue({\n        filterGroupId,\n        filterId,\n        optionId,\n        enabled: value,\n      }),\n    );\n  }\n\n  _onChangeCustomFilterAllValues(filterGroupId: string, filterId: string, values: string[]) {\n    this.api.broker.send(\n      new SetCustomFilterAllValues({\n        filterGroupId,\n        filterId,\n        values: values,\n      }),\n    );\n  }\n\n  _handleUpFilterChange(e: CustomEvent) {\n    const selectedValues = e.detail.selectedValue;\n    this.api.broker.send(new SetUpFiltersCommand(selectedValues));\n  }\n}\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { setCommonFilterValue } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { setCommonFilterValue } from \"./actions\";\nimport { SetCommonFilter } from \"./request\";\n\nexport class SetCommonFilterHandler extends StoreBaseHandler {\n  async handle(request: SetCommonFilter) {\n    try {\n      this.store.dispatch(setCommonFilterValue(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { SetCommonFilter } from \"./request\";\nimport { SetCommonFilterHandler } from \"./handler\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapSetCommonFilter = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(SetCommonFilter, SetCommonFilterHandler);\n};\n\nexport const teardownSetCommonFilter = () => {\n  request?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { addCustomFilters } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { addCustomFilters } from \"./actions\";\nimport { AddCustomFiltersCommand } from \"./request\";\n\nexport class AddCustomFiltersHandler extends StoreBaseHandler {\n  async handle(request: AddCustomFiltersCommand) {\n    try {\n      //TODO ensure are valid filters\n      this.store.dispatch(addCustomFilters(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { AddCustomFiltersHandler } from \"./handler\";\nimport { AddCustomFiltersCommand } from \"./request\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapAddCustomFilter = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(AddCustomFiltersCommand, AddCustomFiltersHandler);\n};\n\nexport const teardownAddCustomFilter = () => {\n  request?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { setCustomFilterAllValues } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { setCustomFilterAllValues } from \"./actions\";\nimport { SetCustomFilterAllValues } from \"./request\";\n\nexport class SetCustomFilterAllValuesHandler extends StoreBaseHandler {\n  async handle(request: SetCustomFilterAllValues) {\n    try {\n      this.store.dispatch(setCustomFilterAllValues(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { SetCustomFilterAllValues } from \"./request\";\nimport { SetCustomFilterAllValuesHandler } from \"./handler\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapSetCustomFilterAllValues = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(SetCustomFilterAllValues, SetCustomFilterAllValuesHandler);\n};\n\nexport const teardownSetCustomFilterAllValues = () => {\n  request?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { setCustomFilterGroupValue } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { setCustomFilterGroupValue } from \"./actions\";\nimport { SetCustomFilterGroup } from \"./request\";\n\nexport class SetCustomFilterGroupHandler extends StoreBaseHandler {\n  async handle(request: SetCustomFilterGroup) {\n    try {\n      this.store.dispatch(setCustomFilterGroupValue(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { SetCustomFilterGroup } from \"./request\";\nimport { SetCustomFilterGroupHandler } from \"./handler\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapSetCustomFilterGroup = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(SetCustomFilterGroup, SetCustomFilterGroupHandler);\n};\n\nexport const teardownSetCustomFilterGroup = () => {\n  request?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { setCustomFilterValue } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { setCustomFilterValue } from \"./actions\";\nimport { SetCustomFilterValue } from \"./request\";\n\nexport class SetCustomFilterValueHandler extends StoreBaseHandler {\n  async handle(request: SetCustomFilterValue) {\n    try {\n      this.store.dispatch(setCustomFilterValue(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { SetCustomFilterValue } from \"./request\";\nimport { SetCustomFilterValueHandler } from \"./handler\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapSetCustomFilterValue = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(SetCustomFilterValue, SetCustomFilterValueHandler);\n};\n\nexport const teardownSetCustomFilterValue = () => {\n  request?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { deleteDiagnosticFilterValue } = activityHistoryFiltersSlice.actions;\n","import { BaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { diagnosticFilterEnabledValuesSelector } from \"../selectors\";\nimport { deleteDiagnosticFilterValue } from \"./actions\";\nimport { DeleteDiagnosticFilterValueCommand } from \"./request\";\n\nexport class DeleteDiagnosticFilterValueHandler extends BaseHandler {\n  async handle(request: DeleteDiagnosticFilterValueCommand) {\n    try {\n      const enabledDiagnostics = diagnosticFilterEnabledValuesSelector(this.store.getState());\n      const diagnosticToDelete = enabledDiagnostics.find((d) => d.codi === request.payload.diagnosticCodi);\n      if (diagnosticToDelete) {\n        const { evolucions, relacions, ...diagnosticParent } = diagnosticToDelete;\n        this.api.broker.publish(this.api.broker.events.activityHistory.diagnosticFilterDeactivated, {\n          diagnostic: diagnosticParent,\n        });\n      }\n      this.store.dispatch(deleteDiagnosticFilterValue(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","export class DeleteDiagnosticFilterValueCommand {\n  constructor(public payload: { diagnosticCodi: string }) {}\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { DeleteDiagnosticFilterValueHandler } from \"./handler\";\nimport { DeleteDiagnosticFilterValueCommand } from \"./request\";\n\nlet deleteFilterValueRequest: BrokerDisposableHandler;\n\nexport const bootstrapDeleteDiagnosticFilterValue = (broker: BrokerExtensions) => {\n  deleteFilterValueRequest = broker.registerRequest(DeleteDiagnosticFilterValueCommand, DeleteDiagnosticFilterValueHandler);\n};\n\nexport const teardownDeleteDiagnosticFilterValue = () => {\n  deleteFilterValueRequest?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { setDiagnosticFilterValues } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { setDiagnosticFilterValues } from \"./actions\";\nimport { SetDiagnosticFiltersValuesCommand } from \"./request\";\n\nexport class SetDiagnosticFilterValuesHandler extends StoreBaseHandler {\n  async handle(request: SetDiagnosticFiltersValuesCommand) {\n    try {\n      this.store.dispatch(setDiagnosticFilterValues(request.payload.diagnostics));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { ICiPdSDiagnosticFilter } from \"../../model\";\n\nexport class SetDiagnosticFiltersValuesCommand {\n  constructor(public payload: ICiPdSDiagnosticFilter) {}\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { SetDiagnosticFilterValuesHandler } from \"./handler\";\nimport { SetDiagnosticFiltersValuesCommand } from \"./request\";\n\nlet setFiltersValueRequest: BrokerDisposableHandler;\n\nexport const bootstrapSetDiagnosticFilter = (broker: BrokerExtensions) => {\n  setFiltersValueRequest = broker.registerRequest(SetDiagnosticFiltersValuesCommand, SetDiagnosticFilterValuesHandler);\n};\n\nexport const teardownSetDiagnosticFilter = () => {\n  setFiltersValueRequest?.dispose();\n};\n","import { PrimariaApi } from \"@uxland/primary-shell\";\nimport { ICiPdSDiagnosticFilter } from \"../model\";\nimport { SetDiagnosticFiltersValuesCommand } from \"./set/request\";\n\nexport const subscribeDiagnosticFilters = (api: PrimariaApi) => {\n  api.broker.subscribe(\"cipds_diagnostic_filter_historic_requested\", (payload: ICiPdSDiagnosticFilter) => {\n    api.broker.send(new SetDiagnosticFiltersValuesCommand(payload));\n  });\n};\n","export class ResetFiltersCommand {}\n","import { activityHistoryFiltersSlice } from \"../slice\";\n\nexport const { resetFilters } = activityHistoryFiltersSlice.actions;\n","import { BaseHandler } from \"../../../infrastructure/base-handlers\";\nimport { resetFilters } from \"./actions\";\nimport { ResetFiltersCommand } from \"./request\";\n\nexport class ResetFiltersHandler extends BaseHandler {\n  async handle(request: ResetFiltersCommand) {\n    try {\n      this.api.broker.publish(this.api.broker.events.activityHistory.filtersCleaned);\n      this.store.dispatch(resetFilters());\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { ResetFiltersCommand } from \"./request\";\nimport { ResetFiltersHandler } from \"./handler\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapResetFilters = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(ResetFiltersCommand, ResetFiltersHandler);\n};\n\nexport const teardownResetFilters = () => {\n  request?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { addUpFilters } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { addUpFilters } from \"./actions\";\nimport { AddUpFiltersCommand } from \"./request\";\n\nexport class AddUpFiltersHandler extends StoreBaseHandler {\n  async handle(request: AddUpFiltersCommand) {\n    try {\n      //TODO ensure are valid filters\n      this.store.dispatch(addUpFilters(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { IActivityHistoryUpFilter } from \"../../model\";\n\nexport class AddUpFiltersCommand {\n  constructor(public payload: IActivityHistoryUpFilter) {}\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { AddUpFiltersHandler } from \"./handler\";\nimport { AddUpFiltersCommand } from \"./request\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapAddUpFilter = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(AddUpFiltersCommand, AddUpFiltersHandler);\n};\n\nexport const teardownAddUpFilter = () => {\n  request?.dispose();\n};\n","import { activityHistoryFiltersSlice } from \"../../slice\";\n\nexport const { setUpFilterValues } = activityHistoryFiltersSlice.actions;\n","import { StoreBaseHandler } from \"../../../../infrastructure/base-handlers\";\nimport { setUpFilterValues } from \"./actions\";\nimport { SetUpFiltersCommand } from \"./request\";\n\nexport class SetUpFiltersHandler extends StoreBaseHandler {\n  async handle(request: SetUpFiltersCommand) {\n    try {\n      this.store.dispatch(setUpFilterValues(request.payload));\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { SetUpFiltersHandler } from \"./handler\";\nimport { SetUpFiltersCommand } from \"./request\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapSetUpFilter = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(SetUpFiltersCommand, SetUpFiltersHandler);\n};\n\nexport const teardownSetUpFilter = () => {\n  request?.dispose();\n};\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { PrimariaApi } from \"@uxland/primary-shell\";\nimport \"../../activity-history-item/filter/UI/activity-history-filters/activity-history-filters\";\nimport { bootstrapSetCommonFilter, teardownSetCommonFilter } from \"./common-filters/set-common-filter/bootstrapper\";\nimport { bootstrapAddCustomFilter, teardownAddCustomFilter } from \"./custom-filters/add-custom-filters/bootstrapper\";\nimport {\n  bootstrapSetCustomFilterAllValues,\n  teardownSetCustomFilterAllValues,\n} from \"./custom-filters/set-custom-filter-all-values/bootstrapper\";\nimport {\n  bootstrapSetCustomFilterGroup,\n  teardownSetCustomFilterGroup,\n} from \"./custom-filters/set-custom-filter-group/bootstrapper\";\nimport {\n  bootstrapSetCustomFilterValue,\n  teardownSetCustomFilterValue,\n} from \"./custom-filters/set-custom-filter-value/bootstrapper\";\nimport {\n  bootstrapDeleteDiagnosticFilterValue,\n  teardownDeleteDiagnosticFilterValue,\n} from \"./diagnostic-filters/delete/bootstrapper\";\nimport { bootstrapSetDiagnosticFilter, teardownSetDiagnosticFilter } from \"./diagnostic-filters/set/bootstrapper\";\nimport { subscribeDiagnosticFilters } from \"./diagnostic-filters/subscribe-diagnostic-historic-filters\";\nimport { bootstrapResetFilters, teardownResetFilters } from \"./reset/bootstrapper\";\nimport { bootstrapAddUpFilter, teardownAddUpFilter } from \"./up-filters/add/bootstrapper\";\nimport { bootstrapSetUpFilter, teardownSetUpFilter } from \"./up-filters/set/bootstrapper\";\n\nexport const bootstrapFilters = (broker: BrokerExtensions, api: PrimariaApi) => {\n  bootstrapSetCommonFilter(broker);\n  bootstrapAddCustomFilter(broker);\n  bootstrapSetCustomFilterGroup(broker);\n  bootstrapSetCustomFilterValue(broker);\n  bootstrapSetCustomFilterAllValues(broker);\n  bootstrapSetDiagnosticFilter(broker);\n  bootstrapDeleteDiagnosticFilterValue(broker);\n  bootstrapAddUpFilter(broker);\n  bootstrapSetUpFilter(broker);\n  bootstrapResetFilters(broker);\n  subscribeDiagnosticFilters(api);\n};\n\nexport const teardownFilters = () => {\n  teardownSetCommonFilter();\n  teardownAddCustomFilter();\n  teardownSetCustomFilterGroup();\n  teardownSetCustomFilterValue();\n  teardownSetCustomFilterAllValues();\n  teardownSetDiagnosticFilter();\n  teardownDeleteDiagnosticFilterValue();\n  teardownAddUpFilter();\n  teardownSetUpFilter();\n  teardownResetFilters();\n};\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n  const argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (\n    argument instanceof Date ||\n    (typeof argument === \"object\" && argStr === \"[object Date]\")\n  ) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new argument.constructor(+argument);\n  } else if (\n    typeof argument === \"number\" ||\n    argStr === \"[object Number]\" ||\n    typeof argument === \"string\" ||\n    argStr === \"[object String]\"\n  ) {\n    // TODO: Can we get rid of as?\n    return new Date(argument);\n  } else {\n    // TODO: Can we get rid of as?\n    return new Date(NaN);\n  }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date(date: DateType): DateType {\n *   return constructFrom(\n *     date, // Use contrustor from the given date\n *     date.getTime() // Use the date value to create a new date\n *   )\n * }\n */\nexport function constructFrom(date, value) {\n  if (date instanceof Date) {\n    return new date.constructor(value);\n  } else {\n    return new Date(value);\n  }\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount) {\n  const _date = toDate(date);\n  if (isNaN(amount)) return constructFrom(date, NaN);\n  if (!amount) {\n    // If 0 days, no-op to avoid changing times in the hour before end of DST\n    return _date;\n  }\n  _date.setDate(_date.getDate() + amount);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n *   return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n  return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const _date = toDate(date);\n  const day = _date.getDay();\n  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n  _date.setDate(_date.getDate() - diff);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n  return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n  const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n  const _date = toDate(date);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n  const _date = toDate(date);\n  const utcDate = new Date(\n    Date.UTC(\n      _date.getFullYear(),\n      _date.getMonth(),\n      _date.getDate(),\n      _date.getHours(),\n      _date.getMinutes(),\n      _date.getSeconds(),\n      _date.getMilliseconds(),\n    ),\n  );\n  utcDate.setUTCFullYear(_date.getFullYear());\n  return +date - +utcDate;\n}\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n *   new Date(2012, 6, 2, 0, 0),\n *   new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n *   new Date(2011, 6, 3, 0, 1),\n *   new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n  const startOfDayLeft = startOfDay(dateLeft);\n  const startOfDayRight = startOfDay(dateRight);\n\n  const timestampLeft =\n    +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n  const timestampRight =\n    +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n  // Round the number of days to the nearest integer because the number of\n  // milliseconds in a day is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n  const year = getISOWeekYear(date);\n  const fourthOfJanuary = constructFrom(date, 0);\n  fourthOfJanuary.setFullYear(year, 0, 4);\n  fourthOfJanuary.setHours(0, 0, 0, 0);\n  return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n  return (\n    value instanceof Date ||\n    (typeof value === \"object\" &&\n      Object.prototype.toString.call(value) === \"[object Date]\")\n  );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n  if (!isDate(date) && typeof date !== \"number\") {\n    return false;\n  }\n  const _date = toDate(date);\n  return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n  const _date = toDate(date);\n  const month = _date.getMonth();\n  _date.setFullYear(_date.getFullYear(), month + 1, 0);\n  _date.setHours(23, 59, 59, 999);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link eachDayOfInterval} function options.\n */\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of days from the day of the interval start to the day of the interval end\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n *   start: new Date(2014, 9, 6),\n *   end: new Date(2014, 9, 10)\n * })\n * //=> [\n * //   Mon Oct 06 2014 00:00:00,\n * //   Tue Oct 07 2014 00:00:00,\n * //   Wed Oct 08 2014 00:00:00,\n * //   Thu Oct 09 2014 00:00:00,\n * //   Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport function eachDayOfInterval(interval, options) {\n  const startDate = toDate(interval.start);\n  const endDate = toDate(interval.end);\n\n  let reversed = +startDate > +endDate;\n  const endTime = reversed ? +startDate : +endDate;\n  const currentDate = reversed ? endDate : startDate;\n  currentDate.setHours(0, 0, 0, 0);\n\n  let step = options?.step ?? 1;\n  if (!step) return [];\n  if (step < 0) {\n    step = -step;\n    reversed = !reversed;\n  }\n\n  const dates = [];\n\n  while (+currentDate <= endTime) {\n    dates.push(toDate(currentDate));\n    currentDate.setDate(currentDate.getDate() + step);\n    currentDate.setHours(0, 0, 0, 0);\n  }\n\n  return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachDayOfInterval;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date) {\n  const _date = toDate(date);\n  _date.setDate(1);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n  const cleanDate = toDate(date);\n  const _date = constructFrom(date, 0);\n  _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"less than a second\",\n    other: \"less than {{count}} seconds\",\n  },\n\n  xSeconds: {\n    one: \"1 second\",\n    other: \"{{count}} seconds\",\n  },\n\n  halfAMinute: \"half a minute\",\n\n  lessThanXMinutes: {\n    one: \"less than a minute\",\n    other: \"less than {{count}} minutes\",\n  },\n\n  xMinutes: {\n    one: \"1 minute\",\n    other: \"{{count}} minutes\",\n  },\n\n  aboutXHours: {\n    one: \"about 1 hour\",\n    other: \"about {{count}} hours\",\n  },\n\n  xHours: {\n    one: \"1 hour\",\n    other: \"{{count}} hours\",\n  },\n\n  xDays: {\n    one: \"1 day\",\n    other: \"{{count}} days\",\n  },\n\n  aboutXWeeks: {\n    one: \"about 1 week\",\n    other: \"about {{count}} weeks\",\n  },\n\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weeks\",\n  },\n\n  aboutXMonths: {\n    one: \"about 1 month\",\n    other: \"about {{count}} months\",\n  },\n\n  xMonths: {\n    one: \"1 month\",\n    other: \"{{count}} months\",\n  },\n\n  aboutXYears: {\n    one: \"about 1 year\",\n    other: \"about {{count}} years\",\n  },\n\n  xYears: {\n    one: \"1 year\",\n    other: \"{{count}} years\",\n  },\n\n  overXYears: {\n    one: \"over 1 year\",\n    other: \"over {{count}} years\",\n  },\n\n  almostXYears: {\n    one: \"almost 1 year\",\n    other: \"almost {{count}} years\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return result + \" ago\";\n    }\n  }\n\n  return result;\n};\n","export function buildFormatLongFn(args) {\n  return (options = {}) => {\n    // TODO: Remove String()\n    const width = options.width ? String(options.width) : args.defaultWidth;\n    const format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, MMMM do, y\",\n  long: \"MMMM do, y\",\n  medium: \"MMM d, y\",\n  short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n  full: \"h:mm:ss a zzzz\",\n  long: \"h:mm:ss a z\",\n  medium: \"h:mm:ss a\",\n  short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n  return (value, options) => {\n    const context = options?.context ? String(options.context) : \"standalone\";\n\n    let valuesArray;\n    if (context === \"formatting\" && args.formattingValues) {\n      const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      const width = options?.width ? String(options.width) : defaultWidth;\n\n      valuesArray =\n        args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      const defaultWidth = args.defaultWidth;\n      const width = options?.width ? String(options.width) : args.defaultWidth;\n\n      valuesArray = args.values[width] || args.values[defaultWidth];\n    }\n    const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n    // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"B\", \"A\"],\n  abbreviated: [\"BC\", \"AD\"],\n  wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mar\",\n    \"Apr\",\n    \"May\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Oct\",\n    \"Nov\",\n    \"Dec\",\n  ],\n\n  wide: [\n    \"January\",\n    \"February\",\n    \"March\",\n    \"April\",\n    \"May\",\n    \"June\",\n    \"July\",\n    \"August\",\n    \"September\",\n    \"October\",\n    \"November\",\n    \"December\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n  short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n  abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n  wide: [\n    \"Sunday\",\n    \"Monday\",\n    \"Tuesday\",\n    \"Wednesday\",\n    \"Thursday\",\n    \"Friday\",\n    \"Saturday\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + \"st\";\n      case 2:\n        return number + \"nd\";\n      case 3:\n        return number + \"rd\";\n    }\n  }\n  return number + \"th\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","export function buildMatchFn(args) {\n  return (string, options = {}) => {\n    const width = options.width;\n\n    const matchPattern =\n      (width && args.matchPatterns[width]) ||\n      args.matchPatterns[args.defaultMatchWidth];\n    const matchResult = string.match(matchPattern);\n\n    if (!matchResult) {\n      return null;\n    }\n    const matchedString = matchResult[0];\n\n    const parsePatterns =\n      (width && args.parsePatterns[width]) ||\n      args.parsePatterns[args.defaultParseWidth];\n\n    const key = Array.isArray(parsePatterns)\n      ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n      : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n    let value;\n\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback\n      ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        options.valueCallback(value)\n      : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n\nfunction findKey(object, predicate) {\n  for (const key in object) {\n    if (\n      Object.prototype.hasOwnProperty.call(object, key) &&\n      predicate(object[key])\n    ) {\n      return key;\n    }\n  }\n  return undefined;\n}\n\nfunction findIndex(array, predicate) {\n  for (let key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\n","export function buildMatchPatternFn(args) {\n  return (string, options = {}) => {\n    const matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    const matchedString = matchResult[0];\n\n    const parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    let value = args.valueCallback\n      ? args.valueCallback(parseResult[0])\n      : parseResult[0];\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n    value = options.valueCallback ? options.valueCallback(value) : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n  code: \"en-US\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1,\n  },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n  const _date = toDate(date);\n  const diff = differenceInCalendarDays(_date, startOfYear(_date));\n  const dayOfYear = diff + 1;\n  return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n  const _date = toDate(date);\n  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const firstWeekOfNextYear = constructFrom(date, 0);\n  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n  const firstWeekOfThisYear = constructFrom(date, 0);\n  firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const year = getWeekYear(date, options);\n  const firstWeek = constructFrom(date, 0);\n  firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setHours(0, 0, 0, 0);\n  const _date = startOfWeek(firstWeek, options);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n  const _date = toDate(date);\n  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","export function addLeadingZeros(number, targetLength) {\n  const sign = number < 0 ? \"-\" : \"\";\n  const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n  return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* |                                |\n * |  d  | Day of month                   |  D  |                                |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  m  | Minute                         |  M  | Month                          |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  y  | Year (abs)                     |  Y  |                                |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n  // Year\n  y(date, token) {\n    // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n    // | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n    // |----------|-------|----|-------|-------|-------|\n    // | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n    // | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n    // | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n    // | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n    // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n    const signedYear = date.getFullYear();\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n  },\n\n  // Month\n  M(date, token) {\n    const month = date.getMonth();\n    return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n  },\n\n  // Day of the month\n  d(date, token) {\n    return addLeadingZeros(date.getDate(), token.length);\n  },\n\n  // AM or PM\n  a(date, token) {\n    const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return dayPeriodEnumValue.toUpperCase();\n      case \"aaa\":\n        return dayPeriodEnumValue;\n      case \"aaaaa\":\n        return dayPeriodEnumValue[0];\n      case \"aaaa\":\n      default:\n        return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n    }\n  },\n\n  // Hour [1-12]\n  h(date, token) {\n    return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n  },\n\n  // Hour [0-23]\n  H(date, token) {\n    return addLeadingZeros(date.getHours(), token.length);\n  },\n\n  // Minute\n  m(date, token) {\n    return addLeadingZeros(date.getMinutes(), token.length);\n  },\n\n  // Second\n  s(date, token) {\n    return addLeadingZeros(date.getSeconds(), token.length);\n  },\n\n  // Fraction of second\n  S(date, token) {\n    const numberOfDigits = token.length;\n    const milliseconds = date.getMilliseconds();\n    const fractionalSeconds = Math.trunc(\n      milliseconds * Math.pow(10, numberOfDigits - 3),\n    );\n    return addLeadingZeros(fractionalSeconds, token.length);\n  },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n  am: \"am\",\n  pm: \"pm\",\n  midnight: \"midnight\",\n  noon: \"noon\",\n  morning: \"morning\",\n  afternoon: \"afternoon\",\n  evening: \"evening\",\n  night: \"night\",\n};\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |\n * |  p! | Long localized time            |  P! | Long localized date            |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n  // Era\n  G: function (date, token, localize) {\n    const era = date.getFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      // AD, BC\n      case \"G\":\n      case \"GG\":\n      case \"GGG\":\n        return localize.era(era, { width: \"abbreviated\" });\n      // A, B\n      case \"GGGGG\":\n        return localize.era(era, { width: \"narrow\" });\n      // Anno Domini, Before Christ\n      case \"GGGG\":\n      default:\n        return localize.era(era, { width: \"wide\" });\n    }\n  },\n\n  // Year\n  y: function (date, token, localize) {\n    // Ordinal number\n    if (token === \"yo\") {\n      const signedYear = date.getFullYear();\n      // Returns 1 for 1 BC (which is year 0 in JavaScript)\n      const year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, { unit: \"year\" });\n    }\n\n    return lightFormatters.y(date, token);\n  },\n\n  // Local week-numbering year\n  Y: function (date, token, localize, options) {\n    const signedWeekYear = getWeekYear(date, options);\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n    // Two digit year\n    if (token === \"YY\") {\n      const twoDigitYear = weekYear % 100;\n      return addLeadingZeros(twoDigitYear, 2);\n    }\n\n    // Ordinal number\n    if (token === \"Yo\") {\n      return localize.ordinalNumber(weekYear, { unit: \"year\" });\n    }\n\n    // Padding\n    return addLeadingZeros(weekYear, token.length);\n  },\n\n  // ISO week-numbering year\n  R: function (date, token) {\n    const isoWeekYear = getISOWeekYear(date);\n\n    // Padding\n    return addLeadingZeros(isoWeekYear, token.length);\n  },\n\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function (date, token) {\n    const year = date.getFullYear();\n    return addLeadingZeros(year, token.length);\n  },\n\n  // Quarter\n  Q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"Q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"QQ\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"Qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"QQQ\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"QQQQQ\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"QQQQ\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone quarter\n  q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"qq\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"qqq\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"qqqqq\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"qqqq\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // Month\n  M: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      case \"M\":\n      case \"MM\":\n        return lightFormatters.M(date, token);\n      // 1st, 2nd, ..., 12th\n      case \"Mo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"MMM\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // J, F, ..., D\n      case \"MMMMM\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // January, February, ..., December\n      case \"MMMM\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"formatting\" });\n    }\n  },\n\n  // Stand-alone month\n  L: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      // 1, 2, ..., 12\n      case \"L\":\n        return String(month + 1);\n      // 01, 02, ..., 12\n      case \"LL\":\n        return addLeadingZeros(month + 1, 2);\n      // 1st, 2nd, ..., 12th\n      case \"Lo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"LLL\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // J, F, ..., D\n      case \"LLLLL\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // January, February, ..., December\n      case \"LLLL\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"standalone\" });\n    }\n  },\n\n  // Local week of year\n  w: function (date, token, localize, options) {\n    const week = getWeek(date, options);\n\n    if (token === \"wo\") {\n      return localize.ordinalNumber(week, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(week, token.length);\n  },\n\n  // ISO week of year\n  I: function (date, token, localize) {\n    const isoWeek = getISOWeek(date);\n\n    if (token === \"Io\") {\n      return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(isoWeek, token.length);\n  },\n\n  // Day of the month\n  d: function (date, token, localize) {\n    if (token === \"do\") {\n      return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n    }\n\n    return lightFormatters.d(date, token);\n  },\n\n  // Day of year\n  D: function (date, token, localize) {\n    const dayOfYear = getDayOfYear(date);\n\n    if (token === \"Do\") {\n      return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n    }\n\n    return addLeadingZeros(dayOfYear, token.length);\n  },\n\n  // Day of week\n  E: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    switch (token) {\n      // Tue\n      case \"E\":\n      case \"EE\":\n      case \"EEE\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"EEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"EEEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"EEEE\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Local day of week\n  e: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (Nth day of week with current locale or weekStartsOn)\n      case \"e\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"ee\":\n        return addLeadingZeros(localDayOfWeek, 2);\n      // 1st, 2nd, ..., 7th\n      case \"eo\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"eee\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"eeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"eeeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"eeee\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone local day of week\n  c: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (same as in `e`)\n      case \"c\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"cc\":\n        return addLeadingZeros(localDayOfWeek, token.length);\n      // 1st, 2nd, ..., 7th\n      case \"co\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"ccc\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // T\n      case \"ccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // Tu\n      case \"cccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"standalone\",\n        });\n      // Tuesday\n      case \"cccc\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // ISO day of week\n  i: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      // 2\n      case \"i\":\n        return String(isoDayOfWeek);\n      // 02\n      case \"ii\":\n        return addLeadingZeros(isoDayOfWeek, token.length);\n      // 2nd\n      case \"io\":\n        return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n      // Tue\n      case \"iii\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"iiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"iiiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"iiii\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM or PM\n  a: function (date, token, localize) {\n    const hours = date.getHours();\n    const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"aaa\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"aaaaa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"aaaa\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM, PM, midnight, noon\n  b: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n    }\n\n    switch (token) {\n      case \"b\":\n      case \"bb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"bbb\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"bbbbb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"bbbb\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // in the morning, in the afternoon, in the evening, at night\n  B: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n\n    switch (token) {\n      case \"B\":\n      case \"BB\":\n      case \"BBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"BBBBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"BBBB\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Hour [1-12]\n  h: function (date, token, localize) {\n    if (token === \"ho\") {\n      let hours = date.getHours() % 12;\n      if (hours === 0) hours = 12;\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return lightFormatters.h(date, token);\n  },\n\n  // Hour [0-23]\n  H: function (date, token, localize) {\n    if (token === \"Ho\") {\n      return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n    }\n\n    return lightFormatters.H(date, token);\n  },\n\n  // Hour [0-11]\n  K: function (date, token, localize) {\n    const hours = date.getHours() % 12;\n\n    if (token === \"Ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Hour [1-24]\n  k: function (date, token, localize) {\n    let hours = date.getHours();\n    if (hours === 0) hours = 24;\n\n    if (token === \"ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Minute\n  m: function (date, token, localize) {\n    if (token === \"mo\") {\n      return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n    }\n\n    return lightFormatters.m(date, token);\n  },\n\n  // Second\n  s: function (date, token, localize) {\n    if (token === \"so\") {\n      return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n    }\n\n    return lightFormatters.s(date, token);\n  },\n\n  // Fraction of second\n  S: function (date, token) {\n    return lightFormatters.S(date, token);\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    if (timezoneOffset === 0) {\n      return \"Z\";\n    }\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"X\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case \"XXXX\":\n      case \"XX\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case \"XXXXX\":\n      case \"XXX\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"x\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case \"xxxx\":\n      case \"xx\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case \"xxxxx\":\n      case \"xxx\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (GMT)\n  O: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"O\":\n      case \"OO\":\n      case \"OOO\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"OOOO\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (specific non-location)\n  z: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"z\":\n      case \"zz\":\n      case \"zzz\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"zzzz\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Seconds timestamp\n  t: function (date, token, _localize) {\n    const timestamp = Math.trunc(date.getTime() / 1000);\n    return addLeadingZeros(timestamp, token.length);\n  },\n\n  // Milliseconds timestamp\n  T: function (date, token, _localize) {\n    const timestamp = date.getTime();\n    return addLeadingZeros(timestamp, token.length);\n  },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = Math.trunc(absOffset / 60);\n  const minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n  if (offset % 60 === 0) {\n    const sign = offset > 0 ? \"-\" : \"+\";\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n  const minutes = addLeadingZeros(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"P\":\n      return formatLong.date({ width: \"short\" });\n    case \"PP\":\n      return formatLong.date({ width: \"medium\" });\n    case \"PPP\":\n      return formatLong.date({ width: \"long\" });\n    case \"PPPP\":\n    default:\n      return formatLong.date({ width: \"full\" });\n  }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"p\":\n      return formatLong.time({ width: \"short\" });\n    case \"pp\":\n      return formatLong.time({ width: \"medium\" });\n    case \"ppp\":\n      return formatLong.time({ width: \"long\" });\n    case \"pppp\":\n    default:\n      return formatLong.time({ width: \"full\" });\n  }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n  const matchResult = pattern.match(/(P+)(p+)?/) || [];\n  const datePattern = matchResult[1];\n  const timePattern = matchResult[2];\n\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n\n  let dateTimeFormat;\n\n  switch (datePattern) {\n    case \"P\":\n      dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n      break;\n    case \"PP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n      break;\n    case \"PPP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n      break;\n    case \"PPPP\":\n    default:\n      dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n      break;\n  }\n\n  return dateTimeFormat\n    .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n    .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n  return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n  return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n  const _message = message(token, format, input);\n  console.warn(_message);\n  if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n  const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n  return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n  isProtectedDayOfYearToken,\n  isProtectedWeekYearToken,\n  warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n  /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          | a..aa   | AM, PM                            |       |\n * |                                 | aaa     | am, pm                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |\n * |                                 | bbb     | am, pm, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 001, ..., 999                |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |\n * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 04/29/1453                        | 7     |\n * |                                 | PP      | Apr 29, 1453                      | 7     |\n * |                                 | PPP     | April 29th, 1453                  | 7     |\n * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |\n * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n *    and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n *    so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const originalDate = toDate(date);\n\n  if (!isValid(originalDate)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n\n  let parts = formatStr\n    .match(longFormattingTokensRegExp)\n    .map((substring) => {\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n        const longFormatter = longFormatters[firstCharacter];\n        return longFormatter(substring, locale.formatLong);\n      }\n      return substring;\n    })\n    .join(\"\")\n    .match(formattingTokensRegExp)\n    .map((substring) => {\n      // Replace two single quote characters with one single quote character\n      if (substring === \"''\") {\n        return { isToken: false, value: \"'\" };\n      }\n\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"'\") {\n        return { isToken: false, value: cleanEscapedString(substring) };\n      }\n\n      if (formatters[firstCharacter]) {\n        return { isToken: true, value: substring };\n      }\n\n      if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n        throw new RangeError(\n          \"Format string contains an unescaped latin alphabet character `\" +\n            firstCharacter +\n            \"`\",\n        );\n      }\n\n      return { isToken: false, value: substring };\n    });\n\n  // invoke localize preprocessor (only for french locales at the moment)\n  if (locale.localize.preprocessor) {\n    parts = locale.localize.preprocessor(originalDate, parts);\n  }\n\n  const formatterOptions = {\n    firstWeekContainsDate,\n    weekStartsOn,\n    locale,\n  };\n\n  return parts\n    .map((part) => {\n      if (!part.isToken) return part.value;\n\n      const token = part.value;\n\n      if (\n        (!options?.useAdditionalWeekYearTokens &&\n          isProtectedWeekYearToken(token)) ||\n        (!options?.useAdditionalDayOfYearTokens &&\n          isProtectedDayOfYearToken(token))\n      ) {\n        warnOrThrowProtectedError(token, formatStr, String(date));\n      }\n\n      const formatter = formatters[token[0]];\n      return formatter(originalDate, token, locale.localize, formatterOptions);\n    })\n    .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n  const matched = input.match(escapedStringRegExp);\n\n  if (!matched) {\n    return input;\n  }\n\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of week, 0 represents Sunday\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\nexport function getDay(date) {\n  const _date = toDate(date);\n  const day = _date.getDay();\n  return day;\n}\n\n// Fallback for modularized imports:\nexport default getDay;\n","import { getDefaultOptions as getInternalDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * @name getDefaultOptions\n * @category Common Helpers\n * @summary Get default options.\n * @pure false\n *\n * @description\n * Returns an object that contains defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * You can change these with [setDefaultOptions](https://date-fns.org/docs/setDefaultOptions).\n *\n * @returns The default options\n *\n * @example\n * const result = getDefaultOptions()\n * //=> {}\n *\n * @example\n * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 })\n * const result = getDefaultOptions()\n * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 }\n */\nexport function getDefaultOptions() {\n  return Object.assign({}, getInternalDefaultOptions());\n}\n\n// Fallback for modularized imports:\nexport default getDefaultOptions;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of ISO week\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * const result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\nexport function getISODay(date) {\n  const _date = toDate(date);\n  let day = _date.getDay();\n\n  if (day === 0) {\n    day = 7;\n  }\n\n  return day;\n}\n\n// Fallback for modularized imports:\nexport default getISODay;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name transpose\n * @category Generic Helpers\n * @summary Transpose the date to the given constructor.\n *\n * @description\n * The function transposes the date to the given constructor. It helps you\n * to transpose the date in the system time zone to say `UTCDate` or any other\n * date extension.\n *\n * @typeParam DateInputType - The input `Date` type derived from the passed argument.\n * @typeParam DateOutputType - The output `Date` type derived from the passed constructor.\n *\n * @param fromDate - The date to use values from\n * @param constructor - The date constructor to use\n *\n * @returns Date transposed to the given constructor\n *\n * @example\n * // Create July 10, 2022 00:00 in locale time zone\n * const date = new Date(2022, 6, 10)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)'\n *\n * @example\n * // Transpose the date to July 10, 2022 00:00 in UTC\n * transpose(date, UTCDate)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)'\n */\nexport function transpose(fromDate, constructor) {\n  const date =\n    constructor instanceof Date\n      ? constructFrom(constructor, 0)\n      : new constructor(0);\n  date.setFullYear(\n    fromDate.getFullYear(),\n    fromDate.getMonth(),\n    fromDate.getDate(),\n  );\n  date.setHours(\n    fromDate.getHours(),\n    fromDate.getMinutes(),\n    fromDate.getSeconds(),\n    fromDate.getMilliseconds(),\n  );\n  return date;\n}\n\n// Fallback for modularized imports:\nexport default transpose;\n","import { transpose } from \"../../transpose.mjs\";\nimport { constructFrom } from \"../../constructFrom.mjs\";\n\nconst TIMEZONE_UNIT_PRIORITY = 10;\n\nexport class Setter {\n  subPriority = 0;\n\n  validate(_utcDate, _options) {\n    return true;\n  }\n}\n\nexport class ValueSetter extends Setter {\n  constructor(\n    value,\n\n    validateValue,\n\n    setValue,\n\n    priority,\n    subPriority,\n  ) {\n    super();\n    this.value = value;\n    this.validateValue = validateValue;\n    this.setValue = setValue;\n    this.priority = priority;\n    if (subPriority) {\n      this.subPriority = subPriority;\n    }\n  }\n\n  validate(date, options) {\n    return this.validateValue(date, this.value, options);\n  }\n\n  set(date, flags, options) {\n    return this.setValue(date, flags, this.value, options);\n  }\n}\n\nexport class DateToSystemTimezoneSetter extends Setter {\n  priority = TIMEZONE_UNIT_PRIORITY;\n  subPriority = -1;\n  set(date, flags) {\n    if (flags.timestampIsSet) return date;\n    return constructFrom(date, transpose(date, Date));\n  }\n}\n","import { ValueSetter } from \"./Setter.mjs\";\n\nexport class Parser {\n  run(dateString, token, match, options) {\n    const result = this.parse(dateString, token, match, options);\n    if (!result) {\n      return null;\n    }\n\n    return {\n      setter: new ValueSetter(\n        result.value,\n        this.validate,\n        this.set,\n        this.priority,\n        this.subPriority,\n      ),\n      rest: result.rest,\n    };\n  }\n\n  validate(_utcDate, _value, _options) {\n    return true;\n  }\n}\n","import { Parser } from \"../Parser.mjs\";\n\nexport class EraParser extends Parser {\n  priority = 140;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      // AD, BC\n      case \"G\":\n      case \"GG\":\n      case \"GGG\":\n        return (\n          match.era(dateString, { width: \"abbreviated\" }) ||\n          match.era(dateString, { width: \"narrow\" })\n        );\n\n      // A, B\n      case \"GGGGG\":\n        return match.era(dateString, { width: \"narrow\" });\n      // Anno Domini, Before Christ\n      case \"GGGG\":\n      default:\n        return (\n          match.era(dateString, { width: \"wide\" }) ||\n          match.era(dateString, { width: \"abbreviated\" }) ||\n          match.era(dateString, { width: \"narrow\" })\n        );\n    }\n  }\n\n  set(date, flags, value) {\n    flags.era = value;\n    date.setFullYear(value, 0, 1);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"R\", \"u\", \"t\", \"T\"];\n}\n","export const numericPatterns = {\n  month: /^(1[0-2]|0?\\d)/, // 0 to 12\n  date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n  dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n  week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n  hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n  hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n  hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n  hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n  minute: /^[0-5]?\\d/, // 0 to 59\n  second: /^[0-5]?\\d/, // 0 to 59\n\n  singleDigit: /^\\d/, // 0 to 9\n  twoDigits: /^\\d{1,2}/, // 0 to 99\n  threeDigits: /^\\d{1,3}/, // 0 to 999\n  fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n  anyDigitsSigned: /^-?\\d+/,\n  singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n  twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n  threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n  fourDigitsSigned: /^-?\\d{1,4}/, // 0 to 9999, -0 to -9999\n};\n\nexport const timezonePatterns = {\n  basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n  basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n  basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n  extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n  extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/,\n};\n","import {\n  millisecondsInHour,\n  millisecondsInMinute,\n  millisecondsInSecond,\n} from \"../../constants.mjs\";\nimport { numericPatterns } from \"./constants.mjs\";\n\nexport function mapValue(parseFnResult, mapFn) {\n  if (!parseFnResult) {\n    return parseFnResult;\n  }\n\n  return {\n    value: mapFn(parseFnResult.value),\n    rest: parseFnResult.rest,\n  };\n}\n\nexport function parseNumericPattern(pattern, dateString) {\n  const matchResult = dateString.match(pattern);\n\n  if (!matchResult) {\n    return null;\n  }\n\n  return {\n    value: parseInt(matchResult[0], 10),\n    rest: dateString.slice(matchResult[0].length),\n  };\n}\n\nexport function parseTimezonePattern(pattern, dateString) {\n  const matchResult = dateString.match(pattern);\n\n  if (!matchResult) {\n    return null;\n  }\n\n  // Input is 'Z'\n  if (matchResult[0] === \"Z\") {\n    return {\n      value: 0,\n      rest: dateString.slice(1),\n    };\n  }\n\n  const sign = matchResult[1] === \"+\" ? 1 : -1;\n  const hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n  const minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n  const seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n  return {\n    value:\n      sign *\n      (hours * millisecondsInHour +\n        minutes * millisecondsInMinute +\n        seconds * millisecondsInSecond),\n    rest: dateString.slice(matchResult[0].length),\n  };\n}\n\nexport function parseAnyDigitsSigned(dateString) {\n  return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\n\nexport function parseNDigits(n, dateString) {\n  switch (n) {\n    case 1:\n      return parseNumericPattern(numericPatterns.singleDigit, dateString);\n    case 2:\n      return parseNumericPattern(numericPatterns.twoDigits, dateString);\n    case 3:\n      return parseNumericPattern(numericPatterns.threeDigits, dateString);\n    case 4:\n      return parseNumericPattern(numericPatterns.fourDigits, dateString);\n    default:\n      return parseNumericPattern(new RegExp(\"^\\\\d{1,\" + n + \"}\"), dateString);\n  }\n}\n\nexport function parseNDigitsSigned(n, dateString) {\n  switch (n) {\n    case 1:\n      return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n    case 2:\n      return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n    case 3:\n      return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n    case 4:\n      return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n    default:\n      return parseNumericPattern(new RegExp(\"^-?\\\\d{1,\" + n + \"}\"), dateString);\n  }\n}\n\nexport function dayPeriodEnumToHours(dayPeriod) {\n  switch (dayPeriod) {\n    case \"morning\":\n      return 4;\n    case \"evening\":\n      return 17;\n    case \"pm\":\n    case \"noon\":\n    case \"afternoon\":\n      return 12;\n    case \"am\":\n    case \"midnight\":\n    case \"night\":\n    default:\n      return 0;\n  }\n}\n\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n  const isCommonEra = currentYear > 0;\n  // Absolute number of the current year:\n  // 1 -> 1 AC\n  // 0 -> 1 BC\n  // -1 -> 2 BC\n  const absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n  let result;\n  if (absCurrentYear <= 50) {\n    result = twoDigitYear || 100;\n  } else {\n    const rangeEnd = absCurrentYear + 50;\n    const rangeEndCentury = Math.trunc(rangeEnd / 100) * 100;\n    const isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n    result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n  }\n\n  return isCommonEra ? result : 1 - result;\n}\n\nexport function isLeapYearIndex(year) {\n  return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n// | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n// | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n// | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport class YearParser extends Parser {\n  priority = 130;\n  incompatibleTokens = [\"Y\", \"R\", \"u\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n\n  parse(dateString, token, match) {\n    const valueCallback = (year) => ({\n      year,\n      isTwoDigitYear: token === \"yy\",\n    });\n\n    switch (token) {\n      case \"y\":\n        return mapValue(parseNDigits(4, dateString), valueCallback);\n      case \"yo\":\n        return mapValue(\n          match.ordinalNumber(dateString, {\n            unit: \"year\",\n          }),\n          valueCallback,\n        );\n      default:\n        return mapValue(parseNDigits(token.length, dateString), valueCallback);\n    }\n  }\n\n  validate(_date, value) {\n    return value.isTwoDigitYear || value.year > 0;\n  }\n\n  set(date, flags, value) {\n    const currentYear = date.getFullYear();\n\n    if (value.isTwoDigitYear) {\n      const normalizedTwoDigitYear = normalizeTwoDigitYear(\n        value.year,\n        currentYear,\n      );\n      date.setFullYear(normalizedTwoDigitYear, 0, 1);\n      date.setHours(0, 0, 0, 0);\n      return date;\n    }\n\n    const year =\n      !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n    date.setFullYear(year, 0, 1);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n}\n","import { getWeekYear } from \"../../../getWeekYear.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// Local week-numbering year\nexport class LocalWeekYearParser extends Parser {\n  priority = 130;\n\n  parse(dateString, token, match) {\n    const valueCallback = (year) => ({\n      year,\n      isTwoDigitYear: token === \"YY\",\n    });\n\n    switch (token) {\n      case \"Y\":\n        return mapValue(parseNDigits(4, dateString), valueCallback);\n      case \"Yo\":\n        return mapValue(\n          match.ordinalNumber(dateString, {\n            unit: \"year\",\n          }),\n          valueCallback,\n        );\n      default:\n        return mapValue(parseNDigits(token.length, dateString), valueCallback);\n    }\n  }\n\n  validate(_date, value) {\n    return value.isTwoDigitYear || value.year > 0;\n  }\n\n  set(date, flags, value, options) {\n    const currentYear = getWeekYear(date, options);\n\n    if (value.isTwoDigitYear) {\n      const normalizedTwoDigitYear = normalizeTwoDigitYear(\n        value.year,\n        currentYear,\n      );\n      date.setFullYear(\n        normalizedTwoDigitYear,\n        0,\n        options.firstWeekContainsDate,\n      );\n      date.setHours(0, 0, 0, 0);\n      return startOfWeek(date, options);\n    }\n\n    const year =\n      !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n    date.setFullYear(year, 0, options.firstWeekContainsDate);\n    date.setHours(0, 0, 0, 0);\n    return startOfWeek(date, options);\n  }\n\n  incompatibleTokens = [\n    \"y\",\n    \"R\",\n    \"u\",\n    \"Q\",\n    \"q\",\n    \"M\",\n    \"L\",\n    \"I\",\n    \"d\",\n    \"D\",\n    \"i\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\n// ISO week-numbering year\nexport class ISOWeekYearParser extends Parser {\n  priority = 130;\n\n  parse(dateString, token) {\n    if (token === \"R\") {\n      return parseNDigitsSigned(4, dateString);\n    }\n\n    return parseNDigitsSigned(token.length, dateString);\n  }\n\n  set(date, _flags, value) {\n    const firstWeekOfYear = constructFrom(date, 0);\n    firstWeekOfYear.setFullYear(value, 0, 4);\n    firstWeekOfYear.setHours(0, 0, 0, 0);\n    return startOfISOWeek(firstWeekOfYear);\n  }\n\n  incompatibleTokens = [\n    \"G\",\n    \"y\",\n    \"Y\",\n    \"u\",\n    \"Q\",\n    \"q\",\n    \"M\",\n    \"L\",\n    \"w\",\n    \"d\",\n    \"D\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\nexport class ExtendedYearParser extends Parser {\n  priority = 130;\n\n  parse(dateString, token) {\n    if (token === \"u\") {\n      return parseNDigitsSigned(4, dateString);\n    }\n\n    return parseNDigitsSigned(token.length, dateString);\n  }\n\n  set(date, _flags, value) {\n    date.setFullYear(value, 0, 1);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"G\", \"y\", \"Y\", \"R\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class QuarterParser extends Parser {\n  priority = 120;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"Q\":\n      case \"QQ\": // 01, 02, 03, 04\n        return parseNDigits(token.length, dateString);\n      // 1st, 2nd, 3rd, 4th\n      case \"Qo\":\n        return match.ordinalNumber(dateString, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"QQQ\":\n        return (\n          match.quarter(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.quarter(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"QQQQQ\":\n        return match.quarter(dateString, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"QQQQ\":\n      default:\n        return (\n          match.quarter(dateString, {\n            width: \"wide\",\n            context: \"formatting\",\n          }) ||\n          match.quarter(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.quarter(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 1 && value <= 4;\n  }\n\n  set(date, _flags, value) {\n    date.setMonth((value - 1) * 3, 1);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"Y\",\n    \"R\",\n    \"q\",\n    \"M\",\n    \"L\",\n    \"w\",\n    \"I\",\n    \"d\",\n    \"D\",\n    \"i\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class StandAloneQuarterParser extends Parser {\n  priority = 120;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"q\":\n      case \"qq\": // 01, 02, 03, 04\n        return parseNDigits(token.length, dateString);\n      // 1st, 2nd, 3rd, 4th\n      case \"qo\":\n        return match.ordinalNumber(dateString, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"qqq\":\n        return (\n          match.quarter(dateString, {\n            width: \"abbreviated\",\n            context: \"standalone\",\n          }) ||\n          match.quarter(dateString, {\n            width: \"narrow\",\n            context: \"standalone\",\n          })\n        );\n\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"qqqqq\":\n        return match.quarter(dateString, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"qqqq\":\n      default:\n        return (\n          match.quarter(dateString, {\n            width: \"wide\",\n            context: \"standalone\",\n          }) ||\n          match.quarter(dateString, {\n            width: \"abbreviated\",\n            context: \"standalone\",\n          }) ||\n          match.quarter(dateString, {\n            width: \"narrow\",\n            context: \"standalone\",\n          })\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 1 && value <= 4;\n  }\n\n  set(date, _flags, value) {\n    date.setMonth((value - 1) * 3, 1);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"Y\",\n    \"R\",\n    \"Q\",\n    \"M\",\n    \"L\",\n    \"w\",\n    \"I\",\n    \"d\",\n    \"D\",\n    \"i\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MonthParser extends Parser {\n  incompatibleTokens = [\n    \"Y\",\n    \"R\",\n    \"q\",\n    \"Q\",\n    \"L\",\n    \"w\",\n    \"I\",\n    \"D\",\n    \"i\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n\n  priority = 110;\n\n  parse(dateString, token, match) {\n    const valueCallback = (value) => value - 1;\n\n    switch (token) {\n      // 1, 2, ..., 12\n      case \"M\":\n        return mapValue(\n          parseNumericPattern(numericPatterns.month, dateString),\n          valueCallback,\n        );\n      // 01, 02, ..., 12\n      case \"MM\":\n        return mapValue(parseNDigits(2, dateString), valueCallback);\n      // 1st, 2nd, ..., 12th\n      case \"Mo\":\n        return mapValue(\n          match.ordinalNumber(dateString, {\n            unit: \"month\",\n          }),\n          valueCallback,\n        );\n      // Jan, Feb, ..., Dec\n      case \"MMM\":\n        return (\n          match.month(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n\n      // J, F, ..., D\n      case \"MMMMM\":\n        return match.month(dateString, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // January, February, ..., December\n      case \"MMMM\":\n      default:\n        return (\n          match.month(dateString, { width: \"wide\", context: \"formatting\" }) ||\n          match.month(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 11;\n  }\n\n  set(date, _flags, value) {\n    date.setMonth(value, 1);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class StandAloneMonthParser extends Parser {\n  priority = 110;\n\n  parse(dateString, token, match) {\n    const valueCallback = (value) => value - 1;\n\n    switch (token) {\n      // 1, 2, ..., 12\n      case \"L\":\n        return mapValue(\n          parseNumericPattern(numericPatterns.month, dateString),\n          valueCallback,\n        );\n      // 01, 02, ..., 12\n      case \"LL\":\n        return mapValue(parseNDigits(2, dateString), valueCallback);\n      // 1st, 2nd, ..., 12th\n      case \"Lo\":\n        return mapValue(\n          match.ordinalNumber(dateString, {\n            unit: \"month\",\n          }),\n          valueCallback,\n        );\n      // Jan, Feb, ..., Dec\n      case \"LLL\":\n        return (\n          match.month(dateString, {\n            width: \"abbreviated\",\n            context: \"standalone\",\n          }) ||\n          match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n        );\n\n      // J, F, ..., D\n      case \"LLLLL\":\n        return match.month(dateString, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // January, February, ..., December\n      case \"LLLL\":\n      default:\n        return (\n          match.month(dateString, { width: \"wide\", context: \"standalone\" }) ||\n          match.month(dateString, {\n            width: \"abbreviated\",\n            context: \"standalone\",\n          }) ||\n          match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 11;\n  }\n\n  set(date, _flags, value) {\n    date.setMonth(value, 1);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"Y\",\n    \"R\",\n    \"q\",\n    \"Q\",\n    \"M\",\n    \"w\",\n    \"I\",\n    \"D\",\n    \"i\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { getWeek } from \"./getWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link setWeek} function options.\n */\n\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the local week set\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * const result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * const result = setWeek(new Date(2005, 0, 2), 1, {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\nexport function setWeek(date, week, options) {\n  const _date = toDate(date);\n  const diff = getWeek(_date, options) - week;\n  _date.setDate(_date.getDate() - diff * 7);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default setWeek;\n","import { setWeek } from \"../../../setWeek.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// Local week of year\nexport class LocalWeekParser extends Parser {\n  priority = 100;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"w\":\n        return parseNumericPattern(numericPatterns.week, dateString);\n      case \"wo\":\n        return match.ordinalNumber(dateString, { unit: \"week\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 1 && value <= 53;\n  }\n\n  set(date, _flags, value, options) {\n    return startOfWeek(setWeek(date, value, options), options);\n  }\n\n  incompatibleTokens = [\n    \"y\",\n    \"R\",\n    \"u\",\n    \"q\",\n    \"Q\",\n    \"M\",\n    \"L\",\n    \"I\",\n    \"d\",\n    \"D\",\n    \"i\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { getISOWeek } from \"./getISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The ISO week of the new date\n *\n * @returns The new date with the ISO week set\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * const result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport function setISOWeek(date, week) {\n  const _date = toDate(date);\n  const diff = getISOWeek(_date) - week;\n  _date.setDate(_date.getDate() - diff * 7);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default setISOWeek;\n","import { setISOWeek } from \"../../../setISOWeek.mjs\";\nimport { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// ISO week of year\nexport class ISOWeekParser extends Parser {\n  priority = 100;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"I\":\n        return parseNumericPattern(numericPatterns.week, dateString);\n      case \"Io\":\n        return match.ordinalNumber(dateString, { unit: \"week\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 1 && value <= 53;\n  }\n\n  set(date, _flags, value) {\n    return startOfISOWeek(setISOWeek(date, value));\n  }\n\n  incompatibleTokens = [\n    \"y\",\n    \"Y\",\n    \"u\",\n    \"q\",\n    \"Q\",\n    \"M\",\n    \"L\",\n    \"w\",\n    \"d\",\n    \"D\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n  isLeapYearIndex,\n  parseNDigits,\n  parseNumericPattern,\n} from \"../utils.mjs\";\n\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [\n  31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,\n];\n\n// Day of the month\nexport class DateParser extends Parser {\n  priority = 90;\n  subPriority = 1;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"d\":\n        return parseNumericPattern(numericPatterns.date, dateString);\n      case \"do\":\n        return match.ordinalNumber(dateString, { unit: \"date\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(date, value) {\n    const year = date.getFullYear();\n    const isLeapYear = isLeapYearIndex(year);\n    const month = date.getMonth();\n    if (isLeapYear) {\n      return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n    } else {\n      return value >= 1 && value <= DAYS_IN_MONTH[month];\n    }\n  }\n\n  set(date, _flags, value) {\n    date.setDate(value);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"Y\",\n    \"R\",\n    \"q\",\n    \"Q\",\n    \"w\",\n    \"I\",\n    \"D\",\n    \"i\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n  isLeapYearIndex,\n  parseNDigits,\n  parseNumericPattern,\n} from \"../utils.mjs\";\n\nexport class DayOfYearParser extends Parser {\n  priority = 90;\n\n  subpriority = 1;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"D\":\n      case \"DD\":\n        return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n      case \"Do\":\n        return match.ordinalNumber(dateString, { unit: \"date\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(date, value) {\n    const year = date.getFullYear();\n    const isLeapYear = isLeapYearIndex(year);\n    if (isLeapYear) {\n      return value >= 1 && value <= 366;\n    } else {\n      return value >= 1 && value <= 365;\n    }\n  }\n\n  set(date, _flags, value) {\n    date.setMonth(0, value);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"Y\",\n    \"R\",\n    \"q\",\n    \"Q\",\n    \"M\",\n    \"L\",\n    \"w\",\n    \"I\",\n    \"d\",\n    \"E\",\n    \"i\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { addDays } from \"./addDays.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link setDay} function options.\n */\n\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the week of the new date\n * @param options - An object with options.\n *\n * @returns The new date with the day of the week set\n *\n * @example\n * // Set week day to Sunday, with the default weekStartsOn of Sunday:\n * const result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Set week day to Sunday, with a weekStartsOn of Monday:\n * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setDay(date, day, options) {\n  const defaultOptions = getDefaultOptions();\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const _date = toDate(date);\n  const currentDay = _date.getDay();\n\n  const remainder = day % 7;\n  const dayIndex = (remainder + 7) % 7;\n\n  const delta = 7 - weekStartsOn;\n  const diff =\n    day < 0 || day > 6\n      ? day - ((currentDay + delta) % 7)\n      : ((dayIndex + delta) % 7) - ((currentDay + delta) % 7);\n  return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setDay;\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\n\n// Day of week\nexport class DayParser extends Parser {\n  priority = 90;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      // Tue\n      case \"E\":\n      case \"EE\":\n      case \"EEE\":\n        return (\n          match.day(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n\n      // T\n      case \"EEEEE\":\n        return match.day(dateString, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"EEEEEE\":\n        return (\n          match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n\n      // Tuesday\n      case \"EEEE\":\n      default:\n        return (\n          match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n          match.day(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 6;\n  }\n\n  set(date, _flags, value, options) {\n    date = setDay(date, value, options);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"D\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Local day of week\nexport class LocalDayParser extends Parser {\n  priority = 90;\n  parse(dateString, token, match, options) {\n    const valueCallback = (value) => {\n      // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n      const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n      return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n    };\n\n    switch (token) {\n      // 3\n      case \"e\":\n      case \"ee\": // 03\n        return mapValue(parseNDigits(token.length, dateString), valueCallback);\n      // 3rd\n      case \"eo\":\n        return mapValue(\n          match.ordinalNumber(dateString, {\n            unit: \"day\",\n          }),\n          valueCallback,\n        );\n      // Tue\n      case \"eee\":\n        return (\n          match.day(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n\n      // T\n      case \"eeeee\":\n        return match.day(dateString, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"eeeeee\":\n        return (\n          match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n\n      // Tuesday\n      case \"eeee\":\n      default:\n        return (\n          match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n          match.day(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 6;\n  }\n\n  set(date, _flags, value, options) {\n    date = setDay(date, value, options);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"y\",\n    \"R\",\n    \"u\",\n    \"q\",\n    \"Q\",\n    \"M\",\n    \"L\",\n    \"I\",\n    \"d\",\n    \"D\",\n    \"E\",\n    \"i\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Stand-alone local day of week\nexport class StandAloneLocalDayParser extends Parser {\n  priority = 90;\n\n  parse(dateString, token, match, options) {\n    const valueCallback = (value) => {\n      // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n      const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n      return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n    };\n\n    switch (token) {\n      // 3\n      case \"c\":\n      case \"cc\": // 03\n        return mapValue(parseNDigits(token.length, dateString), valueCallback);\n      // 3rd\n      case \"co\":\n        return mapValue(\n          match.ordinalNumber(dateString, {\n            unit: \"day\",\n          }),\n          valueCallback,\n        );\n      // Tue\n      case \"ccc\":\n        return (\n          match.day(dateString, {\n            width: \"abbreviated\",\n            context: \"standalone\",\n          }) ||\n          match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n        );\n\n      // T\n      case \"ccccc\":\n        return match.day(dateString, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // Tu\n      case \"cccccc\":\n        return (\n          match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n        );\n\n      // Tuesday\n      case \"cccc\":\n      default:\n        return (\n          match.day(dateString, { width: \"wide\", context: \"standalone\" }) ||\n          match.day(dateString, {\n            width: \"abbreviated\",\n            context: \"standalone\",\n          }) ||\n          match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n          match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 6;\n  }\n\n  set(date, _flags, value, options) {\n    date = setDay(date, value, options);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"y\",\n    \"R\",\n    \"u\",\n    \"q\",\n    \"Q\",\n    \"M\",\n    \"L\",\n    \"I\",\n    \"d\",\n    \"D\",\n    \"E\",\n    \"i\",\n    \"e\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { addDays } from \"./addDays.mjs\";\nimport { getISODay } from \"./getISODay.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday etc.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the ISO week of the new date\n *\n * @returns The new date with the day of the ISO week set\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * const result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setISODay(date, day) {\n  const _date = toDate(date);\n  const currentDay = getISODay(_date);\n  const diff = day - currentDay;\n  return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setISODay;\n","import { setISODay } from \"../../../setISODay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// ISO day of week\nexport class ISODayParser extends Parser {\n  priority = 90;\n\n  parse(dateString, token, match) {\n    const valueCallback = (value) => {\n      if (value === 0) {\n        return 7;\n      }\n      return value;\n    };\n\n    switch (token) {\n      // 2\n      case \"i\":\n      case \"ii\": // 02\n        return parseNDigits(token.length, dateString);\n      // 2nd\n      case \"io\":\n        return match.ordinalNumber(dateString, { unit: \"day\" });\n      // Tue\n      case \"iii\":\n        return mapValue(\n          match.day(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n            match.day(dateString, {\n              width: \"short\",\n              context: \"formatting\",\n            }) ||\n            match.day(dateString, {\n              width: \"narrow\",\n              context: \"formatting\",\n            }),\n          valueCallback,\n        );\n      // T\n      case \"iiiii\":\n        return mapValue(\n          match.day(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          }),\n          valueCallback,\n        );\n      // Tu\n      case \"iiiiii\":\n        return mapValue(\n          match.day(dateString, {\n            width: \"short\",\n            context: \"formatting\",\n          }) ||\n            match.day(dateString, {\n              width: \"narrow\",\n              context: \"formatting\",\n            }),\n          valueCallback,\n        );\n      // Tuesday\n      case \"iiii\":\n      default:\n        return mapValue(\n          match.day(dateString, {\n            width: \"wide\",\n            context: \"formatting\",\n          }) ||\n            match.day(dateString, {\n              width: \"abbreviated\",\n              context: \"formatting\",\n            }) ||\n            match.day(dateString, {\n              width: \"short\",\n              context: \"formatting\",\n            }) ||\n            match.day(dateString, {\n              width: \"narrow\",\n              context: \"formatting\",\n            }),\n          valueCallback,\n        );\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 1 && value <= 7;\n  }\n\n  set(date, _flags, value) {\n    date = setISODay(date, value);\n    date.setHours(0, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\n    \"y\",\n    \"Y\",\n    \"u\",\n    \"q\",\n    \"Q\",\n    \"M\",\n    \"L\",\n    \"w\",\n    \"d\",\n    \"D\",\n    \"E\",\n    \"e\",\n    \"c\",\n    \"t\",\n    \"T\",\n  ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMParser extends Parser {\n  priority = 80;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n      case \"aaa\":\n        return (\n          match.dayPeriod(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n\n      case \"aaaaa\":\n        return match.dayPeriod(dateString, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"aaaa\":\n      default:\n        return (\n          match.dayPeriod(dateString, {\n            width: \"wide\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n    }\n  }\n\n  set(date, _flags, value) {\n    date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"b\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMMidnightParser extends Parser {\n  priority = 80;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"b\":\n      case \"bb\":\n      case \"bbb\":\n        return (\n          match.dayPeriod(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n\n      case \"bbbbb\":\n        return match.dayPeriod(dateString, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"bbbb\":\n      default:\n        return (\n          match.dayPeriod(dateString, {\n            width: \"wide\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n    }\n  }\n\n  set(date, _flags, value) {\n    date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"a\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\n// in the morning, in the afternoon, in the evening, at night\nexport class DayPeriodParser extends Parser {\n  priority = 80;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"B\":\n      case \"BB\":\n      case \"BBB\":\n        return (\n          match.dayPeriod(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n\n      case \"BBBBB\":\n        return match.dayPeriod(dateString, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"BBBB\":\n      default:\n        return (\n          match.dayPeriod(dateString, {\n            width: \"wide\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          }) ||\n          match.dayPeriod(dateString, {\n            width: \"narrow\",\n            context: \"formatting\",\n          })\n        );\n    }\n  }\n\n  set(date, _flags, value) {\n    date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"a\", \"b\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1to12Parser extends Parser {\n  priority = 70;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"h\":\n        return parseNumericPattern(numericPatterns.hour12h, dateString);\n      case \"ho\":\n        return match.ordinalNumber(dateString, { unit: \"hour\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 1 && value <= 12;\n  }\n\n  set(date, _flags, value) {\n    const isPM = date.getHours() >= 12;\n    if (isPM && value < 12) {\n      date.setHours(value + 12, 0, 0, 0);\n    } else if (!isPM && value === 12) {\n      date.setHours(0, 0, 0, 0);\n    } else {\n      date.setHours(value, 0, 0, 0);\n    }\n    return date;\n  }\n\n  incompatibleTokens = [\"H\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0to23Parser extends Parser {\n  priority = 70;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"H\":\n        return parseNumericPattern(numericPatterns.hour23h, dateString);\n      case \"Ho\":\n        return match.ordinalNumber(dateString, { unit: \"hour\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 23;\n  }\n\n  set(date, _flags, value) {\n    date.setHours(value, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"a\", \"b\", \"h\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0To11Parser extends Parser {\n  priority = 70;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"K\":\n        return parseNumericPattern(numericPatterns.hour11h, dateString);\n      case \"Ko\":\n        return match.ordinalNumber(dateString, { unit: \"hour\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 11;\n  }\n\n  set(date, _flags, value) {\n    const isPM = date.getHours() >= 12;\n    if (isPM && value < 12) {\n      date.setHours(value + 12, 0, 0, 0);\n    } else {\n      date.setHours(value, 0, 0, 0);\n    }\n    return date;\n  }\n\n  incompatibleTokens = [\"h\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1To24Parser extends Parser {\n  priority = 70;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"k\":\n        return parseNumericPattern(numericPatterns.hour24h, dateString);\n      case \"ko\":\n        return match.ordinalNumber(dateString, { unit: \"hour\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 1 && value <= 24;\n  }\n\n  set(date, _flags, value) {\n    const hours = value <= 24 ? value % 24 : value;\n    date.setHours(hours, 0, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"a\", \"b\", \"h\", \"H\", \"K\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MinuteParser extends Parser {\n  priority = 60;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"m\":\n        return parseNumericPattern(numericPatterns.minute, dateString);\n      case \"mo\":\n        return match.ordinalNumber(dateString, { unit: \"minute\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 59;\n  }\n\n  set(date, _flags, value) {\n    date.setMinutes(value, 0, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class SecondParser extends Parser {\n  priority = 50;\n\n  parse(dateString, token, match) {\n    switch (token) {\n      case \"s\":\n        return parseNumericPattern(numericPatterns.second, dateString);\n      case \"so\":\n        return match.ordinalNumber(dateString, { unit: \"second\" });\n      default:\n        return parseNDigits(token.length, dateString);\n    }\n  }\n\n  validate(_date, value) {\n    return value >= 0 && value <= 59;\n  }\n\n  set(date, _flags, value) {\n    date.setSeconds(value, 0);\n    return date;\n  }\n\n  incompatibleTokens = [\"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\nexport class FractionOfSecondParser extends Parser {\n  priority = 30;\n\n  parse(dateString, token) {\n    const valueCallback = (value) =>\n      Math.trunc(value * Math.pow(10, -token.length + 3));\n    return mapValue(parseNDigits(token.length, dateString), valueCallback);\n  }\n\n  set(date, _flags, value) {\n    date.setMilliseconds(value);\n    return date;\n  }\n\n  incompatibleTokens = [\"t\", \"T\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601. +00:00 is `'Z'`)\nexport class ISOTimezoneWithZParser extends Parser {\n  priority = 10;\n\n  parse(dateString, token) {\n    switch (token) {\n      case \"X\":\n        return parseTimezonePattern(\n          timezonePatterns.basicOptionalMinutes,\n          dateString,\n        );\n      case \"XX\":\n        return parseTimezonePattern(timezonePatterns.basic, dateString);\n      case \"XXXX\":\n        return parseTimezonePattern(\n          timezonePatterns.basicOptionalSeconds,\n          dateString,\n        );\n      case \"XXXXX\":\n        return parseTimezonePattern(\n          timezonePatterns.extendedOptionalSeconds,\n          dateString,\n        );\n      case \"XXX\":\n      default:\n        return parseTimezonePattern(timezonePatterns.extended, dateString);\n    }\n  }\n\n  set(date, flags, value) {\n    if (flags.timestampIsSet) return date;\n    return constructFrom(\n      date,\n      date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n    );\n  }\n\n  incompatibleTokens = [\"t\", \"T\", \"x\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601)\nexport class ISOTimezoneParser extends Parser {\n  priority = 10;\n\n  parse(dateString, token) {\n    switch (token) {\n      case \"x\":\n        return parseTimezonePattern(\n          timezonePatterns.basicOptionalMinutes,\n          dateString,\n        );\n      case \"xx\":\n        return parseTimezonePattern(timezonePatterns.basic, dateString);\n      case \"xxxx\":\n        return parseTimezonePattern(\n          timezonePatterns.basicOptionalSeconds,\n          dateString,\n        );\n      case \"xxxxx\":\n        return parseTimezonePattern(\n          timezonePatterns.extendedOptionalSeconds,\n          dateString,\n        );\n      case \"xxx\":\n      default:\n        return parseTimezonePattern(timezonePatterns.extended, dateString);\n    }\n  }\n\n  set(date, flags, value) {\n    if (flags.timestampIsSet) return date;\n    return constructFrom(\n      date,\n      date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n    );\n  }\n\n  incompatibleTokens = [\"t\", \"T\", \"X\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampSecondsParser extends Parser {\n  priority = 40;\n\n  parse(dateString) {\n    return parseAnyDigitsSigned(dateString);\n  }\n\n  set(date, _flags, value) {\n    return [constructFrom(date, value * 1000), { timestampIsSet: true }];\n  }\n\n  incompatibleTokens = \"*\";\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampMillisecondsParser extends Parser {\n  priority = 20;\n\n  parse(dateString) {\n    return parseAnyDigitsSigned(dateString);\n  }\n\n  set(date, _flags, value) {\n    return [constructFrom(date, value), { timestampIsSet: true }];\n  }\n\n  incompatibleTokens = \"*\";\n}\n","import { EraParser } from \"./parsers/EraParser.mjs\";\nimport { YearParser } from \"./parsers/YearParser.mjs\";\nimport { LocalWeekYearParser } from \"./parsers/LocalWeekYearParser.mjs\";\nimport { ISOWeekYearParser } from \"./parsers/ISOWeekYearParser.mjs\";\nimport { ExtendedYearParser } from \"./parsers/ExtendedYearParser.mjs\";\nimport { QuarterParser } from \"./parsers/QuarterParser.mjs\";\nimport { StandAloneQuarterParser } from \"./parsers/StandAloneQuarterParser.mjs\";\nimport { MonthParser } from \"./parsers/MonthParser.mjs\";\nimport { StandAloneMonthParser } from \"./parsers/StandAloneMonthParser.mjs\";\nimport { LocalWeekParser } from \"./parsers/LocalWeekParser.mjs\";\nimport { ISOWeekParser } from \"./parsers/ISOWeekParser.mjs\";\nimport { DateParser } from \"./parsers/DateParser.mjs\";\nimport { DayOfYearParser } from \"./parsers/DayOfYearParser.mjs\";\nimport { DayParser } from \"./parsers/DayParser.mjs\";\nimport { LocalDayParser } from \"./parsers/LocalDayParser.mjs\";\nimport { StandAloneLocalDayParser } from \"./parsers/StandAloneLocalDayParser.mjs\";\nimport { ISODayParser } from \"./parsers/ISODayParser.mjs\";\nimport { AMPMParser } from \"./parsers/AMPMParser.mjs\";\nimport { AMPMMidnightParser } from \"./parsers/AMPMMidnightParser.mjs\";\nimport { DayPeriodParser } from \"./parsers/DayPeriodParser.mjs\";\nimport { Hour1to12Parser } from \"./parsers/Hour1to12Parser.mjs\";\nimport { Hour0to23Parser } from \"./parsers/Hour0to23Parser.mjs\";\nimport { Hour0To11Parser } from \"./parsers/Hour0To11Parser.mjs\";\nimport { Hour1To24Parser } from \"./parsers/Hour1To24Parser.mjs\";\nimport { MinuteParser } from \"./parsers/MinuteParser.mjs\";\nimport { SecondParser } from \"./parsers/SecondParser.mjs\";\nimport { FractionOfSecondParser } from \"./parsers/FractionOfSecondParser.mjs\";\nimport { ISOTimezoneWithZParser } from \"./parsers/ISOTimezoneWithZParser.mjs\";\nimport { ISOTimezoneParser } from \"./parsers/ISOTimezoneParser.mjs\";\nimport { TimestampSecondsParser } from \"./parsers/TimestampSecondsParser.mjs\";\nimport { TimestampMillisecondsParser } from \"./parsers/TimestampMillisecondsParser.mjs\";\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O* | Timezone (GMT)                 |\n * |  p  |                                |  P  |                                |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z* | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- It's ok, we want any here\nexport const parsers = {\n  G: new EraParser(),\n  y: new YearParser(),\n  Y: new LocalWeekYearParser(),\n  R: new ISOWeekYearParser(),\n  u: new ExtendedYearParser(),\n  Q: new QuarterParser(),\n  q: new StandAloneQuarterParser(),\n  M: new MonthParser(),\n  L: new StandAloneMonthParser(),\n  w: new LocalWeekParser(),\n  I: new ISOWeekParser(),\n  d: new DateParser(),\n  D: new DayOfYearParser(),\n  E: new DayParser(),\n  e: new LocalDayParser(),\n  c: new StandAloneLocalDayParser(),\n  i: new ISODayParser(),\n  a: new AMPMParser(),\n  b: new AMPMMidnightParser(),\n  B: new DayPeriodParser(),\n  h: new Hour1to12Parser(),\n  H: new Hour0to23Parser(),\n  K: new Hour0To11Parser(),\n  k: new Hour1To24Parser(),\n  m: new MinuteParser(),\n  s: new SecondParser(),\n  S: new FractionOfSecondParser(),\n  X: new ISOTimezoneWithZParser(),\n  x: new ISOTimezoneParser(),\n  t: new TimestampSecondsParser(),\n  T: new TimestampMillisecondsParser(),\n};\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getDefaultOptions } from \"./getDefaultOptions.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n  isProtectedDayOfYearToken,\n  isProtectedWeekYearToken,\n  warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { parsers } from \"./parse/_lib/parsers.mjs\";\nimport { DateToSystemTimezoneSetter } from \"./parse/_lib/Setter.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { longFormatters, parsers };\n\n/**\n * The {@link parse} function options.\n */\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n  /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\n\nconst notWhitespaceRegExp = /\\S/;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit                            |Prior| Pattern | Result examples                   | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era                             | 140 | G..GGG  | AD, BC                            |       |\n * |                                 |     | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 |     | GGGGG   | A, B                              |       |\n * | Calendar year                   | 130 | y       | 44, 1, 1900, 2017, 9999           | 4     |\n * |                                 |     | yo      | 44th, 1st, 1900th, 9999999th      | 4,5   |\n * |                                 |     | yy      | 44, 01, 00, 17                    | 4     |\n * |                                 |     | yyy     | 044, 001, 123, 999                | 4     |\n * |                                 |     | yyyy    | 0044, 0001, 1900, 2017            | 4     |\n * |                                 |     | yyyyy   | ...                               | 2,4   |\n * | Local week-numbering year       | 130 | Y       | 44, 1, 1900, 2017, 9000           | 4     |\n * |                                 |     | Yo      | 44th, 1st, 1900th, 9999999th      | 4,5   |\n * |                                 |     | YY      | 44, 01, 00, 17                    | 4,6   |\n * |                                 |     | YYY     | 044, 001, 123, 999                | 4     |\n * |                                 |     | YYYY    | 0044, 0001, 1900, 2017            | 4,6   |\n * |                                 |     | YYYYY   | ...                               | 2,4   |\n * | ISO week-numbering year         | 130 | R       | -43, 1, 1900, 2017, 9999, -9999   | 4,5   |\n * |                                 |     | RR      | -43, 01, 00, 17                   | 4,5   |\n * |                                 |     | RRR     | -043, 001, 123, 999, -999         | 4,5   |\n * |                                 |     | RRRR    | -0043, 0001, 2017, 9999, -9999    | 4,5   |\n * |                                 |     | RRRRR   | ...                               | 2,4,5 |\n * | Extended year                   | 130 | u       | -43, 1, 1900, 2017, 9999, -999    | 4     |\n * |                                 |     | uu      | -43, 01, 99, -99                  | 4     |\n * |                                 |     | uuu     | -043, 001, 123, 999, -999         | 4     |\n * |                                 |     | uuuu    | -0043, 0001, 2017, 9999, -9999    | 4     |\n * |                                 |     | uuuuu   | ...                               | 2,4   |\n * | Quarter (formatting)            | 120 | Q       | 1, 2, 3, 4                        |       |\n * |                                 |     | Qo      | 1st, 2nd, 3rd, 4th                | 5     |\n * |                                 |     | QQ      | 01, 02, 03, 04                    |       |\n * |                                 |     | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 |     | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 |     | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | 120 | q       | 1, 2, 3, 4                        |       |\n * |                                 |     | qo      | 1st, 2nd, 3rd, 4th                | 5     |\n * |                                 |     | qq      | 01, 02, 03, 04                    |       |\n * |                                 |     | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 |     | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 |     | qqqqq   | 1, 2, 3, 4                        | 3     |\n * | Month (formatting)              | 110 | M       | 1, 2, ..., 12                     |       |\n * |                                 |     | Mo      | 1st, 2nd, ..., 12th               | 5     |\n * |                                 |     | MM      | 01, 02, ..., 12                   |       |\n * |                                 |     | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 |     | MMMM    | January, February, ..., December  | 2     |\n * |                                 |     | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | 110 | L       | 1, 2, ..., 12                     |       |\n * |                                 |     | Lo      | 1st, 2nd, ..., 12th               | 5     |\n * |                                 |     | LL      | 01, 02, ..., 12                   |       |\n * |                                 |     | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 |     | LLLL    | January, February, ..., December  | 2     |\n * |                                 |     | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | 100 | w       | 1, 2, ..., 53                     |       |\n * |                                 |     | wo      | 1st, 2nd, ..., 53th               | 5     |\n * |                                 |     | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | 100 | I       | 1, 2, ..., 53                     | 5     |\n * |                                 |     | Io      | 1st, 2nd, ..., 53th               | 5     |\n * |                                 |     | II      | 01, 02, ..., 53                   | 5     |\n * | Day of month                    |  90 | d       | 1, 2, ..., 31                     |       |\n * |                                 |     | do      | 1st, 2nd, ..., 31st               | 5     |\n * |                                 |     | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     |  90 | D       | 1, 2, ..., 365, 366               | 7     |\n * |                                 |     | Do      | 1st, 2nd, ..., 365th, 366th       | 5     |\n * |                                 |     | DD      | 01, 02, ..., 365, 366             | 7     |\n * |                                 |     | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 |     | DDDD    | ...                               | 2     |\n * | Day of week (formatting)        |  90 | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 |     | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 |     | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    |  90 | i       | 1, 2, 3, ..., 7                   | 5     |\n * |                                 |     | io      | 1st, 2nd, ..., 7th                | 5     |\n * |                                 |     | ii      | 01, 02, ..., 07                   | 5     |\n * |                                 |     | iii     | Mon, Tue, Wed, ..., Sun           | 5     |\n * |                                 |     | iiii    | Monday, Tuesday, ..., Sunday      | 2,5   |\n * |                                 |     | iiiii   | M, T, W, T, F, S, S               | 5     |\n * |                                 |     | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 5     |\n * | Local day of week (formatting)  |  90 | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 |     | eo      | 2nd, 3rd, ..., 1st                | 5     |\n * |                                 |     | ee      | 02, 03, ..., 01                   |       |\n * |                                 |     | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 |     | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 |     | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) |  90 | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 |     | co      | 2nd, 3rd, ..., 1st                | 5     |\n * |                                 |     | cc      | 02, 03, ..., 01                   |       |\n * |                                 |     | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 |     | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 |     | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          |  80 | a..aaa  | AM, PM                            |       |\n * |                                 |     | aaaa    | a.m., p.m.                        | 2     |\n * |                                 |     | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          |  80 | b..bbb  | AM, PM, noon, midnight            |       |\n * |                                 |     | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 |     | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             |  80 | B..BBB  | at night, in the morning, ...     |       |\n * |                                 |     | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 |     | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     |  70 | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 |     | ho      | 1st, 2nd, ..., 11th, 12th         | 5     |\n * |                                 |     | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     |  70 | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 |     | Ho      | 0th, 1st, 2nd, ..., 23rd          | 5     |\n * |                                 |     | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     |  70 | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 |     | Ko      | 1st, 2nd, ..., 11th, 0th          | 5     |\n * |                                 |     | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     |  70 | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 |     | ko      | 24th, 1st, 2nd, ..., 23rd         | 5     |\n * |                                 |     | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          |  60 | m       | 0, 1, ..., 59                     |       |\n * |                                 |     | mo      | 0th, 1st, ..., 59th               | 5     |\n * |                                 |     | mm      | 00, 01, ..., 59                   |       |\n * | Second                          |  50 | s       | 0, 1, ..., 59                     |       |\n * |                                 |     | so      | 0th, 1st, ..., 59th               | 5     |\n * |                                 |     | ss      | 00, 01, ..., 59                   |       |\n * | Seconds timestamp               |  40 | t       | 512969520                         |       |\n * |                                 |     | tt      | ...                               | 2     |\n * | Fraction of second              |  30 | S       | 0, 1, ..., 9                      |       |\n * |                                 |     | SS      | 00, 01, ..., 99                   |       |\n * |                                 |     | SSS     | 000, 001, ..., 999                |       |\n * |                                 |     | SSSS    | ...                               | 2     |\n * | Milliseconds timestamp          |  20 | T       | 512969520900                      |       |\n * |                                 |     | TT      | ...                               | 2     |\n * | Timezone (ISO-8601 w/ Z)        |  10 | X       | -08, +0530, Z                     |       |\n * |                                 |     | XX      | -0800, +0530, Z                   |       |\n * |                                 |     | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 |     | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 |     | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       |  10 | x       | -08, +0530, +00                   |       |\n * |                                 |     | xx      | -0800, +0530, +0000               |       |\n * |                                 |     | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 |     | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 |     | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Long localized date             |  NA | P       | 05/29/1453                        | 5,8   |\n * |                                 |     | PP      | May 29, 1453                      |       |\n * |                                 |     | PPP     | May 29th, 1453                    |       |\n * |                                 |     | PPPP    | Sunday, May 29th, 1453            | 2,5,8 |\n * | Long localized time             |  NA | p       | 12:00 AM                          | 5,8   |\n * |                                 |     | pp      | 12:00:00 AM                       |       |\n * | Combination of date and time    |  NA | Pp      | 05/29/1453, 12:00 AM              |       |\n * |                                 |     | PPpp    | May 29, 1453, 12:00:00 AM         |       |\n * |                                 |     | PPPpp   | May 29th, 1453 at ...             |       |\n * |                                 |     | PPPPpp  | Sunday, May 29th, 1453 at ...     | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular.\n *    In `format` function, they will produce different result:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n *    `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table:\n *    - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n *      as wide as the sequence\n *    - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n *      These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n *    `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n *    `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n *    while `uu` will just assign the year as is:\n *\n *    `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n *    `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n *    and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n *    on the given locale.\n *\n *    using `en-US` locale: `P` => `MM/dd/yyyy`\n *    using `en-US` locale: `p` => `hh:mm a`\n *    using `pt-BR` locale: `P` => `dd/MM/yyyy`\n *    using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateStr - The string to parse\n * @param formatStr - The string of tokens\n * @param referenceDate - defines values missing from the parsed dateString\n * @param options - An object with options.\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns The parsed date\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n *   locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport function parse(dateStr, formatStr, referenceDate, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  if (formatStr === \"\") {\n    if (dateStr === \"\") {\n      return toDate(referenceDate);\n    } else {\n      return constructFrom(referenceDate, NaN);\n    }\n  }\n\n  const subFnOptions = {\n    firstWeekContainsDate,\n    weekStartsOn,\n    locale,\n  };\n\n  // If timezone isn't specified, it will be set to the system timezone\n  const setters = [new DateToSystemTimezoneSetter()];\n\n  const tokens = formatStr\n    .match(longFormattingTokensRegExp)\n    .map((substring) => {\n      const firstCharacter = substring[0];\n      if (firstCharacter in longFormatters) {\n        const longFormatter = longFormatters[firstCharacter];\n        return longFormatter(substring, locale.formatLong);\n      }\n      return substring;\n    })\n    .join(\"\")\n    .match(formattingTokensRegExp);\n\n  const usedTokens = [];\n\n  for (let token of tokens) {\n    if (\n      !options?.useAdditionalWeekYearTokens &&\n      isProtectedWeekYearToken(token)\n    ) {\n      warnOrThrowProtectedError(token, formatStr, dateStr);\n    }\n    if (\n      !options?.useAdditionalDayOfYearTokens &&\n      isProtectedDayOfYearToken(token)\n    ) {\n      warnOrThrowProtectedError(token, formatStr, dateStr);\n    }\n\n    const firstCharacter = token[0];\n    const parser = parsers[firstCharacter];\n    if (parser) {\n      const { incompatibleTokens } = parser;\n      if (Array.isArray(incompatibleTokens)) {\n        const incompatibleToken = usedTokens.find(\n          (usedToken) =>\n            incompatibleTokens.includes(usedToken.token) ||\n            usedToken.token === firstCharacter,\n        );\n        if (incompatibleToken) {\n          throw new RangeError(\n            `The format string mustn't contain \\`${incompatibleToken.fullToken}\\` and \\`${token}\\` at the same time`,\n          );\n        }\n      } else if (parser.incompatibleTokens === \"*\" && usedTokens.length > 0) {\n        throw new RangeError(\n          `The format string mustn't contain \\`${token}\\` and any other token at the same time`,\n        );\n      }\n\n      usedTokens.push({ token: firstCharacter, fullToken: token });\n\n      const parseResult = parser.run(\n        dateStr,\n        token,\n        locale.match,\n        subFnOptions,\n      );\n\n      if (!parseResult) {\n        return constructFrom(referenceDate, NaN);\n      }\n\n      setters.push(parseResult.setter);\n\n      dateStr = parseResult.rest;\n    } else {\n      if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n        throw new RangeError(\n          \"Format string contains an unescaped latin alphabet character `\" +\n            firstCharacter +\n            \"`\",\n        );\n      }\n\n      // Replace two single quote characters with one single quote character\n      if (token === \"''\") {\n        token = \"'\";\n      } else if (firstCharacter === \"'\") {\n        token = cleanEscapedString(token);\n      }\n\n      // Cut token from string, or, if string doesn't match the token, return Invalid Date\n      if (dateStr.indexOf(token) === 0) {\n        dateStr = dateStr.slice(token.length);\n      } else {\n        return constructFrom(referenceDate, NaN);\n      }\n    }\n  }\n\n  // Check if the remaining input contains something other than whitespace\n  if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) {\n    return constructFrom(referenceDate, NaN);\n  }\n\n  const uniquePrioritySetters = setters\n    .map((setter) => setter.priority)\n    .sort((a, b) => b - a)\n    .filter((priority, index, array) => array.indexOf(priority) === index)\n    .map((priority) =>\n      setters\n        .filter((setter) => setter.priority === priority)\n        .sort((a, b) => b.subPriority - a.subPriority),\n    )\n    .map((setterArray) => setterArray[0]);\n\n  let date = toDate(referenceDate);\n\n  if (isNaN(date.getTime())) {\n    return constructFrom(referenceDate, NaN);\n  }\n\n  const flags = {};\n  for (const setter of uniquePrioritySetters) {\n    if (!setter.validate(date, subFnOptions)) {\n      return constructFrom(referenceDate, NaN);\n    }\n\n    const result = setter.set(date, flags, subFnOptions);\n    // Result is tuple (date, flags)\n    if (Array.isArray(result)) {\n      date = result[0];\n      Object.assign(flags, result[1]);\n      // Result is date\n    } else {\n      date = result;\n    }\n  }\n\n  return constructFrom(referenceDate, date);\n}\n\nfunction cleanEscapedString(input) {\n  return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default parse;\n","import{nothing as D,noChange as R}from\"../lit-html.js\";import{Directive as i,PartType as t,directive as e}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class le extends i{constructor(i){if(super(i),this.it=D,i.type!==t.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(t){if(t===D||null==t)return this._t=void 0,this.it=t;if(t===R)return t;if(\"string\"!=typeof t)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(t===this.it)return this._t;this.it=t;const i=[t];return i.raw=i,this._t={_$litType$:this.constructor.resultType,strings:i,values:[]}}}le.directiveName=\"unsafeHTML\",le.resultType=1;const ae=e(le);export{le as UnsafeHTMLDirective,ae as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","// Rough per-element pixel costs used to pre-estimate each group's rendered\n// height for the virtual scroller. They don't need to be exact — only to scale\n// with a group's content so the virtualizer's offsets track reality. A flat\n// estimate left tall groups badly under-estimated, which produced large scroll\n// corrections when scrolling up into them (the \"stuck scroll\" symptom).\nexport const GROUP_BASE_HEIGHT = 88;\nexport const GROUP_ITEM_HEIGHT = 64;\nexport const GROUP_SUBGROUP_HEADER_HEIGHT = 44;\n","import { IActivityHistoryGroup } from \"../../../domain/model\";\nimport { GROUP_BASE_HEIGHT, GROUP_ITEM_HEIGHT, GROUP_SUBGROUP_HEADER_HEIGHT } from \"./constants\";\n\n// Deterministic, content-based height estimate for a group. It is a pure\n// function of the group's item/subgroup counts, so it never mutates the\n// virtualizer or schedules a render — unlike the adaptive running-average\n// estimate that did and hung the app. Scaling the estimate with item count\n// keeps the virtualizer's offsets close to the real heights, which is what\n// stops the scroll snapping back when you scroll up into groups that were\n// never measured.\nexport const estimateGroupHeight = (group: IActivityHistoryGroup | undefined): number => {\n  if (!group) return GROUP_BASE_HEIGHT;\n\n  const directItems = group.items?.length ?? 0;\n  const subGroups = group.subGroups ?? [];\n  const subGroupItems = subGroups.reduce((total, subGroup) => total + (subGroup.items?.length ?? 0), 0);\n\n  return GROUP_BASE_HEIGHT + (directItems + subGroupItems) * GROUP_ITEM_HEIGHT + subGroups.length * GROUP_SUBGROUP_HEADER_HEIGHT;\n};\n","import{nothing as D}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const to=t=>t??D;export{to as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import{isSingleExpression as rt}from\"./directive-helpers.js\";import{Directive as i,PartType as t}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const mt=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),mt(i,t);return!0},_t=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},wt=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),gt(t)}};function bt(i){void 0!==this._$AN?(_t(this),this._$AM=i,wt(this)):this._$AM=i}function yt(i,t=!1,e=0){const s=this._$AH,o=this._$AN;if(void 0!==o&&0!==o.size)if(t)if(Array.isArray(s))for(let i=e;i<s.length;i++)mt(s[i],!1),_t(s[i]);else null!=s&&(mt(s,!1),_t(s));else mt(this,i)}const gt=i=>{i.type==t.CHILD&&(i._$AP??=yt,i._$AQ??=bt)};class $t extends i{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),wt(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(mt(this,i),_t(this))}setValue(i){if(rt(this.t))this.t._$AI(i,this);else{const t=[...this.t._$AH];t[this.i]=i,this.t._$AI(t,this,0)}}disconnected(){}reconnected(){}}export{$t as AsyncDirective,i as Directive,t as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as D}from\"../lit-html.js\";import{AsyncDirective as $t}from\"../async-directive.js\";import{directive as e}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const ii=()=>new Zt;class Zt{}const qt=new WeakMap,Kt=e(class extends $t{render(t){return D}update(t,[i]){const s=i!==this.Y;return s&&void 0!==this.Y&&this.rt(void 0),(s||this.lt!==this.ct)&&(this.Y=i,this.ht=t.options?.host,this.rt(this.ct=t.element)),D}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.Y){const i=this.ht??globalThis;let s=qt.get(i);void 0===s&&(s=new WeakMap,qt.set(i,s)),void 0!==s.get(this.Y)&&this.Y.call(this.ht,void 0),s.set(this.Y,t),void 0!==t&&this.Y.call(this.ht,t)}else this.Y.value=t}get lt(){return\"function\"==typeof this.Y?qt.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{ii as createRef,Kt as ref};\n//# sourceMappingURL=ref.js.map\n","import { html } from \"lit\";\nimport { ActivityHistoryIsGroupingBusy } from \"./component\";\nimport { translate } from \"../../../../localization\";\n\nexport const template = (_props: ActivityHistoryIsGroupingBusy) => html`\n  <div class=\"grouping-busy-container\">\n    <dss-spinner size=\"sm\"></dss-spinner>\n    <div>${translate(\"isGrouping\")}</div>\n  </div>\n`;\n","import { LitElement, html, css, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\n@customElement(\"activity-history-is-grouping-busy\")\nexport class ActivityHistoryIsGroupingBusy extends LitElement {\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  render() {\n    return template(this);\n  }\n} ","import { IActivityHistoryItem, IActivityHistoryItemWithComponent } from \"./model\";\n\nexport function shouldShowRole(item: IActivityHistoryItem): boolean {\n  return !item.professional?.speciality?.description;\n}\n\nexport const hasItemDivider = (\n  item: IActivityHistoryItemWithComponent,\n  items: IActivityHistoryItemWithComponent[],\n): boolean => {\n  const currentIndex = items.findIndex((i) => i.id === item.id);\n\n  if (currentIndex === -1) {\n    // Item no encontrado, por seguridad\n    return false;\n  }\n\n  if (currentIndex === items.length - 1) {\n    // Es el último elemento\n    return true;\n  }\n\n  return !item.diagnostics?.length;\n};\n","import {\n  IActivityHistoryGroup,\n  IActivityHistoryItemWithComponent,\n  IActivityHistorySubGroup,\n} from \"../../domain/model\";\n\nexport type ActivityHistoryEntry =\n  | { type: \"item\"; date: Date; item: IActivityHistoryItemWithComponent }\n  | { type: \"subGroup\"; date: Date; subGroup: IActivityHistorySubGroup };\n\nexport const mergeHistoryItemsAndSubgroups = (\n  group: IActivityHistoryGroup,\n): ActivityHistoryEntry[] => {\n  // 1. Prepara los items sueltos\n  const itemEntries: ActivityHistoryEntry[] = group?.items.map((item) => ({\n    type: \"item\",\n    date: new Date(item.date),\n    item,\n  }));\n\n  // 2. Prepara los subGroups, usando la fecha del ítem más reciente de cada subgrupo\n  const subGroupEntries: ActivityHistoryEntry[] = group?.subGroups.map((subGroup) => {\n    // Asumimos que subGroup.items ya está ordenado de más reciente a más antiguo\n    const mostRecent = subGroup?.items.length ? new Date(subGroup.items[0].date) : new Date(0);\n    return {\n      type: \"subGroup\",\n      date: mostRecent,\n      subGroup,\n    };\n  });\n\n  // 3. Fusiona y ordena\n  return [...itemEntries, ...subGroupEntries].sort((a, b) => b.date.getTime() - a.date.getTime());\n};\n","import { format } from \"date-fns\";\nimport { html, nothing } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { translate } from \"../../../../localization\";\nimport \"../../../add/handle-busy/is-grouping-busy/component\";\nimport { hasItemDivider, shouldShowRole } from \"../../../domain/business-rules\";\nimport {\n  IActivityHistoryDiagnostic,\n  IActivityHistoryGroup,\n  IActivityHistoryItem,\n  IActivityHistoryItemWithComponent,\n} from \"../../../domain/model\";\nimport {\n  ActivityHistoryEntry,\n  mergeHistoryItemsAndSubgroups,\n} from \"../../merge-history-items-and-subgroups/merge-history-items-and-subgroups\";\nimport { ActivityHistoryTimeline } from \"./activity-history-timeline\";\n\nexport const template = (props: ActivityHistoryTimeline) => {\n  return html`\n    <div class=\"container\">\n      <activity-history-full-data-error></activity-history-full-data-error>\n      <activity-history-partial-data-error></activity-history-partial-data-error>\n\n      ${\n        props.historyGroups?.length > 0\n          ? html`\n            <div class=\"virtual-container\">\n              <div class=\"virtual-viewport\" @scroll=${props._onScroll}>\n                <div class=\"virtual-content\" style=\"height: ${props._totalHeight}px;\">\n                  <div class=\"virtual-items\" style=\"transform: translateY(${props._containerOffset}px)\">\n                    ${repeat(\n                      props._visibleRows,\n                      (row) => row.group?.items?.[0]?.id || row.group?.subGroups?.[0]?.items?.[0]?.id,\n                      ({ index, group: itemGroup }) => {\n                        return html`\n                          <div class=\"visit\"\n                               data-index=${index}\n                               ${ref(props._measureElement)}\n                               data-date=${ifDefined(itemGroup?.items[0]?.date || itemGroup?.subGroups[0]?.items[0]?.date)}>\n                            ${visitHeaderTemplate(props, itemGroup?.items[0] || itemGroup?.subGroups[0]?.items[0], itemGroup)}\n                            <div class=\"visit__items\">\n                              ${repeat(\n                                mergeHistoryItemsAndSubgroups(itemGroup),\n                                (entry) => (entry.type === \"item\" ? entry.item.id : entry.subGroup.id),\n                                (entry: ActivityHistoryEntry) => {\n                                  if (entry.type === \"item\") {\n                                    const item = entry.item;\n                                    return html`\n                                      <div\n                                        class=\"item\"\n                                        ?has-divider=${hasItemDivider(item, itemGroup?.items as IActivityHistoryItemWithComponent[])}\n                                      >\n                                        ${item.component}\n                                      </div>\n                                    `;\n                                  }\n                                  const subGroup = entry.subGroup;\n                                  return html`\n                                    <div class=\"diagnostics\">\n                                      ${diagnosticHeaderTemplate(subGroup?.items[0])}\n                                      <div class=\"diagnostics__items\">\n                                        ${repeat(\n                                          subGroup?.items,\n                                          (item) => item.id,\n                                          (item: IActivityHistoryItemWithComponent) => html`\n                                            <div class=\"item\"\n                                                 ?has-divider=${hasItemDivider(item, subGroup?.items as IActivityHistoryItemWithComponent[])}>\n                                              ${item.component}\n                                            </div>\n                                          `,\n                                        )}\n                                      </div>\n                                    </div>\n                                  `;\n                                },\n                              )}\n                            </div>\n                          </div>\n                        `;\n                      },\n                    )}\n                  </div>\n                </div>\n              </div>\n            </div>\n          `\n          : noGroupsTemplate(props)\n      }\n    </div>\n  `;\n};\n\nconst noGroupsTemplate = (props: ActivityHistoryTimeline) => html`\n${\n  props.searchString?.length > 1\n    ? html`\n          <dss-user-feedback\n            class=\"feedback\"\n            status=\"empty\"\n            title=${translate(\"noResults\")}>\n          </dss-user-feedback>\n        `\n    : props.isAnyCollectionBusy\n      ? html`<activity-history-is-grouping-busy></activity-history-is-grouping-busy>`\n      : props._canShowNoDataMessage\n        ? html`<dss-user-feedback\n              class=\"feedback\"\n              status=\"empty\"\n              title=${translate(\"noData.title\")}\n              description=${translate(\"noData.description\")}>\n            </dss-user-feedback>`\n        : nothing\n}`;\n\nconst visitHeaderTemplate = (\n  props: ActivityHistoryTimeline,\n  item: IActivityHistoryItem | undefined,\n  itemGroup?: IActivityHistoryGroup,\n) => {\n  if (!item) return nothing;\n  return html`\n  <div class=\"visit__header\">\n    <div class=\"title\">\n      <div class=\"title-date\">\n        <div>${format(new Date(item.date), \"dd/MM/yyyy\")}</div>\n      </div>\n      <div class=\"title-description\">\n        <div>\n          ${renderProfessionalValues(props, item, itemGroup)}\n        </div>\n      </div>\n    </div>\n  </div>\n  `;\n};\n\n// Buscar el primer servei informat dins del grup\nconst findServiceInGroup = (itemGroup?: IActivityHistoryGroup): { id?: string; description?: string } | undefined => {\n  if (!itemGroup) return undefined;\n\n  // Buscar en items\n  for (const item of itemGroup.items || []) {\n    if (item.service?.id) return item.service;\n  }\n\n  // Buscar en subGroups\n  for (const subGroup of itemGroup.subGroups || []) {\n    for (const item of subGroup.items || []) {\n      if (item.service?.id) return item.service;\n    }\n  }\n\n  return undefined;\n};\n\nconst renderProfessionalValues = (\n  props: ActivityHistoryTimeline,\n  item: IActivityHistoryItem,\n  itemGroup?: IActivityHistoryGroup,\n) => {\n  if (!item.professional) return nothing;\n  const showRole = shouldShowRole(item);\n\n  const values: Array<any> = [];\n\n  values.push(props.highlighted(item.professional.name));\n\n  if (showRole && item.professional?.role?.description) {\n    values.push(props.highlighted(item.professional.role.description));\n  }\n\n  if (item.professional?.speciality?.description) {\n    values.push(props.highlighted(item.professional.speciality.description));\n  }\n\n  if (item.up?.description) {\n    values.push(props.highlighted(item.up.description));\n  }\n\n  // Buscar el servei: primer de l'item, si no del grup\n  const service = item.service?.description ? item.service : findServiceInGroup(itemGroup);\n  if (service?.description) {\n    values.push(props.highlighted(service.description));\n  }\n\n  return values.map((v, i) => html`${v}${i < values.length - 1 ? \" | \" : \"\"}`);\n};\n\nconst diagnosticHeaderTemplate = (item: IActivityHistoryItem | undefined) =>\n  item &&\n  html`\n    <div class=\"diagnostics__header\">\n      ${item.diagnostics\n        .filter((diagnostic: IActivityHistoryDiagnostic) => diagnostic.descripcio != null && diagnostic.descripcio.trim() !== \"\")\n        .map(\n          (diagnostic: IActivityHistoryDiagnostic) =>\n            html`<dss-badge text=${diagnostic.descripcio?.toUpperCase() as string} state=\"info\" size=\"sm\" outlined hideIcon></dss-badge>`,\n        )}\n    </div>\n  `;\n","function memo(getDeps, fn, opts) {\n  let deps = opts.initialDeps ?? [];\n  let result;\n  let isInitial = true;\n  function memoizedFunction() {\n    var _a, _b, _c;\n    let depTime;\n    if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n    const newDeps = getDeps();\n    const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n    if (!depsChanged) {\n      return result;\n    }\n    deps = newDeps;\n    let resultTime;\n    if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n    result = fn(...newDeps);\n    if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n      const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n      const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n      const resultFpsPercentage = resultEndTime / 16;\n      const pad = (str, num) => {\n        str = String(str);\n        while (str.length < num) {\n          str = \" \" + str;\n        }\n        return str;\n      };\n      console.info(\n        `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n        `\n            font-size: .6rem;\n            font-weight: bold;\n            color: hsl(${Math.max(\n          0,\n          Math.min(120 - 120 * resultFpsPercentage, 120)\n        )}deg 100% 31%);`,\n        opts == null ? void 0 : opts.key\n      );\n    }\n    if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {\n      opts.onChange(result);\n    }\n    isInitial = false;\n    return result;\n  }\n  memoizedFunction.updateDeps = (newDeps) => {\n    deps = newDeps;\n  };\n  return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n  if (value === void 0) {\n    throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n  } else {\n    return value;\n  }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n  let timeoutId;\n  return function(...args) {\n    targetWindow.clearTimeout(timeoutId);\n    timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n  };\n};\nexport {\n  approxEqual,\n  debounce,\n  memo,\n  notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst getRect = (element) => {\n  const { offsetWidth, offsetHeight } = element;\n  return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n  const start = Math.max(range.startIndex - range.overscan, 0);\n  const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n  const arr = [];\n  for (let i = start; i <= end; i++) {\n    arr.push(i);\n  }\n  return arr;\n};\nconst observeElementRect = (instance, cb) => {\n  const element = instance.scrollElement;\n  if (!element) {\n    return;\n  }\n  const targetWindow = instance.targetWindow;\n  if (!targetWindow) {\n    return;\n  }\n  const handler = (rect) => {\n    const { width, height } = rect;\n    cb({ width: Math.round(width), height: Math.round(height) });\n  };\n  handler(getRect(element));\n  if (!targetWindow.ResizeObserver) {\n    return () => {\n    };\n  }\n  const observer = new targetWindow.ResizeObserver((entries) => {\n    const run = () => {\n      const entry = entries[0];\n      if (entry == null ? void 0 : entry.borderBoxSize) {\n        const box = entry.borderBoxSize[0];\n        if (box) {\n          handler({ width: box.inlineSize, height: box.blockSize });\n          return;\n        }\n      }\n      handler(getRect(element));\n    };\n    instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n  });\n  observer.observe(element, { box: \"border-box\" });\n  return () => {\n    observer.unobserve(element);\n  };\n};\nconst addEventListenerOptions = {\n  passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n  const element = instance.scrollElement;\n  if (!element) {\n    return;\n  }\n  const handler = () => {\n    cb({ width: element.innerWidth, height: element.innerHeight });\n  };\n  handler();\n  element.addEventListener(\"resize\", handler, addEventListenerOptions);\n  return () => {\n    element.removeEventListener(\"resize\", handler);\n  };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n  const element = instance.scrollElement;\n  if (!element) {\n    return;\n  }\n  const targetWindow = instance.targetWindow;\n  if (!targetWindow) {\n    return;\n  }\n  let offset = 0;\n  const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n    targetWindow,\n    () => {\n      cb(offset, false);\n    },\n    instance.options.isScrollingResetDelay\n  );\n  const createHandler = (isScrolling) => () => {\n    const { horizontal, isRtl } = instance.options;\n    offset = horizontal ? element[\"scrollLeft\"] * (isRtl && -1 || 1) : element[\"scrollTop\"];\n    fallback();\n    cb(offset, isScrolling);\n  };\n  const handler = createHandler(true);\n  const endHandler = createHandler(false);\n  element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n  const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n  if (registerScrollendEvent) {\n    element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n  }\n  return () => {\n    element.removeEventListener(\"scroll\", handler);\n    if (registerScrollendEvent) {\n      element.removeEventListener(\"scrollend\", endHandler);\n    }\n  };\n};\nconst observeWindowOffset = (instance, cb) => {\n  const element = instance.scrollElement;\n  if (!element) {\n    return;\n  }\n  const targetWindow = instance.targetWindow;\n  if (!targetWindow) {\n    return;\n  }\n  let offset = 0;\n  const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n    targetWindow,\n    () => {\n      cb(offset, false);\n    },\n    instance.options.isScrollingResetDelay\n  );\n  const createHandler = (isScrolling) => () => {\n    offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n    fallback();\n    cb(offset, isScrolling);\n  };\n  const handler = createHandler(true);\n  const endHandler = createHandler(false);\n  element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n  const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n  if (registerScrollendEvent) {\n    element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n  }\n  return () => {\n    element.removeEventListener(\"scroll\", handler);\n    if (registerScrollendEvent) {\n      element.removeEventListener(\"scrollend\", endHandler);\n    }\n  };\n};\nconst measureElement = (element, entry, instance) => {\n  if (entry == null ? void 0 : entry.borderBoxSize) {\n    const box = entry.borderBoxSize[0];\n    if (box) {\n      const size = Math.round(\n        box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n      );\n      return size;\n    }\n  }\n  return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst windowScroll = (offset, {\n  adjustments = 0,\n  behavior\n}, instance) => {\n  var _a, _b;\n  const toOffset = offset + adjustments;\n  (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n    [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n    behavior\n  });\n};\nconst elementScroll = (offset, {\n  adjustments = 0,\n  behavior\n}, instance) => {\n  var _a, _b;\n  const toOffset = offset + adjustments;\n  (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n    [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n    behavior\n  });\n};\nclass Virtualizer {\n  constructor(opts) {\n    this.unsubs = [];\n    this.scrollElement = null;\n    this.targetWindow = null;\n    this.isScrolling = false;\n    this.scrollState = null;\n    this.measurementsCache = [];\n    this.itemSizeCache = /* @__PURE__ */ new Map();\n    this.laneAssignments = /* @__PURE__ */ new Map();\n    this.pendingMeasuredCacheIndexes = [];\n    this.prevLanes = void 0;\n    this.lanesChangedFlag = false;\n    this.lanesSettling = false;\n    this.scrollRect = null;\n    this.scrollOffset = null;\n    this.scrollDirection = null;\n    this.scrollAdjustments = 0;\n    this.elementsCache = /* @__PURE__ */ new Map();\n    this.now = () => {\n      var _a, _b, _c;\n      return ((_c = (_b = (_a = this.targetWindow) == null ? void 0 : _a.performance) == null ? void 0 : _b.now) == null ? void 0 : _c.call(_b)) ?? Date.now();\n    };\n    this.observer = /* @__PURE__ */ (() => {\n      let _ro = null;\n      const get = () => {\n        if (_ro) {\n          return _ro;\n        }\n        if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n          return null;\n        }\n        return _ro = new this.targetWindow.ResizeObserver((entries) => {\n          entries.forEach((entry) => {\n            const run = () => {\n              const node = entry.target;\n              const index = this.indexFromElement(node);\n              if (!node.isConnected) {\n                this.observer.unobserve(node);\n                return;\n              }\n              if (this.shouldMeasureDuringScroll(index)) {\n                this.resizeItem(\n                  index,\n                  this.options.measureElement(node, entry, this)\n                );\n              }\n            };\n            this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n          });\n        });\n      };\n      return {\n        disconnect: () => {\n          var _a;\n          (_a = get()) == null ? void 0 : _a.disconnect();\n          _ro = null;\n        },\n        observe: (target) => {\n          var _a;\n          return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n        },\n        unobserve: (target) => {\n          var _a;\n          return (_a = get()) == null ? void 0 : _a.unobserve(target);\n        }\n      };\n    })();\n    this.range = null;\n    this.setOptions = (opts2) => {\n      Object.entries(opts2).forEach(([key, value]) => {\n        if (typeof value === \"undefined\") delete opts2[key];\n      });\n      this.options = {\n        debug: false,\n        initialOffset: 0,\n        overscan: 1,\n        paddingStart: 0,\n        paddingEnd: 0,\n        scrollPaddingStart: 0,\n        scrollPaddingEnd: 0,\n        horizontal: false,\n        getItemKey: defaultKeyExtractor,\n        rangeExtractor: defaultRangeExtractor,\n        onChange: () => {\n        },\n        measureElement,\n        initialRect: { width: 0, height: 0 },\n        scrollMargin: 0,\n        gap: 0,\n        indexAttribute: \"data-index\",\n        initialMeasurementsCache: [],\n        lanes: 1,\n        isScrollingResetDelay: 150,\n        enabled: true,\n        isRtl: false,\n        useScrollendEvent: false,\n        useAnimationFrameWithResizeObserver: false,\n        laneAssignmentMode: \"estimate\",\n        ...opts2\n      };\n    };\n    this.notify = (sync) => {\n      var _a, _b;\n      (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n    };\n    this.maybeNotify = memo(\n      () => {\n        this.calculateRange();\n        return [\n          this.isScrolling,\n          this.range ? this.range.startIndex : null,\n          this.range ? this.range.endIndex : null\n        ];\n      },\n      (isScrolling) => {\n        this.notify(isScrolling);\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n        debug: () => this.options.debug,\n        initialDeps: [\n          this.isScrolling,\n          this.range ? this.range.startIndex : null,\n          this.range ? this.range.endIndex : null\n        ]\n      }\n    );\n    this.cleanup = () => {\n      this.unsubs.filter(Boolean).forEach((d) => d());\n      this.unsubs = [];\n      this.observer.disconnect();\n      if (this.rafId != null && this.targetWindow) {\n        this.targetWindow.cancelAnimationFrame(this.rafId);\n        this.rafId = null;\n      }\n      this.scrollState = null;\n      this.scrollElement = null;\n      this.targetWindow = null;\n    };\n    this._didMount = () => {\n      return () => {\n        this.cleanup();\n      };\n    };\n    this._willUpdate = () => {\n      var _a;\n      const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n      if (this.scrollElement !== scrollElement) {\n        this.cleanup();\n        if (!scrollElement) {\n          this.maybeNotify();\n          return;\n        }\n        this.scrollElement = scrollElement;\n        if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n          this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n        } else {\n          this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n        }\n        this.elementsCache.forEach((cached) => {\n          this.observer.observe(cached);\n        });\n        this.unsubs.push(\n          this.options.observeElementRect(this, (rect) => {\n            this.scrollRect = rect;\n            this.maybeNotify();\n          })\n        );\n        this.unsubs.push(\n          this.options.observeElementOffset(this, (offset, isScrolling) => {\n            this.scrollAdjustments = 0;\n            this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n            this.scrollOffset = offset;\n            this.isScrolling = isScrolling;\n            if (this.scrollState) {\n              this.scheduleScrollReconcile();\n            }\n            this.maybeNotify();\n          })\n        );\n        this._scrollToOffset(this.getScrollOffset(), {\n          adjustments: void 0,\n          behavior: void 0\n        });\n      }\n    };\n    this.rafId = null;\n    this.getSize = () => {\n      if (!this.options.enabled) {\n        this.scrollRect = null;\n        return 0;\n      }\n      this.scrollRect = this.scrollRect ?? this.options.initialRect;\n      return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n    };\n    this.getScrollOffset = () => {\n      if (!this.options.enabled) {\n        this.scrollOffset = null;\n        return 0;\n      }\n      this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n      return this.scrollOffset;\n    };\n    this.getFurthestMeasurement = (measurements, index) => {\n      const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n      const furthestMeasurements = /* @__PURE__ */ new Map();\n      for (let m = index - 1; m >= 0; m--) {\n        const measurement = measurements[m];\n        if (furthestMeasurementsFound.has(measurement.lane)) {\n          continue;\n        }\n        const previousFurthestMeasurement = furthestMeasurements.get(\n          measurement.lane\n        );\n        if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n          furthestMeasurements.set(measurement.lane, measurement);\n        } else if (measurement.end < previousFurthestMeasurement.end) {\n          furthestMeasurementsFound.set(measurement.lane, true);\n        }\n        if (furthestMeasurementsFound.size === this.options.lanes) {\n          break;\n        }\n      }\n      return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n        if (a.end === b.end) {\n          return a.index - b.index;\n        }\n        return a.end - b.end;\n      })[0] : void 0;\n    };\n    this.getMeasurementOptions = memo(\n      () => [\n        this.options.count,\n        this.options.paddingStart,\n        this.options.scrollMargin,\n        this.options.getItemKey,\n        this.options.enabled,\n        this.options.lanes,\n        this.options.laneAssignmentMode\n      ],\n      (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode) => {\n        const lanesChanged = this.prevLanes !== void 0 && this.prevLanes !== lanes;\n        if (lanesChanged) {\n          this.lanesChangedFlag = true;\n        }\n        this.prevLanes = lanes;\n        this.pendingMeasuredCacheIndexes = [];\n        return {\n          count,\n          paddingStart,\n          scrollMargin,\n          getItemKey,\n          enabled,\n          lanes,\n          laneAssignmentMode\n        };\n      },\n      {\n        key: false\n      }\n    );\n    this.getMeasurements = memo(\n      () => [this.getMeasurementOptions(), this.itemSizeCache],\n      ({\n        count,\n        paddingStart,\n        scrollMargin,\n        getItemKey,\n        enabled,\n        lanes,\n        laneAssignmentMode\n      }, itemSizeCache) => {\n        if (!enabled) {\n          this.measurementsCache = [];\n          this.itemSizeCache.clear();\n          this.laneAssignments.clear();\n          return [];\n        }\n        if (this.laneAssignments.size > count) {\n          for (const index of this.laneAssignments.keys()) {\n            if (index >= count) {\n              this.laneAssignments.delete(index);\n            }\n          }\n        }\n        if (this.lanesChangedFlag) {\n          this.lanesChangedFlag = false;\n          this.lanesSettling = true;\n          this.measurementsCache = [];\n          this.itemSizeCache.clear();\n          this.laneAssignments.clear();\n          this.pendingMeasuredCacheIndexes = [];\n        }\n        if (this.measurementsCache.length === 0 && !this.lanesSettling) {\n          this.measurementsCache = this.options.initialMeasurementsCache;\n          this.measurementsCache.forEach((item) => {\n            this.itemSizeCache.set(item.key, item.size);\n          });\n        }\n        const min = this.lanesSettling ? 0 : this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n        this.pendingMeasuredCacheIndexes = [];\n        if (this.lanesSettling && this.measurementsCache.length === count) {\n          this.lanesSettling = false;\n        }\n        const measurements = this.measurementsCache.slice(0, min);\n        const laneLastIndex = new Array(lanes).fill(\n          void 0\n        );\n        for (let m = 0; m < min; m++) {\n          const item = measurements[m];\n          if (item) {\n            laneLastIndex[item.lane] = m;\n          }\n        }\n        for (let i = min; i < count; i++) {\n          const key = getItemKey(i);\n          const cachedLane = this.laneAssignments.get(i);\n          let lane;\n          let start;\n          const shouldCacheLane = laneAssignmentMode === \"estimate\" || itemSizeCache.has(key);\n          if (cachedLane !== void 0 && this.options.lanes > 1) {\n            lane = cachedLane;\n            const prevIndex = laneLastIndex[lane];\n            const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;\n            start = prevInLane ? prevInLane.end + this.options.gap : paddingStart + scrollMargin;\n          } else {\n            const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n            start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n            lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n            if (this.options.lanes > 1 && shouldCacheLane) {\n              this.laneAssignments.set(i, lane);\n            }\n          }\n          const measuredSize = itemSizeCache.get(key);\n          const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n          const end = start + size;\n          measurements[i] = {\n            index: i,\n            start,\n            size,\n            end,\n            key,\n            lane\n          };\n          laneLastIndex[lane] = i;\n        }\n        this.measurementsCache = measurements;\n        return measurements;\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n        debug: () => this.options.debug\n      }\n    );\n    this.calculateRange = memo(\n      () => [\n        this.getMeasurements(),\n        this.getSize(),\n        this.getScrollOffset(),\n        this.options.lanes\n      ],\n      (measurements, outerSize, scrollOffset, lanes) => {\n        return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n          measurements,\n          outerSize,\n          scrollOffset,\n          lanes\n        }) : null;\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n        debug: () => this.options.debug\n      }\n    );\n    this.getVirtualIndexes = memo(\n      () => {\n        let startIndex = null;\n        let endIndex = null;\n        const range = this.calculateRange();\n        if (range) {\n          startIndex = range.startIndex;\n          endIndex = range.endIndex;\n        }\n        this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n        return [\n          this.options.rangeExtractor,\n          this.options.overscan,\n          this.options.count,\n          startIndex,\n          endIndex\n        ];\n      },\n      (rangeExtractor, overscan, count, startIndex, endIndex) => {\n        return startIndex === null || endIndex === null ? [] : rangeExtractor({\n          startIndex,\n          endIndex,\n          overscan,\n          count\n        });\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n        debug: () => this.options.debug\n      }\n    );\n    this.indexFromElement = (node) => {\n      const attributeName = this.options.indexAttribute;\n      const indexStr = node.getAttribute(attributeName);\n      if (!indexStr) {\n        console.warn(\n          `Missing attribute name '${attributeName}={index}' on measured element.`\n        );\n        return -1;\n      }\n      return parseInt(indexStr, 10);\n    };\n    this.shouldMeasureDuringScroll = (index) => {\n      var _a;\n      if (!this.scrollState || this.scrollState.behavior !== \"smooth\") {\n        return true;\n      }\n      const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? void 0 : _a.index);\n      if (scrollIndex !== void 0 && this.range) {\n        const bufferSize = Math.max(\n          this.options.overscan,\n          Math.ceil((this.range.endIndex - this.range.startIndex) / 2)\n        );\n        const minIndex = Math.max(0, scrollIndex - bufferSize);\n        const maxIndex = Math.min(\n          this.options.count - 1,\n          scrollIndex + bufferSize\n        );\n        return index >= minIndex && index <= maxIndex;\n      }\n      return true;\n    };\n    this.measureElement = (node) => {\n      if (!node) {\n        this.elementsCache.forEach((cached, key2) => {\n          if (!cached.isConnected) {\n            this.observer.unobserve(cached);\n            this.elementsCache.delete(key2);\n          }\n        });\n        return;\n      }\n      const index = this.indexFromElement(node);\n      const key = this.options.getItemKey(index);\n      const prevNode = this.elementsCache.get(key);\n      if (prevNode !== node) {\n        if (prevNode) {\n          this.observer.unobserve(prevNode);\n        }\n        this.observer.observe(node);\n        this.elementsCache.set(key, node);\n      }\n      if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) {\n        this.resizeItem(index, this.options.measureElement(node, void 0, this));\n      }\n    };\n    this.resizeItem = (index, size) => {\n      var _a;\n      const item = this.measurementsCache[index];\n      if (!item) return;\n      const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n      const delta = size - itemSize;\n      if (delta !== 0) {\n        if (((_a = this.scrollState) == null ? void 0 : _a.behavior) !== \"smooth\" && (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments)) {\n          if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n            console.info(\"correction\", delta);\n          }\n          this._scrollToOffset(this.getScrollOffset(), {\n            adjustments: this.scrollAdjustments += delta,\n            behavior: void 0\n          });\n        }\n        this.pendingMeasuredCacheIndexes.push(item.index);\n        this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n        this.notify(false);\n      }\n    };\n    this.getVirtualItems = memo(\n      () => [this.getVirtualIndexes(), this.getMeasurements()],\n      (indexes, measurements) => {\n        const virtualItems = [];\n        for (let k = 0, len = indexes.length; k < len; k++) {\n          const i = indexes[k];\n          const measurement = measurements[i];\n          virtualItems.push(measurement);\n        }\n        return virtualItems;\n      },\n      {\n        key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n        debug: () => this.options.debug\n      }\n    );\n    this.getVirtualItemForOffset = (offset) => {\n      const measurements = this.getMeasurements();\n      if (measurements.length === 0) {\n        return void 0;\n      }\n      return notUndefined(\n        measurements[findNearestBinarySearch(\n          0,\n          measurements.length - 1,\n          (index) => notUndefined(measurements[index]).start,\n          offset\n        )]\n      );\n    };\n    this.getMaxScrollOffset = () => {\n      if (!this.scrollElement) return 0;\n      if (\"scrollHeight\" in this.scrollElement) {\n        return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;\n      } else {\n        const doc = this.scrollElement.document.documentElement;\n        return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;\n      }\n    };\n    this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n      if (!this.scrollElement) return 0;\n      const size = this.getSize();\n      const scrollOffset = this.getScrollOffset();\n      if (align === \"auto\") {\n        align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n      }\n      if (align === \"center\") {\n        toOffset += (itemSize - size) / 2;\n      } else if (align === \"end\") {\n        toOffset -= size;\n      }\n      const maxOffset = this.getMaxScrollOffset();\n      return Math.max(Math.min(maxOffset, toOffset), 0);\n    };\n    this.getOffsetForIndex = (index, align = \"auto\") => {\n      index = Math.max(0, Math.min(index, this.options.count - 1));\n      const size = this.getSize();\n      const scrollOffset = this.getScrollOffset();\n      const item = this.measurementsCache[index];\n      if (!item) return;\n      if (align === \"auto\") {\n        if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n          align = \"end\";\n        } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n          align = \"start\";\n        } else {\n          return [scrollOffset, align];\n        }\n      }\n      if (align === \"end\" && index === this.options.count - 1) {\n        return [this.getMaxScrollOffset(), align];\n      }\n      const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n      return [\n        this.getOffsetForAlignment(toOffset, align, item.size),\n        align\n      ];\n    };\n    this.scrollToOffset = (toOffset, { align = \"start\", behavior = \"auto\" } = {}) => {\n      const offset = this.getOffsetForAlignment(toOffset, align);\n      const now = this.now();\n      this.scrollState = {\n        index: null,\n        align,\n        behavior,\n        startedAt: now,\n        lastTargetOffset: offset,\n        stableFrames: 0\n      };\n      this._scrollToOffset(offset, { adjustments: void 0, behavior });\n      this.scheduleScrollReconcile();\n    };\n    this.scrollToIndex = (index, {\n      align: initialAlign = \"auto\",\n      behavior = \"auto\"\n    } = {}) => {\n      index = Math.max(0, Math.min(index, this.options.count - 1));\n      const offsetInfo = this.getOffsetForIndex(index, initialAlign);\n      if (!offsetInfo) {\n        return;\n      }\n      const [offset, align] = offsetInfo;\n      const now = this.now();\n      this.scrollState = {\n        index,\n        align,\n        behavior,\n        startedAt: now,\n        lastTargetOffset: offset,\n        stableFrames: 0\n      };\n      this._scrollToOffset(offset, { adjustments: void 0, behavior });\n      this.scheduleScrollReconcile();\n    };\n    this.scrollBy = (delta, { behavior = \"auto\" } = {}) => {\n      const offset = this.getScrollOffset() + delta;\n      const now = this.now();\n      this.scrollState = {\n        index: null,\n        align: \"start\",\n        behavior,\n        startedAt: now,\n        lastTargetOffset: offset,\n        stableFrames: 0\n      };\n      this._scrollToOffset(offset, { adjustments: void 0, behavior });\n      this.scheduleScrollReconcile();\n    };\n    this.getTotalSize = () => {\n      var _a;\n      const measurements = this.getMeasurements();\n      let end;\n      if (measurements.length === 0) {\n        end = this.options.paddingStart;\n      } else if (this.options.lanes === 1) {\n        end = ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0;\n      } else {\n        const endByLane = Array(this.options.lanes).fill(null);\n        let endIndex = measurements.length - 1;\n        while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n          const item = measurements[endIndex];\n          if (endByLane[item.lane] === null) {\n            endByLane[item.lane] = item.end;\n          }\n          endIndex--;\n        }\n        end = Math.max(...endByLane.filter((val) => val !== null));\n      }\n      return Math.max(\n        end - this.options.scrollMargin + this.options.paddingEnd,\n        0\n      );\n    };\n    this._scrollToOffset = (offset, {\n      adjustments,\n      behavior\n    }) => {\n      this.options.scrollToFn(offset, { behavior, adjustments }, this);\n    };\n    this.measure = () => {\n      this.itemSizeCache = /* @__PURE__ */ new Map();\n      this.laneAssignments = /* @__PURE__ */ new Map();\n      this.notify(false);\n    };\n    this.setOptions(opts);\n  }\n  scheduleScrollReconcile() {\n    if (!this.targetWindow) {\n      this.scrollState = null;\n      return;\n    }\n    if (this.rafId != null) return;\n    this.rafId = this.targetWindow.requestAnimationFrame(() => {\n      this.rafId = null;\n      this.reconcileScroll();\n    });\n  }\n  reconcileScroll() {\n    if (!this.scrollState) return;\n    const el = this.scrollElement;\n    if (!el) return;\n    const MAX_RECONCILE_MS = 5e3;\n    if (this.now() - this.scrollState.startedAt > MAX_RECONCILE_MS) {\n      this.scrollState = null;\n      return;\n    }\n    const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0;\n    const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;\n    const STABLE_FRAMES = 1;\n    const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;\n    if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {\n      this.scrollState.stableFrames++;\n      if (this.scrollState.stableFrames >= STABLE_FRAMES) {\n        this.scrollState = null;\n        return;\n      }\n    } else {\n      this.scrollState.stableFrames = 0;\n      if (targetChanged) {\n        this.scrollState.lastTargetOffset = targetOffset;\n        this.scrollState.behavior = \"auto\";\n        this._scrollToOffset(targetOffset, {\n          adjustments: void 0,\n          behavior: \"auto\"\n        });\n      }\n    }\n    this.scheduleScrollReconcile();\n  }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n  while (low <= high) {\n    const middle = (low + high) / 2 | 0;\n    const currentValue = getCurrentValue(middle);\n    if (currentValue < value) {\n      low = middle + 1;\n    } else if (currentValue > value) {\n      high = middle - 1;\n    } else {\n      return middle;\n    }\n  }\n  if (low > 0) {\n    return low - 1;\n  } else {\n    return 0;\n  }\n};\nfunction calculateRange({\n  measurements,\n  outerSize,\n  scrollOffset,\n  lanes\n}) {\n  const lastIndex = measurements.length - 1;\n  const getOffset = (index) => measurements[index].start;\n  if (measurements.length <= lanes) {\n    return {\n      startIndex: 0,\n      endIndex: lastIndex\n    };\n  }\n  let startIndex = findNearestBinarySearch(\n    0,\n    lastIndex,\n    getOffset,\n    scrollOffset\n  );\n  let endIndex = startIndex;\n  if (lanes === 1) {\n    while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n      endIndex++;\n    }\n  } else if (lanes > 1) {\n    const endPerLane = Array(lanes).fill(0);\n    while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n      const item = measurements[endIndex];\n      endPerLane[item.lane] = item.end;\n      endIndex++;\n    }\n    const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n    while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n      const item = measurements[startIndex];\n      startPerLane[item.lane] = item.start;\n      startIndex--;\n    }\n    startIndex = Math.max(0, startIndex - startIndex % lanes);\n    endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n  }\n  return { startIndex, endIndex };\n}\nexport {\n  Virtualizer,\n  approxEqual,\n  debounce,\n  defaultKeyExtractor,\n  defaultRangeExtractor,\n  elementScroll,\n  measureElement,\n  memo,\n  notUndefined,\n  observeElementOffset,\n  observeElementRect,\n  observeWindowOffset,\n  observeWindowRect,\n  windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import { VirtualItem, Virtualizer, elementScroll, observeElementOffset, observeElementRect } from \"@tanstack/virtual-core\";\n\nexport type { VirtualItem };\n\nexport interface VirtualScrollerOptions<T> {\n  items: T[];\n  // Per-index height estimate. Must be a pure function of the item data (no\n  // virtualizer mutation, no render scheduling) so it can't re-enter the\n  // measure cycle. Callers with uniform rows can return a constant.\n  estimateItemHeight: (index: number) => number;\n  overscan?: number;\n  measureElement?: (element: HTMLElement) => number;\n}\n\n/**\n * Default element measurement. Unlike `getBoundingClientRect().height`, this\n * also accounts for the vertical margins of the item so the virtualizer's\n * cumulative offsets stay aligned with the real document flow (the visible\n * items are laid out with `margin-bottom` between them). Without this, every\n * item would be measured slightly shorter than it actually occupies, and the\n * error accumulates the further you scroll.\n */\nconst measureElementWithMargins = (element: HTMLElement): number => {\n  const height = element.getBoundingClientRect().height;\n  const style = window.getComputedStyle(element);\n  const marginTop = Number.parseFloat(style.marginTop) || 0;\n  const marginBottom = Number.parseFloat(style.marginBottom) || 0;\n  return Math.round(height + marginTop + marginBottom);\n};\n\nexport interface VirtualScrollerState {\n  virtualItems: VirtualItem[];\n  totalHeight: number;\n}\n\nexport class VirtualScroller<T = any> {\n  private _virtualizer?: Virtualizer<HTMLElement, HTMLElement>;\n  private _viewport?: HTMLElement;\n  private _cleanup?: () => void;\n  private _options: VirtualScrollerOptions<T>;\n\n  constructor(options: VirtualScrollerOptions<T>) {\n    this._options = options;\n  }\n\n  setup(viewport: HTMLElement, onStateChange: (state: VirtualScrollerState) => void): () => void {\n    this._viewport = viewport;\n\n    this._virtualizer = new Virtualizer<HTMLElement, HTMLElement>({\n      count: this._options.items.length,\n      getScrollElement: () => this._viewport ?? null,\n      estimateSize: (index) => this._options.estimateItemHeight(index),\n      overscan: this._options.overscan ?? 5,\n      measureElement: (element) => (this._options.measureElement ?? measureElementWithMargins)(element as HTMLElement),\n      observeElementRect,\n      observeElementOffset,\n      scrollToFn: elementScroll,\n      onChange: () => {\n        onStateChange(this.getState());\n      },\n    });\n\n    this._cleanup = this._virtualizer._didMount();\n    this._virtualizer._willUpdate();\n    onStateChange(this.getState());\n\n    return () => {\n      this._cleanup?.();\n    };\n  }\n\n  willUpdate() {\n    this._virtualizer?._willUpdate();\n  }\n\n  updateItems(items: T[], onStateChange?: (state: VirtualScrollerState) => void) {\n    this._options.items = items;\n    if (this._virtualizer) {\n      this._virtualizer.setOptions({\n        ...this._virtualizer.options,\n        count: items.length,\n      });\n      this._virtualizer._willUpdate();\n    }\n    if (onStateChange) {\n      onStateChange(this.getState());\n    }\n  }\n\n  measureElement(el: HTMLElement) {\n    this._virtualizer?.measureElement(el);\n  }\n\n  scrollToIndex(index: number, behavior: ScrollBehavior = \"smooth\", align: \"auto\" | \"start\" | \"center\" | \"end\" = \"auto\") {\n    this._virtualizer?.scrollToIndex(index, { behavior, align });\n  }\n\n  /**\n   * Estimated `start` offset (px) of an item, using real measurements where\n   * available and the size estimate for not-yet-rendered items. Used to jump\n   * the viewport near a target before a precise DOM-based alignment, instead of\n   * `scrollToIndex` (whose reconcile re-scrolls every frame and froze the UI).\n   */\n  getOffsetForIndex(index: number): number {\n    return this._virtualizer?.getOffsetForIndex(index, \"start\")?.[0] ?? 0;\n  }\n\n  getState(): VirtualScrollerState {\n    return {\n      virtualItems: this._virtualizer?.getVirtualItems() ?? [],\n      totalHeight: this._virtualizer?.getTotalSize() ?? 0,\n    };\n  }\n}\n","import { PrimariaApi } from \"@uxland/primary-shell\";\nimport { startOfDay } from \"date-fns\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, query, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { lazyInject } from \"../../../../infrastructure/ioc/container\";\nimport { TYPES } from \"../../../../infrastructure/ioc/types\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport { isAnyCollectionBusySelector, isSomeCollectionLoadedAndOtherLoading } from \"../../../add/handle-busy/selectors\";\nimport { IActivityHistoryGroup } from \"../../../domain/model\";\nimport { activityHistorySearchStringSelector } from \"../../../search/selectors\";\nimport { activityHistoryGroupedItems } from \"../../../selectors\";\nimport { getGroupMostRecentDate } from \"../../sort-history-items-by-date/sort-history-items-by-date\";\nimport { estimateGroupHeight } from \"./estimate-group-height\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\nimport { VirtualScroller, VirtualScrollerState } from \"./virtual-scroller\";\n\n//@ts-ignore\n@customElement(\"activity-history-timeline\")\nexport class ActivityHistoryTimeline extends LitElement {\n  render() {\n    return html`\n    ${template(this)}\n  `;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @connectedProperty(activityHistoryGroupedItems)\n  historyGroups: IActivityHistoryGroup[];\n\n  @connectedProperty(isSomeCollectionLoadedAndOtherLoading)\n  isSomeCollectionLoadedAndOtherLoading: boolean;\n\n  @connectedProperty(isAnyCollectionBusySelector)\n  isAnyCollectionBusy: boolean;\n\n  @connectedProperty(activityHistorySearchStringSelector)\n  searchString: string;\n\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  @query(\".virtual-container\") private _virtualContainer!: HTMLElement;\n  @query(\".virtual-viewport\") private _viewport!: HTMLElement;\n\n  // Virtual scroller instance and state\n  private _virtualScroller?: VirtualScroller<IActivityHistoryGroup>;\n  private _cleanupVirtualScroller?: () => void;\n\n  @state()\n  _virtualScrollerState: VirtualScrollerState = {\n    virtualItems: [],\n    totalHeight: 0,\n  };\n\n  @state()\n  _canShowNoDataMessage = false;\n\n  private _noDataMessageTimer?: ReturnType<typeof setTimeout>;\n\n  connectedCallback(): void {\n    super.connectedCallback();\n    // Start timer to allow showing \"no data\" message after 5 seconds\n    this._noDataMessageTimer = setTimeout(() => {\n      this._canShowNoDataMessage = true;\n    }, 2000);\n  }\n\n  disconnectedCallback(): void {\n    super.disconnectedCallback();\n    this._cleanupVirtualScroller?.();\n    if (this._noDataMessageTimer) {\n      clearTimeout(this._noDataMessageTimer);\n    }\n  }\n\n  private _lastViewportElement?: HTMLElement;\n\n  async updated(changedProperties) {\n    this._virtualScroller?.willUpdate();\n\n    if (changedProperties.has(\"historyGroups\") && this.historyGroups?.length) {\n      // Resolver los elementos antes de actualizar el template\n      await this.prepareComponents(this.historyGroups);\n      this._updateVirtualScroller();\n\n      // Esperar a que el DOM esté completamente actualizado\n      await this.updateComplete;\n    }\n\n    // Setup virtualizer when viewport is available\n    if (this._viewport && !this._virtualScroller) {\n      setTimeout(() => this._setupVirtualScroller(), 0);\n    }\n\n    // Detect if viewport was remounted (new element after being removed from DOM)\n    if (this._viewport && this._virtualScroller && this._viewport !== this._lastViewportElement) {\n      this._cleanupVirtualScroller?.();\n      this._virtualScroller = undefined;\n      setTimeout(() => this._setupVirtualScroller(), 0);\n    }\n\n    // Track current viewport element\n    if (this._viewport) {\n      this._lastViewportElement = this._viewport;\n    }\n  }\n\n  async prepareComponents(historyGroups) {\n    for (const group of historyGroups) {\n      // Resolver items del grupo principal\n      group.items = await Promise.all(\n        group.items.map(async (item) => ({\n          ...item,\n          component: await item.componentFactory({ item }),\n        })),\n      );\n\n      // Resolver subgrupos\n      for (const subGroup of group.subGroups) {\n        subGroup.items = await Promise.all(\n          subGroup.items.map(async (item) => ({\n            ...item,\n            component: await item.componentFactory({ item }),\n          })),\n        );\n      }\n    }\n  }\n\n  highlightMatch(text: string, searchString: string): string {\n    if (!this.searchString || this.searchString.length < 2) return text;\n    const regex = new RegExp(`(${searchString})`, \"gi\");\n    return text.replace(regex, `<span class=\"highlight\">$1</span>`);\n  }\n\n  highlighted(text?: string) {\n    return text ? unsafeHTML(this.highlightMatch(text, this.searchString)) : null;\n  }\n\n  // Public API: scroll the timeline to a given date (\"Anar a data\").\n  //\n  // The list is sorted newest -> oldest by `getGroupMostRecentDate` (the same key\n  // is used here so the mapping date->index is monotonic). We compare at *day*\n  // granularity because `selectedDate` is midnight while group dates carry a time\n  // of day. We land on the first (topmost) group whose day is on or before the\n  // requested day — i.e. the requested day if it has entries, otherwise the\n  // closest earlier day (newer entries above, older below). Using an absolute\n  // nearest-timestamp search here is what produced the \"jumps to another year\"\n  // and \"lands on the day before\" bugs.\n  _scrollIntoDate(selectedDate: number) {\n    if (!this._virtualScroller || !this._viewport) return;\n\n    const groups = this.historyGroups ?? [];\n    if (!groups.length) return;\n\n    const targetDay = startOfDay(selectedDate).getTime();\n    const dayOf = (group: IActivityHistoryGroup) => startOfDay(getGroupMostRecentDate(group)).getTime();\n\n    let index = groups.findIndex((group) => dayOf(group) <= targetDay);\n    // Requested day is older than every entry -> go to the oldest group.\n    if (index === -1) index = groups.length - 1;\n\n    // Jump near the target using the virtualizer's estimated offset so it\n    // renders the window around `index`. We set scrollTop directly (NOT\n    // scrollToIndex) to avoid the reconcile loop that re-scrolls every frame and\n    // froze the UI. The estimate leaves tall groups mid-screen, so we then align\n    // the real group element's top to the viewport top in a few bounded passes.\n    this._viewport.scrollTop = this._virtualScroller.getOffsetForIndex(index);\n    this._alignGroupTop(index, 0);\n  }\n\n  // Align the top of group `index`'s rendered element with the top of the\n  // viewport, using its real on-screen position (not the size estimate, which\n  // is off for very tall visits). Bounded to a few frames so it converges\n  // without ever turning into a scroll loop.\n  private _alignGroupTop(index: number, attempt: number) {\n    if (attempt >= 4 || !this._viewport) return;\n    requestAnimationFrame(() => {\n      const viewport = this._viewport;\n      if (!viewport) return;\n      const el = this.renderRoot?.querySelector(`.visit[data-index=\"${index}\"]`) as HTMLElement | null;\n      if (!el) {\n        // Window not rendered around the target yet — give it another frame.\n        this._alignGroupTop(index, attempt + 1);\n        return;\n      }\n      const delta = Math.round(el.getBoundingClientRect().top - viewport.getBoundingClientRect().top);\n      if (Math.abs(delta) <= 1) return; // aligned\n      viewport.scrollTop += delta;\n      this._alignGroupTop(index, attempt + 1);\n    });\n  }\n\n  // === VIRTUAL SCROLLER LOGIC ===\n\n  private _setupVirtualScroller() {\n    if (!this._viewport || this._virtualScroller) return;\n\n    this._virtualScroller = new VirtualScroller({\n      items: this.historyGroups || [],\n      overscan: 8,\n      estimateItemHeight: (index) => estimateGroupHeight(this.historyGroups?.[index]),\n    });\n\n    this._cleanupVirtualScroller = this._virtualScroller.setup(this._viewport, (state) => {\n      this._virtualScrollerState = state;\n      this.requestUpdate();\n\n      if (this.api?.broker && this.searchString) {\n        this.api.broker.publish(this.api.broker.events.activityHistory.searched, {\n          searchQuery: this.searchString,\n        });\n      }\n    });\n\n    this._virtualScrollerState = this._virtualScroller.getState();\n  }\n\n  private _updateVirtualScroller() {\n    if (!this._virtualScroller || !this.historyGroups?.length) return;\n\n    this._virtualScroller.updateItems(this.historyGroups, (state) => {\n      this._virtualScrollerState = state;\n      this.requestUpdate();\n\n      if (this.api?.broker && this.searchString) {\n        this.api.broker.publish(this.api.broker.events.activityHistory.searched, {\n          searchQuery: this.searchString,\n        });\n      }\n    });\n\n    this._virtualScrollerState = this._virtualScroller.getState();\n  }\n\n  // Pairs each visible virtual item with its absolute index in historyGroups.\n  // The index is required so the template can stamp `data-index` on every\n  // `.visit`, which is how the virtualizer measures each item's real height.\n  get _visibleRows(): { index: number; group: IActivityHistoryGroup }[] {\n    return this._virtualScrollerState.virtualItems\n      .map((vi) => ({ index: vi.index, group: this.historyGroups?.[vi.index] }))\n      .filter((row): row is { index: number; group: IActivityHistoryGroup } => Boolean(row.group));\n  }\n\n  get _containerOffset() {\n    const firstItem = this._virtualScrollerState.virtualItems[0];\n    return firstItem?.start ?? 0;\n  }\n\n  get _totalHeight() {\n    return this._virtualScrollerState.totalHeight;\n  }\n\n  _measureElement = (el: Element | undefined) => {\n    if (el) this._virtualScroller?.measureElement(el as HTMLElement);\n  };\n\n  _onScroll = () => {\n    // Virtual scroller handles this internally\n  };\n}\n","import { html, nothing } from \"lit\";\nimport { ActiveFiltersHeader } from \"./active-filters-header\";\nimport { when } from \"lit/directives/when.js\";\n\nexport const template = (props: ActiveFiltersHeader) => {\n  const isAnyChipActive =\n    props.areCustomFiltersActive || props.areCommonFiltersActive || props.areDiagnosticFiltersActive || props.areUpFiltersActive;\n\n  if (!isAnyChipActive && props.searchString.length < 1) return nothing;\n\n  return html`\n    <div class=\"active-filters-header\">\n      ${when(isAnyChipActive, () => html`<active-filters-badges></active-filters-badges>`)}\n      ${when(props.searchString.length > 1, () => html`<activity-history-search-results searchQuery=${props.searchString}></activity-history-search-results>`)}\n    </div>\n  `;\n};\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { template } from \"./template\";\nimport styles from \"./styles.css?inline\";\nimport { customElement } from \"lit/decorators.js\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport { activityHistorySearchStringSelector } from \"../../../search/selectors\";\nimport { areCustomFiltersActive } from \"../../custom-filters/selectors\";\nimport { areCommonFiltersActive } from \"../../common-filters/selectors\";\nimport { areDiagnosticFiltersActive } from \"../../diagnostic-filters/selectors\";\nimport { areUpFiltersActive } from \"../../up-filters/selectors\";\n\n//@ts-ignore\n@customElement(\"active-filters-header\")\nexport class ActiveFiltersHeader extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @connectedProperty(activityHistorySearchStringSelector)\n  searchString: string;\n\n  @connectedProperty(areCustomFiltersActive)\n  areCustomFiltersActive: boolean;\n\n  @connectedProperty(areCommonFiltersActive)\n  areCommonFiltersActive: boolean;\n\n  @connectedProperty(areDiagnosticFiltersActive)\n  areDiagnosticFiltersActive: boolean;\n\n  @connectedProperty(areUpFiltersActive)\n  areUpFiltersActive: boolean;\n}\n","import { html, nothing } from \"lit\";\nimport { ActivityHistoryFullDataError } from \"./component\";\nimport { translate } from \"../../../../localization\";\nexport const template = (props: ActivityHistoryFullDataError) => {\n  return html`\n    ${props.isAllDataFailedToLoad ? renderErrorFeedback(props) : nothing}\n  `;\n};\n\nconst renderErrorFeedback = (props: ActivityHistoryFullDataError) => {\n  return html`\n    <div class=\"container\">\n      <dss-user-feedback status=\"error\" variant=\"default\" size=\"lg\" title=${translate(\"error.title\")} description=${translate(\"error.general.title\")} hasdetails=\"\" detailslabel=${translate(\"error.viewDetails\")}>\n        <div slot=\"details\">\n          ${props.errorMessages.length > 0 ? html`<div>${props.errorMessages.map((error) => html`<div>${error.message}</div>`)}</div>` : translate(\"error.general.noInfo\")}\n        </div>\n        <dss-button @onClick=${props.handleClickFeedback} label=${translate(\"error.general.refresh\")} size=\"lg\"></dss-button>\n      </dss-user-feedback>\n    </div>\n  `;\n};\n","import { RootState } from \"../../../infrastructure/state/store\";\nimport { isSomeCollectionLoadedAndOtherLoading } from \"../handle-busy/selectors\";\n\nexport const isErrorOccurred = (state: RootState) => state.activityHistoryCollections.error.length > 0;\n\nconst areCollectionsEmpty = (state: RootState) => {\n  const collections = state.activityHistoryCollections.collections;\n\n  return Object.values(collections).every((collection) => {\n    return !collection.items || collection.items.length === 0;\n  });\n};\nexport const isAllDataFailedToLoad = (state: RootState) => {\n  return !isSomeCollectionLoadedAndOtherLoading(state) && isErrorOccurred(state) && areCollectionsEmpty(state);\n};\n\nexport const selectErrorMessages = (state: RootState) => state.activityHistoryCollections.error;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport { isAllDataFailedToLoad, selectErrorMessages } from \"../selectors\";\nimport { PrimariaApi } from \"@uxland/primary-shell\";\nimport { IErrorHistoryItem } from \"../../../domain/model\";\nimport { HandleHistoryItemsAddError } from \"../handle-history-items-add-error/request\";\nimport { lazyInject } from \"../../../../infrastructure/ioc/container\";\nimport { TYPES } from \"../../../../infrastructure/ioc/types\";\n\n//@ts-ignore\n@customElement(\"activity-history-full-data-error\")\nexport class ActivityHistoryFullDataError extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @connectedProperty(isAllDataFailedToLoad)\n  isAllDataFailedToLoad: boolean;\n\n  @connectedProperty(selectErrorMessages)\n  errorMessages: Array<IErrorHistoryItem> = [];\n\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  handleClickFeedback() {\n    this.api.broker.send(new HandleHistoryItemsAddError(this.errorMessages));\n  }\n}\n","import { html, nothing } from \"lit\";\nimport { translate } from \"../../../../localization\";\nimport { ActivityHistoryPartialDataError } from \"./component\";\n\nexport const template = (props: ActivityHistoryPartialDataError) => {\n  const combinedMessage = props.getCombinedMessage();\n\n  return html`\n    ${props.isErrorOccurred ? renderPartialErrorAlert(props, combinedMessage) : nothing}\n  `;\n};\n\nconst renderPartialErrorAlert = (props: ActivityHistoryPartialDataError, combinedMessage: string) => {\n  return html`\n    <div class=\"container\">\n      <dss-alert @onButtonClick=${props.handleClickAlert} state=\"warning\" size=\"lg\" message=\"${combinedMessage}\" buttonLabel=${translate(\"error.partial.refresh\")} hasbutton></dss-alert>\n    </div>\n  `;\n};\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport { isErrorOccurred, selectErrorMessages } from \"../selectors\";\nimport { PrimariaApi } from \"@uxland/primary-shell\";\nimport { translate } from \"../../../../localization\";\nimport { IErrorHistoryItem } from \"../../../domain/model\";\nimport { HandleHistoryItemsAddError } from \"../handle-history-items-add-error/request\";\nimport { lazyInject } from \"../../../../infrastructure/ioc/container\";\nimport { TYPES } from \"../../../../infrastructure/ioc/types\";\n\n//@ts-ignore\n@customElement(\"activity-history-partial-data-error\")\nexport class ActivityHistoryPartialDataError extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @connectedProperty(isErrorOccurred)\n  isErrorOccurred: boolean;\n\n  @connectedProperty(selectErrorMessages)\n  errorMessages: Array<IErrorHistoryItem> = [];\n\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  handleClickAlert() {\n    this.api.broker.send(new HandleHistoryItemsAddError(this.errorMessages));\n  }\n\n  getCombinedMessage() {\n    const titleMessage = translate(\"error.partial.title\");\n\n    const errorMessages = this.errorMessages.length > 0 ? this.errorMessages.map((error) => error.entityDescription) : [];\n\n    return errorMessages.length > 0\n      ? `${titleMessage} ${errorMessages[0]}${errorMessages.length > 1 ? ` i ${errorMessages.slice(1).join(\" i \")}` : \"\"}`\n      : titleMessage;\n  }\n}\n","import { activityHistoryCollectionsSlice } from \"../slice\";\n\nexport const { clearActivityHistoryCollections } = activityHistoryCollectionsSlice.actions;\n","import { BaseHandler } from \"../../infrastructure/base-handlers\";\nimport { clearActivityHistoryCollections } from \"../clear/action\";\nimport { activityHistoryFiltersSlice } from \"../filter/slice\";\n\nexport class RefreshHistoryItemsHandler extends BaseHandler {\n  async handle() {\n    this.store.dispatch(activityHistoryFiltersSlice.actions.clearCustomFilters());\n    this.store.dispatch(clearActivityHistoryCollections());\n    this.api.broker.publish(this.api.broker.events.activityHistory.refreshDataRequested);\n  }\n}\n","export class HandleRefreshHistoryItems {}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport { RefreshHistoryItemsHandler } from \"./handler\";\nimport { HandleRefreshHistoryItems } from \"./request\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapHandleRefreshHistoryItems = (broker: BrokerExtensions) => {\n  teardownHandleRefreshHistoryItems();\n  request = broker.registerRequest(HandleRefreshHistoryItems, RefreshHistoryItemsHandler);\n};\n\nexport const teardownHandleRefreshHistoryItems = () => {\n  request?.dispose();\n};\n","import { activityHistoryCollectionsSlice } from \"../slice\";\n\nexport const { removeActivityHistoryItem } = activityHistoryCollectionsSlice.actions;","import { StoreBaseHandler } from \"../../infrastructure/base-handlers\";\nimport { removeActivityHistoryItem } from \"./action\";\nimport { RemoveHistoryItemPayload } from \"./request\";\n\nexport class RemoveHistoryItemHandler extends StoreBaseHandler {\n  async handle(payload: RemoveHistoryItemPayload) {\n    try {\n      this.store.dispatch(\n        removeActivityHistoryItem({\n          id: payload.entityId,\n          itemId: payload.itemId,\n        }),\n      );\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { RemoveHistoryItemHandler } from \"./handler\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapRemoveHistoryItem = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(\"remove_history_item_request\", RemoveHistoryItemHandler);\n};\n\nexport const teardownRemoveHistoryItem = () => {\n  request?.dispose();\n};","import { activityHistoryFiltersSlice } from \"../filter/slice\";\n\nexport const { setSearchString } = activityHistoryFiltersSlice.actions;\n","import { BaseHandler } from \"../../infrastructure/base-handlers\";\nimport { setSearchString } from \"./actions\";\nimport { SearchActivityHistoryItems } from \"./request\";\n\nexport class SearchItemsHandler extends BaseHandler {\n  async handle(request: SearchActivityHistoryItems) {\n    try {\n      this.store.dispatch(setSearchString(request.searchString));\n      setTimeout(() => {\n        this.api.broker.publish(this.api.broker.events.activityHistory.searched, {\n          searchQuery: request.searchString,\n        });\n      }, 300);\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","export class SearchActivityHistoryItems{\n\n  constructor(\n    public searchString: string\n  ) {\n    this.searchString = searchString\n  } \n}\n","import { html } from \"lit\";\nimport { ActivityHistorySearchResults } from \"./activity-history-search-results\";\nimport { translate } from \"../../../localization\";\n\nexport const template = (props: ActivityHistorySearchResults) =>\n  html`<div class=\"search-header\">\n    ${translate(\"searchBarResults\")} “${props.searchQuery}”\n  </div>`;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\n//@ts-ignore\n@customElement(\"activity-history-search-results\")\nexport class ActivityHistorySearchResults extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @property()\n  searchQuery = \"\";\n}\n","import { html } from \"lit\";\nimport { ActivityHistorySearchBar } from \"./activity-history-search-bar\";\n\nexport const template = (props: ActivityHistorySearchBar) =>\n  html`<dss-search-bar dropdownStyle=${\"display: none\"} @onSearchChange=${props._handleSearchChange} icon=\"search\" inputsize=\"md\" threshold=\"2\" recentsearchestext=\"\" emptydropdowntext=\"\">\n                    <label slot=\"label\" for=\"searchbar1\" aria-hidden=\"false\"></label>\n                    <input slot=\"input\" id=\"searchbar1\" type=\"text\" value=${props.searchQuery} @input=${(e) => props._handleSearchChange({ detail: [e.target.value] })}>\n                </dss-search-bar>`;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\n//@ts-ignore\n@customElement(\"activity-history-search-bar\")\nexport class ActivityHistorySearchBar extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @property()\n  searchQuery = \"\";\n\n  _handleSearchChange(event) {\n    const selectedItems = event.detail || [];\n    const searchQuery = selectedItems.length > 0 ? selectedItems.join(\" \") : \"\";\n    const payload = searchQuery.length > 1 ? searchQuery : \"\";\n    this.dispatchEvent(new CustomEvent(\"onSearchChange\", { detail: payload }));\n  }\n}\n","import { translate } from \"../../localization\";\n\nexport const formatShowFilterTitle = (title: string) => {\n  const filterTitle = title.replace(/veure/gi, \"\")?.trim();\n  return filterTitle.charAt(0).toUpperCase() + filterTitle.slice(1);\n};\n\nexport const normalizeDeletedFilterBooleanValue = (value) => (value === true ? translate(\"filters.deleted\") : value);\n\nexport const normalizeEmptyFilterValue = (value, filterTitle) => (value === \"\" ? formatEmptyFilterValue(filterTitle) : value);\n\nconst formatEmptyFilterValue = (filterTitle) => {\n  const chipLabel = `${translate(\"chipHeader.without\")} ${filterTitle.toLowerCase()}`;\n  return chipLabel;\n};\n","import { html, nothing } from \"lit\";\nimport { ActiveFiltersBadges } from \"./active-filters-badges\";\nimport { translate } from \"../../../../localization\";\nimport { formatShowFilterTitle, normalizeDeletedFilterBooleanValue, normalizeEmptyFilterValue } from \"../../utils\";\n\nconst MAX_VISIBLE_CHIPS = 5;\n\nconst renderChip = (id, filter, option, props) => html`\n  <dss-chip\n    label=${normalizeEmptyFilterValue(option.title, filter.title)}\n    size=\"sm\"\n    hasdelete\n    selected\n    @click=${() => props._onDeleteFilterValue(id, filter.id, option.id, false)}\n    @onDelete=${() => props._onDeleteFilterValue(id, filter.id, option.id, false)}\n  ></dss-chip>\n`;\n\nconst renderCommonChip = (filter, props) => html`\n  <dss-chip\n    label=${formatShowFilterTitle(filter.title)}\n    size=\"sm\"\n    hasdelete\n    selected\n    @click=${() => props._onDeleteCommonFilterValue(filter.id)}\n    @onDelete=${() => props._onDeleteCommonFilterValue(filter.id)}\n  ></dss-chip>\n`;\n\nconst renderDiagnosticChip = (id, value, props) => html`\n  <dss-chip\n    label=${value}\n    size=\"sm\"\n    hasdelete\n    selected\n    @click=${() => props._onDeleteDiagnosticFilterValue(id)}\n    @onDelete=${() => props._onDeleteDiagnosticFilterValue(id)}\n  ></dss-chip>\n`;\n\nconst renderUpChip = (id, value, props) => html`\n  <dss-chip\n    label=${value}\n    size=\"sm\"\n    hasdelete\n    selected\n    @click=${() => props._onDeleteUpFilterValue(id)}\n    @onDelete=${() => props._onDeleteUpFilterValue(id)}\n  ></dss-chip>\n`;\n\nconst renderFilterTitle = (title) => html`<div class=\"filter-title\">${`${title}:`}</div>`;\n\nexport const template = (props: ActiveFiltersBadges) => {\n  //TODO: refactor chips render\n  if (\n    props.enabledFilters.length === 0 &&\n    props.enabledCommonFilters.length === 0 &&\n    props.diagnosticFilterEnabled?.enabledValues?.length === 0 &&\n    props.upFilterEnabled.enabledValues.length === 0\n  )\n    return nothing;\n\n  let visibleCount = 0;\n  const visibleChips: any[] = [];\n  const hiddenElements: any[] = [];\n  const hiddenChips: any[] = [];\n\n  const diagnostic = props.diagnosticFilterEnabled;\n\n  if (diagnostic) {\n    const { title, enabledValues } = diagnostic;\n\n    if (enabledValues && enabledValues.length > 0) {\n      let titleAddedToVisible = false;\n      let titleAddedToHidden = false;\n\n      // Només mostrem els diagnòstics pare (no les evolucions ni relacions)\n      for (const diagnosticItem of enabledValues) {\n        const chip = renderDiagnosticChip(diagnosticItem.codi, diagnosticItem.descripcio, props);\n\n        if (visibleCount < MAX_VISIBLE_CHIPS) {\n          if (!titleAddedToVisible) {\n            visibleChips.push(renderFilterTitle(title));\n            titleAddedToVisible = true;\n          }\n          visibleChips.push(chip);\n          visibleCount++;\n        } else {\n          if (!titleAddedToHidden) {\n            hiddenElements.push(renderFilterTitle(title));\n            titleAddedToHidden = true;\n          }\n          hiddenElements.push(chip);\n          hiddenChips.push(chip);\n        }\n      }\n    }\n  }\n\n  const up = props.upFilterEnabled;\n\n  if (up) {\n    const { title, values, enabledValues } = up;\n    const selectedOptions = values.filter((opt) => enabledValues.includes(opt.value));\n\n    if (selectedOptions.length > 0) {\n      let titleAddedToVisible = false;\n      let titleAddedToHidden = false;\n\n      for (const option of selectedOptions) {\n        const chip = renderUpChip(option.value, option.label, props);\n\n        if (visibleCount < MAX_VISIBLE_CHIPS) {\n          if (!titleAddedToVisible) {\n            visibleChips.push(renderFilterTitle(title));\n            titleAddedToVisible = true;\n          }\n          visibleChips.push(chip);\n          visibleCount++;\n        } else {\n          if (!titleAddedToHidden) {\n            hiddenElements.push(renderFilterTitle(title));\n            titleAddedToHidden = true;\n          }\n          hiddenElements.push(chip);\n          hiddenChips.push(chip);\n        }\n      }\n    }\n  }\n\n  for (const filter of props.enabledCommonFilters) {\n    const chip = renderCommonChip(filter, props);\n\n    if (visibleCount < MAX_VISIBLE_CHIPS) {\n      visibleChips.push(chip);\n      visibleCount++;\n    } else {\n      hiddenElements.push(chip);\n      hiddenChips.push(chip);\n    }\n  }\n\n  for (const { title, id, filters } of props.enabledFilters) {\n    let titleAddedToVisible = false;\n    let titleAddedToHidden = false;\n\n    for (const filter of filters) {\n      for (const value of [...new Set(filter.enabledValues)]) {\n        let filterOption = filter?.options?.find((o) => o.id === value);\n\n        if (filterOption) {\n          //Fill when filter option doesnt have title (description)\n          filterOption.title = filterOption.title !== \"\" ? filterOption.title : value;\n        } else {\n          //Hi ha un filtre de curs clinic \"veure eliminats\" booleà que no serà un filterOption, per tant entra aquí\n          //Aqui es crea el objecte que es passa al chip\n          const deletedFiltersOption = normalizeDeletedFilterBooleanValue(value);\n          filterOption = { title: deletedFiltersOption, id: deletedFiltersOption };\n        }\n\n        //const chip2 = renderChip(id, filter, normalizeDeletedFilterBooleanValue(value), props);\n\n        const chip = renderChip(id, filter, filterOption, props);\n\n        if (visibleCount < MAX_VISIBLE_CHIPS) {\n          if (!titleAddedToVisible) {\n            visibleChips.push(renderFilterTitle(title));\n            titleAddedToVisible = true;\n          }\n          visibleChips.push(chip);\n          visibleCount++;\n        } else {\n          if (!titleAddedToHidden) {\n            hiddenElements.push(renderFilterTitle(title));\n            titleAddedToHidden = true;\n          }\n          hiddenElements.push(chip);\n          hiddenChips.push(chip);\n        }\n      }\n    }\n  }\n\n  return html`\n  <div class=\"filters-container\">\n    <div class=\"filters-header\">${translate(\"chipHeader.selection\")}</div>\n    <div class=\"filter-groups\">\n      ${visibleChips}\n      ${\n        hiddenChips.length > 0\n          ? html`\n            <div>\n              <dss-button label=\"+ ${hiddenChips.length}\" size=\"sm\" variant=\"primary\"></dss-button>\n              <dss-popover title=${translate(\"chipHeader.selection\")} position=\"bottom\" popoverFixed>\n                <dss-popover-body slot=\"body\">\n                  <div class=\"popover-content\">\n                    ${hiddenElements}\n                  </div>\n                </dss-popover-body>\n              </dss-popover>\n            </div>\n          `\n          : nothing\n      }\n    </div>\n  </div>\n  <div class=\"clean-filters\">\n    <div class=\"separator\">|</div>\n    <dss-button variant=\"secondary\" size=\"sm\" label=${translate(\"chipHeader.cleanFilters\")} icon=\"cleaning_services\" @click=${props.resetFilters}></dss-button>\n  </div>\n  `;\n};\n","import { PrimariaApi } from \"@uxland/primary-shell\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { lazyInject } from \"../../../../infrastructure/ioc/container\";\nimport { TYPES } from \"../../../../infrastructure/ioc/types\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nimport { customFilterGroupsWithOptionsSelector } from \"../../../selectors\";\nimport { activityHistoryEnabledCommonFiltersSelector } from \"../../common-filters/selectors\";\nimport { SetCommonFilter } from \"../../common-filters/set-common-filter/request\";\nimport { SetCustomFilterValue } from \"../../custom-filters/set-custom-filter-value/request\";\nimport { DeleteDiagnosticFilterValueCommand } from \"../../diagnostic-filters/delete/request\";\nimport { diagnosticFilterSelector } from \"../../diagnostic-filters/selectors\";\nimport {\n  IActivityHistoryCustomFilterGroup,\n  IActivityHistoryDiagnosticsFilter,\n  IActivityHistoryFilter,\n  IActivityHistoryUpFilter,\n} from \"../../model\";\nimport { ResetFiltersCommand } from \"../../reset/request\";\nimport { upFilterSelector } from \"../../up-filters/selectors\";\nimport { SetUpFiltersCommand } from \"../../up-filters/set/request\";\n\n//@ts-ignore\n@customElement(\"active-filters-badges\")\nexport class ActiveFiltersBadges extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  activityHistoryCommonFiltersSelector;\n\n  @connectedProperty(activityHistoryEnabledCommonFiltersSelector)\n  enabledCommonFilters: IActivityHistoryFilter[];\n\n  @connectedProperty(customFilterGroupsWithOptionsSelector)\n  enabledFilters: IActivityHistoryCustomFilterGroup[];\n\n  @connectedProperty(diagnosticFilterSelector)\n  diagnosticFilterEnabled: IActivityHistoryDiagnosticsFilter;\n\n  @connectedProperty(upFilterSelector)\n  upFilterEnabled: IActivityHistoryUpFilter;\n\n  _onDeleteFilterValue(filterGroupId: string, filterId: string, optionId: string, value: boolean) {\n    this.api.broker.send(\n      new SetCustomFilterValue({\n        filterGroupId,\n        filterId,\n        optionId,\n        enabled: value,\n      }),\n    );\n  }\n\n  _onDeleteCommonFilterValue(filterId: string) {\n    this.api.broker.send(new SetCommonFilter({ id: filterId, enabled: false }));\n  }\n\n  _onDeleteDiagnosticFilterValue(diagnosticCodi: string) {\n    this.api.broker.send(new DeleteDiagnosticFilterValueCommand({ diagnosticCodi }));\n  }\n\n  _onDeleteUpFilterValue(upValue: string) {\n    this.api.broker.send(new SetUpFiltersCommand([...this.upFilterEnabled.enabledValues.filter((v) => v !== upValue)]));\n  }\n\n  resetFilters() {\n    this.api.broker.send(new ResetFiltersCommand());\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { SearchItemsHandler } from \"./handler\";\nimport { SearchActivityHistoryItems } from \"./request\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\nimport \"./activity-history-search-results/activity-history-search-results\";\nimport \"./activity-history-search-bar/activity-history-search-bar\";\nimport \"../filter/UI/active-filters-badges/active-filters-badges\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapSearchItems = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(SearchActivityHistoryItems, SearchItemsHandler);\n};\n\nexport const teardownSearchItems = () => {\n  request?.dispose();\n};\n","import { activityHistoryCollectionsSlice } from \"../slice\";\n\nexport const { updateActivityHistoryItem } = activityHistoryCollectionsSlice.actions;\n","import { StoreBaseHandler } from \"../../infrastructure/base-handlers\";\nimport { ensureAreValidBasicActivityHistoryItems } from \"../domain/validation/is-valid-basic-history-item\";\nimport { updateActivityHistoryItem } from \"./action\";\nimport { UpdateHistoryItemPayload } from \"./request\";\n\nexport class UpdateHistoryItemHandler extends StoreBaseHandler {\n  async handle(payload: UpdateHistoryItemPayload) {\n    try {\n      ensureAreValidBasicActivityHistoryItems([payload.item]);\n      this.store.dispatch(\n        updateActivityHistoryItem({\n          id: payload.entityId,\n          item: payload.item,\n        }),\n      );\n    } catch (e) {\n      console.error(e.message);\n    }\n  }\n}\n","import { BrokerExtensions } from \"@primaria/plugins-core\";\nimport { UpdateHistoryItemHandler } from \"./handler\";\nimport { BrokerDisposableHandler } from \"@uxland/primary-shell\";\n\nlet request: BrokerDisposableHandler;\n\nexport const bootstrapUpdateHistoryItem = (broker: BrokerExtensions) => {\n  request = broker.registerRequest(\"update_history_item_request\", UpdateHistoryItemHandler);\n};\n\nexport const teardownUpdateHistoryItem = () => {\n  request?.dispose();\n};\n","import { BrokerExtensions, brokerExtensions } from \"@primaria/plugins-core\";\nimport { PrimariaApi } from \"@uxland/primary-shell\";\nimport { container } from \"../infrastructure/ioc/container\";\nimport { bootstrapInjectAsyncHistoryItems, teardownInjectAsyncHistoryItems } from \"./add/add-async-history-items/bootstrapper\";\nimport { bootstrapAddHistoryItem, teardownAddHistoryItem } from \"./add/add-history-item/bootstrapper\";\nimport { bootstrapAddHistoryItems, teardownAddHistoryItems } from \"./add/add-history-items/bootstrapper\";\nimport { bootstrapActivityHistoryItemHandleBusy } from \"./add/handle-busy/bootstrapper\";\nimport {\n  bootstrapHandleHistoryItemsAddError,\n  teardownHandleHistoryItemsAddError,\n} from \"./add/handle-error/handle-history-items-add-error/bootstrapper\";\nimport { bootstrapExportPdf, teardownExportPdf } from \"./export-to-pdf/bootstrapper\";\nimport { bootstrapFilters, teardownFilters } from \"./filter/bootstrapper\";\nimport { bootstrapListActivityHistoryItems } from \"./list/bootstrapper\";\nimport { bootstrapHandleRefreshHistoryItems } from \"./refresh/bootstrapper\";\nimport { bootstrapRemoveHistoryItem, teardownRemoveHistoryItem } from \"./remove/bootstrapper\";\nimport { bootstrapSearchItems, teardownSearchItems } from \"./search/bootstrapper\";\nimport { bootstrapUpdateHistoryItem, teardownUpdateHistoryItem } from \"./update/bootstrapper\";\n\nlet broker: BrokerExtensions;\n\nexport const bootstrapActivityHistoryItem = (api: PrimariaApi) => {\n  broker = brokerExtensions(api, container);\n  bootstrapListActivityHistoryItems();\n  bootstrapActivityHistoryItemHandleBusy();\n  bootstrapInjectAsyncHistoryItems(broker, api);\n  bootstrapAddHistoryItem(broker, api);\n  bootstrapAddHistoryItems(broker, api);\n  bootstrapHandleHistoryItemsAddError(broker);\n  bootstrapHandleRefreshHistoryItems(broker);\n  bootstrapUpdateHistoryItem(broker);\n  bootstrapExportPdf(broker);\n  bootstrapFilters(broker, api);\n  bootstrapSearchItems(broker);\n  bootstrapRemoveHistoryItem(broker);\n};\n\nexport const teardownActivityHistoryItem = () => {\n  teardownInjectAsyncHistoryItems();\n  teardownAddHistoryItem();\n  teardownAddHistoryItems();\n  teardownHandleHistoryItemsAddError();\n  teardownUpdateHistoryItem();\n  teardownExportPdf();\n  teardownFilters();\n  teardownSearchItems();\n  teardownRemoveHistoryItem();\n};\n","export const pluginName = \"activity-history\";\n","import { IActivityHistoryGroup, IActivityHistoryItem } from \"../domain/model\";\n\n/**\n * Materializes the injected `component` (via each item's `componentFactory`)\n * on every item of the given groups, returning a fresh array of groups/items\n * without mutating the input.\n *\n * Both the main timeline and the importer view use this pattern: plugins\n * register a `componentFactory` on each item and the consumer expects\n * `item.component` to be a Lit template / HTMLElement ready to render.\n */\nexport const prepareGroupComponents = async (\n  groups: IActivityHistoryGroup[],\n): Promise<IActivityHistoryGroup[]> => {\n  const prepareItems = (items: IActivityHistoryItem[]) =>\n    Promise.all(\n      items.map(async (item) => ({\n        ...item,\n        component: item.componentFactory ? await item.componentFactory({ item }) : undefined,\n      })),\n    );\n\n  return Promise.all(\n    groups.map(async (group) => ({\n      ...group,\n      items: (await prepareItems(group.items || [])) as IActivityHistoryItem[],\n      subGroups: await Promise.all(\n        (group.subGroups || []).map(async (sub) => ({\n          ...sub,\n          items: (await prepareItems(sub.items)) as IActivityHistoryItem[],\n        })),\n      ),\n    })),\n  );\n};\n","import { VirtualScroller, VirtualScrollerState } from \"../list/UI/timeline/virtual-scroller\";\n\nexport const INITIAL_SCROLLER_STATE: VirtualScrollerState = {\n  virtualItems: [],\n  totalHeight: 0,\n};\n\nexport interface ScrollerSyncOptions<T> {\n  viewport: HTMLElement | undefined;\n  items: T[];\n  onStateChange: (state: VirtualScrollerState) => void;\n  estimateItemHeight: (index: number) => number;\n}\n\n/**\n * Small state-machine wrapper around VirtualScroller that both the timeline\n * and the importer reuse. It handles:\n *  - first-time setup when the viewport/content elements become available,\n *  - re-setup if the viewport element is swapped between renders,\n *  - incremental item updates,\n *  - cleanup on teardown.\n *\n * Each caller owns its own state field and own onStateChange callback (the\n * timeline, for example, also publishes a broker event inside it).\n */\nexport class ScrollerController<T> {\n  private _scroller?: VirtualScroller<T>;\n  private _cleanup?: () => void;\n  private _lastViewport?: HTMLElement;\n\n  /** Setup or update the scroller with the current items. No-op until the\n   * viewport and content elements exist. Detects viewport swaps and re-setups. */\n  sync({ viewport, items, onStateChange, estimateItemHeight }: ScrollerSyncOptions<T>): VirtualScrollerState {\n    if (!viewport) {\n      return this._scroller?.getState() ?? INITIAL_SCROLLER_STATE;\n    }\n\n    const viewportChanged = this._scroller && viewport !== this._lastViewport;\n    if (viewportChanged) {\n      this.teardown();\n    }\n\n    if (!this._scroller) {\n      this._scroller = new VirtualScroller<T>({\n        items,\n        estimateItemHeight,\n      });\n      this._cleanup = this._scroller.setup(viewport, onStateChange);\n    } else {\n      this._scroller.updateItems(items, onStateChange);\n    }\n\n    this._lastViewport = viewport;\n    return this._scroller.getState();\n  }\n\n  teardown() {\n    this._cleanup?.();\n    this._cleanup = undefined;\n    this._scroller = undefined;\n    this._lastViewport = undefined;\n  }\n\n  scrollToIndex(index: number, behavior?: ScrollBehavior) {\n    this._scroller?.scrollToIndex(index, behavior);\n  }\n\n  /** Measure the real height of a rendered item so variable-height rows\n   * (e.g. very tall visits) get accurate offsets instead of the estimate. */\n  measureElement(element: HTMLElement) {\n    this._scroller?.measureElement(element);\n  }\n}\n","import { IActivityHistoryGroup, IActivityHistoryItem, IHistoryDataImporterRules } from \"../domain/model\";\n\nexport interface ImporterViewFilters {\n  todayOnly: boolean;\n  /** Codes (codi) of the diagnostics the user has selected in the dropdown.\n   * Empty means: do not filter by diagnostics. */\n  selectedDiagnosticCodes: string[];\n}\n\nexport type RulesByCollectionId = Record<string, IHistoryDataImporterRules>;\n\nconst isToday = (dateStr: string): boolean => {\n  const d = new Date(dateStr);\n  const now = new Date();\n  return d.toDateString() === now.toDateString();\n};\n\nconst itemMatchesToday = (item: IActivityHistoryItem | undefined): boolean => Boolean(item && isToday(item.date));\n\nconst itemHasAnyDiagnostic = (item: IActivityHistoryItem, codes: string[]): boolean =>\n  Boolean(item.diagnostics?.some((d) => codes.includes(d.codi)));\n\n/**\n * Per-collection allowlist check. Items from a collection without a rule\n * (or whose rule has no `allowedTagIds`) always pass. Items from a\n * collection with a rule must have a `tag.id` in the allowlist.\n */\nconst isAllowedItem = (item: IActivityHistoryItem, rules: RulesByCollectionId): boolean => {\n  const collectionRule = item.type ? rules[item.type] : undefined;\n  if (!collectionRule?.allowedTagIds || collectionRule.allowedTagIds.length === 0) return true;\n  return collectionRule.allowedTagIds.includes(item.tag?.id ?? \"\");\n};\n\nconst groupMatchesToday = (group: IActivityHistoryGroup): boolean => {\n  const firstItem = group.items?.[0] || group.subGroups?.[0]?.items?.[0];\n  return itemMatchesToday(firstItem);\n};\n\nconst filterGroupItemsByPredicate = (\n  group: IActivityHistoryGroup,\n  predicate: (item: IActivityHistoryItem) => boolean,\n): IActivityHistoryGroup => ({\n  ...group,\n  items: (group.items || []).filter(predicate),\n  subGroups: (group.subGroups || [])\n    .map((sub) => ({ ...sub, items: sub.items.filter(predicate) }))\n    .filter((sub) => sub.items.length > 0),\n});\n\nconst filterGroupByDiagnostics = (group: IActivityHistoryGroup, codes: string[]): IActivityHistoryGroup =>\n  filterGroupItemsByPredicate(group, (it) => itemHasAnyDiagnostic(it, codes));\n\nconst isGroupNonEmpty = (group: IActivityHistoryGroup): boolean =>\n  group.items.length > 0 || group.subGroups.length > 0;\n\n/**\n * Applies importer-only view filters on top of the already-filtered groups\n * returned by activityHistoryGroupedItems. Filters are visual: they only\n * affect what's rendered, never the underlying selection.\n *\n * `rulesByCollectionId` carries per-plugin rules (allowlist of tag ids,\n * etc.) declared at inject time. Items from a collection with no rule\n * pass through unchanged.\n *\n * The `todayOnly` and `selectedDiagnosticCodes` filters compose as a UNION\n * (OR): when both are active, a group is shown if it is from today (with\n * all its items) OR contains items matching the selected diagnostics\n * (only the matching items).\n */\nexport const applyImporterFilters = (\n  groups: IActivityHistoryGroup[],\n  { todayOnly, selectedDiagnosticCodes }: ImporterViewFilters,\n  rulesByCollectionId: RulesByCollectionId = {},\n): IActivityHistoryGroup[] => {\n  // 1) Per-collection allowlist (always applied). Plugins without rules\n  //    let all their items through.\n  const baseFiltered = groups\n    .map((group) => filterGroupItemsByPredicate(group, (item) => isAllowedItem(item, rulesByCollectionId)))\n    .filter(isGroupNonEmpty);\n\n  // 2) View filters from the user (today / diagnostics) compose as UNION.\n  const todayActive = todayOnly;\n  const diagActive = selectedDiagnosticCodes.length > 0;\n\n  if (!todayActive && !diagActive) return baseFiltered;\n\n  return baseFiltered\n    .map((group) => {\n      if (todayActive && groupMatchesToday(group)) return group;\n      if (diagActive) return filterGroupByDiagnostics(group, selectedDiagnosticCodes);\n      return null;\n    })\n    .filter((group): group is IActivityHistoryGroup => group !== null && isGroupNonEmpty(group));\n};\n\nexport const flattenGroupItems = (groups: IActivityHistoryGroup[]): IActivityHistoryItem[] => {\n  const all: IActivityHistoryItem[] = [];\n  for (const group of groups) {\n    for (const item of group.items || []) all.push(item);\n    for (const sub of group.subGroups || []) {\n      for (const item of sub.items) all.push(item);\n    }\n  }\n  return all;\n};\n","import { format } from \"date-fns\";\nimport { html, nothing } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { translate } from \"../../localization\";\nimport { hasItemDivider, shouldShowRole } from \"../domain/business-rules\";\nimport {\n  IActivityHistoryDiagnostic,\n  IActivityHistoryGroup,\n  IActivityHistoryItem,\n  IActivityHistoryItemWithComponent,\n} from \"../domain/model\";\nimport {\n  ActivityHistoryEntry,\n  mergeHistoryItemsAndSubgroups,\n} from \"../list/merge-history-items-and-subgroups/merge-history-items-and-subgroups\";\nimport { ActivityHistoryImporter } from \"./activity-history-importer\";\n\nconst checkboxState = (state: \"all\" | \"some\" | \"none\") => ({\n  checked: state === \"all\",\n  indeterminate: state === \"some\",\n});\n\nexport const template = (props: ActivityHistoryImporter) => {\n  const all = checkboxState(props.allState());\n\n  return html`\n    <div class=\"importer\">\n      ${headerTemplate(props)} ${searchTemplate(props)} ${filtersTemplate(props, all)} ${listTemplate(props)}\n    </div>\n  `;\n};\n\nconst headerTemplate = (props: ActivityHistoryImporter) => html`\n  <div class=\"importer__header\">\n    <dss-typography tag=\"h4\" variant=\"subtitle-3\">${translate(\"importer.title\")}</dss-typography>\n    <dss-badge text=\"${props.totalCount}\" state=\"info\" size=\"sm\" outlined hideIcon></dss-badge>\n  </div>\n`;\n\nconst searchTemplate = (props: ActivityHistoryImporter) => html`\n  <div class=\"importer__search\">\n    <activity-history-search-bar\n      .searchString=${props.searchString}\n      @onSearchChange=${(e: CustomEvent) => props._onSearchChange(e)}\n    ></activity-history-search-bar>\n  </div>\n`;\n\nconst filtersTemplate = (props: ActivityHistoryImporter, all: { checked: boolean; indeterminate: boolean }) => html`\n  <div class=\"importer__filters\">\n    <dss-form-checkbox\n      label=${translate(\"importer.selectAll\")}\n      .checked=${all.checked}\n      .indeterminate=${all.indeterminate}\n      @change=${(e: Event) => props._toggleAll(e)}\n    ></dss-form-checkbox>\n\n    <span class=\"importer__filters-label\">${translate(\"importer.filters\")}</span>\n\n    <dss-form-checkbox\n      label=${translate(\"importer.today\")}\n      .checked=${props.todayOnly}\n      @change=${(e: Event) => props._onToggleToday(e)}\n    ></dss-form-checkbox>\n\n    ${\n      props.hasDiagnosticsFilter()\n        ? html`\n            <dss-form-select\n              size=\"sm\"\n              type=\"default\"\n              multiple\n              placeholder=\"${translate(\"importer.diagnostics\")}\"\n              .elements=${props.diagnosticsOptions()}\n              @value-changed=${(e: CustomEvent) => props._onDiagnosticsChanged(e)}\n            ></dss-form-select>\n          `\n        : nothing\n    }\n  </div>\n`;\n\nconst listTemplate = (props: ActivityHistoryImporter) => {\n  if (!props.filteredGroups?.length) {\n    return html`<div class=\"importer__empty\">${translate(\"importer.noResults\")}</div>`;\n  }\n\n  return html`\n    <div class=\"virtual-container\">\n      <div class=\"virtual-viewport\">\n        <div class=\"virtual-content\" style=\"height: ${props._totalHeight}px;\">\n          <div class=\"virtual-items\" style=\"transform: translateY(${props._containerOffset}px)\">\n            ${repeat(\n              props._visibleRows,\n              (row) => row.group.idGroup,\n              (row) => visitTemplate(props, row.group, row.index),\n            )}\n          </div>\n        </div>\n      </div>\n    </div>\n  `;\n};\n\nconst visitTemplate = (props: ActivityHistoryImporter, group: IActivityHistoryGroup, index: number) => {\n  const representative = group.items?.[0] || group.subGroups?.[0]?.items?.[0];\n  const visit = checkboxState(props.visitState(group));\n\n  return html`\n    <div class=\"visit\" data-index=${index} ${ref(props._measureElement)} data-date=${ifDefined(representative?.date)}>\n      <div class=\"visit__header\">\n        <dss-form-checkbox\n          .checked=${visit.checked}\n          .indeterminate=${visit.indeterminate}\n          hideLabel\n          @change=${(e: Event) => props._toggleVisit(group, (e.target as HTMLInputElement).checked)}\n        ></dss-form-checkbox>\n        ${visitHeaderContent(representative)}\n      </div>\n      <div class=\"visit__items\">\n        ${repeat(\n          mergeHistoryItemsAndSubgroups(group),\n          (entry) => (entry.type === \"item\" ? entry.item.id : (entry.subGroup as any).idSubGroup),\n          (entry: ActivityHistoryEntry) => {\n            if (entry.type === \"item\") {\n              return itemRow(props, entry.item, group.items as IActivityHistoryItemWithComponent[]);\n            }\n            return subGroupTemplate(props, entry.subGroup);\n          },\n        )}\n      </div>\n    </div>\n  `;\n};\n\nconst visitHeaderContent = (item: IActivityHistoryItem | undefined) => {\n  if (!item) return nothing;\n  const showRole = shouldShowRole(item);\n  const values: string[] = [];\n  if (item.professional?.name) values.push(item.professional.name);\n  if (showRole && item.professional?.role?.description) values.push(item.professional.role.description);\n  if (item.professional?.speciality?.description) values.push(item.professional.speciality.description);\n  if (item.up?.description) values.push(item.up.description);\n  if (item.service?.description) values.push(item.service.description);\n\n  return html`\n    <div class=\"title\">\n      <div class=\"title-date\">\n        <div>${format(new Date(item.date), \"dd/MM/yyyy\")}</div>\n      </div>\n      <div class=\"title-description\">\n        <div>${values.map((v, i) => html`${v}${i < values.length - 1 ? \" | \" : \"\"}`)}</div>\n      </div>\n    </div>\n  `;\n};\n\nconst subGroupTemplate = (props: ActivityHistoryImporter, subGroup: { items: IActivityHistoryItemWithComponent[] }) => {\n  const sub = checkboxState(props.subGroupState(subGroup.items));\n\n  return html`\n    <div class=\"diagnostics\">\n      <div class=\"diagnostics__header\">\n        <dss-form-checkbox\n          .checked=${sub.checked}\n          .indeterminate=${sub.indeterminate}\n          hideLabel\n          @change=${(e: Event) => props._toggleSubGroup(subGroup.items, (e.target as HTMLInputElement).checked)}\n        ></dss-form-checkbox>\n        ${diagnosticHeaderTemplate(subGroup.items?.[0])}\n      </div>\n      <div class=\"diagnostics__items\">\n        ${repeat(\n          subGroup.items,\n          (item) => item.id,\n          (item) => itemRow(props, item, subGroup.items),\n        )}\n      </div>\n    </div>\n  `;\n};\n\nconst itemRow = (\n  props: ActivityHistoryImporter,\n  item: IActivityHistoryItemWithComponent,\n  siblings: IActivityHistoryItemWithComponent[],\n) => html`\n  <div class=\"item\" ?has-divider=${hasItemDivider(item, siblings)}>\n    <dss-form-checkbox\n      class=\"item__check\"\n      .checked=${props.isItemSelected(item.id)}\n      hideLabel\n      @change=${() => props._toggleItem(item.id)}\n    ></dss-form-checkbox>\n    ${item.component}\n  </div>\n`;\n\nconst diagnosticHeaderTemplate = (item: IActivityHistoryItem | undefined) =>\n  item &&\n  html`\n    ${item.diagnostics\n      .filter((diagnostic: IActivityHistoryDiagnostic) => diagnostic.descripcio != null && diagnostic.descripcio.trim() !== \"\")\n      .map(\n        (diagnostic: IActivityHistoryDiagnostic) =>\n          html`<dss-badge text=${diagnostic.descripcio?.toUpperCase() as string} state=\"info\" size=\"sm\" outlined hideIcon></dss-badge>`,\n      )}\n  `;\n","import { ImportParams, PrimariaApi } from \"@uxland/primary-shell\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, query, state } from \"lit/decorators.js\";\nimport { pluginName } from \"../../constants\";\nimport { lazyInject } from \"../../infrastructure/ioc/container\";\nimport { TYPES } from \"../../infrastructure/ioc/types\";\nimport { connectedProperty } from \"../../infrastructure/state/connected-property\";\nimport { IActivityHistoryGroup, IActivityHistoryItem, IHistoryDataImporterContext } from \"../domain/model\";\nimport { VirtualScrollerState } from \"../list/UI/timeline/virtual-scroller\";\nimport { SearchActivityHistoryItems } from \"../search/request\";\nimport { activityHistorySearchStringSelector } from \"../search/selectors\";\nimport { activityHistoryGroupedItems, historyDataImporterRulesByCollectionIdSelector } from \"../selectors\";\nimport { prepareGroupComponents } from \"../shared/prepare-group-components\";\nimport { INITIAL_SCROLLER_STATE, ScrollerController } from \"../shared/scroller-controller\";\nimport { ImporterViewFilters, RulesByCollectionId, applyImporterFilters, flattenGroupItems } from \"./filters\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nexport type TristateChecked = \"all\" | \"some\" | \"none\";\n\ntype AvailableDiagnostic = { code: string; catalog: string; description: string };\n\n@customElement(\"activity-history-importer\")\nexport class ActivityHistoryImporter extends LitElement {\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  // ── API & store ─────────────────────────────────────────────────────────\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  @connectedProperty(activityHistoryGroupedItems)\n  historyGroups: IActivityHistoryGroup[] = [];\n\n  @connectedProperty(activityHistorySearchStringSelector)\n  searchString = \"\";\n\n  @connectedProperty(historyDataImporterRulesByCollectionIdSelector)\n  rulesByCollectionId: RulesByCollectionId = {};\n\n  // ── Filters (local) ─────────────────────────────────────────────────────\n  @state() todayOnly = false;\n  @state() selectedDiagnosticCodes: string[] = [];\n  @state() availableDiagnostics: AvailableDiagnostic[] = [];\n\n  // ── Derived state ───────────────────────────────────────────────────────\n  @state() filteredGroups: IActivityHistoryGroup[] = [];\n  @state() totalCount = 0;\n\n  // ── Selection ───────────────────────────────────────────────────────────\n  @state() selectedIds: string[] = [];\n\n  // ── Virtual scroller ────────────────────────────────────────────────────\n  @query(\".virtual-viewport\") private _viewport!: HTMLElement;\n  @state() _virtualScrollerState: VirtualScrollerState = INITIAL_SCROLLER_STATE;\n  private _scrollerController = new ScrollerController<IActivityHistoryGroup>();\n\n  // ── Misc internals ──────────────────────────────────────────────────────\n  private _searchTimeout: number | null = null;\n  private _didInitialPreselect = false;\n\n  // ── Lifecycle ───────────────────────────────────────────────────────────\n  connectedCallback() {\n    super.connectedCallback();\n    this.selectedIds = [];\n    this._didInitialPreselect = false;\n    const params = this.api?.importDataManager?.getCurrentImportParams?.() as ImportParams | undefined;\n    this.availableDiagnostics = params?.diagnostics ?? [];\n  }\n\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this._scrollerController.teardown();\n    this._clearSearchTimeout();\n    this.api.broker.send(new SearchActivityHistoryItems(\"\"));\n    this.selectedIds = [];\n  }\n\n  updated(changedProperties: Map<PropertyKey, unknown>): void {\n    super.updated(changedProperties);\n\n    if (\n      changedProperties.has(\"historyGroups\") ||\n      changedProperties.has(\"todayOnly\") ||\n      changedProperties.has(\"selectedDiagnosticCodes\")\n    ) {\n      void this._recomputeFiltered();\n    }\n\n    if (!this._didInitialPreselect && this.historyGroups?.length) {\n      this._didInitialPreselect = true;\n      this._preselectMatchingItems();\n    }\n\n    if (changedProperties.has(\"filteredGroups\")) {\n      this._syncVirtualScroller();\n    }\n\n    if (changedProperties.has(\"selectedIds\")) {\n      this._publishSelection();\n    }\n  }\n\n  // ── Event handlers ──────────────────────────────────────────────────────\n  _onSearchChange(event: CustomEvent) {\n    if (typeof event.detail !== \"string\") return;\n    this._clearSearchTimeout();\n    this._searchTimeout = window.setTimeout(() => {\n      this.api.broker.send(new SearchActivityHistoryItems(event.detail));\n    }, 300);\n  }\n\n  _onToggleToday(event: Event) {\n    this.todayOnly = (event.target as HTMLInputElement).checked;\n  }\n\n  _onDiagnosticsChanged(event: CustomEvent) {\n    const detail = event.detail as { selectedItems?: { value: string }[] } | undefined;\n    this.selectedDiagnosticCodes = (detail?.selectedItems || []).map((s) => s.value);\n  }\n\n  _toggleItem(itemId: string) {\n    this.selectedIds = this.selectedIds.includes(itemId)\n      ? this.selectedIds.filter((id) => id !== itemId)\n      : [...this.selectedIds, itemId];\n  }\n\n  _toggleVisit(group: IActivityHistoryGroup, selected: boolean) {\n    this._setSelection(\n      flattenGroupItems([group]).map((it) => it.id),\n      selected,\n    );\n  }\n\n  _toggleSubGroup(items: { id: string }[], selected: boolean) {\n    this._setSelection(\n      items.map((it) => it.id),\n      selected,\n    );\n  }\n\n  _toggleAll(event: Event) {\n    this._setSelection(\n      flattenGroupItems(this.filteredGroups).map((it) => it.id),\n      (event.target as HTMLInputElement).checked,\n    );\n  }\n\n  // ── Template helpers ────────────────────────────────────────────────────\n  isItemSelected(itemId: string): boolean {\n    return this.selectedIds.includes(itemId);\n  }\n\n  visitState(group: IActivityHistoryGroup): TristateChecked {\n    return this._tristate(flattenGroupItems([group]).map((it) => it.id));\n  }\n\n  subGroupState(items: { id: string }[]): TristateChecked {\n    return this._tristate(items.map((it) => it.id));\n  }\n\n  allState(): TristateChecked {\n    return this._tristate(flattenGroupItems(this.filteredGroups).map((it) => it.id));\n  }\n\n  hasDiagnosticsFilter(): boolean {\n    return this.availableDiagnostics.length > 0;\n  }\n\n  diagnosticsOptions() {\n    return this.availableDiagnostics.map((d) => ({ label: d.description, value: d.code }));\n  }\n\n  /**\n   * Maps virtual scroller indices to actual filtered groups for rendering.\n   *\n   * The virtual scroller tells us which item positions are visible (e.g., items 5-7).\n   * This getter translates those position numbers into the actual group objects\n   * from filteredGroups that need to be displayed.\n   * @example\n   * virtualItems = [{ index: 0 }, { index: 1 }, { index: 2 }, { index: 3 }]  // 4 items visible at positions 0, 1, 2, 3\n   * returns [filteredGroups[0], [filteredGroups[1], [filteredGroups[2], [filteredGroups[3], ...] // the actual groups to render\n   *\n   * @returns The activity history groups currently visible in the viewport\n   */\n  get _visibleRows(): { index: number; group: IActivityHistoryGroup }[] {\n    return this._virtualScrollerState.virtualItems\n      .map((vi) => ({ index: vi.index, group: this.filteredGroups?.[vi.index] }))\n      .filter((row): row is { index: number; group: IActivityHistoryGroup } => Boolean(row.group));\n  }\n\n  /** Callback ref used by each `.visit` so the virtualizer measures its real\n   * height (variable-height visits) instead of relying on the estimate. */\n  _measureElement = (el: Element | undefined) => {\n    if (el) this._scrollerController.measureElement(el as HTMLElement);\n  };\n  /**\n   * Calculates the vertical offset (in pixels) to position the visible items.\n   *\n   * When scrolling, visible items are positioned using CSS `transform: translateY()`.\n   * This getter returns how many pixels to shift the container down so the visible\n   * items appear in the correct scroll position.\n   *\n   * @example\n   * First visible item is at pixel 5000 → returns 5000\n   * CSS applies: transform: translateY(5000px)\n   *\n   * @returns Vertical offset in pixels for the items container\n   */\n  get _containerOffset(): number {\n    return this._virtualScrollerState.virtualItems[0]?.start ?? 0;\n  }\n\n  get _totalHeight(): number {\n    return this._virtualScrollerState.totalHeight;\n  }\n\n  // ── Private helpers ─────────────────────────────────────────────────────\n  private _clearSearchTimeout() {\n    if (this._searchTimeout !== null) {\n      clearTimeout(this._searchTimeout);\n      this._searchTimeout = null;\n    }\n  }\n\n  private _setSelection(ids: string[], selected: boolean) {\n    if (selected) {\n      const additions = ids.filter((id) => !this.selectedIds.includes(id));\n      if (additions.length) this.selectedIds = [...this.selectedIds, ...additions];\n    } else {\n      const toRemove = new Set(ids);\n      this.selectedIds = this.selectedIds.filter((id) => !toRemove.has(id));\n    }\n  }\n\n  private _tristate(ids: string[]): TristateChecked {\n    if (!ids.length) return \"none\";\n    const count = ids.filter((id) => this.selectedIds.includes(id)).length;\n    if (count === 0) return \"none\";\n    if (count === ids.length) return \"all\";\n    return \"some\";\n  }\n\n  private async _recomputeFiltered() {\n    const filters: ImporterViewFilters = {\n      todayOnly: this.todayOnly,\n      selectedDiagnosticCodes: this.selectedDiagnosticCodes,\n    };\n    const raw = applyImporterFilters(this.historyGroups || [], filters, this.rulesByCollectionId);\n    this.filteredGroups = await prepareGroupComponents(raw);\n    this.totalCount = flattenGroupItems(this.filteredGroups).length;\n  }\n\n  private _syncVirtualScroller() {\n    this._virtualScrollerState = this._scrollerController.sync({\n      viewport: this._viewport,\n      items: this.filteredGroups,\n      estimateItemHeight: () => 200,\n      onStateChange: (state) => {\n        this._virtualScrollerState = state;\n        this.requestUpdate();\n      },\n    });\n  }\n\n  /**\n   * On the first time the modal receives history data, auto-selects every\n   * item whose collection's rule (`shouldPreselect`) returns true. The\n   * activity-history plugin stays generic — each plugin owns its own\n   * preselect predicate.\n   */\n  private _preselectMatchingItems() {\n    const ctx: IHistoryDataImporterContext = { diagnostics: this.availableDiagnostics };\n    const matchingIds: string[] = [];\n\n    const collect = (items: IActivityHistoryItem[]) => {\n      for (const item of items) {\n        const rule = item.type ? this.rulesByCollectionId[item.type] : undefined;\n        if (!rule?.shouldPreselect) continue;\n        if (rule.shouldPreselect(item, ctx)) matchingIds.push(item.id);\n      }\n    };\n\n    for (const group of this.historyGroups || []) {\n      collect(group.items || []);\n      for (const sub of group.subGroups || []) collect(sub.items);\n    }\n\n    if (matchingIds.length) {\n      this.selectedIds = [...new Set([...this.selectedIds, ...matchingIds])];\n    }\n  }\n\n  private _publishSelection() {\n    const selectedSet = new Set(this.selectedIds);\n    const groups = (this.historyGroups || [])\n      .map((group) => ({\n        ...group,\n        items: (group.items || []).filter((it) => selectedSet.has(it.id)),\n        subGroups: (group.subGroups || [])\n          .map((sub) => ({ ...sub, items: sub.items.filter((it) => selectedSet.has(it.id)) }))\n          .filter((sub) => sub.items.length > 0),\n      }))\n      .filter((g) => g.items.length > 0 || g.subGroups.length > 0);\n\n    // The activity-history importer publishes only the structured selection.\n    // The destination plugin (consumer of importDataManager.import()) is\n    // responsible for turning these groups into whatever raw/html text it\n    // needs for its target field — there is no single sensible \"default\"\n    // text shape, since each plugin's items are completely different.\n    this.api.importDataManager.selectItems({\n      pluginId: pluginName,\n      data: groups as any[],\n      text: { raw: \"\", html: \"\" },\n    });\n  }\n}\n","import { html, nothing } from \"lit\";\nimport { translate } from \"../../../../localization\";\nimport { ExportPdf } from \"../../../export-to-pdf/request\";\nimport { ActivityHistoryMain } from \"./activity-history-main\";\n\nexport const template = (props: ActivityHistoryMain) =>\n  html`<div class=\"container\" ?maximized=${props.maximized}>\n  ${\n    props.maximized\n      ? html`${headerMaximizedTemplate(props)}`\n      : html`<div class=\"header\">\n            <div class=\"header__left\">\n                <div class=\"title\">${translate(\"activityHistory\")}</div>\n                <activity-history-search-bar @onSearchChange=${props._handleSearchChange} .searchQuery=${props.searchQuery}></activity-history-search-bar>\n                <dss-datepicker dropdownFixed inputsize=\"md\" class=\"date-picker\" @onValueChange=${(event) => props._handleSelectDate(event.detail)}>\n                    <label slot=\"label\" for=\"myDatepicker\">${translate(\"goToDate\")}</label>\n                    <input slot=\"input\" id=\"myDatepicker\" type=\"text\" class=\"dss-input\">\n                </dss-datepicker>\n            </div>\n            \n            <div class=\"header__right\">\n                <dss-icon-button tooltipFixed @click=${() => props._refreshHistory()} size=\"md\" variant=\"primary\" icon=\"refresh\" label=${translate(\"actions.refresh\")}></dss-icon-button>\n                <div>|</div>\n                <dss-icon-button tooltipFixed @click=${() => props._maximize()} size=\"md\" variant=\"primary\" icon=\"open_in_full\" label=${translate(\"actions.maximizeButton\")}></dss-icon-button>\n                ${\n                  props.isAdministrative\n                    ? nothing\n                    : html`<div>|</div>\n                <div>\n                    <dss-icon-button tooltipFixed size=\"md\" variant=\"primary\" icon=\"more_vert\" label=${translate(\"actions.menuButton\")}></dss-icon-button>\n                    <dss-action-menu position=\"bottom-start\">\n                        <dss-action-menu-item lefticon=\"view_timeline\" label=${translate(\"actions.cronogram\")} @click=${props._raiseEcapCronogramEvent}></dss-action-menu-item>\n                        <!-- <dss-action-menu-item lefticon=\"file_download\" label=${translate(\"actions.exportPdf\")} @click=${() => props.api.broker.send(new ExportPdf())}></dss-action-menu-item> -->\n                        <!-- <dss-action-menu-item lefticon=\"info\" label=${translate(\"actions.entryLegend\")}></dss-action-menu-item> -->\n                    </dss-action-menu>\n                </div>`\n                }\n            </div>\n        </div>`\n  } \n        <div class=\"wrapper\" ?maximized=${props.maximized}>\n          <activity-history-filters .wrapperMaximized=${props.maximized}></activity-history-filters>\n          <div class=\"content\">\n            <active-filters-header></active-filters-header>\n            ${props.isAnyCollectionBusy ? html`<activity-history-busy></activity-history-busy>` : nothing}\n            ${props.historyGroups?.length || !props.isAnyCollectionBusy ? html`<activity-history-timeline></activity-history-timeline>` : nothing}\n          </div>  \n        </div>\n    </div>`;\n\nexport const headerMaximizedTemplate = (props: ActivityHistoryMain) => html`\n    <div class=\"header-maximized-container\">\n        <div class=\"header__maximized\">\n            <div class=\"header__maximized__left\">\n                <div class=\"title\">${translate(\"activityHistory\")}</div>\n                <activity-history-search-bar @onSearchChange=${props._handleSearchChange} .searchQuery=${props.searchQuery}></activity-history-search-bar>\n                <dss-datepicker dropdownFixed inputsize=\"md\" class=\"date-picker\" @onValueChange=${(event) => props._handleSelectDate(event.detail)}>\n                    <label slot=\"label\" for=\"myDatepicker\">${translate(\"goToDate\")}</label>\n                    <input slot=\"input\" id=\"myDatepicker\" type=\"text\" class=\"dss-input\">\n                </dss-datepicker>\n            </div>\n            <div class=\"header__maximized__right\">\n                <!-- <div>\n                  <dss-button variant=\"subtle\" size=\"md\" label=\"${translate(\"actions.moreOptions\")}\" icon=\"more_horiz\" iconposition=\"left\"></dss-button>\n                  <dss-action-menu position=\"bottom-start\">\n                    <dss-action-menu-item @click=${() => props.api.broker.send(new ExportPdf())} lefticon=\"file_download\" label=${translate(\"actions.exportPdf\")}></dss-action-menu-item>\n                  </dss-action-menu>\n                </div> -->\n                <!-- <dss-button label=\"${translate(\"actions.entryLegend\")}\" size=\"md\" variant=\"secondary\"  icon=\"info\"></dss-button> -->\n                ${\n                  props.isAdministrative\n                    ? nothing\n                    : html`<dss-button label=\"${translate(\"actions.cronogram\")}\" size=\"md\" variant=\"primary\" icon=\"view_timeline\" @click=${props._raiseEcapCronogramEvent}></dss-button>`\n                }\n                <dss-icon-button tooltipFixed @click=${() => props._minimize()} size=\"md\" variant=\"primary\" icon=\"close_fullscreen\" label=${translate(\"actions.minimizeButton\")}></dss-icon-button>\n            </div>\n        </div>\n    </div>\n`;\n","import { BrokerDisposableHandler, PrimariaApi, PrimariaRegionHost } from \"@uxland/primary-shell\";\nimport { parse } from \"date-fns\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { lazyInject } from \"../../../../infrastructure/ioc/container\";\nimport { TYPES } from \"../../../../infrastructure/ioc/types\";\nimport { connectedProperty } from \"../../../../infrastructure/state/connected-property\";\nimport { isAnyCollectionBusySelector, isSomeCollectionLoadedAndOtherLoading } from \"../../../add/handle-busy/selectors\";\nimport { IActivityHistoryGroup } from \"../../../domain/model\";\nimport { HandleRefreshHistoryItems } from \"../../../refresh/request\";\nimport { SearchActivityHistoryItems } from \"../../../search/request\";\nimport { activityHistoryGroupedItems } from \"../../../selectors\";\nimport { ActivityHistoryTimeline } from \"../timeline/activity-history-timeline\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\n//@ts-ignore\n@customElement(\"activity-history-main\")\nexport class ActivityHistoryMain extends PrimariaRegionHost(LitElement) {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  subscriptions: BrokerDisposableHandler[] = [];\n  private _searchTimeout: number | null = null;\n\n  connectedCallback() {\n    super.connectedCallback();\n  }\n\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this._unsubscribeEvents();\n  }\n\n  firstUpdated() {\n    super.firstUpdated();\n    this._subscribeEvents();\n  }\n\n  @property({ type: Boolean, reflect: true })\n  maximized = false;\n\n  @lazyInject(TYPES.primaryApi)\n  api: PrimariaApi;\n\n  @connectedProperty(activityHistoryGroupedItems)\n  historyGroups: IActivityHistoryGroup[];\n\n  @connectedProperty(isSomeCollectionLoadedAndOtherLoading)\n  isSomeCollectionLoadedAndOtherLoading: boolean;\n\n  @connectedProperty(isAnyCollectionBusySelector)\n  isAnyCollectionBusy: boolean;\n\n  // Administrative users cannot trigger the cronogram action, so the actions\n  // that expose it (the 3-dots menu and the maximized cronogram button) are\n  // hidden for them.\n  get isAdministrative(): boolean {\n    return !!this.api?.userManager?.isUserRoleAdministrative();\n  }\n\n  _maximize() {\n    this.maximized = true;\n  }\n\n  _minimize() {\n    this.maximized = false;\n  }\n\n  _subscribeEvents() {\n    const mainViewSubscription = this.api.broker.subscribe(\"mainViewChanged\", ({ viewId }) => {\n      if (viewId === \"clinical-monitoring\" || viewId === \"admin-clinical-monitoring\") {\n        this.maximized = false;\n      }\n    });\n    this.subscriptions.push(mainViewSubscription);\n  }\n\n  _unsubscribeEvents() {\n    this.subscriptions.forEach((s) => s.dispose());\n  }\n\n  @property()\n  searchQuery = \"\";\n\n  _handleSelectDate(date: string) {\n    const selectedDate = parse(date, \"dd/MM/yyyy\", new Date());\n    this.scrollToClosestDate(selectedDate);\n  }\n\n  _handleSearchChange(event: CustomEvent) {\n    if (typeof event.detail !== \"string\") return;\n    this.searchQuery = event.detail;\n\n    if (this._searchTimeout) {\n      clearTimeout(this._searchTimeout);\n    }\n\n    this._searchTimeout = setTimeout(() => {\n      this.api.broker.send(new SearchActivityHistoryItems(this.searchQuery));\n    }, 300);\n  }\n\n  async _raiseEcapCronogramEvent() {\n    const CIP = (await this.api.broker.send(\"get_patient_cip\")) as string;\n    this.api.ecapEventManager.publish(\"CRONOGRAMA\", \"NO_TANCAR\", { CIP });\n  }\n\n  scrollToClosestDate(date: Date) {\n    const selectedDate = date.getTime();\n    const timeline = this.shadowRoot.querySelector(\"activity-history-timeline\") as ActivityHistoryTimeline;\n    timeline._scrollIntoDate(selectedDate);\n  }\n\n  _refreshHistory() {\n    this.api.broker.send(new HandleRefreshHistoryItems());\n  }\n}\n","import { PrimariaApi } from \"@uxland/primary-shell\";\nimport { ActivityHistoryImporter } from \"./activity-history-item/importer/activity-history-importer\";\nimport { ActivityHistoryMain } from \"./activity-history-item/list/UI/main-view/activity-history-main\";\nimport { container } from \"./infrastructure/ioc/container\";\nimport { TYPES } from \"./infrastructure/ioc/types\";\n\nconst IMPORTER_VIEW_ID = \"activity-history-importer\";\n\nexport const registerViews = (api: PrimariaApi) => {\n  api.regionManager.registerView(api.regionManager.regions.clinicalMonitoring.content, {\n    id: api.pluginInfo.pluginId,\n    factory: () => Promise.resolve(new ActivityHistoryMain()),\n  });\n\n  api.regionManager.registerView(api.regionManager.regions.shell.importDataActivityHistory, {\n    id: IMPORTER_VIEW_ID,\n    factory: () => Promise.resolve(new ActivityHistoryImporter()),\n    sortHint: \"0020\",\n  });\n};\n\nexport const unregisterViews = () => {\n  const api = container.get(TYPES.primaryApi) as PrimariaApi;\n  api.regionManager.removeView(api.regionManager.regions.clinicalMonitoring.content, api.pluginInfo.pluginId);\n  api.regionManager.removeView(api.regionManager.regions.shell.importDataActivityHistory, IMPORTER_VIEW_ID);\n};\n","import { PrimariaApi } from \"@uxland/primary-shell\";\nimport { bootstrapActivityHistoryItem, teardownActivityHistoryItem } from \"./activity-history-item/bootstrapper\";\nimport { registerViews, unregisterViews } from \"./handle-views\";\nimport { bindDeps, unbindDeps } from \"./infrastructure/ioc/container\";\nimport { initializeLocalization } from \"./localization\";\nimport { setShellApiForOwnSpec } from \"./activity-history-item/domain/specs/own-spec\";\n\nconst bootstrapFeatures = (api: PrimariaApi) => {\n  bootstrapActivityHistoryItem(api);\n};\n\nconst teardownFeatures = () => {\n  teardownActivityHistoryItem();\n};\n\nexport const initialize = async (api: PrimariaApi) => {\n  // Initialize the shellApi for OwnSpec to avoid circular dependencies\n  setShellApiForOwnSpec(api);\n  \n  registerViews(api);\n  await initializeLocalization(api);\n  bindDeps(api);\n  bootstrapFeatures(api);\n  return Promise.resolve();\n};\n\nexport const dispose = () => {\n  // Clean up the shellApi reference\n  setShellApiForOwnSpec(null);\n  \n  teardownFeatures();\n  unregisterViews();\n  unbindDeps();\n  return Promise.resolve();\n};\n","import type { BootstrappedPlugin, PluginDefinition, Plugin as PluginType } from \"@uxland/harmonix\";\nimport { bootstrapPlugins as pluginBootstrapper } from \"@uxland/harmonix\";\nimport {\n  dispose as activityHistoryDispose,\n  initialize as activityHistoryInitialize,\n} from \"../../../plugins/activity-history/src/plugin\";\nimport { PrimariaApi, primariaApiFactory } from \"./api/api\";\nexport type { PluginDefinition, PluginInfo } from \"@uxland/harmonix\";\n\nlet bootstrappedPlugins = [] as BootstrappedPlugin<PrimariaApi>[];\n\nexport interface PrimariaPlugin extends Plugin {\n  startup: (api: PrimariaApi, startupParams: any) => Promise<void>;\n}\n\nexport interface PrimariaStartupPlugin {\n  pluginId: string;\n  params: any;\n}\n\ninterface PrimariaBootstrappedPlugin extends BootstrappedPlugin<PrimariaApi> {\n  importedPlugin: PrimariaPlugin;\n}\n\nconst internalPlugins: PluginDefinition[] = [\n  {\n    pluginId: \"activity-history\",\n    importer: () =>\n      Promise.resolve({\n        initialize: activityHistoryInitialize,\n        dispose: activityHistoryDispose,\n      }),\n  },\n];\n\nexport const bootstrapPlugins = async (plugins: PluginDefinition[], startup?: PrimariaStartupPlugin) => {\n  const finalPlugins = internalPlugins.concat(plugins || []);\n  bootstrappedPlugins = (await pluginBootstrapper(finalPlugins, primariaApiFactory)) as BootstrappedPlugin<PrimariaApi>[];\n  handleStartupPlugin(bootstrappedPlugins as PrimariaBootstrappedPlugin[], startup);\n};\n\nexport const handleStartupPlugin = (plugins: PrimariaBootstrappedPlugin[], startupPlugin?: PrimariaStartupPlugin) => {\n  if (plugins && plugins.length > 0 && startupPlugin?.pluginId) {\n    const plugin = plugins.find(\n      (plugin: PrimariaBootstrappedPlugin) => plugin?.apiInstance.pluginInfo.pluginId === startupPlugin.pluginId,\n    );\n    if (plugin?.importedPlugin?.startup) plugin?.importedPlugin?.startup?.(plugin.apiInstance, startupPlugin.params);\n  }\n};\n\nexport const disposePlugins = async () => {\n  return Promise.all(bootstrappedPlugins.map((plugin: PrimariaBootstrappedPlugin) => plugin?.dispose()));\n};\n\nexport type Plugin = PluginType<PrimariaApi>;\n","import { inject } from \"inversify\";\nimport { PrimariaApi } from \"../../api/api\";\nimport { PluginBusyList } from \"../../api/plugin-busy-manager/plugin-busy-list/component\";\nimport { PluginTask } from \"../../api/plugin-busy-manager/plugin-busy-manager\";\nimport { disposeShell, raiseCloseEvent, raiseCustomCloseEvent } from \"../../disposer\";\nimport { disposePlugins } from \"../../handle-plugins\";\nimport { TYPES } from \"../../infrastructure/ioc/types\";\nimport { translate } from \"../../locales\";\nimport { ExitShell } from \"./request\";\n\nexport class ExitShellHandler {\n  constructor(@inject(TYPES.primaryApi) private api: PrimariaApi) {}\n  async handle(exitEvent: ExitShell): Promise<void> {\n    const evt = exitEvent && exitEvent.ecapEvent !== undefined ? exitEvent : undefined;\n\n    try {\n      const canExit = await this.api.exitGuardManager.canExit();\n      if (!canExit) return;\n\n      // Backwards-compat: external plugins still using the deprecated pluginBusyManager\n      // would otherwise lose their exit-confirmation modal. Remove once all consumers migrate.\n      const busyTasks = this.api.pluginBusyManager.getTasks();\n      if (busyTasks.length > 0) {\n        const { confirmed } = await this.askForClose(busyTasks);\n        if (!confirmed) return;\n      }\n\n      // Per si un plugin tarda molt en fer dispose, màxim deixarem 5 segons, per no interrompre el tancar infinitament\n      await Promise.race([\n        disposePlugins(), // S'intenta executar un dispose normal\n        this.timeout(10000), // Si passen 5s, es segueix amb l'execució\n      ]);\n      disposeShell();\n      this.emitClose(evt);\n    } catch (error) {\n      this.api.notificationService.error(translate(\"errors.exit\"));\n      this.emitClose(evt);\n    }\n  }\n\n  private timeout(ms: number) {\n    return new Promise<void>((resolve) => setTimeout(resolve, ms));\n  }\n\n  private askForClose(busyTasks: PluginTask[]) {\n    return this.api.interactionService.confirm(\n      { busyTasks },\n      { component: PluginBusyList },\n      {\n        title: translate(\"actions.askExit\"),\n        state: \"error\",\n        confirmButtonText: \"Sí\",\n        cancelButtonText: \"No\",\n      },\n    );\n  }\n\n  private emitClose(exitEvent?: ExitShell): void {\n    if (exitEvent) {\n      raiseCustomCloseEvent(exitEvent);\n    } else {\n      raiseCloseEvent();\n    }\n  }\n}\n","import { IRequest } from \"@uxland/harmonix\";\n\nexport interface ExitShellPayload {\n  ecapEvent?: string;\n  payload?: any;\n}\n\nexport class ExitShell implements IRequest<void> {\n  constructor(public ecapEvent?: string, public payload?: {}) {}\n}\n","import { PrimariaApi } from \"../../api/api\";\nimport { BrokerDisposableHandler } from \"../../api/broker/primaria-broker\";\nimport { container } from \"../../infrastructure/ioc/container\";\nimport { registerRequest } from \"../utils\";\nimport { ExitShellHandler } from \"./handler\";\nimport { ExitShell } from \"./request\";\n\nlet request: BrokerDisposableHandler;\n\nexport const useExitShell = (api: PrimariaApi) => {\n  disposeExitShell();\n  request = registerRequest(api, container)(ExitShell, ExitShellHandler);\n};\n\nexport const disposeExitShell = () => {\n  request?.dispose();\n};\n","import { inject, injectable } from \"inversify\";\nimport { IUserInfo } from \"./model\";\nimport { jwtDecode } from \"jwt-decode\";\nimport { TYPES } from \"../../infrastructure/ioc/types\";\nimport { shellApi } from \"../../api/api\";\n\nexport abstract class UserInfoBackendAdapter {\n  abstract getUserInfo(): Promise<IUserInfo>;\n}\n@injectable()\nexport class GetUserInfoBackendAdapter implements UserInfoBackendAdapter {\n  constructor(@inject(TYPES.primaryApi) private api: typeof shellApi) {}\n  getUserInfo(): Promise<IUserInfo> {\n    const decodedToken = jwtDecode(this.api.tokenManager.getToken());\n    const userInfo: IUserInfo = {\n      userId: this.getUserId(decodedToken.access_info),\n      firstName: decodedToken.access_info.trace_user_given_name,\n      familyName: decodedToken.access_info.trace_user_family_name,\n      lastName: decodedToken.access_info.trace_user_last_name,\n      registrationNumber: decodedToken.access_info.identifier.find((id: { type: string; value: string }) => id.type === \"NUMCOL\")\n        ?.value,\n      workCenter: decodedToken.access_info.center_code,\n      role: decodedToken.access_info.role_type,\n      speciality: decodedToken.access_info.professional_category,\n    };\n    return Promise.resolve(userInfo);\n  }\n\n  getUserId(access_info) {\n    return (\n      access_info.identifier?.find((identifierItem: { type: string; value: string }) => identifierItem.type === \"DNI\")?.value ||\n      access_info.identifier?.find((identifierItem: { type: string; value: string }) => identifierItem.type === \"NIE\")?.value ||\n      access_info.identifier?.find((identifierItem: { type: string; value: string }) => identifierItem.type === \"PASS\")?.value\n    );\n  }\n}\n","import { TYPES } from \"../../infrastructure/ioc/types\";\nimport { inject } from \"inversify\";\nimport { GetUserInfo } from \"./request\";\nimport { IUserInfo } from \"./model\";\nimport { UserInfoBackendAdapter } from \"./backend-adapter\";\nimport { GetUserInfoBackendAdapter } from \"./backend-adapter\";\nimport { PrimariaApi } from \"../../api/api\";\n\nexport class GetUserInfoHandler {\n  constructor(\n    @inject(TYPES.primaryApi) private api: PrimariaApi,\n    @inject(GetUserInfoBackendAdapter) private backendAdapter: UserInfoBackendAdapter,\n  ) {}\n  async handle(message: GetUserInfo): Promise<IUserInfo | undefined> {\n    try {\n      const userInfo = await this.backendAdapter.getUserInfo();\n      this.api.globalStateManager.setData(\"userInfo\", userInfo);\n      return userInfo;\n    } catch (error) {\n      this.api.notificationService.error(error.message);\n    }\n  }\n}\n","import { IRequest } from \"@uxland/harmonix\";\nimport { IUserInfo } from \"./model\";\n\nexport class GetUserInfo implements IRequest<IUserInfo> {}\n","import { PrimariaApi, shellApi } from \"../../api/api\";\nimport { BrokerDisposableHandler } from \"../../api/broker/primaria-broker\";\nimport { container, registerDep, unregisterDep } from \"../../infrastructure/ioc/container\";\nimport { registerRequest } from \"../utils\";\nimport { GetUserInfoBackendAdapter } from \"./backend-adapter\";\nimport { GetUserInfoHandler } from \"./handler\";\nimport { GetUserInfo } from \"./request\";\n\nlet request: BrokerDisposableHandler;\n\nexport const useGetUserInfo = (api: PrimariaApi) => {\n  disposeGetUserInfo();\n  request = registerRequest(api, container)(GetUserInfo, GetUserInfoHandler);\n  registerDep(GetUserInfoBackendAdapter);\n};\n\nexport const disposeGetUserInfo = () => {\n  request?.dispose();\n  unregisterDep(GetUserInfoBackendAdapter);\n};\n","import { mediatorSettings } from \"mediatr-ts\";\nimport { PrimariaApi } from \"../api/api\";\nimport { container } from \"../infrastructure/ioc/container\";\nimport { TYPES } from \"../infrastructure/ioc/types\";\nimport { disposeExitShell, useExitShell } from \"./exit/bootstrapper\";\nimport { disposeGetUserInfo, useGetUserInfo } from \"./get-user-info/bootstrapper\";\nimport { GetUserInfo } from \"./get-user-info/request\";\n\nexport const useFeatures = (api: PrimariaApi) => {\n  container.bind(TYPES.primaryApi).toConstantValue(api);\n  useGetUserInfo(api);\n  useExitShell(api);\n  api.broker.send(new GetUserInfo());\n};\n\nexport const disposeFeatures = (api: PrimariaApi) => {\n  disposeGetUserInfo();\n  disposeExitShell();\n  container.unbindAll();\n  api.regionManager._destroy();\n  mediatorSettings.resolver.clear();\n};\n","import { activityMonitor, sessionRefreshTimer, shellApi } from \"./api/api\";\nimport { disposeFeatures } from \"./features/bootstrapper\";\nimport { ExitShellPayload } from \"./features/exit/request\";\nexport const disposeShell = () => {\n  disposeFeatures(shellApi);\n  shellApi.interactionService.dispose();\n  sessionRefreshTimer.stop();\n  activityMonitor.stop();\n};\n\nexport const raiseCloseEvent = () => {\n  shellApi.ecapEventManager.publish(\"CLOSE_FORM\", \"\", {});\n};\n\nexport const raiseCustomCloseEvent = (event: ExitShellPayload) => {\n  shellApi.ecapEventManager.publish(event.ecapEvent as string, \"\", event.payload);\n};\n","export enum shellViews {\n  shell = \"primaria-shell\",\n  error = \"primaria-error-view\",\n}\n","let t = \"\";\nfunction u(e) {\n  t = `-${e}`;\n}\nfunction f() {\n  return t;\n}\nexport {\n  f as getCustomElementSuffix,\n  u as setCustomElementSuffix\n};\n//# sourceMappingURL=custom-element-scope.js.map\n","import { getCustomElementSuffix as f } from \"./custom-element-scope.js\";\nfunction s(e, t) {\n  const m = f(), o = `${e}${m}`;\n  customElements.define(o, t);\n}\nexport {\n  s as registerCustomElement\n};\n//# sourceMappingURL=custom-element-register.js.map\n","const e = \"*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0;font-family:var(--font-family)}ul,ol{list-style:none}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=reset.style.css.js.map\n","const n = {\n  type: Boolean,\n  converter: {\n    fromAttribute: (t) => t !== null && t !== \"false\",\n    toAttribute: (t) => t ? \"true\" : null\n  }\n}, o = {\n  fromAttribute: (t) => !(t === null || t === \"false\"),\n  toAttribute: (t) => t ? \"\" : null\n}, i = {\n  type: Array,\n  converter: {\n    fromAttribute: (t) => {\n      if (!t) return [];\n      const r = JSON.parse(t);\n      return Array.isArray(r) ? r.map((e) => e.toString()) : [r.toString()];\n    },\n    toAttribute: (t) => JSON.stringify(t)\n  }\n};\nexport {\n  o as booleanConverter,\n  n as booleanType,\n  i as selectedType\n};\n//# sourceMappingURL=property-types.js.map\n","const i = ':host{display:flex;align-items:center}.dss-icon,.material-symbols-rounded{font-family:var(--icon-font);font-size:var(--icon-size-md);font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased;font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24}.dss-icon--fill,.material-symbols-rounded--fill{font-variation-settings:\"FILL\" 1}.dss-icon--sm{font-size:var(--icon-size-sm)}.dss-icon--md{font-size:var(--icon-size-md)}.dss-icon--lg{font-size:var(--icon-size-lg)}.dss-icon--xl{font-size:var(--icon-size-xl)}.dss-icon-ghost{display:inline-block;height:var(--icon-size-md);width:var(--icon-size-md);overflow:hidden;background-color:transparent}.dss-icon-ghost--sm{height:var(--icon-size-sm);width:var(--icon-size-sm);border-radius:var(--dss-radius-xs)}.dss-icon-ghost--lg{height:var(--icon-size-lg);width:var(--icon-size-lg)}.dss-icon-ghost--xl{height:var(--icon-size-xl);width:var(--icon-size-xl)}.dss-icon--spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}';\nexport {\n  i as default\n};\n//# sourceMappingURL=icon.style.css.js.map\n","import{noChange as R}from\"../lit-html.js\";import{directive as e,Directive as i,PartType as t}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const Rt=e(class extends i{constructor(s){if(super(s),s.type!==t.ATTRIBUTE||\"class\"!==s.name||s.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(t,[s]){if(void 0===this.st){this.st=new Set,void 0!==t.strings&&(this.nt=new Set(t.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(s)}const i=t.element.classList;for(const t of this.st)t in s||(i.remove(t),this.st.delete(t));for(const t in s){const r=!!s[t];r===this.st.has(t)||this.nt?.has(t)||(r?(i.add(t),this.st.add(t)):(i.remove(t),this.st.delete(t)))}return R}});export{Rt as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { html as i } from \"lit\";\nimport { classMap as a } from \"lit/directives/class-map.js\";\nconst r = (s) => i`\n\n  ${s.fontLoaded ? i`\n      <i\n        class=${a({\n  \"dss-icon\": !0,\n  \"dss-icon--fill\": s.fill,\n  \"dss-icon--spin\": s.spin,\n  [`dss-icon--${s.size}`]: !!s.size\n})}\n        aria-hidden=\"true\"\n        translate=\"no\"\n      >\n        ${s.icon}\n      </i>\n    ` : i`\n      <span\n        class=${a({\n  \"dss-icon-ghost\": !0,\n  [`dss-icon-ghost--${s.size}`]: !!s.size\n})}>\n      </span>\n    `}\n`;\nexport {\n  r as template\n};\n//# sourceMappingURL=icon.template.js.map\n","import { LitElement as m, unsafeCSS as a } from \"lit\";\nimport { property as r, state as d } from \"lit/decorators.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport { booleanType as l } from \"../../utils/property-types.js\";\nimport u from \"./icon.style.css.js\";\nimport { template as c } from \"./icon.template.js\";\nvar h = Object.defineProperty, e = (s, p, n, S) => {\n  for (var t = void 0, i = s.length - 1, f; i >= 0; i--)\n    (f = s[i]) && (t = f(p, n, t) || t);\n  return t && h(p, n, t), t;\n};\nclass o extends m {\n  constructor() {\n    super(...arguments), this.size = \"md\", this.icon = \"\", this.fill = !1, this.spin = !1, this.fontLoaded = !1;\n  }\n  static get styles() {\n    return [a(y), a(u)];\n  }\n  firstUpdated() {\n    document.fonts.load('1em \"Dss Material Symbols\"').then(() => {\n      this.fontLoaded = !0;\n    });\n  }\n  render() {\n    return c(this);\n  }\n}\ne([\n  r({ type: String })\n], o.prototype, \"size\");\ne([\n  r({ type: String })\n], o.prototype, \"icon\");\ne([\n  r(l)\n], o.prototype, \"fill\");\ne([\n  r(l)\n], o.prototype, \"spin\");\ne([\n  d()\n], o.prototype, \"fontLoaded\");\nexport {\n  o as Icon\n};\n//# sourceMappingURL=icon.js.map\n","const o = \":host{display:block}.dss-typography{font-family:var(--font-family);font-weight:inherit}.dss-typography.headline-1,.dss-typography.headline-2,.dss-typography.headline-3,.dss-typography.headline-4{font-weight:var(--font-bold);color:var(--color-neutral-900)}.dss-typography.headline-1{font-size:38px;line-height:52px}.dss-typography.headline-2{font-size:30px;line-height:44px}.dss-typography.headline-3{font-size:24px;line-height:36px}.dss-typography.headline-4{font-size:20px;line-height:30px}.dss-typography.subtitle-1,.dss-typography.subtitle-2,.dss-typography.subtitle-3,.dss-typography.subtitle-4{font-weight:var(--font-semibold);color:var(--color-neutral-700)}.dss-typography.subtitle-1{font-size:20px;line-height:32px}.dss-typography.subtitle-2{font-size:18px;line-height:24px}.dss-typography.subtitle-3{font-size:16px;line-height:24px}.dss-typography.subtitle-4{font-size:14px;line-height:24px}.dss-typography.body-1,.dss-typography.body-2,.dss-typography.body-3{color:var(--color-neutral-500)}.dss-typography.body-1.dss-typography--regunlar,.dss-typography.body-2.dss-typography--regunlar,.dss-typography.body-3.dss-typography--regunlar{font-weight:var(--font-regular)}.dss-typography.body-1.dss-typography--semibold,.dss-typography.body-2.dss-typography--semibold,.dss-typography.body-3.dss-typography--semibold{font-weight:var(--font-semibold)}.dss-typography.body-1.dss-typography--bold,.dss-typography.body-2.dss-typography--bold,.dss-typography.body-3.dss-typography--bold{font-weight:var(--font-bold)}.dss-typography.body-1.dss-typography--underline,.dss-typography.body-2.dss-typography--underline,.dss-typography.body-3.dss-typography--underline{text-decoration:underline}.dss-typography.body-1{font-size:18px;line-height:28px}.dss-typography.body-2{font-size:16px;line-height:24px}.dss-typography.body-3{font-size:14px;line-height:24px}.dss-typography--color-500{color:var(--color-neutral-500)!important}.dss-typography--color-700{color:var(--color-neutral-700)!important}.dss-typography--color-900{color:var(--color-neutral-900)!important}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=typography.style.css.js.map\n","import{html as A,svg as C,mathml as L}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst $e=Symbol.for(\"\"),xe=t=>{if(t?.r===$e)return t?._$litStatic$},tr=t=>({_$litStatic$:t,r:$e}),er=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\\n            take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:$e}),Te=new Map,Ee=t=>(r,...e)=>{const a=e.length;let o,s;const i=[],l=[];let n,u=0,c=!1;for(;u<a;){for(n=r[u];u<a&&void 0!==(s=e[u],o=xe(s));)n+=o+r[++u],c=!0;u!==a&&l.push(s),i.push(n),u++}if(u===a&&i.push(r[a]),c){const t=i.join(\"$$lit$$\");void 0===(r=Te.get(t))&&(i.raw=i,Te.set(t,r=i)),e=l}return t(r,...e)},ke=Ee(A),Oe=Ee(C),Se=Ee(L);export{ke as html,er as literal,Se as mathml,Oe as svg,tr as unsafeStatic,Ee as withStatic};\n//# sourceMappingURL=static.js.map\n","import { classMap as s } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as l, literal as i, html as o } from \"lit/static-html.js\";\nconst e = (a) => {\n  const t = i`${l(a.tag)}`, r = {\n    \"dss-typography\": !0,\n    [`${a.variant}`]: !!a.variant,\n    [`dss-typography--${a.fontWeight}`]: a.variant.includes(\"body\") && a.fontWeight !== \"inherit\",\n    [`dss-typography--color-${a.fontColor}`]: !!a.fontColor,\n    \"dss-typography--underline\": a.variant.includes(\"body\") && a.underline\n  };\n  return o`\n    <${t} class=\"${s(r)}\">\n      <slot></slot>\n    </${t}>  \n  `;\n};\nexport {\n  e as template\n};\n//# sourceMappingURL=typography.template.js.map\n","import { LitElement as y, unsafeCSS as f } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport l from \"../../shared/reset.style.css.js\";\nimport { booleanType as m } from \"../../utils/property-types.js\";\nimport g from \"./typography.style.css.js\";\nimport { template as h } from \"./typography.template.js\";\nvar d = Object.defineProperty, e = (i, n, s, u) => {\n  for (var t = void 0, p = i.length - 1, a; p >= 0; p--)\n    (a = i[p]) && (t = a(n, s, t) || t);\n  return t && d(n, s, t), t;\n};\nclass o extends y {\n  constructor() {\n    super(...arguments), this.tag = \"div\", this.variant = \"body-2\", this.fontWeight = \"inherit\", this.fontColor = void 0, this.underline = !1;\n  }\n  static get styles() {\n    return [f(l), f(g)];\n  }\n  render() {\n    return h(this);\n  }\n}\ne([\n  r({ type: String })\n], o.prototype, \"tag\");\ne([\n  r({ type: String })\n], o.prototype, \"variant\");\ne([\n  r({ type: String })\n], o.prototype, \"fontWeight\");\ne([\n  r({ type: String })\n], o.prototype, \"fontColor\");\ne([\n  r(m)\n], o.prototype, \"underline\");\nexport {\n  o as Typography\n};\n//# sourceMappingURL=typography.js.map\n","const i = ':host{display:block;width:100%;height:-moz-fit-content;height:fit-content}.dss-accordion{display:block;width:100%;max-width:100%;box-sizing:border-box}.dss-accordion--box{box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-neutral-100);border-radius:var(--dss-radius-sm);background-color:var(--color-white)}.dss-accordion--inner:not(.dss-accordion--widget):not(.dss-accordion--hide-footer-divider){border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-accordion-header{display:flex;height:48px;margin:0 var(--dss-spacing-sm);gap:var(--dss-spacing-xs);align-items:center}.dss-accordion-header__info{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center}.dss-accordion-header__action{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}.dss-accordion-title{flex:1;display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs);overflow:hidden}.dss-accordion-title__icon{box-sizing:border-box;width:24px;height:24px;display:flex;justify-content:center;align-items:center;background-color:var(--color-primary-50);border-radius:var(--dss-radius-xs);padding:var(--dss-spacing-xxs)}.dss-accordion-title__checkbox{display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs);font-size:14px}.dss-accordion-title__text{color:var(--color-neutral-900);font-size:16px;font-weight:var(--font-semibold);line-height:24px;max-height:24px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;flex:1;cursor:pointer}.dss-accordion-results{margin-right:var(--dss-spacing-sm);font-weight:var(--font-semibold)}.dss-accordion-header__secondary-action{margin-right:var(--dss-spacing-sm);padding-right:var(--dss-spacing-xs);border-right:var(--dss-border-width-sm) solid var(--color-neutral-400)}.dss-accordion-panel-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--animation-delay) ease-out;overflow:hidden}.dss-accordion-panel{min-height:0;max-width:100%;color:var(--color-neutral-900);font-size:14px;width:100%;box-sizing:border-box;padding-left:var(--dss-spacing-sm);padding-right:var(--dss-spacing-sm);overflow:hidden}.dss-accordion--open .dss-accordion-panel-wrapper{grid-template-rows:1fr}.dss-accordion--open .dss-accordion-panel{padding-top:0;padding-bottom:var(--dss-spacing-sm)}.dss-accordion-notifications{padding:0 var(--dss-spacing-xs)}.dss-accordion--show-header-divider .dss-accordion-header,.dss-accordion--widget .dss-accordion-header{position:relative}.dss-accordion--show-header-divider .dss-accordion-header:after,.dss-accordion--widget .dss-accordion-header:after{content:\"\";position:absolute;bottom:-1px;left:0;right:0;height:var(--dss-border-width-sm);background-color:var(--color-neutral-100);opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-in-out,visibility var(--animation-delay) ease-in-out}.dss-accordion--show-header-divider.dss-accordion--open .dss-accordion-header:after,.dss-accordion--widget.dss-accordion--open .dss-accordion-header:after{opacity:1;visibility:visible}.dss-accordion-widget{display:flex;align-items:center}.dss-accordion-widget__badge{display:flex;align-items:center;gap:var(--dss-spacing-md);margin-right:var(--dss-spacing-md)}.dss-accordion-widget__divider{display:block;height:24px;width:2px;background-color:var(--color-neutral-100)}.dss-accordion-widget__actions{display:flex;gap:var(--dss-spacing-xs);margin-right:var(--dss-spacing-xs)}.dss-accordion--widget .dss-accordion-panel ::slotted(*){max-width:100%}.dss-accordion--widget.dss-accordion--inner:not(.dss-accordion--open) .dss-accordion-header{padding-bottom:0;margin:0}.dss-accordion--widget.dss-accordion--inner .dss-accordion-header{padding-top:0;margin:0}.dss-accordion--widget.dss-accordion--inner .dss-accordion-panel{padding:0}.dss-accordion-header__config,.dss-accordion-header__config-info{display:flex;align-items:center;gap:var(--dss-spacing-xs)}.dss-accordion-header__config-actions{display:flex;align-items:center;gap:var(--dss-spacing-xs);min-height:32px}.dss-accordion-title__text .title-tooltip{display:none;white-space:wrap}.dss-accordion-title__text[data-truncated=true] .title-tooltip{display:block}';\nexport {\n  i as default\n};\n//# sourceMappingURL=accordion.style.css.js.map\n","function c(e) {\n  if (!e) return;\n  const t = e.target, r = t.scrollWidth > t.offsetWidth;\n  t.setAttribute(\"data-truncated\", r.toString());\n}\nfunction n(e) {\n  if (!e) return;\n  const t = e.target, r = t.scrollHeight > t.clientHeight || t.scrollWidth > t.clientWidth;\n  t.setAttribute(\"data-truncated\", r.toString());\n}\nfunction i(e) {\n  return e.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase();\n}\nexport {\n  c as checkTextTruncate,\n  n as checkWebkitTruncate,\n  i as normalizeText\n};\n//# sourceMappingURL=helpers.js.map\n","import { classMap as f } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as a, literal as t, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as l } from \"../../api/custom-element-scope.js\";\nimport { checkTextTruncate as x } from \"../../utils/helpers.js\";\nconst d = t`dss-icon-button${a(l())}`, $ = t`dss-decorative-icon${a(l())}`, e = t`dss-badge${a(l())}`, o = t`dss-icon-badge${a(l())}`, r = t`dss-tooltip${a(l())}`, c = t`dss-notification-badge${a(l())}`, _ = t`dss-typography${a(l())}`, b = (i) => {\n  const h = {\n    \"dss-accordion--open\": i._isOpen,\n    \"dss-accordion--box\": i._accordionStyle === \"box\",\n    \"dss-accordion--inner\": i._accordionStyle === \"inner\",\n    \"dss-accordion--widget\": i._widget,\n    \"dss-accordion--show-header-divider\": i.showHeaderDivider,\n    \"dss-accordion--hide-footer-divider\": i.hideFooterDivider\n  };\n  return s`\n    <div class=\"dss-accordion ${f(h)}\">\n      <div class=\"dss-accordion-header\">\n        <div class=\"dss-accordion-header__info\">\n          <div class=\"dss-accordion-title\">\n            ${i._icon ? s`\n                  <${$} icon=${i._icon} state=${i._iconStatus} size=\"sm\"></${$}>\n                ` : null}\n            ${i._hasCheckbox ? s`\n                  <div class=\"dss-accordion-title__checkbox dss-form-field\">\n                    <slot\n                      name=\"checkbox\"\n                      @click=${i._dispatchCheckboxChange}\n                    ></slot>\n                    <slot name=\"checkboxLabel\"></slot>\n                  </div>\n                ` : s`\n                  <div\n                    class=\"dss-accordion-title__text\" @mouseenter=${x}\n                    @click=\"${i._toggleAccordion}\"\n                  >\n                    ${i._title ? s` ${i._title} ` : s` ${i._type} ${i._index} `}\n                    <${r} ?forceViewport=\"${i.forceViewport}\" ?tooltipFixed=\"${i.tooltipFixed}\" class=\"title-tooltip\" aria-hidden=\"true\">\n                      ${i._title ? s` ${i._title} ` : s` ${i._type} ${i._index} `}\n                    </${r}>\n\n\n                  </div>\n                `}\n          </div>\n        </div>\n\n        <div class=\"dss-accordion-header__config\">\n\n            <div class=\"dss-accordion-header__config-info\">\n              ${i.helpText ? s`<${_} variant=\"body-3\">${i.helpText}</${_}>` : null}\n              ${i._widgetBadgeText ? s`\n                    <${e}\n                      size=\"md\"\n                      state=\"${i._widgetBadgeState}\"\n                      outlined\n                      hideIcon\n                      text=\"${i._widgetBadgeText}\"\n                    ></${e}>\n                  ` : null}\n\n              ${i._results ? s`\n                  <${e}\n                    size=\"md\"\n                    state=\"${i._resultsState}\"\n                    outlined\n                    hideIcon\n                    text=\"${i._results} ${i._resultsText}\"\n                  ></${e}>\n                ` : null}\n\n              ${i.info ? s`\n                  <${o}  size=\"md\" state=\"${i.infoBadgeState}\" icon=\"${i.infoBadgeIcon}\" ?outlined=\"${i.infoBadgeOutlined}\">\n                    <${r} ?forceViewport=\"${i.forceViewport}\" ?tooltipFixed=\"${i.tooltipFixed}\" slot=\"tooltip\">\n                      <span>${i.info}</span>\n                    </${r} >\n                  </${o} >\n                ` : null}\n\n              ${i._notifications ? s`\n                  <${c}\n                    state=\"${i._notificationsState}\"\n                    value=\"${i._notifications}\"\n                  >\n                  </${c}>\n                ` : null}\n\n            </div>\n\n            ${i.helpText || i._results || i._notifications || i.info || i._widgetBadgeText ? s`\n                <span class=\"dss-accordion-widget__divider\"></span>\n              ` : null}\n\n           \n\n            <div class=\"dss-accordion-header__config-actions\">\n              ${i.hasPrimaryAction ? s`\n                  <${d}\n                    size=\"md\"\n                    label=\"${i.primaryActionLabel}\"\n                    icon=\"${i.primaryActionIcon}\"\n                    variant=\"${i.primaryActionStatus}\"\n                    ?fill=${i.primaryActionFill}\n                    ?disabled=${i.primaryActionDisabled}\n                    ?tooltipFixed=${i.tooltipFixed}\n                    ?forceViewport=\"${i.forceViewport}\"\n                    tooltipPosition=\"${i.tooltipPosition}\"\n                    ?hideTooltip=\"${i.hideTooltip}\"\n                    @onClick=${i._dispatchPrimaryAction}\n                  ></${d}>\n                ` : null}\n\n              ${i._hasSecondaryAction ? s`\n                  <${d}\n                    size=\"md\"\n                    label=\"${i.secondaryActionLabel}\"\n                    icon=\"${i._secondaryActionIcon}\"\n                    variant=\"${i._secondaryActionStatus}\"\n                    ?fill=${i.secondaryActionFill}\n                    ?disabled=${i._secondaryActionDisabled}\n                    ?tooltipFixed=${i.tooltipFixed}\n                    ?forceViewport=\"${i.forceViewport}\"\n                    tooltipPosition=\"${i.tooltipPosition}\"\n                    ?hideTooltip=\"${i.hideTooltip}\"\n                    @onClick=${i._dispatchSecondaryAction}\n                  ></${d}>\n                ` : null}\n\n              ${i._widgetShowNext ? s`\n                    <${d}\n                      size=\"md\"\n                      variant=\"primary\"\n                      label=\"Següent\"\n                      icon=\"arrow_forward\"\n                      hideTooltip\n                      @onClick=\"${i._dispatchWidgetNext}\"\n                    >\n                    </${d}>\n                  ` : null}\n              ${i._widgetShowClose ? s`\n                    <${d}\n                      size=\"md\"\n                      variant=\"default\"\n                      icon=\"close\"\n                      label=\"Tancar\"\n                      hideTooltip\n                      @onClick=\"${i._dispatchWidgetClose}\"\n                    >\n                    </${d}>\n                  ` : null}\n              <${d}\n                label=\"${i._isOpen ? `Obrir ${i._title} acordió` : `Tancar ${i._title} acordió`}\"\n                hideTooltip\n                ariaExpanded=\"${i._isOpen}\"\n                size=\"md\"\n                icon=\"${i._isOpen ? \"expand_less\" : \"expand_more\"}\"\n                variant=\"primary\"\n                ?tooltipFixed=${i.tooltipFixed}\n                ?forceViewport=\"${i.forceViewport}\"\n                @onClick=${i._toggleAccordion}\n              ></${d}>\n            </div>\n        </div>\n      </div>\n\n      <div class=\"dss-accordion-panel-wrapper\">\n        <div class=\"dss-accordion-panel\">\n          <slot></slot>\n        </div>\n      </div>\n    </div>\n  `;\n};\nexport {\n  b as template\n};\n//# sourceMappingURL=accordion.template.js.map\n","import { LitElement as p, unsafeCSS as l } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport u from \"./accordion.style.css.js\";\nimport { template as y } from \"./accordion.template.js\";\nvar g = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, o = (c, t, e, a) => {\n  for (var r = a > 1 ? void 0 : a ? _(t, e) : t, d = c.length - 1, h; d >= 0; d--)\n    (h = c[d]) && (r = (a ? h(t, e, r) : h(r)) || r);\n  return a && r && g(t, e, r), r;\n};\nclass s extends p {\n  constructor() {\n    super(...arguments), this.showHeaderDivider = !1, this.hideFooterDivider = !1, this.hideTooltip = !1, this.info = void 0, this.infoBadgeState = \"critic\", this.infoBadgeIcon = \"\", this.infoBadgeOutlined = !0, this.tooltipFixed = !1, this.tooltipPosition = \"top\", this.secondaryActionLabel = \"\", this.secondaryActionFill = !1, this.hasPrimaryAction = !1, this.primaryActionLabel = \"\", this.primaryActionIcon = \"\", this.primaryActionStatus = \"neutral\", this.primaryActionDisabled = !1, this.primaryActionFill = !1, this.forceViewport = !1, this.helpText = null, this._icon = \"\", this._iconStatus = \"default\", this._type = \"\", this._title = \"\", this._index = void 0, this._isOpen = !1, this._results = void 0, this._resultsText = \"Resultats\", this._resultsState = \"neutral\", this._accordionStyle = \"box\", this._hasCheckbox = !1, this._hasSecondaryAction = !1, this._secondaryActionIcon = \"add_box\", this._secondaryActionStatus = \"primary\", this._secondaryActionDisabled = !1, this._notificationsState = \"default\", this._notifications = void 0, this._widget = !1, this._widgetBadgeState = \"neutral\", this._widgetBadgeText = void 0, this._widgetShowNext = !1, this._widgetShowClose = !1;\n  }\n  static get styles() {\n    return [l(u)];\n  }\n  get _checkbox() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"checkbox\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set icon(t) {\n    const e = this._icon;\n    this._icon = t, this.requestUpdate(\"icon\", e);\n  }\n  get icon() {\n    return this._icon;\n  }\n  set iconStatus(t) {\n    const e = this._iconStatus;\n    this._iconStatus = t, this.requestUpdate(\"iconStatus\", e);\n  }\n  get iconStatus() {\n    return this._iconStatus;\n  }\n  set titleText(t) {\n    const e = this._title;\n    this._title = t, this.requestUpdate(\"title\", e);\n  }\n  get titleText() {\n    return this._title;\n  }\n  set type(t) {\n    const e = this._type;\n    this._type = t, this.requestUpdate(\"type\", e);\n  }\n  get type() {\n    return this._type;\n  }\n  set index(t) {\n    const e = this._index;\n    this._index = t, this.requestUpdate(\"index\", e);\n  }\n  get index() {\n    return this._index || 0;\n  }\n  set isOpen(t) {\n    const e = this._isOpen;\n    this._isOpen = t, this.requestUpdate(\"disabled\", e);\n  }\n  get isOpen() {\n    return this._isOpen;\n  }\n  set accordionStyle(t) {\n    const e = this._accordionStyle;\n    t === \"inner\" ? this._accordionStyle = t : this._accordionStyle = \"box\", this.requestUpdate(\"accordionStyle\", e);\n  }\n  get accordionStyle() {\n    return this._accordionStyle;\n  }\n  set results(t) {\n    const e = this._results;\n    this._results = t, this.requestUpdate(\"results\", e);\n  }\n  get results() {\n    return this._results || 0;\n  }\n  set resultsText(t) {\n    const e = this._resultsText;\n    this._resultsText = t, this.requestUpdate(\"resultsText\", e);\n  }\n  get resultsText() {\n    return this._resultsText;\n  }\n  set hasCheckbox(t) {\n    const e = this._hasCheckbox;\n    this._hasCheckbox = t, this.requestUpdate(\"hasCheckbox\", e);\n  }\n  get hasCheckbox() {\n    return this._hasCheckbox;\n  }\n  set hasSecondaryAction(t) {\n    const e = this._hasSecondaryAction;\n    this._hasSecondaryAction = t, this.requestUpdate(\"hasSecondaryAction\", e);\n  }\n  get hasSecondaryAction() {\n    return this._hasSecondaryAction;\n  }\n  set secondaryActionIcon(t) {\n    const e = this._secondaryActionIcon;\n    this._secondaryActionIcon = t, this.requestUpdate(\"secondaryActionIcon\", e);\n  }\n  get secondaryActionIcon() {\n    return this._secondaryActionIcon;\n  }\n  set secondaryActionStatus(t) {\n    const e = this._secondaryActionStatus;\n    this._secondaryActionStatus = t, this.requestUpdate(\"secondaryActionStatus\", e);\n  }\n  get secondaryActionStatus() {\n    return this._secondaryActionStatus;\n  }\n  set secondaryActionDisabled(t) {\n    const e = this._secondaryActionDisabled;\n    this._secondaryActionDisabled = t, this.requestUpdate(\"secondaryActionDisabled\", e);\n  }\n  get secondaryActionDisabled() {\n    return this._secondaryActionDisabled;\n  }\n  set resultsState(t) {\n    const e = this._resultsState;\n    this._resultsState = t, this.requestUpdate(\"resultsState\", e);\n  }\n  get resultsState() {\n    return this._resultsState;\n  }\n  set notificationsState(t) {\n    const e = this._notificationsState;\n    this._notificationsState = t, this.requestUpdate(\"notificationsState\", e);\n  }\n  get notificationsState() {\n    return this._notificationsState;\n  }\n  set notifications(t) {\n    const e = this._notificationsState;\n    this._notifications = t, this.requestUpdate(\"notifications\", e);\n  }\n  get notifications() {\n    return this._notifications || 0;\n  }\n  set widget(t) {\n    const e = this._widget;\n    this._widget = t, this.requestUpdate(\"widget\", e);\n  }\n  get widget() {\n    return this._widget;\n  }\n  set widgetBadgeState(t) {\n    const e = this._widgetBadgeState;\n    this._widgetBadgeState = t, this.requestUpdate(\"widgetBadgeState\", e);\n  }\n  get widgetBadgeState() {\n    return this._widgetBadgeState;\n  }\n  set widgetBadgeText(t) {\n    const e = this._widgetBadgeText;\n    this._widgetBadgeText = t, this.requestUpdate(\"widgetBadgeText\", e);\n  }\n  get widgetBadgeText() {\n    return this._widgetBadgeText || \"\";\n  }\n  set widgetShowNext(t) {\n    const e = this._widgetShowNext;\n    this._widgetShowNext = t, this.requestUpdate(\"widgetShowNext\", e);\n  }\n  get widgetShowNext() {\n    return this._widgetShowNext;\n  }\n  set widgetShowClose(t) {\n    const e = this._widgetShowClose;\n    this._widgetShowClose = t, this.requestUpdate(\"widgetShowClose\", e);\n  }\n  get widgetShowClose() {\n    return this._widgetShowClose;\n  }\n  _toggleAccordion() {\n    this._isOpen = !this._isOpen, this._dispatchToggleAccordion(), this.requestUpdate();\n  }\n  _dispatchCheckboxChange() {\n    const t = {\n      detail: this._checkbox.checked,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onAccordionCheckboxChange\", t));\n  }\n  _dispatchSecondaryAction() {\n    const t = {\n      detail: !0,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onAccordionSecondaryAction\", t));\n  }\n  _dispatchPrimaryAction() {\n    this.dispatchEvent(new Event(\"onPrimaryAction\"));\n  }\n  _dispatchToggleAccordion() {\n    const t = {\n      detail: this._isOpen,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onToggleAccordion\", t));\n  }\n  _dispatchWidgetNext() {\n    const t = {\n      detail: {},\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onWidgetNext\", t));\n  }\n  _dispatchWidgetClose() {\n    const t = {\n      detail: {},\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onWidgetClose\", t));\n  }\n  // checkTextTruncate(event: MouseEvent) {\n  // \tif (!event) return;\n  // \tconst target = event.target as HTMLElement;\n  // \tconst isTruncated = target.scrollWidth > target.offsetWidth;\n  // \ttarget.setAttribute('data-truncated', isTruncated.toString());\n  // }\n  render() {\n    return y(this);\n  }\n}\no([\n  i(n)\n], s.prototype, \"showHeaderDivider\", 2);\no([\n  i(n)\n], s.prototype, \"hideFooterDivider\", 2);\no([\n  i(n)\n], s.prototype, \"hideTooltip\", 2);\no([\n  i({ type: String })\n], s.prototype, \"info\", 2);\no([\n  i({ type: String })\n], s.prototype, \"infoBadgeState\", 2);\no([\n  i({ type: String })\n], s.prototype, \"infoBadgeIcon\", 2);\no([\n  i(n)\n], s.prototype, \"infoBadgeOutlined\", 2);\no([\n  i(n)\n], s.prototype, \"tooltipFixed\", 2);\no([\n  i({ type: String })\n], s.prototype, \"tooltipPosition\", 2);\no([\n  i({ type: String })\n], s.prototype, \"secondaryActionLabel\", 2);\no([\n  i(n)\n], s.prototype, \"secondaryActionFill\", 2);\no([\n  i(n)\n], s.prototype, \"hasPrimaryAction\", 2);\no([\n  i({ type: String })\n], s.prototype, \"primaryActionLabel\", 2);\no([\n  i({ type: String })\n], s.prototype, \"primaryActionIcon\", 2);\no([\n  i({ type: String })\n], s.prototype, \"primaryActionStatus\", 2);\no([\n  i(n)\n], s.prototype, \"primaryActionDisabled\", 2);\no([\n  i(n)\n], s.prototype, \"primaryActionFill\", 2);\no([\n  i(n)\n], s.prototype, \"forceViewport\", 2);\no([\n  i({ type: String })\n], s.prototype, \"helpText\", 2);\no([\n  i({ type: String })\n], s.prototype, \"icon\", 1);\no([\n  i({ type: String })\n], s.prototype, \"iconStatus\", 1);\no([\n  i({ type: String })\n], s.prototype, \"titleText\", 1);\no([\n  i({ type: String })\n], s.prototype, \"type\", 1);\no([\n  i({ type: Number })\n], s.prototype, \"index\", 1);\no([\n  i(n)\n], s.prototype, \"isOpen\", 1);\no([\n  i({ type: String })\n], s.prototype, \"accordionStyle\", 1);\no([\n  i({ type: Number })\n], s.prototype, \"results\", 1);\no([\n  i({ type: String })\n], s.prototype, \"resultsText\", 1);\no([\n  i(n)\n], s.prototype, \"hasCheckbox\", 1);\no([\n  i(n)\n], s.prototype, \"hasSecondaryAction\", 1);\no([\n  i({ type: String })\n], s.prototype, \"secondaryActionIcon\", 1);\no([\n  i({ type: String })\n], s.prototype, \"secondaryActionStatus\", 1);\no([\n  i(n)\n], s.prototype, \"secondaryActionDisabled\", 1);\no([\n  i({ type: String })\n], s.prototype, \"resultsState\", 1);\no([\n  i({ type: String })\n], s.prototype, \"notificationsState\", 1);\no([\n  i({ type: Number })\n], s.prototype, \"notifications\", 1);\no([\n  i({ type: Boolean })\n], s.prototype, \"widget\", 1);\no([\n  i({ type: String })\n], s.prototype, \"widgetBadgeState\", 1);\no([\n  i({ type: String })\n], s.prototype, \"widgetBadgeText\", 1);\no([\n  i({ type: Boolean })\n], s.prototype, \"widgetShowNext\", 1);\no([\n  i({ type: Boolean })\n], s.prototype, \"widgetShowClose\", 1);\nexport {\n  s as Accordion\n};\n//# sourceMappingURL=accordion.js.map\n","const o = \":host(.hidden){display:none}.dss-action-menu-item{display:flex;align-items:center;padding:var(--dss-spacing-sm) var(--dss-spacing-md);gap:var(--dss-spacing-xs);background-color:var(--color-white);transition:all .3s ease-in-out;color:var(--color-neutral-900);cursor:pointer}.dss-action-menu-item:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-blue-200)}.dss-action-menu-item:not(.dss-action-menu-item--disabled):hover{background-color:var(--color-primary-100)}.dss-action-menu-item:not(.dss-action-menu-item--disabled):active,.dss-action-menu-item:not(.dss-action-menu-item--disabled).dss-action-menu-item--selected{background-color:var(--color-primary-50)}.dss-action-menu-item.dss-action-menu-item--first{border-top-left-radius:var(--dss-radius-sm);border-top-right-radius:var(--dss-radius-sm)}.dss-action-menu-item.dss-action-menu-item--last{border-bottom-left-radius:var(--dss-radius-sm);border-bottom-right-radius:var(--dss-radius-sm)}.dss-action-menu-item .dss-icon{color:var(--color-neutral-900)}.dss-action-menu-item--error:not(.dss-action-menu-item--disabled){color:var(--color-red-500)}.dss-action-menu-item--error:not(.dss-action-menu-item--disabled):hover{background-color:var(--color-red-50)}.dss-action-menu-item--error:not(.dss-action-menu-item--disabled):active{background-color:var(--color-red-100)}.dss-action-menu-item--error:not(.dss-action-menu-item--disabled).dss-action-menu-item--selected{background-color:var(--color-primary-50)}.dss-action-menu-item--error:not(.dss-action-menu-item--disabled) .dss-action-menu-item-label,.dss-action-menu-item--error:not(.dss-action-menu-item--disabled) .dss-icon{color:var(--color-red-500)}.dss-action-menu-item-label{flex:1;font-size:16px;line-height:24px;font-weight:var(--font-regular);color:var(--color-neutral-900);min-width:92px}.dss-action-menu-item--disabled{color:var(--color-neutral-500);background-color:var(--color-neutral-50);cursor:not-allowed}.dss-action-menu-item--disabled .dss-action-menu-item-label{color:var(--color-neutral-500)}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=action-menu-item.style.css.js.map\n","import { classMap as o } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as t, literal as a, html as l } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst s = a`dss-icon${t(e())}`, d = a`dss-icon-button${t(e())}`, $ = a`dss-notification-badge${t(e())}`, c = (i) => l`\n  <li\n    class=${o({\n  \"dss-action-menu-item\": !0,\n  \"dss-action-menu-item--selected\": !!i._selected,\n  \"dss-action-menu-item--disabled\": !!i._disabled,\n  \"dss-action-menu-item--first\": !!i._first,\n  \"dss-action-menu-item--last\": !!i._last,\n  [`dss-action-menu-item--${i._state}`]: !!i._state\n})}\n    tabindex=\"${i._disabled ? -1 : 0}\"\n    role=\"menuitem\"\n    aria-disabled=${i._disabled ? \"true\" : \"false\"}\n    @click=${i._handleItemClick}\n    @keydown=${i._handleKeydown}\n  >\n    ${i._leftIcon ? l`<${s} role=\"none\" size=\"md\" icon=\"${i._leftIcon}\" ?fill=\"${i.leftIconFill}\"></${s}>` : null}\n    <p role=\"none\" class=\"dss-action-menu-item-label\">${i._label}</p>\n    ${!i._selected && i._notifications > 0 ? l`\n          <${$}\n            state=\"${i._notificationsState}\"\n            value=\"${i._notifications}\"\n          ></${$}>\n        ` : null}\n    ${i._rightIcon ? l`<${s} size=\"md\" icon=\"${i._rightIcon}\" ?fill=\"${i.rightIconFill}\"></${s}>` : null}\n    ${i._actionIcon ? l`\n          <${d}\n            icon=\"${i._actionIcon}\"\n            label=\"${i.actionLabel}\"\n            variant=\"${i._actionState}\"\n            @click=\"${i._handleAction}\"\n            ?disabled=${i._disabled}\n            ?tooltipFixed=${i.tooltipFixed}\n            tooltipPosition=\"${i.tooltipPosition}\"\n            ?hideTooltip=${i.hideTooltip}\n          ></${d}>\n        ` : null}\n    ${i._hasNestedMenu ? l`\n          <${s} size=\"md\" icon=\"chevron_right\"></${s}>\n          <slot></slot>\n        ` : null}\n  </li>\n`;\nexport {\n  c as actionMenuItemTemplate\n};\n//# sourceMappingURL=action-menu-item.template.js.map\n","import { LitElement as p, unsafeCSS as d } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport _ from \"./action-menu-item.style.css.js\";\nimport { actionMenuItemTemplate as f } from \"./action-menu-item.template.js\";\nvar y = Object.defineProperty, m = Object.getOwnPropertyDescriptor, i = (l, t, e, r) => {\n  for (var a = r > 1 ? void 0 : r ? m(t, e) : t, c = l.length - 1, h; c >= 0; c--)\n    (h = l[c]) && (a = (r ? h(t, e, a) : h(a)) || a);\n  return r && a && y(t, e, a), a;\n};\nclass o extends p {\n  constructor() {\n    super(), this.leftIconFill = !1, this.rightIconFill = !1, this.actionLabel = \"\", this.tooltipFixed = !1, this.tooltipPosition = \"top\", this.hideTooltip = !1, this._state = \"primary\", this._label = \"Label\", this._leftIcon = void 0, this._rightIcon = void 0, this._actionIcon = void 0, this._actionState = \"primary\", this._notifications = 0, this._notificationsState = \"error\", this._selected = !1, this._disabled = !1, this._hasNestedMenu = !1, this._nestedMenuPosition = \"top\", this._first = !1, this._last = !1, this._handleDocumentMouseDown = this._onDocumentMouseDown.bind(this);\n  }\n  static get styles() {\n    return [d(u), d(_)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), document.removeEventListener(\"mousedown\", this._handleDocumentMouseDown);\n  }\n  set state(t) {\n    const e = this._state;\n    this._state = t === \"error\" ? t : \"primary\", this.requestUpdate(\"state\", e);\n  }\n  get state() {\n    return this._state;\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  set leftIcon(t) {\n    const e = this._leftIcon;\n    this._leftIcon = t, this.requestUpdate(\"leftIcon\", e);\n  }\n  get leftIcon() {\n    return this._leftIcon || \"\";\n  }\n  set rightIcon(t) {\n    const e = this._rightIcon;\n    this._rightIcon = t, this.requestUpdate(\"rightIcon\", e);\n  }\n  get rightIcon() {\n    return this._rightIcon || \"\";\n  }\n  set actionIcon(t) {\n    const e = this._actionIcon;\n    this._actionIcon = t, this.requestUpdate(\"actionIcon\", e);\n  }\n  get actionIcon() {\n    return this._actionIcon || \"\";\n  }\n  set actionState(t) {\n    const e = this._actionState;\n    this._actionState = t, this.requestUpdate(\"actionState\", e);\n  }\n  get actionState() {\n    return this._actionState;\n  }\n  set notifications(t) {\n    const e = this._notifications;\n    this._notifications = t, this.requestUpdate(\"notifications\", e);\n  }\n  get notifications() {\n    return this._notifications;\n  }\n  set notificationsState(t) {\n    const e = this._notificationsState;\n    this._notificationsState = t, this.requestUpdate(\"notificationsState\", e);\n  }\n  get notificationsState() {\n    return this._notificationsState;\n  }\n  set selected(t) {\n    const e = this._selected;\n    this._selected = t, this.requestUpdate(\"selected\", e);\n  }\n  get selected() {\n    return this._selected;\n  }\n  set disabled(t) {\n    const e = this._disabled;\n    this._disabled = t, this.requestUpdate(\"disabled\", e);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set hasNestedMenu(t) {\n    const e = this._hasNestedMenu;\n    this._hasNestedMenu = t, this.requestUpdate(\"hasNestedMenu\", e);\n  }\n  get hasNestedMenu() {\n    return this._hasNestedMenu;\n  }\n  set nestedMenuPosition(t) {\n    const e = this._nestedMenuPosition;\n    this._nestedMenuPosition = t, this.requestUpdate(\"nestedMenuPosition\", e);\n  }\n  get nestedMenuPosition() {\n    return this._nestedMenuPosition;\n  }\n  set first(t) {\n    const e = this._first;\n    this._first = t, this.requestUpdate(\"first\", e);\n  }\n  get first() {\n    return this._first;\n  }\n  set last(t) {\n    const e = this._last;\n    this._last = t, this.requestUpdate(\"last\", e);\n  }\n  get last() {\n    return this._last;\n  }\n  _handleItemClick() {\n    this._hasNestedMenu ? (this._selected = !0, this.requestUpdate()) : (this.dispatchEvent(new CustomEvent(\"onClick\", { bubbles: !1, composed: !1 })), this.dispatchEvent(new CustomEvent(\"onClose\", { bubbles: !0, composed: !0 })));\n  }\n  _handleKeydown(t) {\n    const e = t.key;\n    e === \"Enter\" || e === \"Space\" ? this._handleItemClick() : e === \"Escape\" && this._selected && this._unselectItem();\n  }\n  _handleAction(t) {\n    t.stopPropagation(), this.dispatchEvent(new CustomEvent(\"onAction\", { detail: this._label }));\n  }\n  _clickOutside() {\n    document.addEventListener(\"mousedown\", this._handleDocumentMouseDown);\n  }\n  _onDocumentMouseDown(t) {\n    t.composedPath().includes(this) || this._selected && this._unselectItem();\n  }\n  _unselectItem() {\n    this._selected = !1, this.requestUpdate();\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._clickOutside();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    return f(this);\n  }\n}\ni([\n  s({ type: String })\n], o.prototype, \"state\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"label\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"leftIcon\", 1);\ni([\n  s(n)\n], o.prototype, \"leftIconFill\", 2);\ni([\n  s(n)\n], o.prototype, \"rightIconFill\", 2);\ni([\n  s({ type: String })\n], o.prototype, \"rightIcon\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"actionLabel\", 2);\ni([\n  s({ type: String })\n], o.prototype, \"actionIcon\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"actionState\", 1);\ni([\n  s({ type: Number })\n], o.prototype, \"notifications\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"notificationsState\", 1);\ni([\n  s(n)\n], o.prototype, \"selected\", 1);\ni([\n  s(n)\n], o.prototype, \"disabled\", 1);\ni([\n  s(n)\n], o.prototype, \"hasNestedMenu\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"nestedMenuPosition\", 1);\ni([\n  s(n)\n], o.prototype, \"first\", 1);\ni([\n  s(n)\n], o.prototype, \"last\", 1);\ni([\n  s(n)\n], o.prototype, \"tooltipFixed\", 2);\ni([\n  s({ type: String })\n], o.prototype, \"tooltipPosition\", 2);\ni([\n  s(n)\n], o.prototype, \"hideTooltip\", 2);\nexport {\n  o as ActionMenuItem\n};\n//# sourceMappingURL=action-menu-item.js.map\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n  return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n  return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n  return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n  if (node == null) {\n    return window;\n  }\n\n  if (node.toString() !== '[object Window]') {\n    var ownerDocument = node.ownerDocument;\n    return ownerDocument ? ownerDocument.defaultView || window : window;\n  }\n\n  return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n  var OwnElement = getWindow(node).Element;\n  return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n  var OwnElement = getWindow(node).HTMLElement;\n  return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n  // IE 11 has no ShadowRoot\n  if (typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n\n  var OwnElement = getWindow(node).ShadowRoot;\n  return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n  var state = _ref.state;\n  Object.keys(state.elements).forEach(function (name) {\n    var style = state.styles[name] || {};\n    var attributes = state.attributes[name] || {};\n    var element = state.elements[name]; // arrow is optional + virtual elements\n\n    if (!isHTMLElement(element) || !getNodeName(element)) {\n      return;\n    } // Flow doesn't support to extend this property, but it's the most\n    // effective way to apply styles to an HTMLElement\n    // $FlowFixMe[cannot-write]\n\n\n    Object.assign(element.style, style);\n    Object.keys(attributes).forEach(function (name) {\n      var value = attributes[name];\n\n      if (value === false) {\n        element.removeAttribute(name);\n      } else {\n        element.setAttribute(name, value === true ? '' : value);\n      }\n    });\n  });\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state;\n  var initialStyles = {\n    popper: {\n      position: state.options.strategy,\n      left: '0',\n      top: '0',\n      margin: '0'\n    },\n    arrow: {\n      position: 'absolute'\n    },\n    reference: {}\n  };\n  Object.assign(state.elements.popper.style, initialStyles.popper);\n  state.styles = initialStyles;\n\n  if (state.elements.arrow) {\n    Object.assign(state.elements.arrow.style, initialStyles.arrow);\n  }\n\n  return function () {\n    Object.keys(state.elements).forEach(function (name) {\n      var element = state.elements[name];\n      var attributes = state.attributes[name] || {};\n      var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n      var style = styleProperties.reduce(function (style, property) {\n        style[property] = '';\n        return style;\n      }, {}); // arrow is optional + virtual elements\n\n      if (!isHTMLElement(element) || !getNodeName(element)) {\n        return;\n      }\n\n      Object.assign(element.style, style);\n      Object.keys(attributes).forEach(function (attribute) {\n        element.removeAttribute(attribute);\n      });\n    });\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'applyStyles',\n  enabled: true,\n  phase: 'write',\n  fn: applyStyles,\n  effect: effect,\n  requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n  return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n  var uaData = navigator.userAgentData;\n\n  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n    return uaData.brands.map(function (item) {\n      return item.brand + \"/\" + item.version;\n    }).join(' ');\n  }\n\n  return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n  return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n\n  var clientRect = element.getBoundingClientRect();\n  var scaleX = 1;\n  var scaleY = 1;\n\n  if (includeScale && isHTMLElement(element)) {\n    scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n    scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n  }\n\n  var _ref = isElement(element) ? getWindow(element) : window,\n      visualViewport = _ref.visualViewport;\n\n  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n  var width = clientRect.width / scaleX;\n  var height = clientRect.height / scaleY;\n  return {\n    width: width,\n    height: height,\n    top: y,\n    right: x + width,\n    bottom: y + height,\n    left: x,\n    x: x,\n    y: y\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n  var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n  // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n  var width = element.offsetWidth;\n  var height = element.offsetHeight;\n\n  if (Math.abs(clientRect.width - width) <= 1) {\n    width = clientRect.width;\n  }\n\n  if (Math.abs(clientRect.height - height) <= 1) {\n    height = clientRect.height;\n  }\n\n  return {\n    x: element.offsetLeft,\n    y: element.offsetTop,\n    width: width,\n    height: height\n  };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n  if (parent.contains(child)) {\n    return true;\n  } // then fallback to custom implementation with Shadow DOM support\n  else if (rootNode && isShadowRoot(rootNode)) {\n      var next = child;\n\n      do {\n        if (next && parent.isSameNode(next)) {\n          return true;\n        } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n        next = next.parentNode || next.host;\n      } while (next);\n    } // Give up, the result is false\n\n\n  return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n  return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n  // $FlowFixMe[incompatible-return]: assume body is always available\n  return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n  element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n  if (getNodeName(element) === 'html') {\n    return element;\n  }\n\n  return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n    // $FlowFixMe[incompatible-return]\n    // $FlowFixMe[prop-missing]\n    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n    element.parentNode || ( // DOM Element detected\n    isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n    // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n    getDocumentElement(element) // fallback\n\n  );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n  getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n\n  return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n  var isFirefox = /firefox/i.test(getUAString());\n  var isIE = /Trident/i.test(getUAString());\n\n  if (isIE && isHTMLElement(element)) {\n    // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n    var elementCss = getComputedStyle(element);\n\n    if (elementCss.position === 'fixed') {\n      return null;\n    }\n  }\n\n  var currentNode = getParentNode(element);\n\n  if (isShadowRoot(currentNode)) {\n    currentNode = currentNode.host;\n  }\n\n  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n    var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n    // create a containing block.\n    // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n    if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n      return currentNode;\n    } else {\n      currentNode = currentNode.parentNode;\n    }\n  }\n\n  return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n  var window = getWindow(element);\n  var offsetParent = getTrueOffsetParent(element);\n\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent);\n  }\n\n  if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n    return window;\n  }\n\n  return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n  return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n  var v = within(min, value, max);\n  return v > max ? max : v;\n}","export default function getFreshSideObject() {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n  return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n  return keys.reduce(function (hashMap, key) {\n    hashMap[key] = value;\n    return hashMap;\n  }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n  padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : padding;\n  return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n  var _state$modifiersData$;\n\n  var state = _ref.state,\n      name = _ref.name,\n      options = _ref.options;\n  var arrowElement = state.elements.arrow;\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var basePlacement = getBasePlacement(state.placement);\n  var axis = getMainAxisFromPlacement(basePlacement);\n  var isVertical = [left, right].indexOf(basePlacement) >= 0;\n  var len = isVertical ? 'height' : 'width';\n\n  if (!arrowElement || !popperOffsets) {\n    return;\n  }\n\n  var paddingObject = toPaddingObject(options.padding, state);\n  var arrowRect = getLayoutRect(arrowElement);\n  var minProp = axis === 'y' ? top : left;\n  var maxProp = axis === 'y' ? bottom : right;\n  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n  var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n  var arrowOffsetParent = getOffsetParent(arrowElement);\n  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n  // outside of the popper bounds\n\n  var min = paddingObject[minProp];\n  var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n  var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n  var axisProp = axis;\n  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options;\n  var _options$element = options.element,\n      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n  if (arrowElement == null) {\n    return;\n  } // CSS selector\n\n\n  if (typeof arrowElement === 'string') {\n    arrowElement = state.elements.popper.querySelector(arrowElement);\n\n    if (!arrowElement) {\n      return;\n    }\n  }\n\n  if (!contains(state.elements.popper, arrowElement)) {\n    return;\n  }\n\n  state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'arrow',\n  enabled: true,\n  phase: 'main',\n  fn: arrow,\n  effect: effect,\n  requires: ['popperOffsets'],\n  requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n  return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n  top: 'auto',\n  right: 'auto',\n  bottom: 'auto',\n  left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n  var x = _ref.x,\n      y = _ref.y;\n  var dpr = win.devicePixelRatio || 1;\n  return {\n    x: round(x * dpr) / dpr || 0,\n    y: round(y * dpr) / dpr || 0\n  };\n}\n\nexport function mapToStyles(_ref2) {\n  var _Object$assign2;\n\n  var popper = _ref2.popper,\n      popperRect = _ref2.popperRect,\n      placement = _ref2.placement,\n      variation = _ref2.variation,\n      offsets = _ref2.offsets,\n      position = _ref2.position,\n      gpuAcceleration = _ref2.gpuAcceleration,\n      adaptive = _ref2.adaptive,\n      roundOffsets = _ref2.roundOffsets,\n      isFixed = _ref2.isFixed;\n  var _offsets$x = offsets.x,\n      x = _offsets$x === void 0 ? 0 : _offsets$x,\n      _offsets$y = offsets.y,\n      y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n  var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n    x: x,\n    y: y\n  }) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref3.x;\n  y = _ref3.y;\n  var hasX = offsets.hasOwnProperty('x');\n  var hasY = offsets.hasOwnProperty('y');\n  var sideX = left;\n  var sideY = top;\n  var win = window;\n\n  if (adaptive) {\n    var offsetParent = getOffsetParent(popper);\n    var heightProp = 'clientHeight';\n    var widthProp = 'clientWidth';\n\n    if (offsetParent === getWindow(popper)) {\n      offsetParent = getDocumentElement(popper);\n\n      if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n        heightProp = 'scrollHeight';\n        widthProp = 'scrollWidth';\n      }\n    } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n    offsetParent = offsetParent;\n\n    if (placement === top || (placement === left || placement === right) && variation === end) {\n      sideY = bottom;\n      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n      offsetParent[heightProp];\n      y -= offsetY - popperRect.height;\n      y *= gpuAcceleration ? 1 : -1;\n    }\n\n    if (placement === left || (placement === top || placement === bottom) && variation === end) {\n      sideX = right;\n      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n      offsetParent[widthProp];\n      x -= offsetX - popperRect.width;\n      x *= gpuAcceleration ? 1 : -1;\n    }\n  }\n\n  var commonStyles = Object.assign({\n    position: position\n  }, adaptive && unsetSides);\n\n  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n    x: x,\n    y: y\n  }, getWindow(popper)) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref4.x;\n  y = _ref4.y;\n\n  if (gpuAcceleration) {\n    var _Object$assign;\n\n    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n  }\n\n  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n  var state = _ref5.state,\n      options = _ref5.options;\n  var _options$gpuAccelerat = options.gpuAcceleration,\n      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n      _options$adaptive = options.adaptive,\n      adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n      _options$roundOffsets = options.roundOffsets,\n      roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n  var commonStyles = {\n    placement: getBasePlacement(state.placement),\n    variation: getVariation(state.placement),\n    popper: state.elements.popper,\n    popperRect: state.rects.popper,\n    gpuAcceleration: gpuAcceleration,\n    isFixed: state.options.strategy === 'fixed'\n  };\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.popperOffsets,\n      position: state.options.strategy,\n      adaptive: adaptive,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  if (state.modifiersData.arrow != null) {\n    state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.arrow,\n      position: 'absolute',\n      adaptive: false,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-placement': state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'computeStyles',\n  enabled: true,\n  phase: 'beforeWrite',\n  fn: computeStyles,\n  data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n  passive: true\n};\n\nfunction effect(_ref) {\n  var state = _ref.state,\n      instance = _ref.instance,\n      options = _ref.options;\n  var _options$scroll = options.scroll,\n      scroll = _options$scroll === void 0 ? true : _options$scroll,\n      _options$resize = options.resize,\n      resize = _options$resize === void 0 ? true : _options$resize;\n  var window = getWindow(state.elements.popper);\n  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n  if (scroll) {\n    scrollParents.forEach(function (scrollParent) {\n      scrollParent.addEventListener('scroll', instance.update, passive);\n    });\n  }\n\n  if (resize) {\n    window.addEventListener('resize', instance.update, passive);\n  }\n\n  return function () {\n    if (scroll) {\n      scrollParents.forEach(function (scrollParent) {\n        scrollParent.removeEventListener('scroll', instance.update, passive);\n      });\n    }\n\n    if (resize) {\n      window.removeEventListener('resize', instance.update, passive);\n    }\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'eventListeners',\n  enabled: true,\n  phase: 'write',\n  fn: function fn() {},\n  effect: effect,\n  data: {}\n};","var hash = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}","var hash = {\n  start: 'end',\n  end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n  return placement.replace(/start|end/g, function (matched) {\n    return hash[matched];\n  });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n  var win = getWindow(node);\n  var scrollLeft = win.pageXOffset;\n  var scrollTop = win.pageYOffset;\n  return {\n    scrollLeft: scrollLeft,\n    scrollTop: scrollTop\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  // Popper 1 is broken in this case and never had a bug report so let's assume\n  // it's not an issue. I don't think anyone ever specifies width on <html>\n  // anyway.\n  // Browsers where the left scrollbar doesn't cause an issue report `0` for\n  // this (e.g. Edge 2019, IE11, Safari)\n  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0;\n\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    var layoutViewport = isLayoutViewport();\n\n    if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x + getWindowScrollBarX(element),\n    y: y\n  };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n  var _element$ownerDocumen;\n\n  var html = getDocumentElement(element);\n  var winScroll = getWindowScroll(element);\n  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n  var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n  var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -winScroll.scrollTop;\n\n  if (getComputedStyle(body || html).direction === 'rtl') {\n    x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n  // Firefox wants us to check `-x` and `-y` variations as well\n  var _getComputedStyle = getComputedStyle(element),\n      overflow = _getComputedStyle.overflow,\n      overflowX = _getComputedStyle.overflowX,\n      overflowY = _getComputedStyle.overflowY;\n\n  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n    // $FlowFixMe[incompatible-return]: assume body is always available\n    return node.ownerDocument.body;\n  }\n\n  if (isHTMLElement(node) && isScrollParent(node)) {\n    return node;\n  }\n\n  return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n  var _element$ownerDocumen;\n\n  if (list === void 0) {\n    list = [];\n  }\n\n  var scrollParent = getScrollParent(element);\n  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n  var win = getWindow(scrollParent);\n  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n  var updatedList = list.concat(target);\n  return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n  updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n  return Object.assign({}, rect, {\n    left: rect.x,\n    top: rect.y,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n  var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n  rect.top = rect.top + element.clientTop;\n  rect.left = rect.left + element.clientLeft;\n  rect.bottom = rect.top + element.clientHeight;\n  rect.right = rect.left + element.clientWidth;\n  rect.width = element.clientWidth;\n  rect.height = element.clientHeight;\n  rect.x = rect.left;\n  rect.y = rect.top;\n  return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n  return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n  var clippingParents = listScrollParents(getParentNode(element));\n  var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n  if (!isElement(clipperElement)) {\n    return [];\n  } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n  return clippingParents.filter(function (clippingParent) {\n    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n  });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n  var firstClippingParent = clippingParents[0];\n  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n    var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n  clippingRect.width = clippingRect.right - clippingRect.left;\n  clippingRect.height = clippingRect.bottom - clippingRect.top;\n  clippingRect.x = clippingRect.left;\n  clippingRect.y = clippingRect.top;\n  return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n  var reference = _ref.reference,\n      element = _ref.element,\n      placement = _ref.placement;\n  var basePlacement = placement ? getBasePlacement(placement) : null;\n  var variation = placement ? getVariation(placement) : null;\n  var commonX = reference.x + reference.width / 2 - element.width / 2;\n  var commonY = reference.y + reference.height / 2 - element.height / 2;\n  var offsets;\n\n  switch (basePlacement) {\n    case top:\n      offsets = {\n        x: commonX,\n        y: reference.y - element.height\n      };\n      break;\n\n    case bottom:\n      offsets = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n\n    case right:\n      offsets = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n\n    case left:\n      offsets = {\n        x: reference.x - element.width,\n        y: commonY\n      };\n      break;\n\n    default:\n      offsets = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n\n  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n  if (mainAxis != null) {\n    var len = mainAxis === 'y' ? 'height' : 'width';\n\n    switch (variation) {\n      case start:\n        offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n        break;\n\n      case end:\n        offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n        break;\n\n      default:\n    }\n  }\n\n  return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$placement = _options.placement,\n      placement = _options$placement === void 0 ? state.placement : _options$placement,\n      _options$strategy = _options.strategy,\n      strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n      _options$boundary = _options.boundary,\n      boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n      _options$rootBoundary = _options.rootBoundary,\n      rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n      _options$elementConte = _options.elementContext,\n      elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n      _options$altBoundary = _options.altBoundary,\n      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n      _options$padding = _options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n  var altContext = elementContext === popper ? reference : popper;\n  var popperRect = state.rects.popper;\n  var element = state.elements[altBoundary ? altContext : elementContext];\n  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n  var referenceClientRect = getBoundingClientRect(state.elements.reference);\n  var popperOffsets = computeOffsets({\n    reference: referenceClientRect,\n    element: popperRect,\n    strategy: 'absolute',\n    placement: placement\n  });\n  var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n  // 0 or negative = within the clipping rect\n\n  var overflowOffsets = {\n    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n    right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n  };\n  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n  if (elementContext === popper && offsetData) {\n    var offset = offsetData[placement];\n    Object.keys(overflowOffsets).forEach(function (key) {\n      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n      var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n      overflowOffsets[key] += offset[axis] * multiply;\n    });\n  }\n\n  return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      placement = _options.placement,\n      boundary = _options.boundary,\n      rootBoundary = _options.rootBoundary,\n      padding = _options.padding,\n      flipVariations = _options.flipVariations,\n      _options$allowedAutoP = _options.allowedAutoPlacements,\n      allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n  var variation = getVariation(placement);\n  var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n    return getVariation(placement) === variation;\n  }) : basePlacements;\n  var allowedPlacements = placements.filter(function (placement) {\n    return allowedAutoPlacements.indexOf(placement) >= 0;\n  });\n\n  if (allowedPlacements.length === 0) {\n    allowedPlacements = placements;\n  } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n  var overflows = allowedPlacements.reduce(function (acc, placement) {\n    acc[placement] = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding\n    })[getBasePlacement(placement)];\n    return acc;\n  }, {});\n  return Object.keys(overflows).sort(function (a, b) {\n    return overflows[a] - overflows[b];\n  });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n  if (getBasePlacement(placement) === auto) {\n    return [];\n  }\n\n  var oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n\n  if (state.modifiersData[name]._skip) {\n    return;\n  }\n\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n      specifiedFallbackPlacements = options.fallbackPlacements,\n      padding = options.padding,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      _options$flipVariatio = options.flipVariations,\n      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n      allowedAutoPlacements = options.allowedAutoPlacements;\n  var preferredPlacement = state.options.placement;\n  var basePlacement = getBasePlacement(preferredPlacement);\n  var isBasePlacement = basePlacement === preferredPlacement;\n  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n    return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding,\n      flipVariations: flipVariations,\n      allowedAutoPlacements: allowedAutoPlacements\n    }) : placement);\n  }, []);\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var checksMap = new Map();\n  var makeFallbackChecks = true;\n  var firstFittingPlacement = placements[0];\n\n  for (var i = 0; i < placements.length; i++) {\n    var placement = placements[i];\n\n    var _basePlacement = getBasePlacement(placement);\n\n    var isStartVariation = getVariation(placement) === start;\n    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n    var len = isVertical ? 'width' : 'height';\n    var overflow = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      altBoundary: altBoundary,\n      padding: padding\n    });\n    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n    if (referenceRect[len] > popperRect[len]) {\n      mainVariationSide = getOppositePlacement(mainVariationSide);\n    }\n\n    var altVariationSide = getOppositePlacement(mainVariationSide);\n    var checks = [];\n\n    if (checkMainAxis) {\n      checks.push(overflow[_basePlacement] <= 0);\n    }\n\n    if (checkAltAxis) {\n      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n    }\n\n    if (checks.every(function (check) {\n      return check;\n    })) {\n      firstFittingPlacement = placement;\n      makeFallbackChecks = false;\n      break;\n    }\n\n    checksMap.set(placement, checks);\n  }\n\n  if (makeFallbackChecks) {\n    // `2` may be desired in some cases – research later\n    var numberOfChecks = flipVariations ? 3 : 1;\n\n    var _loop = function _loop(_i) {\n      var fittingPlacement = placements.find(function (placement) {\n        var checks = checksMap.get(placement);\n\n        if (checks) {\n          return checks.slice(0, _i).every(function (check) {\n            return check;\n          });\n        }\n      });\n\n      if (fittingPlacement) {\n        firstFittingPlacement = fittingPlacement;\n        return \"break\";\n      }\n    };\n\n    for (var _i = numberOfChecks; _i > 0; _i--) {\n      var _ret = _loop(_i);\n\n      if (_ret === \"break\") break;\n    }\n  }\n\n  if (state.placement !== firstFittingPlacement) {\n    state.modifiersData[name]._skip = true;\n    state.placement = firstFittingPlacement;\n    state.reset = true;\n  }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'flip',\n  enabled: true,\n  phase: 'main',\n  fn: flip,\n  requiresIfExists: ['offset'],\n  data: {\n    _skip: false\n  }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n  if (preventedOffsets === void 0) {\n    preventedOffsets = {\n      x: 0,\n      y: 0\n    };\n  }\n\n  return {\n    top: overflow.top - rect.height - preventedOffsets.y,\n    right: overflow.right - rect.width + preventedOffsets.x,\n    bottom: overflow.bottom - rect.height + preventedOffsets.y,\n    left: overflow.left - rect.width - preventedOffsets.x\n  };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n  return [top, right, bottom, left].some(function (side) {\n    return overflow[side] >= 0;\n  });\n}\n\nfunction hide(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var preventedOffsets = state.modifiersData.preventOverflow;\n  var referenceOverflow = detectOverflow(state, {\n    elementContext: 'reference'\n  });\n  var popperAltOverflow = detectOverflow(state, {\n    altBoundary: true\n  });\n  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n  state.modifiersData[name] = {\n    referenceClippingOffsets: referenceClippingOffsets,\n    popperEscapeOffsets: popperEscapeOffsets,\n    isReferenceHidden: isReferenceHidden,\n    hasPopperEscaped: hasPopperEscaped\n  };\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-reference-hidden': isReferenceHidden,\n    'data-popper-escaped': hasPopperEscaped\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'hide',\n  enabled: true,\n  phase: 'main',\n  requiresIfExists: ['preventOverflow'],\n  fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n  var basePlacement = getBasePlacement(placement);\n  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n  var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n    placement: placement\n  })) : offset,\n      skidding = _ref[0],\n      distance = _ref[1];\n\n  skidding = skidding || 0;\n  distance = (distance || 0) * invertDistance;\n  return [left, right].indexOf(basePlacement) >= 0 ? {\n    x: distance,\n    y: skidding\n  } : {\n    x: skidding,\n    y: distance\n  };\n}\n\nfunction offset(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$offset = options.offset,\n      offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n  var data = placements.reduce(function (acc, placement) {\n    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n    return acc;\n  }, {});\n  var _data$state$placement = data[state.placement],\n      x = _data$state$placement.x,\n      y = _data$state$placement.y;\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.modifiersData.popperOffsets.x += x;\n    state.modifiersData.popperOffsets.y += y;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'offset',\n  enabled: true,\n  phase: 'main',\n  requires: ['popperOffsets'],\n  fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  // Offsets are the actual position the popper needs to have to be\n  // properly positioned near its reference element\n  // This is the most basic placement, and will be adjusted by\n  // the modifiers in the next step\n  state.modifiersData[name] = computeOffsets({\n    reference: state.rects.reference,\n    element: state.rects.popper,\n    strategy: 'absolute',\n    placement: state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'popperOffsets',\n  enabled: true,\n  phase: 'read',\n  fn: popperOffsets,\n  data: {}\n};","export default function getAltAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      padding = options.padding,\n      _options$tether = options.tether,\n      tether = _options$tether === void 0 ? true : _options$tether,\n      _options$tetherOffset = options.tetherOffset,\n      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n  var overflow = detectOverflow(state, {\n    boundary: boundary,\n    rootBoundary: rootBoundary,\n    padding: padding,\n    altBoundary: altBoundary\n  });\n  var basePlacement = getBasePlacement(state.placement);\n  var variation = getVariation(state.placement);\n  var isBasePlacement = !variation;\n  var mainAxis = getMainAxisFromPlacement(basePlacement);\n  var altAxis = getAltAxis(mainAxis);\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : tetherOffset;\n  var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n    mainAxis: tetherOffsetValue,\n    altAxis: tetherOffsetValue\n  } : Object.assign({\n    mainAxis: 0,\n    altAxis: 0\n  }, tetherOffsetValue);\n  var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n  var data = {\n    x: 0,\n    y: 0\n  };\n\n  if (!popperOffsets) {\n    return;\n  }\n\n  if (checkMainAxis) {\n    var _offsetModifierState$;\n\n    var mainSide = mainAxis === 'y' ? top : left;\n    var altSide = mainAxis === 'y' ? bottom : right;\n    var len = mainAxis === 'y' ? 'height' : 'width';\n    var offset = popperOffsets[mainAxis];\n    var min = offset + overflow[mainSide];\n    var max = offset - overflow[altSide];\n    var additive = tether ? -popperRect[len] / 2 : 0;\n    var minLen = variation === start ? referenceRect[len] : popperRect[len];\n    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n    // outside the reference bounds\n\n    var arrowElement = state.elements.arrow;\n    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n      width: 0,\n      height: 0\n    };\n    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n    var arrowPaddingMin = arrowPaddingObject[mainSide];\n    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n    // to include its full size in the calculation. If the reference is small\n    // and near the edge of a boundary, the popper can overflow even if the\n    // reference is not overflowing as well (e.g. virtual elements with no\n    // width or height)\n\n    var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n    var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n    var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n    var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n    var tetherMax = offset + maxOffset - offsetModifierValue;\n    var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n    popperOffsets[mainAxis] = preventedOffset;\n    data[mainAxis] = preventedOffset - offset;\n  }\n\n  if (checkAltAxis) {\n    var _offsetModifierState$2;\n\n    var _mainSide = mainAxis === 'x' ? top : left;\n\n    var _altSide = mainAxis === 'x' ? bottom : right;\n\n    var _offset = popperOffsets[altAxis];\n\n    var _len = altAxis === 'y' ? 'height' : 'width';\n\n    var _min = _offset + overflow[_mainSide];\n\n    var _max = _offset - overflow[_altSide];\n\n    var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n    var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n    var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n    var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n    var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n    popperOffsets[altAxis] = _preventedOffset;\n    data[altAxis] = _preventedOffset - _offset;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'preventOverflow',\n  enabled: true,\n  phase: 'main',\n  fn: preventOverflow,\n  requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n  return {\n    scrollLeft: element.scrollLeft,\n    scrollTop: element.scrollTop\n  };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n  if (node === getWindow(node) || !isHTMLElement(node)) {\n    return getWindowScroll(node);\n  } else {\n    return getHTMLElementScroll(node);\n  }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n  var rect = element.getBoundingClientRect();\n  var scaleX = round(rect.width) / element.offsetWidth || 1;\n  var scaleY = round(rect.height) / element.offsetHeight || 1;\n  return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n  var documentElement = getDocumentElement(offsetParent);\n  var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = {\n    x: 0,\n    y: 0\n  };\n\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n    isScrollParent(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n\n    if (isHTMLElement(offsetParent)) {\n      offsets = getBoundingClientRect(offsetParent, true);\n      offsets.x += offsetParent.clientLeft;\n      offsets.y += offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n  var map = new Map();\n  var visited = new Set();\n  var result = [];\n  modifiers.forEach(function (modifier) {\n    map.set(modifier.name, modifier);\n  }); // On visiting object, check for its dependencies and visit them recursively\n\n  function sort(modifier) {\n    visited.add(modifier.name);\n    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n    requires.forEach(function (dep) {\n      if (!visited.has(dep)) {\n        var depModifier = map.get(dep);\n\n        if (depModifier) {\n          sort(depModifier);\n        }\n      }\n    });\n    result.push(modifier);\n  }\n\n  modifiers.forEach(function (modifier) {\n    if (!visited.has(modifier.name)) {\n      // check for visited object\n      sort(modifier);\n    }\n  });\n  return result;\n}\n\nexport default function orderModifiers(modifiers) {\n  // order based on dependencies\n  var orderedModifiers = order(modifiers); // order based on phase\n\n  return modifierPhases.reduce(function (acc, phase) {\n    return acc.concat(orderedModifiers.filter(function (modifier) {\n      return modifier.phase === phase;\n    }));\n  }, []);\n}","export default function debounce(fn) {\n  var pending;\n  return function () {\n    if (!pending) {\n      pending = new Promise(function (resolve) {\n        Promise.resolve().then(function () {\n          pending = undefined;\n          resolve(fn());\n        });\n      });\n    }\n\n    return pending;\n  };\n}","export default function mergeByName(modifiers) {\n  var merged = modifiers.reduce(function (merged, current) {\n    var existing = merged[current.name];\n    merged[current.name] = existing ? Object.assign({}, existing, current, {\n      options: Object.assign({}, existing.options, current.options),\n      data: Object.assign({}, existing.data, current.data)\n    }) : current;\n    return merged;\n  }, {}); // IE11 does not support Object.values\n\n  return Object.keys(merged).map(function (key) {\n    return merged[key];\n  });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n  placement: 'bottom',\n  modifiers: [],\n  strategy: 'absolute'\n};\n\nfunction areValidElements() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return !args.some(function (element) {\n    return !(element && typeof element.getBoundingClientRect === 'function');\n  });\n}\n\nexport function popperGenerator(generatorOptions) {\n  if (generatorOptions === void 0) {\n    generatorOptions = {};\n  }\n\n  var _generatorOptions = generatorOptions,\n      _generatorOptions$def = _generatorOptions.defaultModifiers,\n      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n      _generatorOptions$def2 = _generatorOptions.defaultOptions,\n      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n  return function createPopper(reference, popper, options) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    var state = {\n      placement: 'bottom',\n      orderedModifiers: [],\n      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n      modifiersData: {},\n      elements: {\n        reference: reference,\n        popper: popper\n      },\n      attributes: {},\n      styles: {}\n    };\n    var effectCleanupFns = [];\n    var isDestroyed = false;\n    var instance = {\n      state: state,\n      setOptions: function setOptions(setOptionsAction) {\n        var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n        cleanupModifierEffects();\n        state.options = Object.assign({}, defaultOptions, state.options, options);\n        state.scrollParents = {\n          reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n          popper: listScrollParents(popper)\n        }; // Orders the modifiers based on their dependencies and `phase`\n        // properties\n\n        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n        state.orderedModifiers = orderedModifiers.filter(function (m) {\n          return m.enabled;\n        });\n        runModifierEffects();\n        return instance.update();\n      },\n      // Sync update – it will always be executed, even if not necessary. This\n      // is useful for low frequency updates where sync behavior simplifies the\n      // logic.\n      // For high frequency updates (e.g. `resize` and `scroll` events), always\n      // prefer the async Popper#update method\n      forceUpdate: function forceUpdate() {\n        if (isDestroyed) {\n          return;\n        }\n\n        var _state$elements = state.elements,\n            reference = _state$elements.reference,\n            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n        // anymore\n\n        if (!areValidElements(reference, popper)) {\n          return;\n        } // Store the reference and popper rects to be read by modifiers\n\n\n        state.rects = {\n          reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n          popper: getLayoutRect(popper)\n        }; // Modifiers have the ability to reset the current update cycle. The\n        // most common use case for this is the `flip` modifier changing the\n        // placement, which then needs to re-run all the modifiers, because the\n        // logic was previously ran for the previous placement and is therefore\n        // stale/incorrect\n\n        state.reset = false;\n        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n        // is filled with the initial data specified by the modifier. This means\n        // it doesn't persist and is fresh on each update.\n        // To ensure persistent data, use `${name}#persistent`\n\n        state.orderedModifiers.forEach(function (modifier) {\n          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n        });\n\n        for (var index = 0; index < state.orderedModifiers.length; index++) {\n          if (state.reset === true) {\n            state.reset = false;\n            index = -1;\n            continue;\n          }\n\n          var _state$orderedModifie = state.orderedModifiers[index],\n              fn = _state$orderedModifie.fn,\n              _state$orderedModifie2 = _state$orderedModifie.options,\n              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n              name = _state$orderedModifie.name;\n\n          if (typeof fn === 'function') {\n            state = fn({\n              state: state,\n              options: _options,\n              name: name,\n              instance: instance\n            }) || state;\n          }\n        }\n      },\n      // Async and optimistically optimized update – it will not be executed if\n      // not necessary (debounced to run at most once-per-tick)\n      update: debounce(function () {\n        return new Promise(function (resolve) {\n          instance.forceUpdate();\n          resolve(state);\n        });\n      }),\n      destroy: function destroy() {\n        cleanupModifierEffects();\n        isDestroyed = true;\n      }\n    };\n\n    if (!areValidElements(reference, popper)) {\n      return instance;\n    }\n\n    instance.setOptions(options).then(function (state) {\n      if (!isDestroyed && options.onFirstUpdate) {\n        options.onFirstUpdate(state);\n      }\n    }); // Modifiers have the ability to execute arbitrary code before the first\n    // update cycle runs. They will be executed in the same order as the update\n    // cycle. This is useful when a modifier adds some persistent data that\n    // other modifiers need to use, but the modifier is run after the dependent\n    // one.\n\n    function runModifierEffects() {\n      state.orderedModifiers.forEach(function (_ref) {\n        var name = _ref.name,\n            _ref$options = _ref.options,\n            options = _ref$options === void 0 ? {} : _ref$options,\n            effect = _ref.effect;\n\n        if (typeof effect === 'function') {\n          var cleanupFn = effect({\n            state: state,\n            name: name,\n            instance: instance,\n            options: options\n          });\n\n          var noopFn = function noopFn() {};\n\n          effectCleanupFns.push(cleanupFn || noopFn);\n        }\n      });\n    }\n\n    function cleanupModifierEffects() {\n      effectCleanupFns.forEach(function (fn) {\n        return fn();\n      });\n      effectCleanupFns = [];\n    }\n\n    return instance;\n  };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","const i = \":host{display:block;width:-moz-max-content;width:max-content;opacity:0;visibility:hidden;z-index:999;transition:opacity var(--animation-delay) ease-out}:host(.visible){opacity:1;visibility:visible}.dss-action-menu{border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md);min-width:160px;width:-moz-max-content;width:max-content;max-width:280px;background-color:var(--color-white);overflow:hidden}.dss-action-menu--full-width{width:100%}\";\nexport {\n  i as default\n};\n//# sourceMappingURL=action-menu.style.css.js.map\n","import { html as o } from \"lit\";\nimport { classMap as t } from \"lit/directives/class-map.js\";\nconst n = (l) => o`\n  <ul\n    class=${t({\n  \"dss-action-menu\": !0,\n  \"dss-action-menu--full-width\": !!l._fullWidth\n})}\n    aria-label=\"Menu d'accions\"\n    role=\"menu\"\n  >\n    <slot></slot>\n  </ul>\n`;\nexport {\n  n as actionMenuTemplate\n};\n//# sourceMappingURL=action-menu.template.js.map\n","import { createPopper as m } from \"@popperjs/core\";\nimport { LitElement as b, unsafeCSS as c } from \"lit\";\nimport { property as o } from \"lit/decorators.js\";\nimport v from \"../../shared/reset.style.css.js\";\nimport { booleanType as a } from \"../../utils/property-types.js\";\nimport C from \"./action-menu.style.css.js\";\nimport { actionMenuTemplate as w } from \"./action-menu.template.js\";\nvar y = Object.defineProperty, L = Object.getOwnPropertyDescriptor, r = (p, e, t, s) => {\n  for (var i = s > 1 ? void 0 : s ? L(e, t) : e, n = p.length - 1, h; n >= 0; n--)\n    (h = p[n]) && (i = (s ? h(e, t, i) : h(i)) || i);\n  return s && i && y(e, t, i), i;\n};\nclass l extends b {\n  constructor() {\n    super(), this._parentMouseDownHandler = null, this._parentKeyDownHandler = null, this._slotChangeHandler = null, this.visibleObserver = new IntersectionObserver(\n      ([e]) => {\n        e.isIntersecting || (this.classList.remove(\"visible\"), this._isVisible = !1, this._removeDropdownListener());\n      },\n      {\n        root: null,\n        threshold: 0\n      }\n    ), this.disablePopper = !1, this.disableParentClick = !1, this.open = !1, this.dropdownFixed = !1, this._fullWidth = !1, this._popperInstance = null, this._parent = null, this._trigger = null, this._position = \"right-start\", this._isVisible = !1, this._disableClickOutside = !0, this._isFirstUpdate = !0, this._handleOutsideClick = this._handleOutsideClick.bind(this), this._handleFocusOut = this._handleFocusOut.bind(this);\n  }\n  static get styles() {\n    return [c(v), c(C)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), this.addEventListener(\"onClose\", this._handleCloseAllMenus), this._handleConnectedCallback();\n  }\n  disconnectedCallback() {\n    var e;\n    if (this._removeDropdownListener(), this.removeEventListener(\"onClose\", this._handleCloseAllMenus), this._parent && (this._parentMouseDownHandler && (this._parent.removeEventListener(\"mousedown\", this._parentMouseDownHandler), this._parentMouseDownHandler = null), this._parentKeyDownHandler && (this._parent.removeEventListener(\"keydown\", this._parentKeyDownHandler), this._parentKeyDownHandler = null)), this._slotChangeHandler) {\n      const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(\"slot\");\n      t == null || t.removeEventListener(\"slotchange\", this._slotChangeHandler), this._slotChangeHandler = null;\n    }\n    this.visibleObserver.disconnect(), this._popperInstance && (this._popperInstance.destroy(), this._popperInstance = null);\n  }\n  _addDropdownListener() {\n    document.addEventListener(\"mousedown\", this._handleOutsideClick), this.addEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _removeDropdownListener() {\n    document.removeEventListener(\"mousedown\", this._handleOutsideClick), this.removeEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _handleOutsideClick(e) {\n    this._checkClickOutside(e);\n  }\n  _handleFocusOut(e) {\n    this._checkFocusOut(e);\n  }\n  _handleConnectedCallback() {\n    if (this._isFirstUpdate) return;\n    const e = this.style.position;\n    e !== \"absolute\" && e !== \"fixed\" && e !== \"relative\" && (this._popperInstance ? this._popperInstance.update() : this._initActionMenu());\n  }\n  set fullWidth(e) {\n    const t = this._fullWidth;\n    this._fullWidth = e, this.requestUpdate(\"fullWidth\", t);\n  }\n  get fullWidth() {\n    return this._fullWidth;\n  }\n  set position(e) {\n    const t = this._position;\n    this._position = e, this.requestUpdate(\"fullWidth\", t);\n  }\n  get position() {\n    return this._position;\n  }\n  createPopperInstance(e) {\n    this._popperInstance = m(e, this, {\n      placement: this._position,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"flip\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            rootBoundary: \"viewport\"\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        },\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 8]\n          }\n        }\n      ]\n    }), this.visibleObserver.observe(e), this._parentMouseDownHandler = () => this._openByParent(), this._parentKeyDownHandler = (t) => {\n      const s = t.key;\n      (s === \"Enter\" || s === \"Space\") && this._openByParent();\n    }, e.addEventListener(\"mousedown\", this._parentMouseDownHandler), e.addEventListener(\"keydown\", this._parentKeyDownHandler);\n  }\n  _openByParent() {\n    !this._isVisible && !this.disableParentClick && setTimeout(() => {\n      this._popperInstance && this._popperInstance.update(), this.classList.add(\"visible\"), this._disableClickOutside = !1, this._isVisible = !0, this._addDropdownListener();\n    }, 100);\n  }\n  _handleCloseAllMenus() {\n    this._closeMenu();\n  }\n  _handleSlotChange() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"slot\");\n    if (e) {\n      const s = e.assignedElements({ flatten: !0 }).filter((i) => i.tagName.toLowerCase() === \"dss-action-menu-item\");\n      s.forEach((i, n) => {\n        n === 0 ? i.setAttribute(\"first\", \"\") : i.removeAttribute(\"first\"), n === s.length - 1 ? i.setAttribute(\"last\", \"\") : i.removeAttribute(\"last\");\n      });\n    }\n  }\n  _checkClickOutside(e) {\n    var u;\n    if (this.disableParentClick && this._disableClickOutside)\n      return;\n    const t = e.composedPath(), s = this.closest(\"dss-action-menu-item\"), i = s && t.includes(s);\n    if (s && !i)\n      return this._closeMenu();\n    const n = t.includes(this._parent);\n    if (!t.some(\n      (d) => d instanceof HTMLElement && (d.tagName.toLowerCase() === \"dss-action-menu\" || d.tagName.toLowerCase() === \"ul\" && d.classList.contains(\"dss-action-menu\"))\n    ) && !n && !this.disablePopper)\n      return this._closeMenu();\n    const _ = this._parent.classList.contains(\"dss-split-button-action\"), f = (u = this._parent) == null ? void 0 : u.getAttribute(\"data-expanded\");\n    if (_ && f === \"false\")\n      return this._closeMenu();\n  }\n  _checkFocusOut(e) {\n    const t = e.relatedTarget;\n    t !== null && t !== this && t.tagName.toLowerCase() !== \"dss-action-menu-item\" && this._closeMenu();\n  }\n  _closeMenu() {\n    setTimeout(() => {\n      this.classList.contains(\"visible\") && (this.classList.remove(\"visible\"), this._isVisible = !1, this.dispatchEvent(new CustomEvent(\"onCloseActionMenu\")), this._removeDropdownListener());\n    }, 0);\n  }\n  _initActionMenu() {\n    var s;\n    const e = this.assignedSlot;\n    this._parent = e ? e.parentElement : this.parentElement, this._parent && !this.disablePopper && this.createPopperInstance(this._parent), this.disablePopper && (this.classList.add(\"visible\"), this._addDropdownListener());\n    const t = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\"slot\");\n    t && (this._slotChangeHandler = () => this._handleSlotChange(), t.addEventListener(\"slotchange\", this._slotChangeHandler)), this._handleSlotChange();\n  }\n  async firstUpdated() {\n    await this.updateComplete, this._initActionMenu(), this._isFirstUpdate = !1;\n  }\n  updated(e) {\n    super.updated(e), e.has(\"position\") && this._popperInstance && this._popperInstance.setOptions({\n      placement: this.position\n    }), e.has(\"open\") && (this.open ? (this.classList.add(\"visible\"), this._isVisible = !0, this._popperInstance && this._popperInstance.update(), setTimeout(() => {\n      this._addDropdownListener(), this._disableClickOutside = !1;\n    }, 100)) : (this.classList.remove(\"visible\"), this._isVisible = !1, this._disableClickOutside = !0, this._removeDropdownListener()));\n  }\n  render() {\n    return w(this);\n  }\n}\nr([\n  o(a)\n], l.prototype, \"fullWidth\", 1);\nr([\n  o({ type: String })\n], l.prototype, \"position\", 1);\nr([\n  o(a)\n], l.prototype, \"disablePopper\", 2);\nr([\n  o(a)\n], l.prototype, \"disableParentClick\", 2);\nr([\n  o(a)\n], l.prototype, \"open\", 2);\nr([\n  o(a)\n], l.prototype, \"dropdownFixed\", 2);\nexport {\n  l as ActionMenu\n};\n//# sourceMappingURL=action-menu.js.map\n","const s = \".dss-alert{display:flex;justify-content:space-between;gap:var(--dss-spacing-md);padding:var(--dss-spacing-sm);border-radius:var(--dss-radius-md);width:-moz-fit-content;width:fit-content;max-width:100%;font-weight:var(--font-semibold);font-size:14px;line-height:var(--line-24);color:var(--color-blue-700);background-color:var(--color-blue-50);border:1px solid var(--color-blue-700)}.dss-alert--full-width{width:100%}.dss-alert--md{font-size:12px;line-height:16px;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-xs);gap:var(--dss-spacing-sm)}.dss-alert--sm{font-size:12px;line-height:16px;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xxs) var(--dss-spacing-xs);border-radius:var(--dss-radius-xs)}.dss-alert--error{color:var(--color-red-700);background-color:var(--color-red-50);border-color:var(--color-red-700)}.dss-alert--warning{color:var(--color-yellow-800);background-color:var(--color-yellow-50);border-color:var(--color-yellow-800)}.dss-alert--success{color:var(--color-green-700);background-color:var(--color-green-50);border-color:var(--color-green-700)}.dss-alert .dss-alert-body{display:flex;gap:var(--dss-spacing-xs)}.dss-alert .dss-alert-body .dss-alert__icon{align-self:flex-start;height:24px;display:flex;align-items:center}.dss-alert.dss-alert--md .dss-alert-body .dss-alert__icon{height:16px}.dss-alert .dss-alert-body .dss-alert-content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--dss-spacing-xxs)}.dss-alert .dss-alert-action{line-height:0}.dss-alert.dss-alert--button-bottom{flex-direction:column;align-items:flex-start}.dss-alert.dss-alert--button-bottom .dss-alert-action{align-self:flex-end}.dss-alert__text,.dss-alert__description{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.dss-alert__description{font-weight:var(--font-regular)}.dss-alert__text--expanded,.dss-alert__description--expanded{overflow:visible;display:block;-webkit-line-clamp:unset}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=alert.style.css.js.map\n","import { nothing as _ } from \"lit\";\nimport { classMap as l } from \"lit/directives/class-map.js\";\nimport { unsafeHTML as r } from \"lit/directives/unsafe-html.js\";\nimport { unsafeStatic as i, literal as d, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst $ = d`dss-icon${i(e())}`, u = d`dss-icon-button${i(e())}`, t = d`dss-button${i(e())}`, h = (s) => a`\n  <div\n    class=${l({\n  \"dss-alert\": !0,\n  [`dss-alert--${s.size}`]: !!s.size,\n  [`dss-alert--${s.state}`]: !!s.state,\n  \"dss-alert--full-width\": s.fullWidth,\n  \"dss-alert--button-bottom\": s.buttonBottom\n})}\n  >\n    <div class=\"dss-alert-body\">\n      ${s.size !== \"sm\" ? a`\n            <div class=\"dss-alert__icon\">\n              <${$} size=\"${s._getIconSize()}\" icon=\"${s._stateIcon}\"></${$}>\n            </div>\n          ` : null}\n      <div class=\"dss-alert-content\">\n        <div\n          class=${l({\n  \"dss-alert__text\": !0,\n  \"dss-alert__text--expanded\": s.expanded\n})}>\n          ${r(s.titleText)}\n        </div>\n        ${s.description ? a`\n          <div\n            class=${l({\n  \"dss-alert__description\": !0,\n  \"dss-alert__description--expanded\": s.expanded\n})}>\n            ${r(s.description)}\n          </div>\n          ` : _}\n        ${s.isOverflowing ? a`\n          <${t}\n            class=\"dss-alert__show-more\"\n            size=\"sm\"\n            variant=\"secondary\"\n            icon=\"${s.expanded ? \"expand_less\" : \"expand_more\"}\"\n            iconPosition=\"right\"\n            status=\"${s.state === \"error\" ? \"danger\" : s.state}\"\n            label=\"${s.expanded ? s.showLessLabel : s.showMoreLabel}\"\n            @onClick=\"${s.toggleExpand}\"\n          ></${t}>\n          ` : null}\n      </div>\n    </div>\n    ${s.hasCloseIcon ? a`\n          <div class=\"dss-alert-action\">\n            <${u}\n              hideTooltip\n              class=\"dss-alert__icon-button\"\n              icon=\"close\"\n              label=\"Tancar\"\n              size=\"${s._getIconSize()}\"\n              variant=\"${s.state}\"\n              @onClick=\"${s._handleClose}\"\n            ></${u}>\n          </div>\n        ` : null}\n    ${s.size === \"lg\" && s.hasButton ? a`\n          <div class=\"dss-alert-action\">\n            <${t}\n              size=\"sm\"\n              variant=\"${s.state}\"\n              label=\"${s.buttonLabel}\"\n              @onClick=\"${s._handleButtonClick}\"\n            ></${t}>\n          </div>\n        ` : null}\n  </div>\n`;\nexport {\n  h as alertTemplate\n};\n//# sourceMappingURL=alert.template.js.map\n","import { LitElement as u, unsafeCSS as c } from \"lit\";\nimport { property as s, state as d } from \"lit/decorators.js\";\nimport f from \"../../shared/reset.style.css.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport m from \"./alert.style.css.js\";\nimport { alertTemplate as y } from \"./alert.template.js\";\nvar g = Object.defineProperty, t = (p, o, r, a) => {\n  for (var i = void 0, l = p.length - 1, h; l >= 0; l--)\n    (h = p[l]) && (i = h(o, r, i) || i);\n  return i && g(o, r, i), i;\n};\nclass e extends u {\n  constructor() {\n    super(...arguments), this.state = \"info\", this.size = \"md\", this.message = void 0, this.titleText = void 0, this.description = void 0, this.buttonLabel = \"Label\", this.showMoreLabel = \"Mostrar més\", this.showLessLabel = \"Mostrar menys\", this.hasCloseIcon = !1, this.hasButton = !1, this.fullWidth = !1, this.buttonBottom = !1, this.expanded = !1, this.isOverflowing = !1, this._stateIcon = \"info\";\n  }\n  static get styles() {\n    return [c(f), c(m)];\n  }\n  _handleButtonClick() {\n    this.dispatchEvent(new CustomEvent(\"onButtonClick\", { bubbles: !0, composed: !0 }));\n  }\n  _handleClose() {\n    this.dispatchEvent(new CustomEvent(\"onClose\", { bubbles: !0, composed: !0 }));\n  }\n  updated(o) {\n    o.has(\"state\") && this.setStateIcon(), o.has(\"message\") && queueMicrotask(() => {\n      this.titleText = this.message;\n    });\n  }\n  async firstUpdated() {\n    await this.updateComplete, setTimeout(() => {\n      const o = this.renderRoot.querySelector(\".dss-alert__text\"), r = this._isTextTruncated(o), a = this.renderRoot.querySelector(\".dss-alert__description\"), i = this._isTextTruncated(a);\n      this.isOverflowing = r || i;\n    }, 0);\n  }\n  _isTextTruncated(o) {\n    if (!o) return !1;\n    const { scrollHeight: r, clientHeight: a } = o;\n    return r > a;\n  }\n  setStateIcon() {\n    switch (this.state) {\n      case \"error\":\n        this._stateIcon = \"cancel\";\n        break;\n      case \"warning\":\n        this._stateIcon = \"report\";\n        break;\n      case \"success\":\n        this._stateIcon = \"check_circle\";\n        break;\n      default:\n        this._stateIcon = \"info\";\n    }\n  }\n  _getIconSize() {\n    return this.size === \"lg\" ? \"md\" : \"sm\";\n  }\n  toggleExpand() {\n    this.expanded = !this.expanded;\n  }\n  render() {\n    return y(this);\n  }\n}\nt([\n  s({ type: String })\n], e.prototype, \"state\");\nt([\n  s({ type: String })\n], e.prototype, \"size\");\nt([\n  s({ type: String })\n], e.prototype, \"message\");\nt([\n  s({ type: String })\n], e.prototype, \"titleText\");\nt([\n  s({ type: String })\n], e.prototype, \"description\");\nt([\n  s({ type: String })\n], e.prototype, \"buttonLabel\");\nt([\n  s({ type: String })\n], e.prototype, \"showMoreLabel\");\nt([\n  s({ type: String })\n], e.prototype, \"showLessLabel\");\nt([\n  s(n)\n], e.prototype, \"hasCloseIcon\");\nt([\n  s(n)\n], e.prototype, \"hasButton\");\nt([\n  s(n)\n], e.prototype, \"fullWidth\");\nt([\n  s(n)\n], e.prototype, \"buttonBottom\");\nt([\n  d(n)\n], e.prototype, \"expanded\");\nt([\n  d(n)\n], e.prototype, \"isOverflowing\");\nexport {\n  e as Alert\n};\n//# sourceMappingURL=alert.js.map\n","const a = \":host{display:inline-block;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.dss-avatar{border-radius:100%;background-color:#f5f5f5;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#656565;text-transform:uppercase}.dss-avatar.dss-avatar--border{box-shadow:inset 0 0 0 1px #d8d8d8}.dss-avatar .dss-avatar__icon{font-weight:500}.dss-avatar .dss-avatar__font{font-weight:600}.dss-avatar .dss-avatar__img{border-radius:100%;height:100%}.dss-avatar--sm{width:24px;height:24px}.dss-avatar--md{width:32px;height:32px}.dss-avatar--lg{width:40px;height:40px}.dss-avatar--xl{width:48px;height:48px}.dss-avatar--sm .dss-avatar__icon,.dss-avatar--md .dss-avatar__icon{font-size:16px}.dss-avatar--lg .dss-avatar__icon{font-size:24px}.dss-avatar--xl .dss-avatar__icon{font-size:32px}.dss-avatar--sm .dss-avatar__font{font-size:12px;line-height:16px}.dss-avatar--md .dss-avatar__font,.dss-avatar--lg .dss-avatar__font{font-size:14px;line-height:24px}.dss-avatar--xl .dss-avatar__font{font-size:16px;line-height:24px}\";\nexport {\n  a as default\n};\n//# sourceMappingURL=avatar.style.css.js.map\n","import { html as s } from \"lit\";\nconst t = (a) => {\n  const r = a.imageUrl ? \"\" : \"dss-avatar--border\";\n  return s`\n      <div class=\"dss-avatar dss-avatar--${a.size} ${r}\">\n        ${a.imageUrl ? s`<img\n              class=\"dss-avatar__img\"\n              src=\"${a.imageUrl}\"\n              alt=\"avatar\"\n            />` : s`${a._acronym ? s`<span class=\"dss-avatar__font\">${a._acronym}</span>` : s`<span class=\"material-symbols-rounded dss-avatar__icon\">\n                  person\n                </span>`}`}\n      </div>\n    `;\n};\nexport {\n  t as template\n};\n//# sourceMappingURL=avatar.template.js.map\n","import { LitElement as y, unsafeCSS as u } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport h from \"../../foundations/icon/icon.style.css.js\";\nimport l from \"./avatar.style.css.js\";\nimport { template as f } from \"./avatar.template.js\";\nvar c = Object.defineProperty, n = (a, t, r, s) => {\n  for (var e = void 0, o = a.length - 1, p; o >= 0; o--)\n    (p = a[o]) && (e = p(t, r, e) || e);\n  return e && c(t, r, e), e;\n};\nclass m extends y {\n  constructor() {\n    super(...arguments), this.name = \"\", this.surname = \"\", this.imageUrl = \"\", this.size = \"md\", this._acronym = \"\";\n  }\n  static get styles() {\n    return [u(h), u(l)];\n  }\n  willUpdate(t) {\n    const r = t.has(\"name\"), s = t.has(\"surname\");\n    (r || s) && this.formatAcronym();\n  }\n  formatAcronym() {\n    var r, s;\n    let t = (r = this.name) == null ? void 0 : r.trim().substring(0, 1).toUpperCase();\n    this.name && this.surname ? t += this.surname.trim().substring(0, 1).toUpperCase() : t = (s = this.name) == null ? void 0 : s.trim().substring(0, 2).toUpperCase(), this._acronym = t, this.requestUpdate(\"acronym\", t);\n  }\n  render() {\n    return f(this);\n  }\n}\nn([\n  i({ type: String })\n], m.prototype, \"name\");\nn([\n  i({ type: String })\n], m.prototype, \"surname\");\nn([\n  i({ type: String })\n], m.prototype, \"imageUrl\");\nn([\n  i({ type: String })\n], m.prototype, \"size\");\nexport {\n  m as Avatar\n};\n//# sourceMappingURL=avatar.js.map\n","const o = '.dss-badge-button--danger{background-color:var(--color-red-100);border-color:var(--color-red-100);color:var(--color-red-900);font-variation-settings:\"FILL\" 1}.dss-badge-button--danger:hover{background-color:var(--color-red-200);border-color:var(--color-red-200)}.dss-badge-button--danger:active{background-color:var(--color-red-50);border-color:var(--color-red-50)}.dss-badge-button--danger .dss-badge-button__action:before{background-color:var(--color-red-900)}.dss-badge-button--danger-low{background-color:var(--color-white);border-color:var(--color-red-500);color:var(--color-red-900)}.dss-badge-button--danger-low:hover{background-color:var(--color-red-100)}.dss-badge-button--danger-low:active{background-color:var(--color-red-50)}.dss-badge-button--danger-low .dss-badge-button__action:before{background-color:var(--color-red-900)}.dss-badge-button--danger-high{background-color:var(--color-red-500);border-color:var(--color-red-500);color:var(--color-white);font-variation-settings:\"FILL\" 1}.dss-badge-button--danger-high:hover{background-color:var(--color-red-600);border-color:var(--color-red-600)}.dss-badge-button--danger-high:active{background-color:var(--color-red-400);border-color:var(--color-red-400)}.dss-badge-button--moderate{background-color:var(--color-orange-100);border-color:var(--color-orange-100);color:var(--color-orange-900);font-variation-settings:\"FILL\" 1}.dss-badge-button--moderate:hover{background-color:var(--color-orange-200);border-color:var(--color-orange-200)}.dss-badge-button--moderate:active{background-color:var(--color-orange-50);border-color:var(--color-orange-50)}.dss-badge-button--moderate .dss-badge-button__action:before{background-color:var(--color-orange-900)}.dss-badge-button--moderate-low{background-color:var(--color-white);border-color:var(--color-orange-500);color:var(--color-orange-900)}.dss-badge-button--moderate-low:hover{background-color:var(--color-orange-100)}.dss-badge-button--moderate-low:active{background-color:var(--color-orange-50)}.dss-badge-button--moderate-low .dss-badge-button__action:before{background-color:var(--color-orange-900)}.dss-badge-button--moderate-high{background-color:var(--color-orange-500);border-color:var(--color-orange-500);color:var(--color-orange-900);font-variation-settings:\"FILL\" 1}.dss-badge-button--moderate-high:hover{background-color:var(--color-orange-600);border-color:var(--color-orange-600)}.dss-badge-button--moderate-high:active{background-color:var(--color-orange-400);border-color:var(--color-orange-400)}.dss-badge-button--moderate-high .dss-badge-button__action:before{background-color:var(--color-orange-900)}.dss-badge-button--slight{background-color:var(--color-yellow-100);border-color:var(--color-yellow-100);color:var(--color-yellow-900);font-variation-settings:\"FILL\" 1}.dss-badge-button--slight:hover{background-color:var(--color-yellow-200);border-color:var(--color-yellow-200)}.dss-badge-button--slight:active{background-color:var(--color-yellow-50);border-color:var(--color-yellow-50)}.dss-badge-button--slight .dss-badge-button__action:before{background-color:var(--color-yellow-900)}.dss-badge-button--slight-low{background-color:var(--color-white);border-color:var(--color-yellow-500);color:var(--color-yellow-900)}.dss-badge-button--slight-low:hover{background-color:var(--color-yellow-100)}.dss-badge-button--slight-low:active{background-color:var(--color-yellow-50)}.dss-badge-button--slight-low .dss-badge-button__action:before{background-color:var(--color-yellow-900)}.dss-badge-button--slight-high{background-color:var(--color-yellow-500);border-color:var(--color-yellow-500);color:var(--color-yellow-900);font-variation-settings:\"FILL\" 1}.dss-badge-button--slight-high:hover{background-color:var(--color-yellow-600);border-color:var(--color-yellow-600)}.dss-badge-button--slight-high:active{background-color:var(--color-yellow-400);border-color:var(--color-yellow-400)}.dss-badge-button--slight-high .dss-badge-button__action:before{background-color:var(--color-yellow-900)}.dss-badge-button--correct{background-color:var(--color-green-100);border-color:var(--color-green-100);color:var(--color-green-900);font-variation-settings:\"FILL\" 1}.dss-badge-button--correct:hover{background-color:var(--color-green-200);border-color:var(--color-green-200)}.dss-badge-button--correct:active{background-color:var(--color-green-50);border-color:var(--color-green-50)}.dss-badge-button--correct .dss-badge-button__action:before{background-color:var(--color-green-900)}.dss-badge-button--undetermined,.dss-badge-button--undeterminated{background-color:var(--color-neutral-100);border-color:var(--color-neutral-900);color:var(--color-neutral-900)}.dss-badge-button--undetermined:hover,.dss-badge-button--undeterminated:hover{background-color:var(--color-neutral-200)}.dss-badge-button--undetermined:active,.dss-badge-button--undeterminated:active{background-color:var(--color-neutral-50)}.dss-badge-button--undetermined .dss-badge-button__action:before,.dss-badge-button--undeterminated .dss-badge-button__action:before{background-color:var(--color-neutral-900)}.dss-badge-button--critical,.dss-badge-button--critic{background-color:var(--color-red-500);border-color:var(--color-red-500);color:var(--color-white)}.dss-badge-button--critical:hover,.dss-badge-button--critic:hover{background-color:var(--color-red-600);border-color:var(--color-red-600)}.dss-badge-button--critical:active,.dss-badge-button--critic:active{background-color:var(--color-red-400);border-color:var(--color-red-400)}.dss-badge-button--critical:not(.dss-badge-button--critic-outlined):disabled,.dss-badge-button--critic:not(.dss-badge-button--critic-outlined):disabled{border-color:var(--color-neutral-50)!important}.dss-badge-button--critical-outlined,.dss-badge-button--critic-outlined{background-color:var(--color-red-50);border-color:var(--color-red-800);color:var(--color-red-800)}.dss-badge-button--critical-outlined:hover,.dss-badge-button--critic-outlined:hover{background-color:var(--color-red-200);border-color:var(--color-red-800)}.dss-badge-button--critical-outlined:active,.dss-badge-button--critic-outlined:active{background-color:var(--color-red-100);border-color:var(--color-red-800)}.dss-badge-button--critical-outlined .dss-badge-button__action:before,.dss-badge-button--critic-outlined .dss-badge-button__action:before{background-color:var(--color-red-800)}.dss-badge-button--alert{background-color:var(--color-yellow-500);border-color:var(--color-yellow-500);color:var(--color-yellow-900)}.dss-badge-button--alert:hover{background-color:var(--color-yellow-600);border-color:var(--color-yellow-600)}.dss-badge-button--alert:active{background-color:var(--color-yellow-400);border-color:var(--color-yellow-400)}.dss-badge-button--alert:not(.dss-badge-button--alert-outlined):disabled{border-color:var(--color-neutral-50)!important}.dss-badge-button--alert .dss-badge-button__action:before{background-color:var(--color-yellow-900)}.dss-badge-button--alert-outlined{background-color:var(--color-yellow-50);border-color:var(--color-yellow-800);color:var(--color-yellow-800)}.dss-badge-button--alert-outlined:hover{background-color:var(--color-yellow-200);border-color:var(--color-yellow-800)}.dss-badge-button--alert-outlined:active{background-color:var(--color-yellow-100);border-color:var(--color-yellow-800)}.dss-badge-button--alert-outlined .dss-badge-button__action:before{background-color:var(--color-yellow-800)}.dss-badge-button--ideal{background-color:var(--color-green-500);border-color:var(--color-green-500);color:var(--color-white)}.dss-badge-button--ideal:hover{background-color:var(--color-green-600);border-color:var(--color-green-600)}.dss-badge-button--ideal:active{background-color:var(--color-green-400);border-color:var(--color-green-400)}.dss-badge-button--ideal:not(.dss-badge-button--ideal-outlined):disabled{border-color:var(--color-neutral-50)!important}.dss-badge-button--ideal-outlined{background-color:var(--color-green-50);border-color:var(--color-green-800);color:var(--color-green-800)}.dss-badge-button--ideal-outlined:hover{background-color:var(--color-green-200);border-color:var(--color-green-800)}.dss-badge-button--ideal-outlined:active{background-color:var(--color-green-100);border-color:var(--color-green-800)}.dss-badge-button--ideal-outlined .dss-badge-button__action:before{background-color:var(--color-green-800)}.dss-badge-button--info{background-color:var(--color-blue-500);border-color:var(--color-blue-500);color:var(--color-white)}.dss-badge-button--info:hover{background-color:var(--color-blue-600);border-color:var(--color-blue-600)}.dss-badge-button--info:active{background-color:var(--color-blue-400);border-color:var(--color-blue-400)}.dss-badge-button--info:not(.dss-badge-button--info-outlined):disabled{border-color:var(--color-neutral-50)!important}.dss-badge-button--info-outlined{background-color:var(--color-blue-50);border-color:var(--color-blue-800);color:var(--color-blue-800)}.dss-badge-button--info-outlined:hover{background-color:var(--color-blue-200);border-color:var(--color-blue-800)}.dss-badge-button--info-outlined:active{background-color:var(--color-blue-100);border-color:var(--color-blue-800)}.dss-badge-button--info-outlined .dss-badge-button__action:before{background-color:var(--color-blue-800)}.dss-badge-button--info-alt{background-color:var(--color-purple-500);border-color:var(--color-purple-500);color:var(--color-white)}.dss-badge-button--info-alt:hover{background-color:var(--color-purple-600);border-color:var(--color-purple-600)}.dss-badge-button--info-alt:active{background-color:var(--color-purple-400);border-color:var(--color-purple-400)}.dss-badge-button--info-alt:not(.dss-badge-button--info-alt-outlined):disabled{border-color:var(--color-neutral-50)!important}.dss-badge-button--info-alt-outlined{background-color:var(--color-purple-50);border-color:var(--color-purple-800);color:var(--color-purple-800)}.dss-badge-button--info-alt-outlined:hover{background-color:var(--color-purple-200);border-color:var(--color-purple-800)}.dss-badge-button--info-alt-outlined:active{background-color:var(--color-purple-100);border-color:var(--color-purple-800)}.dss-badge-button--info-alt-outlined .dss-badge-button__action:before{background-color:var(--color-purple-800)}.dss-badge-button--neutral{background-color:var(--color-neutral-500);border-color:var(--color-neutral-500);color:var(--color-white)}.dss-badge-button--neutral:hover{background-color:var(--color-neutral-600);border-color:var(--color-neutral-600)}.dss-badge-button--neutral:active{background-color:var(--color-neutral-400);border-color:var(--color-neutral-400)}.dss-badge-button--neutral:not(.dss-badge-button--neutral-outlined):disabled{border-color:var(--color-neutral-50)!important}.dss-badge-button--neutral-outlined{background-color:var(--color-neutral-50);border-color:var(--color-neutral-900);color:var(--color-neutral-900)}.dss-badge-button--neutral-outlined:hover{background-color:var(--color-neutral-200);border-color:var(--color-neutral-900)}.dss-badge-button--neutral-outlined:active{background-color:var(--color-neutral-100);border-color:var(--color-neutral-900)}.dss-badge-button--neutral-outlined .dss-badge-button__action:before{background-color:var(--color-neutral-800)}.dss-badge-button--disabled,.dss-badge-button:disabled{cursor:not-allowed;border-color:var(--color-neutral-500);background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-badge-button--disabled .dss-badge-button__action:before,.dss-badge-button:disabled .dss-badge-button__action:before{background-color:var(--color-neutral-500)}';\nexport {\n  o as default\n};\n//# sourceMappingURL=badge-button.states.css.js.map\n","const s = ':host{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:200px}.dss-badge-button{cursor:pointer;width:auto;max-width:200px;height:20px;display:inline-flex;align-items:center;font-weight:var(--font-semibold);font-size:12px;line-height:16px;border:var(--dss-border-width-sm) solid var(--color-neutral-500);gap:var(--dss-spacing-xs);overflow:hidden;box-sizing:border-box;transition:.3s all ease-in}.dss-badge-button:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-badge-button--sm{border-radius:var(--dss-radius-xs);padding:var(--dss-spacing-tiny) var(--dss-spacing-xxs) var(--dss-spacing-tiny) var(--dss-spacing-xs);height:20px;gap:var(--dss-spacing-xxs)}.dss-badge-button--md{border-radius:var(--dss-radius-xs);padding:var(--dss-spacing-xxs) var(--dss-spacing-xxs) var(--dss-spacing-xxs) var(--dss-spacing-xs);height:24px;gap:var(--dss-spacing-xxs)}.dss-badge-button--lg{font-size:14px;line-height:24px;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-xxs) var(--dss-spacing-xs) var(--dss-spacing-xxs) var(--dss-spacing-sm);height:32px}.dss-badge-button--xl{font-size:16px;line-height:24px;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-xs) var(--dss-spacing-xs) var(--dss-spacing-xs) var(--dss-spacing-sm);height:40px}.dss-badge-button__icon{flex-shrink:0}.dss-badge-button__label{flex-grow:1;flex-shrink:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dss-badge-button__action{position:relative;padding-left:var(--dss-spacing-xxs)}.dss-badge-button__action:before{content:\"\";position:absolute;top:50%;left:0;transform:translateY(-50%);display:block;width:1px;height:12px;background-color:var(--color-white)}.dss-badge-button--md .dss-badge-button__action:before{height:16px}.dss-badge-button--lg .dss-badge-button__action{padding-left:var(--dss-spacing-xs)}.dss-badge-button--lg .dss-badge-button__action:before{height:20px}.dss-badge-button--xl .dss-badge-button__action{padding-left:var(--dss-spacing-xs)}.dss-badge-button--xl .dss-badge-button__action:before{height:24px}';\nexport {\n  s as default\n};\n//# sourceMappingURL=badge-button.style.css.js.map\n","import { nothing as $ } from \"lit\";\nimport { classMap as b } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as d, literal as l, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst t = l`dss-icon${d(e())}`, a = l`dss-tooltip${d(e())}`, f = (s) => i`\n  <button\n    type=${s.type}\n    class=${b({\n  \"dss-badge-button\": !0,\n  [`dss-badge-button--${s._size}`]: !!s._size,\n  [`dss-badge-button--${s._size}`]: !!s._size,\n  [`dss-badge-button--${s.state}`]: !!s.state,\n  [`dss-badge-button--${s.state}-outlined`]: !!s.state && s.outlined\n})}\n    ?disabled=${s.disabled}\n    ?hidden=${s.hidden}\n    @click=${s._handleClick}\n  >\n\t\t${s.hideIcon && s._isInformativeState() ? $ : i`\n\t\t\t\t<${t} \n\t\t\t\t\tclass=\"dss-badge-button__icon\" \n\t\t\t\t\ticon=\"${s._icon}\" \n\t\t\t\t\tsize=\"${s._iconSize}\" \n\t\t\t\t\t?fill=\"${s._iconFill}\">\n\t\t\t\t</${t}>\n\t\t\t`}\n\t\t<span class=\"dss-badge-button__label\">${s.label}</span>\n\t\t<div class=\"dss-badge-button__action\">\n\t\t\t<${t} class=\"dss-badge-button__icon\" icon=\"${s._actionIcon}\" size=\"${s._iconSize}\"></${t}>\n\t\t</div>\n\t\t${s._isTextTruncated ? i`<${a} ?forceViewport=\"${s.forceViewport}\">${s.label}</${a}>` : i`<slot name=\"tooltip\"></slot>`}\n  </button>\n`;\nexport {\n  f as template\n};\n//# sourceMappingURL=badge-button.template.js.map\n","import { LitElement as p, unsafeCSS as d } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport _ from \"../../shared/reset.style.css.js\";\nimport { booleanType as r } from \"../../utils/property-types.js\";\nimport u from \"./badge-button.states.css.js\";\nimport f from \"./badge-button.style.css.js\";\nimport { template as m } from \"./badge-button.template.js\";\nvar y = Object.defineProperty, g = Object.getOwnPropertyDescriptor, s = (l, t, e, c) => {\n  for (var n = c > 1 ? void 0 : c ? g(t, e) : t, a = l.length - 1, h; a >= 0; a--)\n    (h = l[a]) && (n = (c ? h(t, e, n) : h(n)) || n);\n  return c && n && y(t, e, n), n;\n};\nclass o extends p {\n  constructor() {\n    super(...arguments), this.type = \"button\", this.label = \"\", this.disabled = !1, this.hidden = !1, this.hideIcon = !1, this.outlined = !1, this.forceViewport = !1, this.width = void 0, this._size = \"sm\", this._action = \"dropdown\", this._actionIcon = \"expand_more\", this._state = \"\", this._icon = \"\", this._isIconDefined = !1, this._iconSize = \"sm\", this._iconFill = !1, this._isTextTruncated = !1, this._isFirstUpdated = !0;\n  }\n  static get styles() {\n    return [d(_), d(f), d(u)];\n  }\n  get _tooltip() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"tooltip\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set size(t) {\n    const e = this._size;\n    this._size = t, t === \"xl\" ? this._iconSize = \"md\" : this._iconSize = \"sm\", this.requestUpdate(\"size\", e);\n  }\n  get size() {\n    return this._size;\n  }\n  set action(t) {\n    const e = this._action;\n    switch (this._action = t, t) {\n      case \"details\":\n        this._actionIcon = \"visibility\";\n        break;\n      case \"external\":\n        this._actionIcon = \"open_in_new\";\n        break;\n      default:\n        this._actionIcon = \"expand_more\";\n    }\n    this.requestUpdate(\"action\", e);\n  }\n  get action() {\n    return this._action;\n  }\n  set state(t) {\n    const e = this._state;\n    this._state = t, this._generateDefaultIcon(t), this.requestUpdate(\"state\", e);\n  }\n  get state() {\n    return this._state;\n  }\n  set icon(t) {\n    const e = this._icon;\n    this._icon = t, this._isIconDefined = !0, this.requestUpdate(\"icon\", e);\n  }\n  get icon() {\n    return this._icon;\n  }\n  _handleClick() {\n    this.dispatchEvent(new CustomEvent(\"onClick\", { bubbles: !1, composed: !1 }));\n  }\n  _updateIconFill(t) {\n    this._iconFill = !t.includes(\"low\") || t === \"correct\";\n  }\n  _generateDefaultIcon(t) {\n    t && !this._isIconDefined && (t.includes(\"danger\") ? (this._icon = \"warning\", this._updateIconFill(t)) : t.includes(\"moderate\") ? (this._icon = \"emergency_home\", this._updateIconFill(t)) : t.includes(\"slight\") ? (this._icon = \"error\", this._updateIconFill(t)) : t.includes(\"correct\") ? (this._icon = \"check_circle\", this._updateIconFill(t)) : t.includes(\"undeterminated\") ? this._icon = \"circle\" : t.includes(\"undetermined\") ? this._icon = \"circle\" : t.includes(\"critic\") ? this._icon = \"cancel\" : t.includes(\"alert\") ? this._icon = \"report\" : t.includes(\"ideal\") ? this._icon = \"check_circle\" : t.includes(\"info\") ? this._icon = \"info\" : t.includes(\"neutral\") && (this._icon = \"circle\"));\n  }\n  _isInformativeState() {\n    return [\"ideal\", \"critical\", \"critic\", \"alert\", \"info\", \"info-alt\", \"neutral\"].includes(this._state);\n  }\n  _checkTextTruncated() {\n    var e;\n    const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(\".dss-badge-button__label\");\n    t && (this._isTextTruncated = t.scrollWidth > t.offsetWidth, this.requestUpdate());\n  }\n  willUpdate(t) {\n    !this._isFirstUpdated && t.has(\"label\") && this._checkTextTruncated(), !this._isFirstUpdated && t.has(\"state\") && (this._iconFill = !1, this._generateDefaultIcon(this.state));\n  }\n  async firstUpdated() {\n    var t;\n    if (await this.updateComplete, this.width) {\n      const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-badge-button\");\n      e && (e.style.width = this.width);\n    }\n    this._tooltip && setTimeout(() => {\n      this._tooltip.updateTooltip();\n    }, 200), this._checkTextTruncated(), this._isFirstUpdated = !1;\n  }\n  render() {\n    return m(this);\n  }\n}\ns([\n  i({ type: String })\n], o.prototype, \"type\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"label\", 2);\ns([\n  i(r)\n], o.prototype, \"disabled\", 2);\ns([\n  i(r)\n], o.prototype, \"hidden\", 2);\ns([\n  i(r)\n], o.prototype, \"hideIcon\", 2);\ns([\n  i(r)\n], o.prototype, \"outlined\", 2);\ns([\n  i(r)\n], o.prototype, \"forceViewport\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"width\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"size\", 1);\ns([\n  i({ type: String })\n], o.prototype, \"action\", 1);\ns([\n  i({ type: String })\n], o.prototype, \"state\", 1);\ns([\n  i({ type: String })\n], o.prototype, \"icon\", 1);\nexport {\n  o as BadgeButton\n};\n//# sourceMappingURL=badge-button.js.map\n","const o = `.dss-badge--danger,.dss-badge--above{background-color:var(--color-red-100);border-color:var(--color-red-100);color:var(--color-red-900);font-variation-settings:\"FILL\" 1}.dss-badge--danger-low,.dss-badge--above-low{background-color:var(--color-white);border-color:var(--color-red-500);color:var(--color-red-900)}.dss-badge--danger-high,.dss-badge--above-high{background-color:var(--color-red-500);border-color:var(--color-red-500);color:var(--color-white);font-variation-settings:\"FILL\" 1}.dss-badge--moderate{background-color:var(--color-orange-100);border-color:var(--color-orange-100);color:var(--color-orange-900);font-variation-settings:\"FILL\" 1}.dss-badge--moderate-low{background-color:var(--color-white);border-color:var(--color-orange-500);color:var(--color-orange-900)}.dss-badge--moderate-high{background-color:var(--color-orange-500);border-color:var(--color-orange-500);color:var(--color-orange-900);font-variation-settings:\"FILL\" 1}.dss-badge--slight{background-color:var(--color-yellow-100);border-color:var(--color-yellow-100);color:var(--color-yellow-900);font-variation-settings:\"FILL\" 1}.dss-badge--slight-low{background-color:var(--color-white);border-color:var(--color-yellow-500);color:var(--color-yellow-900)}.dss-badge--slight-high{background-color:var(--color-yellow-500);border-color:var(--color-yellow-500);color:var(--color-yellow-900);font-variation-settings:\"FILL\" 1}.dss-badge--correct{background-color:var(--color-green-100);border-color:var(--color-green-100);color:var(--color-green-900);font-variation-settings:\"FILL\" 1}.dss-badge--undetermined,.dss-badge--undeterminated{background-color:var(--color-neutral-100);border-color:var(--color-neutral-900);color:var(--color-neutral-900)}.dss-badge--critical,.dss-badge--critic{background-color:var(--color-red-500);border-color:var(--color-red-500);color:var(--color-white)}.dss-badge--critical-outlined,.dss-badge--critic-outlined{background-color:var(--color-red-50);border-color:var(--color-red-800);color:var(--color-red-800)}.dss-badge--alert{background-color:var(--color-yellow-500);border-color:var(--color-yellow-500);color:var(--color-black)}.dss-badge--alert-outlined{background-color:var(--color-yellow-50);border-color:var(--color-yellow-800);color:var(--color-yellow-800)}.dss-badge--ideal{background-color:var(--color-green-500);border-color:var(--color-green-500);color:var(--color-white)}.dss-badge--ideal-outlined{background-color:var(--color-green-50);border-color:var(--color-green-800);color:var(--color-green-800)}.dss-badge--info,.dss-badge--below-high{background-color:var(--color-blue-500);border-color:var(--color-blue-500);color:var(--color-white)}.dss-badge--info-outlined{background-color:var(--color-blue-50);border-color:var(--color-blue-800);color:var(--color-blue-800)}.dss-badge--info-alt{background-color:var(--color-purple-500);border-color:var(--color-purple-500);color:var(--color-white)}.dss-badge--info-alt-outlined{background-color:var(--color-purple-50);border-color:var(--color-purple-800);color:var(--color-purple-800)}.dss-badge--neutral{background-color:var(--color-neutral-500);border-color:var(--color-neutral-500);color:var(--color-white)}.dss-badge--neutral-outlined{background-color:var(--color-neutral-50);border-color:var(--color-neutral-900);color:var(--color-neutral-900)}.dss-badge--below{background-color:var(--color-blue-100);border-color:var(--color-blue-100);color:var(--color-blue-900)}.dss-badge--below-low{background-color:var(--color-white);border-color:var(--color-bl ue-500);color:var(--color-blue-900)}.dss-badge--disabled{cursor:not-allowed;border-color:var(--color-neutral-500);background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-badge--dot{display:inline-block;padding:0!important;min-width:var(--dss-spacing-md);width:var(--dss-spacing-md);height:var(--dss-spacing-md);border-radius:100%;margin:auto;width:16px;height:16px}.dss-badge--dot>*{display:none;padding:0}.dss-badge--danger.dss-badge--dot{border:0;box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-red-900);border-radius:0;box-shadow:none;width:16px;height:14px;background:url('data:image/svg+xml,<svg width=\"16\" height=\"14\" viewBox=\"0 0 16 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.56588 1.2675C7.75783 0.931588 8.24218 0.931588 8.43412 1.26749L14.7109 12.2519C14.9014 12.5853 14.6607 13 14.2768 13H1.72318C1.33927 13 1.09859 12.5853 1.28906 12.2519L7.56588 1.2675Z\" fill=\"%23F0C5C5\" stroke=\"%23651D1D\"/></svg>');background-repeat:no-repeat}.dss-badge--danger-low.dss-badge--dot{border:0;box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-red-900);border-radius:0;box-shadow:none;width:16px;height:14px;background:url('data:image/svg+xml,<svg width=\"16\" height=\"14\" viewBox=\"0 0 16 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.56588 1.2675C7.75783 0.931588 8.24218 0.931588 8.43412 1.26749L14.7109 12.2519C14.9014 12.5853 14.6607 13 14.2768 13H1.72318C1.33927 13 1.09859 12.5853 1.28906 12.2519L7.56588 1.2675Z\" fill=\"%23FFFFFF\" stroke=\"%23B60000\"/></svg>');background-repeat:no-repeat}.dss-badge--danger-high.dss-badge--dot{border:0;box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-red-900);border-radius:0;box-shadow:none;width:16px;height:14px;background:url('data:image/svg+xml,<svg width=\"16\" height=\"14\" viewBox=\"0 0 16 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.56588 1.2675C7.75783 0.931588 8.24218 0.931588 8.43412 1.26749L14.7109 12.2519C14.9014 12.5853 14.6607 13 14.2768 13H1.72318C1.33927 13 1.09859 12.5853 1.28906 12.2519L7.56588 1.2675Z\" fill=\"%23B60000\" stroke=\"%23651D1D\"/></svg>');background-repeat:no-repeat}.dss-badge--moderate.dss-badge--dot{border:0;box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-orange-900);border-radius:0;box-shadow:none;background:url('data:image/svg+xml, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.06066 8.35355C0.865398 8.15829 0.865397 7.84171 1.06066 7.64645L7.64645 1.06066C7.84171 0.865398 8.15829 0.865398 8.35355 1.06066L14.9393 7.64645C15.1346 7.84171 15.1346 8.15829 14.9393 8.35355L8.35355 14.9393C8.15829 15.1346 7.84171 15.1346 7.64645 14.9393L1.06066 8.35355Z\" fill=\"%23FFE1A6\" stroke=\"%23391B00\"/></svg>');background-repeat:no-repeat}.dss-badge--moderate-low.dss-badge--dot{border:0;box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-orange-900);border-radius:0;box-shadow:none;background:url('data:image/svg+xml, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.06066 8.35355C0.865398 8.15829 0.865397 7.84171 1.06066 7.64645L7.64645 1.06066C7.84171 0.865398 8.15829 0.865398 8.35355 1.06066L14.9393 7.64645C15.1346 7.84171 15.1346 8.15829 14.9393 8.35355L8.35355 14.9393C8.15829 15.1346 7.84171 15.1346 7.64645 14.9393L1.06066 8.35355Z\" fill=\"%23FFFFFF\" stroke=\"%23391B00\"/></svg>');background-repeat:no-repeat}.dss-badge--moderate-high.dss-badge--dot{border:0;box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-orange-900);border-radius:0;box-shadow:none;background:url('data:image/svg+xml, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.06066 8.35355C0.865398 8.15829 0.865397 7.84171 1.06066 7.64645L7.64645 1.06066C7.84171 0.865398 8.15829 0.865398 8.35355 1.06066L14.9393 7.64645C15.1346 7.84171 15.1346 8.15829 14.9393 8.35355L8.35355 14.9393C8.15829 15.1346 7.84171 15.1346 7.64645 14.9393L1.06066 8.35355Z\" fill=\"%23FDB322\" stroke=\"%23391B00\"/></svg>');background-repeat:no-repeat}.dss-badge--slight.dss-badge--dot,.dss-badge--slight-low.dss-badge--dot,.dss-badge--slight-high.dss-badge--dot{border-color:var(--color-yellow-900)}.dss-badge--correct.dss-badge--dot{border-color:var(--color-green-900)}.dss-badge--undetermined.dss-badge--dot,.dss-badge--undeterminated.dss-badge--dot{border-color:var(--color-neutral-900)}`;\nexport {\n  o as default\n};\n//# sourceMappingURL=badge.states.css.js.map\n","const s = \":host{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:200px}.dss-badge{width:auto;max-width:200px;height:20px;display:inline-flex;align-items:center;font-weight:var(--font-semibold);font-size:12px;line-height:16px;border:var(--dss-border-width-sm) solid var(--color-neutral-500);gap:var(--dss-spacing-xs);overflow:hidden;box-sizing:border-box}.dss-badge--dot{display:inline-block;padding:0;min-width:var(--dss-spacing-md);width:var(--dss-spacing-md);height:var(--dss-spacing-md);border-radius:100%;margin:auto}.dss-badge--dot>*{display:none;padding:0}.dss-badge--sm{border-radius:var(--dss-radius-xs);padding:var(--dss-spacing-tiny) var(--dss-spacing-xxs);height:20px;gap:var(--dss-spacing-xxs)}.dss-badge--md{border-radius:var(--dss-radius-xs);padding:var(--dss-spacing-xxs) var(--dss-spacing-xs);height:24px;gap:var(--dss-spacing-xxs)}.dss-badge--lg{font-size:14px;line-height:24px;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm);height:32px}.dss-badge--xl{font-size:16px;line-height:24px;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-xs) var(--dss-spacing-sm);height:40px}.dss-badge__icon{flex-shrink:0}.dss-badge__text{flex-grow:1;flex-shrink:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=badge.style.css.js.map\n","import { nothing as r } from \"lit\";\nimport { classMap as _ } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as i, literal as e, html as d } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as l } from \"../../api/custom-element-scope.js\";\nconst a = e`dss-icon${i(l())}`, t = e`dss-tooltip${i(l())}`, $ = (s) => {\n  const g = {\n    \"dss-badge\": !0,\n    [`dss-badge--${s._size}`]: !!s._size,\n    [`dss-badge--${s._state}`]: !!s._state && !s.outlined,\n    [`dss-badge--${s._state}-outlined`]: !!s._state && !s.outlined,\n    \"dss-badge--danger\": s._state === \"danger\",\n    \"dss-badge--danger-low\": s._state === \"danger-low\",\n    \"dss-badge--danger-high\": s._state === \"danger-high\",\n    \"dss-badge--moderate\": s._state === \"moderate\",\n    \"dss-badge--moderate-low\": s._state === \"moderate-low\",\n    \"dss-badge--moderate-high\": s._state === \"moderate-high\",\n    \"dss-badge--slight\": s._state === \"slight\",\n    \"dss-badge--slight-low\": s._state === \"slight-low\",\n    \"dss-badge--slight-high\": s._state === \"slight-high\",\n    \"dss-badge--correct\": s._state === \"correct\",\n    \"dss-badge--undeterminated\": s._state === \"undeterminated\",\n    \"dss-badge--critic\": s._state === \"critic\" && !s.outlined,\n    \"dss-badge--critical\": s._state === \"critical\" && !s.outlined,\n    \"dss-badge--critic-outlined\": s._state === \"critic\" && s.outlined,\n    \"dss-badge--critical-outlined\": s._state === \"critical\" && s.outlined,\n    \"dss-badge--alert\": s._state === \"alert\" && !s.outlined,\n    \"dss-badge--alert-outlined\": s._state === \"alert\" && s.outlined,\n    \"dss-badge--ideal\": s._state === \"ideal\" && !s.outlined,\n    \"dss-badge--ideal-outlined\": s._state === \"ideal\" && s.outlined,\n    \"dss-badge--info\": s._state === \"info\" && !s.outlined,\n    \"dss-badge--info-outlined\": s._state === \"info\" && s.outlined,\n    \"dss-badge--info-alt\": s._state === \"info-alt\" && !s.outlined,\n    \"dss-badge--info-alt-outlined\": s._state === \"info-alt\" && s.outlined,\n    \"dss-badge--neutral\": s._state === \"neutral\" && !s.outlined,\n    \"dss-badge--neutral-outlined\": s._state === \"neutral\" && s.outlined,\n    \"dss-badge--disabled\": s.disabled,\n    \"dss-badge--dot\": s.dot\n  };\n  return d`\n\t\t<div class=\"${_(g)}\">\n\n\t\t\t${s.hideIcon && s._isInformativeState() ? r : d`\n\t\t\t\t\t<${a} \n\t\t\t\t\t\tclass=\"dss-badge-button__icon\" \n\t\t\t\t\t\ticon=\"${s._icon}\" \n\t\t\t\t\t\tsize=\"${s._iconSize}\" \n\t\t\t\t\t\t?fill=\"${s._iconFill}\">\n\t\t\t\t\t</${a}>\n\t\t\t\t`}\n\t\t\t<span class=\"dss-badge__text\">${s.text}</span>\n\t\t\t${s._isTextTruncated ? d`<${t} ?forceViewport=\"${s.forceViewport}\" position=\"${s.tooltipPosition}\">${s.text}</${t}>` : d`<slot name=\"tooltip\"></slot>`}\n\t\t</div>\t\n  `;\n};\nexport {\n  $ as template\n};\n//# sourceMappingURL=badge.template.js.map\n","import { LitElement as p, unsafeCSS as a } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport _ from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport u from \"./badge.states.css.js\";\nimport f from \"./badge.style.css.js\";\nimport { template as m } from \"./badge.template.js\";\nvar y = Object.defineProperty, g = Object.getOwnPropertyDescriptor, s = (l, t, e, c) => {\n  for (var r = c > 1 ? void 0 : c ? g(t, e) : t, h = l.length - 1, d; h >= 0; h--)\n    (d = l[h]) && (r = (c ? d(t, e, r) : d(r)) || r);\n  return c && r && y(t, e, r), r;\n};\nclass o extends p {\n  constructor() {\n    super(...arguments), this.text = \"\", this.disabled = !1, this.outlined = !1, this.dot = !1, this.hideIcon = !1, this.tooltipPosition = \"top\", this.width = void 0, this.forceViewport = !1, this._icon = \"warning\", this._iconSize = \"sm\", this._iconFill = !1, this._size = \"sm\", this._state = \"\", this._isIconDefined = !1, this._isFirstUpdated = !0, this._isTextTruncated = !1;\n  }\n  static get styles() {\n    return [a(_), a(f), a(u)];\n  }\n  get _tooltip() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"tooltip\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set icon(t) {\n    const e = this._icon;\n    this._icon = t, this._isIconDefined = !0, this.requestUpdate(\"icon\", e);\n  }\n  get icon() {\n    return this._icon;\n  }\n  set size(t) {\n    const e = this._size;\n    this._size = t, t === \"xl\" ? this._iconSize = \"md\" : this._iconSize = \"sm\", this.requestUpdate(\"size\", e);\n  }\n  get size() {\n    return this._size;\n  }\n  set state(t) {\n    const e = this._state;\n    this._state = t, this._generateDefaultIcon(t), this.requestUpdate(\"state\", e);\n  }\n  get state() {\n    return this._state;\n  }\n  async firstUpdated() {\n    var t;\n    if (await this.updateComplete, this.width) {\n      const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-badge\");\n      e && (e.style.width = this.width);\n    }\n    this._tooltip && setTimeout(() => {\n      this._tooltip.updateTooltip();\n    }, 200), this._checkTextTruncated(), this._isFirstUpdated = !1;\n  }\n  willUpdate(t) {\n    !this._isFirstUpdated && t.has(\"text\") && this._checkTextTruncated(), !this._isFirstUpdated && t.has(\"state\") && (this._iconFill = !1, this._generateDefaultIcon(this.state));\n  }\n  _checkTextTruncated() {\n    var e;\n    const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(\".dss-badge__text\");\n    t && (this._isTextTruncated = t.scrollWidth > t.offsetWidth, this.requestUpdate());\n  }\n  _updateIconFill(t) {\n    this._iconFill = !t.includes(\"low\") || t === \"correct\";\n  }\n  _generateDefaultIcon(t) {\n    t && !this._isIconDefined && (t.includes(\"danger\") ? (this._icon = \"warning\", this._updateIconFill(t)) : t.includes(\"moderate\") ? (this._icon = \"emergency_home\", this._updateIconFill(t)) : t.includes(\"slight\") ? (this._icon = \"error\", this._updateIconFill(t)) : t.includes(\"correct\") ? (this._icon = \"check_circle\", this._updateIconFill(t)) : t.includes(\"undeterminated\") ? this._icon = \"circle\" : t.includes(\"undetermined\") ? this._icon = \"circle\" : t.includes(\"critic\") ? this._icon = \"cancel\" : t.includes(\"alert\") ? this._icon = \"report\" : t.includes(\"ideal\") ? this._icon = \"check_circle\" : t.includes(\"info\") ? this._icon = \"info\" : t.includes(\"neutral\") && (this._icon = \"circle\"));\n  }\n  _isInformativeState() {\n    return [\"ideal\", \"critical\", \"critic\", \"alert\", \"info\", \"info-alt\", \"neutral\"].includes(this._state);\n  }\n  render() {\n    return m(this);\n  }\n}\ns([\n  i({ type: String })\n], o.prototype, \"icon\", 1);\ns([\n  i({ type: String })\n], o.prototype, \"size\", 1);\ns([\n  i({ type: String })\n], o.prototype, \"text\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"state\", 1);\ns([\n  i(n)\n], o.prototype, \"disabled\", 2);\ns([\n  i(n)\n], o.prototype, \"outlined\", 2);\ns([\n  i(n)\n], o.prototype, \"dot\", 2);\ns([\n  i(n)\n], o.prototype, \"hideIcon\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"tooltipPosition\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"width\", 2);\ns([\n  i(n)\n], o.prototype, \"forceViewport\", 2);\nexport {\n  o as Badge\n};\n//# sourceMappingURL=badge.js.map\n","const r = ':host{display:block}.dss-breadcrumb-bar{display:flex;align-items:center;width:100%;gap:var(--dss-spacing-lg);height:32px;padding:var(--dss-spacing-xxs) var(--dss-spacing-lg);background-color:var(--color-neutral-50);font-family:var(--font-family)}.dss-breadcrumb{flex:1;display:flex;align-items:center;width:100%;gap:0;height:-moz-fit-content;height:fit-content}.dss-breadcrumb__list{flex:1;display:flex;align-items:center;width:100%;gap:var(--dss-spacing-xl);height:-moz-fit-content;height:fit-content}.dss-breadcrumb__item{position:relative;font-size:14px;cursor:default;color:var(--color-neutral-700);font-weight:var(--font-semibold)}.dss-breadcrumb__item+.dss-breadcrumb__item.dss-breadcrumb__item:before{content:\"chevron_right\";position:absolute;top:50%;left:-24px;transform:translateY(-50%);color:var(--color-neutral-700);font-family:var(--icon-font);font-size:var(--icon-size-sm);font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased;font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24}.dss-breadcrumb__link{cursor:pointer;color:var(--color-primary-500);display:flex;align-self:center;text-decoration:none}.dss-breadcrumb__link:hover{color:var(--color-primary-600);transition:color .3s linear}.dss-breadcrumb__link:focus-visible{outline:4px solid var(--color-blue-200);border-radius:4px}.dss-breadcrumb__link:active{color:var(--color-primary-400)}.dss-breadcrumb__actions{display:flex;align-items:center}';\nexport {\n  r as default\n};\n//# sourceMappingURL=breadcrumb-bar.style.css.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction*oo(o,f){if(void 0!==o){let i=0;for(const t of o)yield f(t,i++)}}export{oo as map};\n//# sourceMappingURL=map.js.map\n","import { html as a } from \"lit\";\nimport { map as d } from \"lit/directives/map.js\";\nconst i = (r) => a`\n    <div class=\"dss-breadcrumb-bar\">\n\n      <nav class=\"dss-breadcrumb\" aria-label=\"Ruta de pàgina\">\n        <ol class=\"dss-breadcrumb__list\">\n        ${d(r.items, (s, l) => {\n  const e = l === r.items.length - 1;\n  return a`\n              <li class=\"dss-breadcrumb__item\">\n              ${e ? a`\n                  <span\n                    class=\"dss-breadcrumb__current\"\n                    aria-current=\"page\"\n                  >\n                    ${s.label}\n                  </span>\n                ` : a`\n                  <a\n                    class=\"dss-breadcrumb__link\"\n                    href=\"${s.href || \"#\"}\"\n                    @click=\"${(c) => r.handleItemClick(c, s)}\"\n                    title=\"${s.label}\"\n                  >\n                    ${s.label}\n                  </a>\n                `}\n              </li>\n            `;\n})}\n        </ol>\n      </nav>\n\n      <div class=\"dss-breadcrumb__actions\">\n        <slot></slot>  \n      </div>\n    </div>\n  `;\nexport {\n  i as template\n};\n//# sourceMappingURL=breadcrumb-bar.template.js.map\n","import { LitElement as p, unsafeCSS as n } from \"lit\";\nimport { property as a } from \"lit/decorators.js\";\nimport l from \"../../shared/reset.style.css.js\";\nimport u from \"./breadcrumb-bar.style.css.js\";\nimport { template as f } from \"./breadcrumb-bar.template.js\";\nvar c = Object.defineProperty, d = (s, t, r, o) => {\n  for (var e = void 0, m = s.length - 1, i; m >= 0; m--)\n    (i = s[m]) && (e = i(t, r, e) || e);\n  return e && c(t, r, e), e;\n};\nclass v extends p {\n  constructor() {\n    super(...arguments), this.items = [];\n  }\n  static get styles() {\n    return [n(l), n(u)];\n  }\n  handleItemClick(t, r) {\n    var o;\n    t.preventDefault(), (o = t.currentTarget) == null || o.blur(), this.dispatchEvent(new CustomEvent(\"onItemClick\", { detail: r.href, bubbles: !0, composed: !0 }));\n  }\n  render() {\n    return f(this);\n  }\n}\nd([\n  a({ type: Array })\n], v.prototype, \"items\");\nexport {\n  v as BreadcrumbBar\n};\n//# sourceMappingURL=breadcrumb-bar.js.map\n","const o = \":host{display:inline-block;vertical-align:middle;--btn-primary-bg: var(--color-primary-500);--btn-primary-hover-bg: var(--color-primary-600);--btn-primary-active-bg: var(--color-primary-400);--btn-primary-disabled-bg: var(--color-neutral-100);--btn-primary-text-color: var(--color-white);--btn-primary-disabled-text-color: var(--color-neutral-600);--btn-secondary-bg: var(--color-white);--btn-secondary-border-color: var(--color-primary-500);--btn-secondary-hover-border-color: var(--color-primary-600);--btn-secondary-hover-bg: var(--color-primary-50);--btn-secondary-active-border-color: var(--color-primary-400);--btn-secondary-disabled-border-color: var(--color-neutral-500);--btn-subtle-bg: transparent;--btn-subtle-hover-bg: var(--color-primary-50);--btn-subtle-disabled-bg: var(--color-white);--btn-subtle-text-color: var(--color-primary-500);--btn-subtle-hover-text-color: var(--color-primary-600);--btn-subtle-active-text-color: var(--color-primary-400);--btn-subtle-disabled-text-color: var(--color-neutral-500)}.dss-button{border-radius:128px;border:none;cursor:pointer;font-family:var(--font-family);font-weight:var(--font-semibold);display:flex;align-items:center;transition:.3s all ease-in;width:-moz-fit-content;width:fit-content;height:32px;box-sizing:border-box;white-space:nowrap}.dss-button:not(.dss-button--full-width){max-width:280px;overflow:hidden}.dss-button:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-button:disabled{background:var(--color-neutral-100);color:var(--color-neutral-600);cursor:not-allowed}.dss-button:active:enabled{transition:none}.dss-button--full-width{width:100%;justify-content:center}.dss-button-icon{display:flex;align-items:center;justify-content:space-between}.dss-button-icon .dss-icon,.dss-button-icon .dss-icon .path1:before,.dss-button-icon .dss-icon .path2:before{color:inherit}.dss-button--primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text-color)}.dss-button--primary:hover:enabled{background-color:var(--btn-primary-hover-bg)}.dss-button--primary:active:enabled{background-color:var(--btn-primary-active-bg)}.dss-button--primary:disabled{background-color:var(--btn-primary-disabled-bg);color:var(--btn-primary-disabled-text-color);cursor:not-allowed}.dss-button--secondary{background-color:var(--color-white);border:var(--dss-border-width-sm) solid var(--btn-secondary-border-color);color:var(--btn-secondary-border-color)}.dss-button--secondary:hover:enabled{background-color:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border-color);color:var(--btn-secondary-hover-border-color)}.dss-button--secondary:active:enabled{background-color:var(--color-white);border:var(--dss-border-width-sm) solid var(--btn-secondary-active-border-color);color:var(--btn-secondary-active-border-color)}.dss-button--secondary:focus-visible{border-color:transparent;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-button--secondary:disabled{background:var(--color-white);border-color:var(--btn-secondary-disabled-border-color);color:var(--btn-secondary-disabled-border-color);cursor:not-allowed}.dss-button--subtle{background:var(--btn-subtle-bg);color:var(--btn-subtle-text-color)}.dss-button--subtle:hover:enabled{background-color:var(--btn-subtle-hover-bg);color:var(--btn-subtle-hover-text-color)}.dss-button--subtle:active:enabled{background:var(--btn-subtle-bg);color:var(--btn-subtle-active-text-color)}.dss-button--subtle:disabled{cursor:not-allowed;background:var(--btn-subtle-disabled-bg);color:var(--btn-subtle-disabled-text-color)}.dss-button--danger,.dss-button--error{background-color:var(--color-red-500);color:var(--color-white)}.dss-button--danger:hover:enabled,.dss-button--error:hover:enabled{background-color:var(--color-red-600)}.dss-button--danger:active:enabled,.dss-button--error:active:enabled{background-color:var(--color-red-400)}.dss-button--danger:disabled,.dss-button--error:disabled{background:var(--color-neutral-100);color:var(--color-neutral-600);cursor:not-allowed}.dss-button--warning{color:var(--color-yellow-900);background-color:var(--color-yellow-500)}.dss-button--warning:hover:enabled{background-color:var(--color-yellow-600)}.dss-button--warning:active:enabled{background-color:var(--color-yellow-400)}.dss-button--warning:disabled{background:var(--color-neutral-100);color:var(--color-neutral-600);cursor:not-allowed}.dss-button--success{background-color:var(--color-green-500);color:var(--color-white)}.dss-button--success:hover:enabled{background-color:var(--color-green-600)}.dss-button--success:active:enabled{background-color:var(--color-green-400)}.dss-button--success:disabled{background:var(--color-neutral-100);color:var(--color-neutral-600);cursor:not-allowed}.dss-button--info{background-color:var(--color-blue-500);color:var(--color-white)}.dss-button--info:hover:enabled{background-color:var(--color-blue-600)}.dss-button--info:active:enabled{background-color:var(--color-blue-400)}.dss-button--info:disabled{background:var(--color-neutral-100);color:var(--color-neutral-600);cursor:not-allowed}.dss-button--alternative-light{background-color:transparent;border:var(--dss-border-width-sm) solid var(--color-white);color:var(--color-white)}.dss-button--alternative-light:hover:enabled{background-color:var(--color-neutral-50);border:var(--dss-border-width-sm) solid var(--color-neutral-700);color:var(--color-neutral-700)}.dss-button--alternative-light:active:enabled{background-color:transparent;border:var(--dss-border-width-sm) solid var(--color-neutral-200);color:var(--color-neutral-200)}.dss-button--alternative-light:focus-visible{background-color:transparent;border-color:transparent;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-button--alternative-light:disabled{background-color:transparent;border:var(--dss-border-width-sm) solid var(--color-neutral-500);color:var(--color-neutral-500);cursor:not-allowed}.dss-button--alternative-dark{background-color:transparent;border:var(--dss-border-width-sm) solid var(--color-neutral-700);color:var(--color-neutral-700)}.dss-button--alternative-dark:hover:enabled{background-color:var(--color-neutral-50);border:var(--dss-border-width-sm) solid var(--color-neutral-700);color:var(--color-neutral-700)}.dss-button--alternative-dark:active:enabled{background-color:transparent;border:var(--dss-border-width-sm) solid var(--color-neutral-600);color:var(--color-neutral-600)}.dss-button--alternative-dark:focus-visible{background-color:transparent;border-color:transparent;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-button--alternative-dark:disabled{background-color:transparent;border:var(--dss-border-width-sm) solid var(--color-neutral-500);color:var(--color-neutral-500);cursor:not-allowed}.dss-button--link{background-color:transparent;color:var(--color-primary-500)}.dss-button--link .dss-button-text{text-decoration:underline}.dss-button--link:hover:enabled{background-color:var(--color-primary-50);color:var(--color-primary-600)}.dss-button--link:active:enabled{background-color:transparent;color:var(--color-primary-400)}.dss-button--link:disabled{background-color:transparent;color:var(--color-neutral-500);cursor:not-allowed}.dss-button--primary-danger{--btn-primary-bg: var(--color-red-500);--btn-primary-hover-bg: var(--color-red-600);--btn-primary-active-bg: var(--color-red-400)}.dss-button--primary-warning{--btn-primary-bg: var(--color-yellow-500);--btn-primary-hover-bg: var(--color-yellow-600);--btn-primary-active-bg: var(--color-yellow-400);--btn-primary-text-color: var(--color-yellow-900)}.dss-button--primary-success{--btn-primary-bg: var(--color-green-500);--btn-primary-hover-bg: var(--color-green-600);--btn-primary-active-bg: var(--color-green-400)}.dss-button--primary-info{--btn-primary-bg: var(--color-blue-500);--btn-primary-hover-bg: var(--color-blue-600);--btn-primary-active-bg: var(--color-blue-400)}.dss-button--secondary-danger{--btn-secondary-border-color: var(--color-red-500);--btn-secondary-hover-border-color: var(--color-red-600);--btn-secondary-hover-bg: var(--color-red-50);--btn-secondary-active-border-color: var(--color-red-400)}.dss-button--secondary-warning{--btn-secondary-border-color: var(--color-yellow-800);--btn-secondary-hover-border-color: var(--color-yellow-900);--btn-secondary-hover-bg: var(--color-yellow-50);--btn-secondary-active-border-color: var(--color-yellow-700)}.dss-button--secondary-success{--btn-secondary-border-color: var(--color-green-500);--btn-secondary-hover-border-color: var(--color-green-600);--btn-secondary-hover-bg: var(--color-green-50);--btn-secondary-active-border-color: var(--color-green-400)}.dss-button--secondary-info{--btn-secondary-border-color: var(--color-blue-700);--btn-secondary-hover-border-color: var(--color-blue-800);--btn-secondary-hover-bg: var(--color-blue-50);--btn-secondary-active-border-color: var(--color-blue-800)}.dss-button--subtle-danger{--btn-subtle-hover-bg: var(--color-red-50);--btn-subtle-text-color: var(--color-red-500);--btn-subtle-hover-text-color: var(--color-red-600);--btn-subtle-active-text-color: var(--color-red-400)}.dss-button--subtle-warning{--btn-subtle-hover-bg: var(--color-yellow-50);--btn-subtle-text-color: var(--color-yellow-800);--btn-subtle-hover-text-color: var(--color-yellow-900);--btn-subtle-active-text-color: var(--color-yellow-700)}.dss-button--subtle-success{--btn-subtle-hover-bg: var(--color-green-50);--btn-subtle-text-color: var(--color-green-500);--btn-subtle-hover-text-color: var(--color-green-600);--btn-subtle-active-text-color: var(--color-green-400)}.dss-button--subtle-info{--btn-subtle-hover-bg: var(--color-blue-50);--btn-subtle-text-color: var(--color-blue-700);--btn-subtle-hover-text-color: var(--color-blue-800);--btn-subtle-active-text-color: var(--color-blue-800)}.dss-button--sm{padding:var(--dss-spacing-xxs) var(--dss-spacing-sm);font-size:12px;line-height:16px;height:24px}.dss-button--sm.dss-button--icon-left{padding:var(--dss-spacing-xxs) var(--dss-spacing-sm) var(--dss-spacing-xxs) var(--dss-spacing-xs)}.dss-button--sm.dss-button--icon-right{padding:var(--dss-spacing-xxs) var(--dss-spacing-xs) var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-button--sm.dss-button--icon-right>[class^=material-],.dss-button--sm.dss-button--icon-right>.dss-icon{margin-left:var(--dss-spacing-xxs);font-size:16px}.dss-button--sm.dss-button--icon-left>[class^=material-],.dss-button--sm.dss-button--icon-left>.dss-icon{margin-right:var(--dss-spacing-xxs);font-size:16px}.dss-button--sm.dss-button--only-icon{height:24px;width:24px;padding:var(--dss-spacing-xxs);font-size:16px}.dss-button--md{padding:var(--dss-spacing-xxs) var(--dss-spacing-md) var(--dss-spacing-xxs) var(--dss-spacing-md);font-size:14px;line-height:24px}.dss-button--md.dss-button--icon-left{padding:var(--dss-spacing-xxs) var(--dss-spacing-md) var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-button--md.dss-button--icon-right{padding:var(--dss-spacing-xxs) var(--dss-spacing-sm) var(--dss-spacing-xxs) var(--dss-spacing-md)}.dss-button--md.dss-button--icon-right>[class^=material-],.dss-button--md.dss-button--icon-right>.dss-icon{margin-left:var(--dss-spacing-xxs);font-size:16px}.dss-button--md.dss-button--icon-left>[class^=material-],.dss-button--md.dss-button--icon-left>.dss-icon{margin-right:var(--dss-spacing-xxs);font-size:16px}.dss-button--md.dss-button--only-icon{padding:var(--dss-spacing-xs);font-size:16px;height:32px;width:32px}.dss-button--lg{padding:var(--dss-spacing-xs) var(--dss-spacing-lg);font-size:16px;line-height:24px;height:40px}.dss-button--lg.dss-button--icon-left{padding:var(--dss-spacing-xs) var(--dss-spacing-lg) var(--dss-spacing-xs) var(--dss-spacing-md)}.dss-button--lg.dss-button--icon-right{padding:var(--dss-spacing-xs) var(--dss-spacing-md) var(--dss-spacing-xs) var(--dss-spacing-lg)}.dss-button--lg.dss-button--icon-right>[class^=material-],.dss-button--lg.dss-button--icon-right>.dss-icon{margin-left:var(--dss-spacing-xs);font-size:24px}.dss-button--lg.dss-button--icon-left>[class^=material-],.dss-button--lg.dss-button--icon-left>.dss-icon{margin-right:var(--dss-spacing-xs);font-size:24px}.dss-button--lg.dss-button--only-icon{padding:var(--dss-spacing-xs);font-size:24px;height:40px;width:40px}.dss-button--icon-left{flex-direction:row}.dss-button--icon-right{flex-direction:row-reverse}.dss-button[hidden]{display:none}.dss-button-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dss-button .dss-button__tooltip{white-space:wrap}.dss-button:not(.dss-button--only-icon) .dss-button__tooltip{opacity:0;visibility:hidden}.dss-button[data-truncated=true]:hover .dss-button__tooltip{opacity:1;visibility:visible}.dss-button--loading{position:relative;pointer-events:none}.dss-button--loading .dss-icon,.dss-button--loading .dss-button-text{visibility:hidden}.dss-button-loading-icon{display:none}.dss-button--loading .dss-button-loading-icon{display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=button.style.css.js.map\n","import { classMap as u } from \"lit/directives/class-map.js\";\nimport { ifDefined as $ } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as t, literal as d, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as o } from \"../../api/custom-element-scope.js\";\nconst l = d`dss-icon${t(o())}`, a = d`dss-tooltip${t(o())}`, n = (i) => s`\n  <button\n    type=${i.type}\n    class=${u({\n  \"dss-button\": !0,\n  \"dss-button--full-width\": !!i.fullWidth,\n  [`dss-button--${i.variant}`]: !!i.variant,\n  [`dss-button--${i.variant}-${i.status}`]: !!i.variant && i.status !== \"default\",\n  [`dss-button--${i.size}`]: !!i.size,\n  \"dss-button--icon-left\": !!i.icon && !i.onlyIcon && i.iconPosition === \"left\",\n  \"dss-button--icon-right\": !!i.icon && !i.onlyIcon && i.iconPosition === \"right\",\n  \"dss-button--only-icon\": !!i.onlyIcon,\n  \"dss-button--loading\": !!i.loading\n})}\n    aria-label=\"${i.label}\"\n\t\taria-busy=\"${$(i.loading ? \"true\" : void 0)}\"\n    ?disabled=${i.disabled}\n    ?hidden=${i.hidden}\n    @click=${i._handleClick}\n\t  @mouseenter=${i.checkTextTruncate}\n  >\n    ${i.icon ? s`\n          <${l}\n\t\t\t\t\t\tclass=\"dss-icon\"\n            size=${i._getIconSize()}\n            icon=${i.icon}\n            ></${l}>\n        ` : null}\n    ${i.onlyIcon ? null : s`\n\t\t\t\t\t<span class=\"dss-button-text\">\n\t\t\t\t\t\t${i.label}\n\t\t\t\t\t</span>\n        `}\n\n\t\t${i.loading ? s`\n          <${l}\n\t\t\t\t\t\tclass=\"dss-button-loading-icon\"\n            size=${i._getIconSize()}\n            icon=${i.loadingIcon}\n\t\t\t\t\t\tspin\n\t\t\t\t\t\taria-hidden=\"true\"\n            ></${l}>\n        ` : null}\n\t\t\n\t\t<${a} \n\t\t\tclass=\"dss-button__tooltip\" \n\t\t\tposition=\"${i.tooltipPosition}\"\n\t\t\t?forceViewport=\"${i.forceViewport}\" \n\t\t\t?tooltipFixed=\"${i.tooltipFixed}\" \n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t${i.label}\n\t\t</${a}>\n  </button>\n`;\nexport {\n  n as template\n};\n//# sourceMappingURL=button.template.js.map\n","import { LitElement as f, unsafeCSS as d } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport h from \"../../shared/reset.style.css.js\";\nimport { booleanType as s } from \"../../utils/property-types.js\";\nimport u from \"./button.style.css.js\";\nimport { template as c } from \"./button.template.js\";\nvar m = Object.defineProperty, e = (l, i, p, n) => {\n  for (var r = void 0, a = l.length - 1, y; a >= 0; a--)\n    (y = l[a]) && (r = y(i, p, r) || r);\n  return r && m(i, p, r), r;\n};\nclass o extends f {\n  constructor() {\n    super(...arguments), this.type = \"button\", this.variant = \"primary\", this.status = \"default\", this.label = \"\", this.icon = void 0, this.iconPosition = \"left\", this.disabled = !1, this.hidden = !1, this.onlyIcon = !1, this.fullWidth = !1, this.size = \"md\", this.tooltipFixed = !1, this.loading = !1, this.forceViewport = !1, this.tooltipPosition = \"top\", this.loadingIcon = \"progress_activity\";\n  }\n  static get styles() {\n    return [d(h), d(u)];\n  }\n  _handleClick() {\n    if (this.disabled || this.loading) return;\n    const i = this.closest(\"form\");\n    this.type === \"submit\" && i ? i.requestSubmit() : this.type === \"reset\" && i && i.reset(), this.dispatchEvent(new CustomEvent(\"onClick\", { bubbles: !0, composed: !0 }));\n  }\n  _getIconSize() {\n    return this.size === \"lg\" ? \"md\" : \"sm\";\n  }\n  checkTextTruncate(i) {\n    if (!i) return;\n    const p = i.target;\n    let n = !1;\n    if (this.onlyIcon)\n      n = !0;\n    else {\n      const r = p.querySelector(\".dss-button-text\");\n      n = r.scrollWidth > r.offsetWidth;\n    }\n    p.setAttribute(\"data-truncated\", n.toString());\n  }\n  render() {\n    return c(this);\n  }\n}\ne([\n  t({ type: String })\n], o.prototype, \"type\");\ne([\n  t({ type: String })\n], o.prototype, \"variant\");\ne([\n  t({ type: String })\n], o.prototype, \"status\");\ne([\n  t({ type: String })\n], o.prototype, \"label\");\ne([\n  t({ type: String })\n], o.prototype, \"icon\");\ne([\n  t({ type: String })\n], o.prototype, \"iconPosition\");\ne([\n  t(s)\n], o.prototype, \"disabled\");\ne([\n  t(s)\n], o.prototype, \"hidden\");\ne([\n  t(s)\n], o.prototype, \"onlyIcon\");\ne([\n  t(s)\n], o.prototype, \"fullWidth\");\ne([\n  t({ type: String })\n], o.prototype, \"size\");\ne([\n  t(s)\n], o.prototype, \"tooltipFixed\");\ne([\n  t(s)\n], o.prototype, \"loading\");\ne([\n  t(s)\n], o.prototype, \"forceViewport\");\ne([\n  t({ type: String })\n], o.prototype, \"tooltipPosition\");\nexport {\n  o as Button\n};\n//# sourceMappingURL=button.js.map\n","const o = ':host{display:inline-block;vertical-align:middle}.dss-icon-button{position:relative;background-color:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s all ease-in;width:24px;height:24px;font-size:var(--icon-size-md)}.dss-icon-button .dss-icon-button__icon{z-index:100}.dss-icon-button:before{content:\"\";position:absolute;top:50%;left:50%;width:32px;height:32px;background-color:transparent;border-radius:100%;transform:translate(-50%,-50%);transition:.3s all ease-in;z-index:0}.dss-icon-button--sm{height:16px;width:16px;font-size:var(--icon-size-sm)}.dss-icon-button.dss-icon-button--sm:before{width:24px;height:24px}.dss-icon-button--lg{height:32px;width:32px;font-size:var(--icon-size-lg)}.dss-icon-button.dss-icon-button--lg:before{width:40px;height:40px}.dss-icon-button:disabled{cursor:not-allowed;color:var(--color-neutral-400)}.dss-icon-button[hidden]{display:none}.dss-icon-button:focus-visible:enabled{outline:0}.dss-icon-button:focus-visible:enabled:before{outline:var(--dss-spacing-xxs) solid var(--color-blue-200);transition:none}.dss-icon-button--neutral,.dss-icon-button--default{color:var(--color-neutral-700)}.dss-icon-button--neutral:hover:enabled:before,.dss-icon-button--default:hover:enabled:before{background-color:var(--color-neutral-100)}.dss-icon-button--neutral:active:enabled:before,.dss-icon-button--default:active:enabled:before{background-color:var(--color-neutral-50);transition:none}.dss-icon-button--white-default,.dss-icon-button--ghost{color:var(--color-white);transition:none}.dss-icon-button--white-default:hover:enabled:before,.dss-icon-button--ghost:hover:enabled:before{background-color:var(--color-white);opacity:.4}.dss-icon-button--white-default:active:enabled:before,.dss-icon-button--ghost:active:enabled:before{background-color:var(--color-white);opacity:.2}.dss-icon-button--ghost:disabled,.dss-icon-button--white-default:disabled{opacity:.7;color:var(--color-white)}.dss-icon-button--primary{color:var(--color-primary-700)}.dss-icon-button--primary:hover:enabled:before{background-color:var(--color-primary-100)}.dss-icon-button--primary:active:enabled:before{background-color:var(--color-primary-50);transition:none}.dss-icon-button--danger,.dss-icon-button--error{color:var(--color-red-700)}.dss-icon-button--danger:hover:enabled:before,.dss-icon-button--error:hover:enabled:before{background-color:var(--color-red-100)}.dss-icon-button--danger:active:enabled:before,.dss-icon-button--error:active:enabled:before{background-color:var(--color-red-50)}.dss-icon-button--warning{color:var(--color-yellow-800)}.dss-icon-button--warning:hover:enabled:before{background-color:var(--color-yellow-100)}.dss-icon-button--warning:active:enabled:before{background-color:var(--color-yellow-50)}.dss-icon-button--success{color:var(--color-green-700)}.dss-icon-button--success:hover:enabled:before{background-color:var(--color-green-100)}.dss-icon-button--success:active:enabled:before{background-color:var(--color-green-50)}.dss-icon-button--info{color:var(--color-blue-700)}.dss-icon-button--info:hover:enabled:before{background-color:var(--color-blue-100)}.dss-icon-button--info:active:enabled:before{background-color:var(--color-blue-50)}.dss-icon-button--orange{color:var(--color-orange-700)}.dss-icon-button--orange:hover:enabled:before{background-color:var(--color-orange-100)}.dss-icon-button--orange:active:enabled:before{background-color:var(--color-orange-50)}.dss-icon-button.dss-icon-button--orange:focus-visible:enabled:before{outline:var(--dss-spacing-xxs) solid var(--color-orange-200)}.dss-icon-button--purple{color:var(--color-purple-500)}.dss-icon-button--purple:hover:enabled:before{background-color:var(--color-purple-100)}.dss-icon-button--purple:active:enabled:before{background-color:var(--color-purple-50)}.dss-icon-button.dss-icon-button--purple:focus-visible:enabled:before{outline:var(--dss-spacing-xxs) solid var(--color-purple-200)}';\nexport {\n  o as default\n};\n//# sourceMappingURL=icon-button.style.css.js.map\n","const e = ':host{display:inline-block;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.calendar__container{position:relative;background:#fff;box-shadow:var(--dss-elevation-md);margin-bottom:var(--dss-spacing-xxs);border-radius:var(--dss-radius-sm)}.calendar__container--standalone{box-shadow:none;margin-bottom:0}.calendar__content{padding:var(--dss-spacing-md);border-radius:8px 8px 0 0}.calendar__content--buttons{border-top:var(--dss-border-width-sm) solid var(--color-neutral-100)}.calendar__content:last-child{border-radius:0 0 8px 8px;box-shadow:none}.calendar__header{display:flex;justify-content:space-between;align-items:center;gap:var(--dss-spacing-xs);margin-bottom:16px}.calendar__header-item{display:flex;justify-content:center;align-items:center;gap:var(--dss-spacing-xs)}.calendar__header-item--click{font-weight:var(--font-semibold);color:var(--color-neutral-900);border-radius:var(--dss-radius-xs);padding:var(--dss-spacing-xxs);cursor:pointer}.calendar__header-item--click:hover{background-color:var(--color-primary-100)}.calendar__header-item--click:active{background-color:var(--color-primary-50)}.calendar__header-item--click:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.calendar__header-item--click:disabled{cursor:not-allowed;color:var(--color-neutral-500)}.calendar__header-buttons .dss-icon-button.dss-icon-button--lg,.calendar-selector--year .dss-icon-button.dss-icon-button--lg{width:32px;height:32px;box-sizing:border-box}.calendar__header-title{margin:auto;font-family:var(--font-family);font-style:normal;font-weight:600;font-size:16px;line-height:24px;color:#414141}.calendar__days-content{display:flex;flex-direction:column;gap:var(--dss-spacing-xxs)}.calendar__week-names,.calendar__days{list-style-type:none;padding:0;margin:0;gap:var(--dss-spacing-xxs);display:grid;grid-template-columns:repeat(7,1fr)}.calendar__week-names>li{text-align:center}.calendar__day-item{box-sizing:border-box;position:relative;height:32px;width:32px;display:flex;justify-content:center;align-items:center;background-color:transparent;border:none;z-index:999;border-radius:100%;cursor:pointer;font-size:14px;font-family:var(--font-family);font-weight:var(--font-semibold);line-height:24px;color:var(--color-neutral-900)}.calendar__day-item:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.calendar__day-item--empty{cursor:default}.calendar__day-item--green:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end){background-color:var(--color-green-200);color:var(--color-neutral-900)}.calendar__day-item--green:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end):hover:not(.calendar__day-item--selected){background-color:var(--color-green-300)!important;color:var(--color-neutral-900)!important}.calendar__day-item--green:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end):active:not(.calendar__day-item--selected){background-color:var(--color-green-100)!important;color:var(--color-neutral-900)!important}.calendar__day-item--green:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end).calendar__day-item--selected{color:var(--color-white)!important}.calendar__day-item--red:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end){background-color:var(--color-red-200);color:var(--color-neutral-900)}.calendar__day-item--red:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end):hover:not(.calendar__day-item--selected){background-color:var(--color-red-300)!important;color:var(--color-neutral-900)!important}.calendar__day-item--red:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end):active:not(.calendar__day-item--selected){background-color:var(--color-red-100)!important;color:var(--color-neutral-900)!important}.calendar__day-item--red:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end).calendar__day-item--selected{color:var(--color-white)!important}.calendar__day-item--yellow:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end){background-color:var(--color-yellow-200);color:var(--color-neutral-900)}.calendar__day-item--yellow:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end):hover:not(.calendar__day-item--selected){background-color:var(--color-yellow-300)!important;color:var(--color-neutral-900)!important}.calendar__day-item--yellow:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end):active:not(.calendar__day-item--selected){background-color:var(--color-yellow-100)!important;color:var(--color-neutral-900)!important}.calendar__day-item--yellow:not(.calendar__day-item--active):not(.calendar__day-item--range):not(.calendar__day-item--selected-range-start):not(.calendar__day-item--selected-range-end).calendar__day-item--selected{color:var(--color-white)!important}.calendar__day-item--weekend{font-weight:var(--font-regular)}.calendar__day-item--range:before{position:absolute;content:\"\";top:0;bottom:0;left:-4px;right:-4px;background:var(--color-primary-100);z-index:-2}.calendar__day-item--range:hover{color:#fff!important}.calendar__day-item--range:hover:after{position:absolute;content:\"\";width:100%;height:100%;border-radius:100%;background:var(--color-primary-500);color:var(--color-white);z-index:-1}.calendar__day-item--active:not(.calendar__day-item--selected){color:var(--color-primary-700);box-shadow:inset 0 0 0 2px var(--color-primary-700)}.calendar__day-item:hover:enabled,.calendar__day-item--selected{background:var(--color-primary-500)!important;color:var(--color-white)}.calendar__day-item--selected-range-start,.calendar__day-item--selected-range-end{color:var(--color-white)}.calendar__day-item--selected-range-start.calendar__day-item--green,.calendar__day-item--selected-range-start.calendar__day-item--red,.calendar__day-item--selected-range-start.calendar__day-item--yellow,.calendar__day-item--selected-range-end.calendar__day-item--green,.calendar__day-item--selected-range-end.calendar__day-item--red,.calendar__day-item--selected-range-end.calendar__day-item--yellow{color:var(--color-white)!important}.calendar__day-item--selected-range-start:before,.calendar__day-item--selected-range-end:not(.calendar__day-item--selected-range-start):before{position:absolute;content:\"\";top:0;bottom:0;background:var(--color-primary-100);z-index:-2}.calendar__day-item--selected-range-start:after,.calendar__day-item--selected-range-end:not(.calendar__day-item--selected-range-start):after{position:absolute;content:\"\";width:100%;height:100%;border-radius:100%;background:var(--color-primary-500);color:#fff;z-index:-1}.calendar__day-item--selected-range-start:before{left:50%;right:-4px}.calendar__day-item--selected-range-end:not(.calendar__day-item--selected-range-start):before{left:-4px;right:50%}.calendar__day-item:not(.calendar__day-item--range-enabled):hover:enabled{transition:all .3s ease-in}.calendar__day-item.calendar__day-item--range-enabled:hover:enabled{transition:background .3s ease-in}.calendar__day-item:active:enabled{background:#308deb;transition:none}.calendar__day-item:disabled{pointer-events:none;opacity:.5}.calendar__time-container{display:flex;margin:auto;justify-content:center;align-items:center;gap:12px;font-weight:600;font-size:14px;line-height:24px;color:#1d1d1d}.calendar__time-content{display:flex;flex-direction:column;gap:8px;align-items:center}.calendar__buttons{display:flex;justify-content:center;align-items:center;gap:16px}.dss-datepicker__timepicker{position:relative;box-sizing:border-box;padding:var(--dss-spacing-xs) var(--dss-spacing-md) var(--dss-spacing-md)}.calendar-selector{position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;padding:var(--dss-spacing-md);background-color:var(--color-white);z-index:1000;border-radius:var(--dss-radius-sm)}.calendar-selector-title{font-size:16px;line-height:24px;font-weight:var(--font-semibold);margin-bottom:var(--dss-spacing-md)}.calendar-selector-title__actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--dss-spacing-xs)}.calendar-selector-title--years{display:flex;justify-content:space-between;align-items:center;gap:var(--dss-spacing-xs)}.calendar-selector-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--dss-spacing-xxs)}.calendar-selector-options--4col{grid-template-columns:repeat(4,1fr)}.calendar-selector-options__item{height:32px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:var(--font-semibold);text-transform:lowercase;text-align:center;color:var(--color-neutral-900);border-radius:var(--dss-radius-xs);overflow:hidden;cursor:pointer;padding:var(--dss-spacing-xxs) var(--dss-spacing-xs)}.calendar-selector-options__item--current:not(.calendar-selector-options__item--selected){color:var(--color-primary-700);border:var(--dss-border-width-md) solid var(--color-primary-700)}.calendar-selector-options__item--selected{background-color:var(--color-primary-500);color:var(--color-white)}.calendar-selector-options__item:hover{background-color:var(--color-primary-600);color:var(--color-white)}.calendar-selector-options__item:active{background-color:var(--color-primary-400);color:var(--color-white)}.calendar-selector-options__item:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.calendar-selector-options__item:disabled{cursor:not-allowed;color:var(--color-neutral-500)}';\nexport {\n  e as default\n};\n//# sourceMappingURL=calendar.style.css.js.map\n","import { classMap as x } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as o, literal as u, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as $ } from \"../../api/custom-element-scope.js\";\nimport { MONTH as D, WEEK as A } from \"./calendar.js\";\nconst S = u`dss-timepicker${o($())}`, c = u`dss-icon${o($())}`, d = u`dss-icon-button${o($())}`, _ = u`dss-button${o($())}`, L = (e) => {\n  var y, h, f, b;\n  return s`\n  <div\n    class=${x({\n    calendar__container: !0,\n    \"calendar__container--standalone\": e.standalone\n  })}\n    @keydown=\"${e._handleCalendarKeydown}\"\n  >\n    <div class=\"calendar__content\">\n      <div class=\"calendar__header\">\n        <div class=\"calendar__header-item calendar__header-selector\">\n          <div\n            id=\"firstCalendarElement\"\n            class=\"calendar__header-item calendar__header-item--click calendar__header-month\"\n            tabindex=\"0\"\n            role=\"button\"\n            @keydown=\"${e._onHeaderMonthKeyDown}\"\n            @click=\"${e._toggleMonthSelector}\"\n            aria-label=\"selecciona el mes, actualment ${D[e._currMonth]}\"\n          >\n            ${D[e._currMonth]}\n            <${c} icon=\"expand_more\" size=\"sm\"></${c}>\n          </div>\n          <div\n            class=\"calendar__header-item calendar__header-item--click calendar__header-year\"\n            tabindex=\"0\"\n            role=\"button\"\n            @keydown=\"${e._onHeaderYearKeyDown}\"\n            @click=${e._toggleYearSelector}\n            aria-label=\"selecciona l'any, actualment ${e._currYear}\"\n          >\n            ${e._currYear}\n            <${c} icon=\"expand_more\" size=\"sm\"></${c}>\n          </div>\n        </div>\n        <div class=\"calendar__header-item calendar__header-buttons\">\n          <${d} hideTooltip variant=\"primary\" icon=\"chevron_left\" label=\"Anterior\" @click=${e._prev}\n            ?disabled=${e._currMonth === ((y = e._minDate) == null ? void 0 : y.getMonth()) && e._currYear === ((h = e._minDate) == null ? void 0 : h.getFullYear())}>\n          </${d}>\n          <${d} hideTooltip variant=\"primary\" icon=\"chevron_right\" label=\"Següent\" @click=${e._next}\n            ?disabled=${e._currMonth === ((f = e._maxDate) == null ? void 0 : f.getMonth()) && e._currYear === ((b = e._maxDate) == null ? void 0 : b.getFullYear())}>\n          </${d}>\n        </div>\n      </div>\n\n      <div class=\"calendar__days-content\">\n        <ul class=\"calendar__week-names\">\n          ${A.map((t) => s`<li>${t}</li>`)}\n        </ul>\n        <div\n          class=\"calendar__days\"\n          @mouseleave=${e._removeRangeOverDate}\n        >\n          ${e._days.map((t) => {\n    if (!t)\n      return s`\n                <span class=\"calendar__day-item calendar__day-item--empty\" aria-hidden=\"true\"></span>\n              `;\n    const T = {\n      \"calendar__day-item--active\": e._isToday(t),\n      \"calendar__day-item--weekend\": e._isWeekend(t),\n      \"calendar__day-item--selected\": e._isSelected(t),\n      [`calendar__day-item--${e._getCustomType(t)}`]: !!e._getCustomType(t),\n      \"calendar__day-item--range\": e._isBetweenRange(t) || e._isBetweenRangeOnMouseOver(t),\n      \"calendar__day-item--selected-range-start\": e._isSelectedRangeStart(t),\n      \"calendar__day-item--selected-range-end\": e._isSelectedRangeEnd(t) || e._isOverRangeDate(t),\n      \"calendar__day-item--range-enabled\": e._range\n    }, R = (a) => {\n      const l = a.target;\n      if (a.key === \"ArrowUp\") {\n        a.preventDefault();\n        const r = k(l, -7);\n        r ? r.focus() : g();\n      }\n      if (a.key === \"ArrowDown\") {\n        a.preventDefault();\n        const r = k(l, 7);\n        r ? r.focus() : m();\n      }\n      if (a.key === \"ArrowRight\") {\n        a.preventDefault();\n        const r = l.nextElementSibling;\n        r ? r.focus() : m();\n      }\n      if (a.key === \"ArrowLeft\") {\n        a.preventDefault();\n        const r = B(l);\n        r ? r.focus() : g();\n      }\n    }, g = () => {\n      e._prev(), setTimeout(() => {\n        var i;\n        const a = (i = e.shadowRoot) == null ? void 0 : i.querySelectorAll(\n          \".calendar__day-item:not(.calendar__day-item--empty)\"\n        ), l = Array.from(a).filter((n) => !n.disabled), r = l[l.length - 1];\n        r && (r.setAttribute(\"tabindex\", \"0\"), r.focus());\n      }, 0);\n    }, m = () => {\n      e._next(), setTimeout(() => {\n        var i;\n        const a = (i = e.shadowRoot) == null ? void 0 : i.querySelectorAll(\n          \".calendar__day-item:not(.calendar__day-item--empty)\"\n        ), r = Array.from(a).filter((n) => !n.disabled)[0];\n        r && (r.setAttribute(\"tabindex\", \"0\"), r.focus());\n      }, 0);\n    }, B = (a) => {\n      let l = a == null ? void 0 : a.previousElementSibling;\n      for (; l; ) {\n        if (!l.classList.contains(\"calendar__day-item\") || l.classList.contains(\"calendar__day-item--empty\")) {\n          l = l.previousElementSibling;\n          continue;\n        }\n        if (!l.disabled)\n          return l;\n        l = l.previousElementSibling;\n      }\n      return null;\n    }, k = (a, l) => {\n      var w;\n      const i = Array.from(\n        ((w = a.closest(\".calendar__days\")) == null ? void 0 : w.querySelectorAll(\".calendar__day-item:not(.calendar__day-item--empty)\")) || []\n      ).filter((M) => !M.disabled), v = i.indexOf(a) + l;\n      return v < 0 || v >= i.length ? null : i[v];\n    };\n    return s`\n              <button\n                tabindex=\"${e._isFocusable(t) ? 0 : -1}\"\n                class=\"calendar__day-item ${x(T)}\"\n                @click=${() => e._selectDate(t)}\n                @mouseover=${() => e._selectRangeOverDate(t)}\n                @focus=${() => e._selectRangeOverDate(t)}\n                ?disabled=${e._isInactive(t)}\n                @keydown=\"${R}\"\n              >\n                ${t || null}\n              </button>\n            `;\n  })}\n        </div>\n      </div>\n    </div>\n    ${e._showMonthSelector ? s`\n          <div class=\"calendar-selector calendar-selector--month\">\n            <div class=\"calendar-selector-title\">Selecciona un mes</div>\n            <div class=\"calendar-selector-options\">\n              ${e._generateMonthsOptions()}\n            </div>\n          </div>\n        ` : null}\n    ${e._showYearSelector ? s`\n          <div class=\"calendar-selector calendar-selector--year\">\n            <div\n              class=\"calendar-selector-title calendar-selector-title--years\"\n            >\n              <div class=\"calendar-selector-title__years\">\n                ${e._yearsRangeStart} - ${e._yearsRangeEnd}\n              </div>\n              <div class=\"calendar-selector-title__actions\">\n                <${d}\n                  hideTooltip\n                  variant=\"primary\" \n                  label=\"Anys anteriors\"\n                  icon=\"chevron_left\"\n                  @click=${e._onYearRangeStepDown}\n                ></${d}>\n                <${d}\n                  hideTooltip\n                  variant=\"primary\" \n                  label=\"Anys posteriors\"\n                  icon=\"chevron_right\"\n                  @click=${e._onYearRangeStepUp}\n                ></${d}>\n              </div>\n            </div>\n            <div\n              class=\"calendar-selector-options calendar-selector-options--4col\"\n            >\n              ${e._generateYearsRangeOptions()}\n            </div>\n          </div>\n        ` : null}\n    ${e._showTime ? s`\n          <div class=\"dss-datepicker__timepicker\">\n            <${S}\n              .dropdown=\"${e._timepicker}\"\n              .customTimeListOptions=${e._customTimeListOptions}\n              .minutesRange=${e._minutesRange}\n              .minHour=${e._minHour}\n              .maxHour=${e._maxHour}\n              @onTimepickerChange=${e._onSelectTime}\n              .value=\"${e._timepickerValue}\"\n            >\n              <label slot=\"label\" for=\"innerTimepicker\"\n                >${e._timepickerLabel}</label\n              >\n              <input\n                slot=\"input\"\n                id=\"innerTimepicker\"\n                type=\"text\"\n                maxlength=\"5\"\n                .value=\"${e._timepickerValue}\"\n              />\n            </${S}>\n          </div>\n        ` : null}\n    ${(e._showButtons || e._showTime) && !e.standalone ? s`\n          <div class=\"calendar__content calendar__content--buttons\">\n            <div class=\"calendar__buttons\">\n              <${_}\n                variant=\"secondary\"\n                label=${e._leftLabel}\n                @click=${e._onCancel}\n              >\n              </${_}>\n              <${_}\n                variant=\"primary\"\n                label=${e._rightLabel}\n\n                @click=${e._onAccept}\n                ?disabled=${e._validateSelectedDate()}\n              >\n              </${_}>\n            </div>\n          </div>\n        ` : null}\n  </div>\n`;\n};\nexport {\n  L as template\n};\n//# sourceMappingURL=calendar.template.js.map\n","import { LitElement as F, unsafeCSS as b } from \"lit\";\nimport { html as w } from \"lit/static-html.js\";\nimport { property as _ } from \"lit/decorators.js\";\nimport { classMap as v } from \"lit/directives/class-map.js\";\nimport { booleanType as f } from \"../../utils/property-types.js\";\nimport { startOfMonth as Y, endOfMonth as k, eachDayOfInterval as O, getDay as x } from \"date-fns\";\nimport q from \"../../foundations/icon/icon.style.css.js\";\nimport L from \"../button/button.style.css.js\";\nimport C from \"../icon-button/icon-button.style.css.js\";\nimport U from \"./calendar.style.css.js\";\nimport { template as H } from \"./calendar.template.js\";\nvar V = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, l = (M, t, e, r) => {\n  for (var s = r > 1 ? void 0 : r ? $(t, e) : t, a = M.length - 1, h; a >= 0; a--)\n    (h = M[a]) && (s = (r ? h(t, e, s) : h(s)) || s);\n  return r && s && V(t, e, s), s;\n};\nconst y = [\n  \"Gener\",\n  \"Febrer\",\n  \"Març\",\n  \"Abril\",\n  \"Maig\",\n  \"Juny\",\n  \"Juliol\",\n  \"Agost\",\n  \"Setembre\",\n  \"Octubre\",\n  \"Novembre\",\n  \"Desembre\"\n], Q = [\"dl\", \"dm\", \"dc\", \"dj\", \"dv\", \"ds\", \"dg\"];\nclass u extends F {\n  constructor() {\n    super(), this.standalone = !1, this.customCalendar = void 0, this._range = !1, this._isRangeStartFocused = !1, this._isRangeEndFocused = !1, this._rangeStartDate = null, this._rangeEndDate = null, this._rangeOverDate = null, this._timepicker = \"\", this._minutesRange = 1, this._minHour = 0, this._maxHour = 24, this._customTimeListOptions = [], this._timepickerLabel = \"\", this._date = /* @__PURE__ */ new Date(), this._currYear = this._date.getFullYear(), this._currMonth = this._date.getMonth(), this._currHour = void 0, this._currMin = void 0, this._days = this._getDays(), this._selectedDate = null, this._showTime = !1, this._showButtons = !0, this._leftLabel = \"Cancel·lar\", this._rightLabel = \"Seleccionar\", this._minDate = null, this._maxDate = null, this._timepickerValue = \"\", this._showMonthSelector = !1, this._showYearSelector = !1, this._yearsRangeStart = (/* @__PURE__ */ new Date()).getFullYear() - 18, this._yearsRangeEnd = (/* @__PURE__ */ new Date()).getFullYear() + 1, this._isTimeFormatValid = !1, this._focusFirstElementHandler = this._focusFirstElement.bind(this);\n  }\n  static get styles() {\n    return [b(q), b(L), b(C), b(U)];\n  }\n  set range(t) {\n    const e = this._range;\n    this._range = t, this.requestUpdate(\"range\", e);\n  }\n  get range() {\n    return this._range;\n  }\n  set isRangeStartFocused(t) {\n    const e = this._isRangeStartFocused;\n    this._isRangeStartFocused = t, this.requestUpdate(\"isRangeStartFocused\", e);\n  }\n  get isRangeStartFocused() {\n    return this._isRangeStartFocused;\n  }\n  set isRangeEndFocused(t) {\n    const e = this._isRangeEndFocused;\n    this._isRangeEndFocused = t, this.requestUpdate(\"isRangeStartFocused\", e);\n  }\n  get isRangeEndFocused() {\n    return this._isRangeEndFocused;\n  }\n  set selectedDate(t) {\n    const e = this._selectedDate;\n    this._selectedDate = this._getDateString(t), this._updateCurrentDate(), this.requestUpdate(\"selectedDate\", e);\n  }\n  get selectedDate() {\n    var t;\n    return ((t = this._selectedDate) == null ? void 0 : t.toString()) || \"\";\n  }\n  set minDate(t) {\n    const e = this._minDate;\n    this._minDate = this._getDateString(t), this.requestUpdate(\"minDate\", e);\n  }\n  get minDate() {\n    var t;\n    return ((t = this._minDate) == null ? void 0 : t.toString()) || \"\";\n  }\n  set maxDate(t) {\n    const e = this._maxDate;\n    this._maxDate = this._getDateString(t), this.requestUpdate(\"maxDate\", e);\n  }\n  get maxDate() {\n    var t;\n    return ((t = this._maxDate) == null ? void 0 : t.toString()) || \"\";\n  }\n  set showTime(t) {\n    const e = this._showTime;\n    this._showTime = t, this.requestUpdate(\"showTime\", e);\n  }\n  get showTime() {\n    return this._showTime;\n  }\n  set showButtons(t) {\n    const e = this._showButtons;\n    this._showButtons = t, this.requestUpdate(\"showButtons\", e);\n  }\n  get showButtons() {\n    return this._showButtons;\n  }\n  set leftLabel(t) {\n    const e = this._leftLabel;\n    this._leftLabel = t, this.requestUpdate(\"leftLabel\", e);\n  }\n  get leftLabel() {\n    return this._leftLabel;\n  }\n  set rightLabel(t) {\n    const e = this._rightLabel;\n    this._rightLabel = t, this.requestUpdate(\"rightLabel\", e);\n  }\n  get rightLabel() {\n    return this._rightLabel;\n  }\n  set timepicker(t) {\n    const e = this._timepicker;\n    this._timepicker = t, this.requestUpdate(\"timepicker\", e);\n  }\n  get timepicker() {\n    return this._timepicker;\n  }\n  set minutesRange(t) {\n    const e = this._minutesRange;\n    this._minutesRange = t, this.requestUpdate(\"minutesRange\", e);\n  }\n  get minutesRange() {\n    return this._minutesRange;\n  }\n  set minHour(t) {\n    const e = this._minHour;\n    this._minHour = t, this.requestUpdate(\"minHour\", e);\n  }\n  get minHour() {\n    return this._minHour;\n  }\n  set maxHour(t) {\n    const e = this._maxHour;\n    this._maxHour = t, this.requestUpdate(\"maxHour\", e);\n  }\n  get maxHour() {\n    return this._maxHour;\n  }\n  set customTimeListOptions(t) {\n    const e = this._customTimeListOptions;\n    this._customTimeListOptions = t, this.requestUpdate(\"customTimeListOptions\", e);\n  }\n  get customTimeListOptions() {\n    return this._customTimeListOptions;\n  }\n  set timepickerLabel(t) {\n    const e = this._timepickerLabel;\n    this._timepickerLabel = t, this.requestUpdate(\"timepickerLabel\", e);\n  }\n  get timepickerLabel() {\n    return this._timepickerLabel;\n  }\n  set rangeStartDate(t) {\n    const e = this._rangeStartDate;\n    this._rangeStartDate = this._getDateString(t), this.requestUpdate(\"rangeStartDate\", e);\n  }\n  get rangeStartDate() {\n    var t;\n    return ((t = this._rangeStartDate) == null ? void 0 : t.toString()) || \"\";\n  }\n  set rangeEndDate(t) {\n    const e = this._rangeEndDate;\n    this._rangeEndDate = this._getDateString(t), this.requestUpdate(\"rangeEndDate\", e);\n  }\n  get rangeEndDate() {\n    var t;\n    return ((t = this._rangeEndDate) == null ? void 0 : t.toString()) || \"\";\n  }\n  connectedCallback() {\n    super.connectedCallback(), this._range && window.addEventListener(\"range-focus-calendar\", this._focusFirstElementHandler);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this._range && window.removeEventListener(\"range-focus-calendar\", this._focusFirstElementHandler);\n  }\n  _focusFirstElement() {\n    var e;\n    const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(\"#firstCalendarElement\");\n    t == null || t.focus();\n  }\n  _prev() {\n    this._currMonth -= 1, this._update();\n  }\n  _next() {\n    this._currMonth += 1, this._update();\n  }\n  _update() {\n    (this._currMonth < 0 || this._currMonth > 11) && (this._date = new Date(this._currYear, this._currMonth, (/* @__PURE__ */ new Date()).getDate()), this._currYear = this._date.getFullYear(), this._currMonth = this._date.getMonth()), this._days = this._getDays(), this.requestUpdate();\n  }\n  _getDays() {\n    const t = [], e = Y(new Date(this._currYear, this._currMonth)), r = k(new Date(this._currYear, this._currMonth)), s = O({ start: e, end: r }), a = x(e);\n    for (let h = a === 0 ? 6 : a - 1; h > 0; h -= 1)\n      t.push(0);\n    for (const h of s)\n      t.push(h.getDate());\n    return t;\n  }\n  _getCustomType(t) {\n    if (!this.customCalendar) return !1;\n    const r = new Date(this._currYear, this._currMonth, t).toLocaleDateString(\"es-ES\"), s = this.customCalendar.find((a) => a.date === r);\n    return s ? s.type : !1;\n  }\n  _isToday(t) {\n    const e = /* @__PURE__ */ new Date();\n    return t === e.getDate() && this._currMonth === e.getMonth() && this._currYear === e.getFullYear();\n  }\n  _isWeekend(t) {\n    const e = new Date(this._currYear, this._currMonth, t);\n    return e.getDay() === 0 || e.getDay() === 6;\n  }\n  _isInactive(t) {\n    const e = new Date(this._currYear, this._currMonth, t);\n    return t ? this._minDate && this._maxDate ? !(e >= this._minDate && e <= this._maxDate) : this._minDate ? !(e >= this._minDate) : this._maxDate ? !(e <= this._maxDate) : !1 : !0;\n  }\n  _isSelected(t) {\n    var e, r, s, a, h, D;\n    return this._range ? t === ((e = this._rangeStartDate) == null ? void 0 : e.getDate()) && this._currMonth === ((r = this._rangeStartDate) == null ? void 0 : r.getMonth()) && this._currYear === ((s = this._rangeStartDate) == null ? void 0 : s.getFullYear()) || this._isSelectedRangeEnd(t) : t === ((a = this._selectedDate) == null ? void 0 : a.getDate()) && this._currMonth === ((h = this._selectedDate) == null ? void 0 : h.getMonth()) && this._currYear === ((D = this._selectedDate) == null ? void 0 : D.getFullYear());\n  }\n  _isFocusable(t) {\n    return this._range && (this._rangeStartDate || this._rangeEndDate) ? this._isSelectedRangeStart(t) || this._isSelectedRangeEnd(t) : this._selectedDate ? this._isSelected(t) : this._isToday(t);\n  }\n  _isSelectedRangeStart(t) {\n    var e, r, s, a, h, D, m, p;\n    return this._range && this._rangeStartDate && this._rangeEndDate ? !this._compareSelectedRangeDates() && t === ((e = this._rangeStartDate) == null ? void 0 : e.getDate()) && this._currMonth === ((r = this._rangeStartDate) == null ? void 0 : r.getMonth()) && this._currYear === ((s = this._rangeStartDate) == null ? void 0 : s.getFullYear()) : this._range && this._rangeStartDate && !this._rangeEndDate ? this._rangeOverDate !== null && ((a = this._rangeStartDate) == null ? void 0 : a.getTime()) < ((h = this._rangeOverDate) == null ? void 0 : h.getTime()) && t === ((D = this._rangeStartDate) == null ? void 0 : D.getDate()) && this._currMonth === ((m = this._rangeStartDate) == null ? void 0 : m.getMonth()) && this._currYear === ((p = this._rangeStartDate) == null ? void 0 : p.getFullYear()) && (!this._isRangeStartFocused || this._showButtons) && (this._isRangeEndFocused || this._rangeStartDate !== null) : (this._range && this._rangeStartDate === this._rangeEndDate, !1);\n  }\n  _isSelectedRangeEnd(t) {\n    var e, r, s;\n    return !this._compareSelectedRangeDates() && t === ((e = this._rangeEndDate) == null ? void 0 : e.getDate()) && this._currMonth === ((r = this._rangeEndDate) == null ? void 0 : r.getMonth()) && this._currYear === ((s = this._rangeEndDate) == null ? void 0 : s.getFullYear());\n  }\n  _isOverRangeDate(t) {\n    var r, s, a;\n    const e = t === ((r = this._rangeOverDate) == null ? void 0 : r.getDate()) && this._currMonth === ((s = this._rangeOverDate) == null ? void 0 : s.getMonth()) && this._currYear === ((a = this._rangeOverDate) == null ? void 0 : a.getFullYear());\n    return this._range && this._rangeOverDate && this._rangeStartDate && !this._rangeEndDate ? e && this._rangeOverDate.getTime() > this._rangeStartDate.getTime() && (!this._isRangeStartFocused || this._showButtons) && (this._isRangeEndFocused || this._rangeStartDate !== null) : !1;\n  }\n  _compareSelectedRangeDates() {\n    return this._rangeStartDate && this._rangeEndDate ? this._rangeStartDate.getFullYear() === this._rangeEndDate.getFullYear() && this._rangeStartDate.getMonth() === this._rangeEndDate.getMonth() && this._rangeStartDate.getDate() === this._rangeEndDate.getDate() : !0;\n  }\n  _isBetweenRange(t) {\n    const e = new Date(this._currYear, this._currMonth, t);\n    return !this._isInactive(t) && this._rangeStartDate && this._rangeEndDate ? e.getTime() > this._rangeStartDate.getTime() && e.getTime() < this._rangeEndDate.getTime() : !1;\n  }\n  _isBetweenRangeOnMouseOver(t) {\n    const e = new Date(this._currYear, this._currMonth, t), r = this._isInactive(t);\n    return !r && this._rangeStartDate && !this._rangeEndDate && this._rangeOverDate ? e.getTime() > this._rangeStartDate.getTime() && e.getTime() < this._rangeOverDate.getTime() && (!this._isRangeStartFocused || this._showButtons) && (this._isRangeEndFocused || this._rangeStartDate !== null) : !r && this._rangeStartDate && this._rangeEndDate && this._rangeOverDate ? e.getTime() > this._rangeStartDate.getTime() && e.getTime() < this._rangeEndDate.getTime() && e.getTime() < this._rangeOverDate.getTime() && (!this._isRangeStartFocused || this._showButtons) && (this._isRangeEndFocused || this._rangeStartDate !== null) : !1;\n  }\n  _selectDate(t) {\n    this._selectedDate = new Date(this._currYear, this._currMonth, t), this._range && !this._showButtons && (this._rangeStartDate && this._rangeEndDate && !this._isRangeEndFocused && this._selectedDate.getTime() >= this._rangeEndDate.getTime() && (this._rangeStartDate = null, this._rangeEndDate = null), this._isRangeStartFocused || !this._rangeStartDate || this._rangeStartDate.getTime() > this._selectedDate.getTime() ? this._rangeStartDate = this._selectedDate : this._rangeEndDate = this._selectedDate), this._range && this._showButtons && (this._rangeStartDate && this._rangeEndDate && (this._rangeStartDate = null, this._rangeEndDate = null), !this._rangeStartDate || this._rangeStartDate.getTime() > this._selectedDate.getTime() ? this._rangeStartDate = this._selectedDate : this._rangeEndDate = this._selectedDate), this.requestUpdate(), !(this._showButtons && !this.standalone) && (this._range ? this._emitRange() : this._emitDate());\n  }\n  _selectRangeOverDate(t) {\n    this._range && (this._rangeOverDate = new Date(this._currYear, this._currMonth, t), this.requestUpdate());\n  }\n  _removeRangeOverDate() {\n    this._rangeOverDate = null, this.requestUpdate();\n  }\n  _onCancel() {\n    const t = new CustomEvent(\"onCancel\", {\n      bubbles: !0,\n      composed: !0\n    });\n    this.dispatchEvent(t);\n  }\n  _onAccept() {\n    this._range ? this._emitRange() : this._emitDate();\n  }\n  _emitDate() {\n    var a, h, D, m;\n    const t = (h = (a = this._selectedDate) == null ? void 0 : a.getDate()) == null ? void 0 : h.toString().padStart(2, \"0\"), e = (this._currMonth + 1).toString().padStart(2, \"0\");\n    let r = `${t}/${e}/${this._currYear}`;\n    if (this._showTime) {\n      const p = (D = this._currHour) == null ? void 0 : D.toString().padStart(2, \"0\"), c = (m = this._currMin) == null ? void 0 : m.toString().padStart(2, \"0\");\n      r += ` ${p}:${c}`;\n    }\n    const s = new CustomEvent(\"onDateChange\", {\n      detail: r,\n      bubbles: !0,\n      composed: !0\n    });\n    this.dispatchEvent(s);\n  }\n  _emitRange() {\n    var a, h, D, m, p, c, i, o, n, g, d, S;\n    let t = null;\n    if (((a = this._rangeStartDate) == null ? void 0 : a.getDate()) != null && ((h = this._rangeStartDate) == null ? void 0 : h.getMonth()) != null && ((D = this._rangeStartDate) == null ? void 0 : D.getFullYear()) != null) {\n      const E = (m = this._rangeStartDate.getDate()) == null ? void 0 : m.toString().padStart(2, \"0\"), R = (((p = this._rangeStartDate) == null ? void 0 : p.getMonth()) + 1).toString().padStart(2, \"0\");\n      t = `${E}/${R}/${(c = this._rangeStartDate) == null ? void 0 : c.getFullYear()}`;\n    }\n    let e = null;\n    if (((i = this._rangeEndDate) == null ? void 0 : i.getDate()) != null && ((o = this._rangeEndDate) == null ? void 0 : o.getMonth()) != null && ((n = this._rangeEndDate) != null && n.getFullYear())) {\n      const E = (g = this._rangeEndDate.getDate()) == null ? void 0 : g.toString().padStart(2, \"0\"), R = (((d = this._rangeEndDate) == null ? void 0 : d.getMonth()) + 1).toString().padStart(2, \"0\");\n      e = `${E}/${R}/${(S = this._rangeEndDate) == null ? void 0 : S.getFullYear()}`;\n    }\n    const r = new CustomEvent(\"onRangeChange\", {\n      detail: {\n        rangeStart: t,\n        rangeEnd: e\n      },\n      bubbles: !0,\n      composed: !0\n    });\n    this.dispatchEvent(r);\n    const s = new CustomEvent(\"range-changed\", {\n      detail: {\n        rangeStart: t,\n        rangeEnd: e\n      },\n      bubbles: !1,\n      composed: !1\n    });\n    this.dispatchEvent(s);\n  }\n  _updateCurrentDate() {\n    if (!this._selectedDate) {\n      this._resetCalendar();\n      return;\n    }\n    if (this._currMonth = this._selectedDate.getMonth(), this._currYear = this._selectedDate.getFullYear(), this._currHour = this._selectedDate.getHours(), this._currMin = this._selectedDate.getMinutes(), this._days = this._getDays(), this._currHour !== void 0 && this._currMin !== void 0) {\n      const t = String(this._currHour).padStart(2, \"0\"), e = String(this._currMin).padStart(2, \"0\");\n      this._timepickerValue = `${t}:${e}`, this._isTimeFormatValid = this._currHour >= 0 && this._currHour <= 23 && this._currMin >= 0 && this._currMin <= 59;\n    }\n  }\n  _resetCalendar() {\n    this._date = /* @__PURE__ */ new Date(), this._currYear = this._date.getFullYear(), this._currMonth = this._date.getMonth(), this._currHour = void 0, this._currMin = void 0, this._timepickerValue = \"\", this._isTimeFormatValid = !1, this._days = this._getDays(), this.requestUpdate();\n  }\n  _getDateString(t) {\n    const e = t == null ? void 0 : t.replace(/(\\d+[/])(\\d+[/])/, \"$2$1\"), r = this._showTime ? 14 : 8;\n    return (e == null ? void 0 : e.length) > r ? new Date(e) : null;\n  }\n  _onSelectTime(t) {\n    if (this._isTimeFormatValid = !1, t.detail.status === \"VALID\") {\n      this._isTimeFormatValid = !0;\n      const e = t.detail.value;\n      this._currHour = +e.substring(0, 2), this._currMin = +e.substring(3, 5);\n    }\n    this.requestUpdate();\n  }\n  _toggleMonthSelector() {\n    this._showMonthSelector = !0, this.requestUpdate();\n  }\n  _onMonthSelectorClick(t) {\n    const e = y.indexOf(t);\n    this._currMonth = e, this._update(), this._showMonthSelector = !1, this.requestUpdate();\n  }\n  _toggleYearSelector() {\n    this._showYearSelector = !0, this.requestUpdate();\n  }\n  _onYearSelectorClick(t) {\n    this._currYear = t, this._update(), this._showYearSelector = !1, this.requestUpdate();\n  }\n  _generateYearsRangeOptions() {\n    const t = [];\n    for (let r = this._yearsRangeStart; r <= this._yearsRangeEnd; r += 1)\n      t.push(r);\n    return t.map((r) => {\n      const s = (i) => {\n        i && i.focus();\n      }, a = (i) => {\n        let o = 0;\n        const n = this.renderRoot.querySelectorAll(\".calendar-selector-options__item--year\"), g = n.length - 1;\n        i === n[0] ? s(n[g]) : (n.forEach((d, S) => {\n          d === i && (o = S);\n        }), s(n[o - 1]));\n      }, h = (i) => {\n        let o = 0;\n        const n = this.renderRoot.querySelectorAll(\".calendar-selector-options__item--year\"), g = n.length - 1;\n        i === n[g] ? s(n[0]) : (n.forEach((d, S) => {\n          d === i && (o = S);\n        }), s(n[o + 1]));\n      }, D = (i) => {\n        const o = i.currentTarget, n = i;\n        let g = !1;\n        switch (n.key) {\n          case \"ArrowUp\":\n          case \"ArrowLeft\":\n            a(o), g = !0;\n            break;\n          case \"ArrowDown\":\n          case \"ArrowRight\":\n            h(o), g = !0;\n            break;\n          case \"Enter\":\n            const d = i.target, S = this.renderRoot.querySelector(\n              '.calendar-selector-options__item--year[tabindex=\"0\"]'\n            );\n            S == null || S.setAttribute(\"tabindex\", \"-1\"), i.target.setAttribute(\"tabindex\", \"0\"), d.click(), g = !0;\n            break;\n          case \"Escape\":\n            this.renderRoot.querySelector(\".calendar-selector-options__item--selected\").click(), g = !0;\n            break;\n        }\n        g && (i.stopPropagation(), i.preventDefault());\n      }, p = (/* @__PURE__ */ new Date()).getFullYear(), c = {\n        \"calendar-selector-options__item--current\": r === p,\n        \"calendar-selector-options__item--selected\": r === this._currYear\n      };\n      return w`\n        <div\n          class=\"calendar-selector-options__item calendar-selector-options__item--year ${v(c)}\"\n          tabindex=\"${r === this._currYear ? 0 : -1}\"\n          role=\"button\"\n          @keydown=${D}\n          @click=${() => this._onYearSelectorClick(r)}\n        >\n          ${r}\n        </div>\n      `;\n    });\n  }\n  _generateMonthsOptions() {\n    return y.map((e) => {\n      const r = (c) => {\n        c && c.focus();\n      }, s = (c) => {\n        let i = 0;\n        const o = this.renderRoot.querySelectorAll(\".calendar-selector-options__item--month\"), n = o.length - 1;\n        c === o[0] ? r(o[n]) : (o.forEach((g, d) => {\n          g === c && (i = d);\n        }), r(o[i - 1]));\n      }, a = (c) => {\n        let i = 0;\n        const o = this.renderRoot.querySelectorAll(\".calendar-selector-options__item--month\"), n = o.length - 1;\n        c === o[n] ? r(o[0]) : (o.forEach((g, d) => {\n          g === c && (i = d);\n        }), r(o[i + 1]));\n      }, h = (c) => {\n        const i = c.currentTarget, o = c;\n        let n = !1;\n        switch (o.key) {\n          case \"ArrowUp\":\n          case \"ArrowLeft\":\n            s(i), n = !0;\n            break;\n          case \"ArrowDown\":\n          case \"ArrowRight\":\n            a(i), n = !0;\n            break;\n          case \"Enter\":\n            const g = c.target, d = this.renderRoot.querySelector(\n              '.calendar-selector-options__item--month[tabindex=\"0\"]'\n            );\n            d == null || d.setAttribute(\"tabindex\", \"-1\"), c.target.setAttribute(\"tabindex\", \"0\"), g.click(), n = !0;\n            break;\n          case \"Escape\":\n            this.renderRoot.querySelector(\".calendar-selector-options__item--selected\").click(), n = !0;\n            break;\n        }\n        n && (c.stopPropagation(), c.preventDefault());\n      }, m = (/* @__PURE__ */ new Date()).getMonth(), p = {\n        \"calendar-selector-options__item--current\": y.indexOf(e) === m,\n        \"calendar-selector-options__item--selected\": y.indexOf(e) === this._currMonth\n      };\n      return w`\n        <div\n          class=\"calendar-selector-options__item calendar-selector-options__item--month ${v(p)}\"\n          tabindex=\"${y.indexOf(e) === this._currMonth ? 0 : -1}\"\n          role=\"button\"\n          @keydown=${h}\n          @click=${() => this._onMonthSelectorClick(e)}\n        >\n          ${e.length <= 4 ? w`${e}` : w`${e.slice(0, 3)}.`}\n        </div>\n      `;\n    });\n  }\n  _onYearRangeStepUp() {\n    this._yearsRangeStart += 20, this._yearsRangeEnd += 20, this.requestUpdate();\n  }\n  _onYearRangeStepDown() {\n    this._yearsRangeStart -= 20, this._yearsRangeEnd -= 20, this.requestUpdate();\n  }\n  _onHeaderMonthKeyDown(t) {\n    t.key === \"Enter\" && (t.target.click(), setTimeout(() => {\n      this.renderRoot.querySelector('.calendar-selector-options__item--month[tabindex=\"0\"]').focus();\n    }, 50));\n  }\n  _onHeaderYearKeyDown(t) {\n    t.key === \"Enter\" && (t.target.click(), setTimeout(() => {\n      this.renderRoot.querySelector('.calendar-selector-options__item--year[tabindex=\"0\"]').focus();\n    }, 50));\n  }\n  _validateSelectedDate() {\n    return !!(!this._range && !this._selectedDate || !this._range && this._showTime && !this._isTimeFormatValid || this._range && (!this._rangeStartDate || !this._rangeEndDate));\n  }\n  _handleCalendarKeydown(t) {\n    (t == null ? void 0 : t.key) === \"Escape\" && this._onCancel();\n  }\n  render() {\n    return H(this);\n  }\n}\nl([\n  _(f)\n], u.prototype, \"standalone\", 2);\nl([\n  _({ type: Array })\n], u.prototype, \"customCalendar\", 2);\nl([\n  _(f)\n], u.prototype, \"range\", 1);\nl([\n  _(f)\n], u.prototype, \"isRangeStartFocused\", 1);\nl([\n  _(f)\n], u.prototype, \"isRangeEndFocused\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"selectedDate\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"minDate\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"maxDate\", 1);\nl([\n  _(f)\n], u.prototype, \"showTime\", 1);\nl([\n  _(f)\n], u.prototype, \"showButtons\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"leftLabel\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"rightLabel\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"timepicker\", 1);\nl([\n  _({ type: Number })\n], u.prototype, \"minutesRange\", 1);\nl([\n  _({ type: Number })\n], u.prototype, \"minHour\", 1);\nl([\n  _({ type: Number })\n], u.prototype, \"maxHour\", 1);\nl([\n  _({ type: Array })\n], u.prototype, \"customTimeListOptions\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"timepickerLabel\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"rangeStartDate\", 1);\nl([\n  _({ type: String })\n], u.prototype, \"rangeEndDate\", 1);\nexport {\n  u as Calendar,\n  y as MONTH,\n  Q as WEEK\n};\n//# sourceMappingURL=calendar.js.map\n","const s = \":host{display:block;width:100%}.chat-message{display:grid;grid-template-columns:40px 1fr 40px;gap:var(--dss-spacing-xs);padding:0 0 0 var(--dss-spacing-hg)}.chat-message-wrapper{display:grid;gap:var(--dss-spacing-xs)}.chat-message-wrapper__message{color:var(--color-neutral-900);display:grid;padding:var(--dss-spacing-sm);gap:var(--dss-spacing-xs);background-color:var(--color-white);border-radius:var(--dss-radius-sm)}.dss-chat-message--patient .chat-message-wrapper__message{border:var(--dss-border-width-sm) solid var(--color-neutral-200)}.dss-chat-message--doctor .chat-message-wrapper__message{background-color:var(--color-primary-50)}.message-username{font-size:12px;line-height:16px;font-weight:var(--font-semibold)}.message-text{font-size:14px;line-height:24px}.chat-message-wrapper__date{color:var(--color-neutral-500);font-size:12px;line-height:16px;padding:0 var(--dss-spacing-sm)}::slotted(div){display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:var(--dss-spacing-md)}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=chat-message.style.css.js.map\n","import { classMap as d } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as m, literal as l, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as g } from \"../../api/custom-element-scope.js\";\nconst e = l`dss-avatar${m(g())}`, u = (a) => {\n  const r = {\n    \"dss-chat-message--patient\": a.who === \"patient\",\n    \"dss-chat-message--doctor\": a.who === \"doctor\"\n  }, i = () => s`\n      <${e}\n        .size=\"${a.avatarSize}\"\n        .imageUrl=\"${a.avatarImageUrl}\"\n      >\n      </${e}>\n    `, v = () => s`\n      <${e}\n        .size=\"${a.avatarSize}\"\n        .name=\"${a.avatarName}\"\n        .surname=\"${a.avatarSurname}\"\n      >\n      </${e}>\n    `, t = () => s` ${a.avatarImageUrl ? s`${i()}` : s`${v()}`}`;\n  return s`\n    <div class=\"chat-message ${d(r)}\">\n      <div class=\"chat-message-avatar\">\n        ${a.who === \"patient\" ? s`${t()}` : null}\n      </div>\n\n      <div class=\"chat-message-wrapper\">\n        <div class=\"chat-message-wrapper__message\">\n          <div class=\"message-username\">${a.username}</div>\n          <div class=\"message-text\">${a.message}</div>\n          <div class=\"message-attachments\">\n            <slot name=\"attachments\"></slot>\n          </div>\n        </div>\n        <div class=\"chat-message-wrapper__date\">${a.date}</div>\n      </div>\n\n      <div class=\"chat-message-avatar chat-message-avatar--YYY\">\n        ${a.who === \"doctor\" ? s`${t()}` : null}\n      </div>\n    </div>\n  `;\n};\nexport {\n  u as template\n};\n//# sourceMappingURL=chat-message.template.js.map\n","import { LitElement as y, unsafeCSS as m } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport g from \"../../foundations/icon/icon.style.css.js\";\nimport S from \"./chat-message.style.css.js\";\nimport { template as h } from \"./chat-message.template.js\";\nvar v = Object.defineProperty, e = (p, s, i, u) => {\n  for (var a = void 0, o = p.length - 1, n; o >= 0; o--)\n    (n = p[o]) && (a = n(s, i, a) || a);\n  return a && v(s, i, a), a;\n};\nclass r extends y {\n  constructor() {\n    super(...arguments), this.username = \"\", this.message = \"\", this.date = \"\", this.who = \"\", this.avatarName = \"\", this.avatarSurname = \"\", this.avatarImageUrl = \"\", this.avatarSize = \"md\";\n  }\n  static get styles() {\n    return [m(g), m(S)];\n  }\n  render() {\n    return h(this);\n  }\n}\ne([\n  t({ type: String })\n], r.prototype, \"username\");\ne([\n  t({ type: String })\n], r.prototype, \"message\");\ne([\n  t({ type: String })\n], r.prototype, \"date\");\ne([\n  t({ type: String })\n], r.prototype, \"who\");\ne([\n  t({ type: String })\n], r.prototype, \"avatarName\");\ne([\n  t({ type: String })\n], r.prototype, \"avatarSurname\");\ne([\n  t({ type: String })\n], r.prototype, \"avatarImageUrl\");\ne([\n  t({ type: String })\n], r.prototype, \"avatarSize\");\nexport {\n  r as ChatMessage\n};\n//# sourceMappingURL=chat-message.js.map\n","const e = '.dss-checkbox-wrapper{display:flex;align-items:flex-start}.dss-checkbox-wrapper--has-label{gap:var(--dss-spacing-xs)}.dss-checkbox,::slotted(input[type=\"checkbox\"]){position:relative;border-radius:2px;width:20px!important;height:20px!important;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--dss-border-width-sm) solid var(--color-primary-500);cursor:pointer;transition:.3s all linear;flex-shrink:0;margin:var(--dss-spacing-tiny);background-color:var(--color-white)}.dss-checkbox:focus-visible:enabled,::slotted(input[type=\"checkbox\"]:focus-visible:enabled){outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-checkbox.dss-checkbox--validate,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]){border-color:var(--color-neutral-700)}.dss-checkbox:hover,::slotted(input[type=\"checkbox\"]:hover){border-color:var(--color-primary-600);transition:.3s all linear}.dss-checkbox:hover.dss-checkbox--validate,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]:hover){border-color:var(--color-neutral-800)}.dss-checkbox:active,::slotted(input[type=\"checkbox\"]:active){border-color:var(--color-primary-400);transition:.3s all linear}.dss-checkbox:active.dss-checkbox--validate,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]:active){border-color:var(--color-neutral-500)}.dss-checkbox:checked,::slotted(input[type=\"checkbox\"]:checked){background-color:var(--color-primary-500)}.dss-checkbox:checked.dss-checkbox--validate,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]:checked){border-color:var(--color-green-500);background-color:var(--color-green-500)}.dss-checkbox:checked:before,::slotted(input[type=\"checkbox\"]:checked):before{font-family:var(--icon-font)!important;content:\"check\";position:absolute;font-size:22px;color:var(--color-white);text-align:center;top:-4px;left:-2px;z-index:100}.dss-checkbox:checked:hover,::slotted(input[type=\"checkbox\"]:checked:hover){border-color:var(--color-primary-600);background-color:var(--color-primary-600);transition:.3s all linear}.dss-checkbox:checked:hover.dss-checkbox--validate,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]:checked:hover){border-color:var(--color-green-600);background-color:var(--color-green-600)}.dss-checkbox:checked:active,::slotted(input[type=\"checkbox\"]:checked:active){background-color:var(--color-primary-400);transition:.3s all linear}.dss-checkbox:checked:active.dss-checkbox--validate,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]:checked:active){border-color:var(--color-green-400);background-color:var(--color-green-400)}.dss-checkbox:indeterminate,::slotted(input[type=\"checkbox\"]:indeterminate){background-color:var(--color-primary-500)}.dss-checkbox:indeterminate:before,::slotted(input[type=\"checkbox\"]:indeterminate):before{font-family:var(--icon-font)!important;font-size:18px;content:\"remove\";color:var(--color-white);position:absolute;top:-1px}.dss-checkbox:indeterminate.dss-checkbox--validate,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]:indeterminate){background-color:var(--color-green-500)}.dss-checkbox:disabled,::slotted(input[type=\"checkbox\"]:disabled){cursor:not-allowed;color:var(--color-neutral-400);border-color:var(--color-neutral-400);background-color:var(--color-neutral-100)}.dss-checkbox:disabled:checked,::slotted(input[type=\"checkbox\"]:checked:disabled),::slotted(input[type=\"checkbox\"]:indeterminate:disabled){background-color:var(--color-neutral-100);border-color:var(--color-neutral-100)}.dss-checkbox:disabled:checked:before,::slotted(input[type=\"checkbox\"]:checked:disabled):before,::slotted(input[type=\"checkbox\"]:indeterminate:disabled):before{color:var(--color-neutral-400)}.dss-checkbox.dss-checkbox--validate:disabled:checked:hover,.dss-checkbox-wrapper--validate ::slotted(input[type=\"checkbox\"]:disabled:checked:hover){background-color:var(--color-neutral-100);border-color:var(--color-neutral-100)}.dss-checkbox-label,::slotted(label){cursor:pointer;font-size:14px;font-style:normal;font-weight:400;line-height:24px;color:var(--color-neutral-900)}.dss-checkbox-wrapper--disabled ::slotted(label){color:var(--color-neutral-500);cursor:not-allowed}.dss-checkbox-container{display:inline-flex;align-items:flex-start;flex:0 0 auto;margin-top:2px}';\nexport {\n  e as default\n};\n//# sourceMappingURL=checkbox.style.css.js.map\n","import { classMap as e } from \"lit/directives/class-map.js\";\nimport { html as c } from \"lit/static-html.js\";\nconst d = (s) => {\n  const a = {\n    \"dss-checkbox-wrapper--checked\": s._checked,\n    \"dss-checkbox-wrapper--disabled\": s._disabled,\n    \"dss-checkbox-wrapper--has-label\": !!s._label,\n    \"dss-checkbox-wrapper--validate\": s.variant === \"validation\"\n  };\n  return c`\n    <div class=\"dss-checkbox-wrapper ${e(a)}\">\n\t\t\t<div class=\"dss-checkbox-container\">\n      \t<slot name=\"input\"></slot>\n\t\t\t</div>\n      <slot name=\"label\"></slot>\n    </div>\n  `;\n};\nexport {\n  d as template\n};\n//# sourceMappingURL=checkbox.template.js.map\n","import { LitElement as p, unsafeCSS as o } from \"lit\";\nimport { property as c } from \"lit/decorators.js\";\nimport l from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as u } from \"../../utils/property-types.js\";\nimport _ from \"./checkbox.style.css.js\";\nimport { template as f } from \"./checkbox.template.js\";\nvar b = Object.defineProperty, m = Object.getOwnPropertyDescriptor, a = (r, e, t, s) => {\n  for (var i = s > 1 ? void 0 : s ? m(e, t) : e, h = r.length - 1, n; h >= 0; h--)\n    (n = r[h]) && (i = (s ? n(e, t, i) : n(i)) || i);\n  return s && i && b(e, t, i), i;\n};\nclass d extends p {\n  constructor() {\n    super(), this.variant = \"default\", this.indeterminate = !1, this._checked = !1, this._isCheckedPropDefined = !1, this._isFirstUpdate = !0, this._disabled = !1, this._readonly = !1, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (e) => {\n      for (const t of e)\n        t.type === \"attributes\" && (this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback), this._handleChangeBound = this._handleChange.bind(this);\n  }\n  static get styles() {\n    return [o(l), o(_)];\n  }\n  get _input() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), e == null ? void 0 : e.assignedElements()[0];\n  }\n  get _label() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"label\"]')) || void 0;\n    return this.requestUpdate(), e == null ? void 0 : e.assignedElements()[0];\n  }\n  set checked(e) {\n    const t = this._checked;\n    this._checked = e, this._isCheckedPropDefined = !0, this._isFirstUpdate || this._dispatchChange(), this.requestUpdate(\"checked\", t);\n  }\n  get checked() {\n    return this._checked;\n  }\n  disconnectedCallback() {\n    var e;\n    this.observer.disconnect(), (e = this._input) == null || e.removeEventListener(\"change\", this._handleChangeBound);\n  }\n  /* END Input Observer */\n  _checkInputAttributes() {\n    var s, i, h;\n    if (!this._isCheckedPropDefined) {\n      const n = (s = this._input) == null ? void 0 : s.getAttribute(\"checked\");\n      this._checked = n !== null;\n    }\n    const e = (i = this._input) == null ? void 0 : i.getAttribute(\"disabled\");\n    this._disabled = e !== null;\n    const t = (h = this._input) == null ? void 0 : h.getAttribute(\"readonly\");\n    this._readonly = t !== null;\n  }\n  _handleChange() {\n    var e;\n    this._checked = (e = this._input) == null ? void 0 : e.checked, this._dispatchChange();\n  }\n  _dispatchChange() {\n    this.dispatchEvent(\n      new CustomEvent(\"onChange\", {\n        detail: this._checked,\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._input && (this._checked && (this._input.checked = !0), this.indeterminate && (this._input.indeterminate = !0), this._checkInputAttributes(), this.observer.observe(this._input, this.observerConfig), this._input.addEventListener(\"change\", this._handleChangeBound)), this._isFirstUpdate = !1, this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  willUpdate(e) {\n    const t = e.has(\"indeterminate\"), s = e.has(\"checked\");\n    this._input && t && (this._input.indeterminate = this.indeterminate), this._input && s && (this._input.checked = this.checked);\n  }\n  render() {\n    return f(this);\n  }\n}\na([\n  c({ type: String })\n], d.prototype, \"variant\", 2);\na([\n  c(u)\n], d.prototype, \"indeterminate\", 2);\na([\n  c(u)\n], d.prototype, \"checked\", 1);\nexport {\n  d as Checkbox\n};\n//# sourceMappingURL=checkbox.js.map\n","const s = \":host{display:inline-flex;align-items:center}.dss-chip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--dss-spacing-xs);font-size:14px;font-weight:var(--font-semibold);border-radius:var(--dss-radius-xl);border:var(--dss-border-width-sm) solid var(--color-blue-700);color:var(--color-blue-700);background-color:var(--color-white);transition:.3s all ease-in;gap:var(--dss-spacing-xxs);width:-moz-fit-content;width:fit-content;min-width:48px;max-width:240px;height:32px;text-align:center}.dss-chip-content{display:inline-flex;align-items:center;justify-content:center;gap:var(--dss-spacing-xxs);flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-chip-button{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--dss-spacing-xxs);flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-chip-button:disabled{cursor:not-allowed}.dss-chip__icon{font-size:16px}.dss-chip--disabled{cursor:not-allowed;outline:none;border-color:var(--color-neutral-500);color:var(--color-neutral-500);background-color:var(--color-white)}.dss-chip:not(.dss-chip--disabled):not(.dss-chip--not-clickable):hover{box-shadow:none;background-color:var(--color-blue-50)}.dss-chip:not(.dss-chip--disabled):not(.dss-chip--not-clickable):active{background-color:var(--color-blue-100);transition:none}.dss-chip.dss-chip--sm{height:24px;font-size:12px;gap:var(--dss-spacing-xxs);min-width:32px}.dss-chip.dss-chip--xs{height:20px;font-size:12px;gap:var(--dss-spacing-tiny);min-width:24px}.dss-chip.dss-chip--selected{box-shadow:none;background-color:var(--color-blue-100)}.dss-chip.dss-chip--selected.dss-chip--disabled{background-color:var(--color-white)}.dss-chip:not(.dss-chip--disabled):focus-visible,.dss-chip:not(.dss-chip--disabled).dss-chip--select-focus{outline:var(--dss-border-width-lg) solid var(--color-blue-200);transition:none;box-shadow:none}.dss-chip__icon{flex-shrink:0}.dss-chip__label{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-chip__delete{flex-shrink:0;display:flex;align-items:center}.dss-chip.dss-chip--only-icon{min-width:48px;max-width:48px}.dss-chip.dss-chip--only-icon.dss-chip--sm{min-width:32px;max-width:32px}.dss-chip.dss-chip--only-icon.dss-chip--xs{min-width:24px;max-width:32px;padding-left:0;padding-right:0}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=chip.style.css.js.map\n","import { nothing as e } from \"lit\";\nimport { classMap as r } from \"lit/directives/class-map.js\";\nimport { when as l } from \"lit/directives/when.js\";\nimport { unsafeStatic as a, literal as d, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as c } from \"../../api/custom-element-scope.js\";\nconst $ = d`dss-icon${a(c())}`, t = d`dss-icon-button${a(c())}`, h = d`dss-tooltip${a(c())}`, b = (s) => i`\n  ${l(\n  s.icon,\n  () => i`\n    <span class=\"dss-chip__icon\">\n      <${$}\n        icon=\"${s.icon}\"\n        size=\"${s.size === \"lg\" ? \"md\" : \"sm\"}\">\n      </${$}>\n    </span>\n  `,\n  () => e\n)}\n\n  ${l(\n  s.label,\n  () => i`\n      <span class=\"dss-chip__label\">\n        ${s.label}\n      </span>\n    `,\n  () => e\n)}\n`, z = (s) => i`\n  <div\n    class=${r({\n  \"dss-chip\": !0,\n  \"dss-chip--disabled\": s.disabled,\n  \"dss-chip--not-clickable\": s.disableSelect,\n  \"dss-chip--selected\": s.selected,\n  \"dss-chip--has-icons\": !!s.icon || s.hasDelete,\n  \"dss-chip--only-icon\": !!(s.icon && !s.label) && !s.hasDelete,\n  \"dss-chip--select-focus\": s._isSelectFocused,\n  [`dss-chip--${s.size}`]: !!s.size\n})}\n  >\n\n     ${l(\n  s.disableSelect,\n  () => i`\n        <div class=\"dss-chip-content\">\n          ${b(s)}\n        </div>\n      `,\n  () => i`\n        <button\n          class=\"dss-chip-content dss-chip-button\"\n          aria-label=\"Seleccionar ${s.label || \"\"}\"\n          aria-pressed=${s.selected}\n          ?disabled=${s.disabled}\n          @click=${s.handleToggle}\n          @focusin=${s.onSelectFocusIn}\n          @focusout=${s.onSelectFocusOut}\n        >\n          ${b(s)}\n        </button>\n      `\n)}\n\n    ${l(\n  s.hasDelete,\n  () => i`\n      <div class=\"dss-chip__delete\">\n        <${t}\n          variant=\"info\"\n          icon=\"cancel\"\n          label=\"Eliminar ${s.label || \"\"}\"\n          hideTooltip\n          size=\"${s.size === \"sm\" ? \"sm\" : \"md\"}\"\n          ?disabled=${s.disabled}\n          @click=${s.handleDelete}>\n        </${t}>\n      </div>\n      `,\n  () => e\n)}\n\n    ${l(\n  s._isLabelTruncated,\n  () => i`\n        <${h}>\n          ${s.label}\n        </${h}>\n      `,\n  () => e\n)}\n  </div>\n`;\nexport {\n  z as template\n};\n//# sourceMappingURL=chip.template.js.map\n","import { LitElement as p, unsafeCSS as c } from \"lit\";\nimport { property as l, state as n } from \"lit/decorators.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport { booleanType as o } from \"../../utils/property-types.js\";\nimport f from \"./chip.style.css.js\";\nimport { template as b } from \"./chip.template.js\";\nvar y = Object.defineProperty, s = (r, e, t, m) => {\n  for (var a = void 0, d = r.length - 1, h; d >= 0; d--)\n    (h = r[d]) && (a = h(e, t, a) || a);\n  return a && y(e, t, a), a;\n};\nclass i extends p {\n  constructor() {\n    super(...arguments), this.size = \"lg\", this.icon = \"\", this.label = \"\", this.hasDelete = !1, this.disabled = !1, this.selected = !1, this.disableSelect = !1, this._isSelectFocused = !1, this._isLabelTruncated = !1, this._isFirstUpdated = !0;\n  }\n  static get styles() {\n    return [c(u), c(f)];\n  }\n  handleToggle() {\n    this.disableSelect || this.disabled || (this.selected = !this.selected, this.dispatchEvent(\n      new CustomEvent(\"onToggle\", {\n        detail: {\n          text: this.label,\n          selected: this.selected\n        }\n      })\n    ));\n  }\n  handleKeydown(e) {\n    e.stopPropagation(), (e.key === \"Enter\" || e.key === \"Space\") && this.handleToggle();\n  }\n  handleDelete(e) {\n    e.stopPropagation(), this.dispatchEvent(\n      new CustomEvent(\"onDelete\", {\n        detail: {\n          text: this.label\n        }\n      })\n    );\n  }\n  onSelectFocusIn(e) {\n    if (this.disabled || this.disableSelect) return;\n    const t = e.target;\n    this._isSelectFocused = !!(t != null && t.matches(\":focus-visible\"));\n  }\n  onSelectFocusOut() {\n    this._isSelectFocused = !1;\n  }\n  async firstUpdated() {\n    await this.updateComplete, this._checkLabelTruncated(), this._isFirstUpdated = !1;\n  }\n  willUpdate(e) {\n    !this._isFirstUpdated && e.has(\"label\") && this._checkLabelTruncated();\n  }\n  _checkLabelTruncated() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-chip__label\");\n    e && (this._isLabelTruncated = e.scrollWidth > e.offsetWidth, this.requestUpdate());\n  }\n  render() {\n    return b(this);\n  }\n}\ns([\n  l({ type: String })\n], i.prototype, \"size\");\ns([\n  l({ type: String })\n], i.prototype, \"icon\");\ns([\n  l({ type: String })\n], i.prototype, \"label\");\ns([\n  l(o)\n], i.prototype, \"hasDelete\");\ns([\n  l(o)\n], i.prototype, \"disabled\");\ns([\n  l(o)\n], i.prototype, \"selected\");\ns([\n  l(o)\n], i.prototype, \"disableSelect\");\ns([\n  n()\n], i.prototype, \"_isSelectFocused\");\nexport {\n  i as Chip\n};\n//# sourceMappingURL=chip.js.map\n","const s = \".dss-elevation--sm{box-shadow:var(--dss-elevation-sm)}.dss-elevation--md{box-shadow:var(--dss-elevation-md)}.dss-elevation--lg{box-shadow:var(--dss-elevation-lg)}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=elevation.style.css.js.map\n","const t = \":host(.full-width){display:block;width:100%}.dss-content-switcher{border-radius:var(--dss-radius-xl);background-color:var(--color-neutral-50);display:flex;gap:var(--dss-spacing-xxs);padding:var(--dss-spacing-xxs);width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.dss-content-switcher--full-width{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.dss-content-switcher__item{box-sizing:border-box;border-radius:var(--dss-radius-xl);position:relative;transition:.3s all ease-in;width:-moz-fit-content;width:fit-content;display:flex}.dss-content-switcher__item.dss-content-switcher__item--sm{width:auto;min-width:48px}.dss-content-switcher__item.dss-content-switcher__item--sm label{max-height:16px;padding:0 var(--dss-spacing-xs)}.dss-content-switcher__item.dss-content-switcher__item--md{width:auto;min-width:64px}.dss-content-switcher__item.dss-content-switcher__item--md label{max-height:24px;padding:var(--dss-spacing-xxs) var(--dss-spacing-xs);font-size:var(--dss-font-size-sm)}.dss-content-switcher__item.dss-content-switcher__item--lg{width:auto;min-width:80px}.dss-content-switcher__item.dss-content-switcher__item--lg label{max-height:32px;padding:var(--dss-spacing-xs);font-size:var(--dss-font-size-md)}.dss-content-switcher__item input[type=radio]{height:100%;position:absolute;width:100%;opacity:0;cursor:pointer;border-radius:var(--dss-radius-xl)}.dss-content-switcher__item input[type=radio]:checked+label{background-color:var(--color-white);color:var(--color-nuetral-900)}.dss-content-switcher__item input[type=radio]:active+label{color:var(--color-neutral-900)}.dss-content-switcher__item input[type=radio]:disabled{cursor:not-allowed}.dss-content-switcher__item input[type=radio]:disabled label{color:var(--color-neutral-500);cursor:not-allowed}.dss-content-switcher__item input[type=radio]:focus-visible:enabled+label{outline:var(--dss-border-width-lg) solid var(--color-blue-200);color:var(--color-neutral-700)}.dss-content-switcher__item label{gap:var(--dss-spacing-xxs);box-sizing:border-box;font-size:var(--dss-font-size-xs);line-height:var(--line-16);font-weight:var(--font-semibold);border-radius:var(--dss-radius-xl);height:100%;width:100%;padding:var(--dss-spacing-xs);display:flex;justify-content:center;align-items:center;transition:.3s all ease-in;color:var(--color-neutral-700)}.dss-content-switcher__item:not(.dss-content-switcher__item--selected):hover label{color:var(--color-primary-600)}\";\nexport {\n  t as default\n};\n//# sourceMappingURL=content-switcher.style.css.js.map\n","import { nothing as r, html as i } from \"lit\";\nimport { classMap as t } from \"lit/directives/class-map.js\";\nimport { repeat as n } from \"lit/directives/repeat.js\";\nconst m = (l) => i`\n  <div class=${t({\n  \"dss-content-switcher\": !0,\n  \"dss-content-switcher--full-width\": l.fullWidth\n})}\n    role=\"radiogroup\" \n    aria-orientation=\"horizontal\">\n    ${n(\n  l._tabs,\n  (e) => e.label,\n  (e, s) => {\n    var a, d;\n    const c = {\n      \"dss-elevation--md\": !!e.selected\n    }, o = {\n      \"dss-content-switcher__item\": !0,\n      \"dss-content-switcher__item--selected\": !!e.selected,\n      [`dss-content-switcher__item--${l.size}`]: !!l.size\n    };\n    return i`\n          <div class=${t(o)}>\n            <input\n              id=\"radio-${s}\"\n              type=\"radio\"\n              tabindex=${e.selected || e.label === ((a = l.tabSelected) == null ? void 0 : a.label) ? \"0\" : \"-1\"}\n              name=\"tab\"\n              ?checked=${e.selected || e.label === ((d = l.tabSelected) == null ? void 0 : d.label)}\n              ?disabled=${e.disabled}\n              @change=${() => l._onSelect(e)}\n              aria-labelledby=\"label-${s}\"\n            />\n            <label id=\"label-${s}\" class=${t(c)}>\n              ${e.icon ? i`\n                <dss-icon icon=\"${e.icon}\" size=\"${l.size === \"lg\" ? \"md\" : \"sm\"}\" class=\"tab-icon\"></dss-icon>\n              ` : r}\n              ${e.label}\n            </label>\n          </div>\n        `;\n  }\n)}\n  </div>\n`;\nexport {\n  m as template\n};\n//# sourceMappingURL=content-switcher.template.js.map\n","import { LitElement as p, unsafeCSS as d } from \"lit\";\nimport { property as o, state as c } from \"lit/decorators.js\";\nimport f from \"../../shared/elevation.style.css.js\";\nimport b from \"../../shared/reset.style.css.js\";\nimport { booleanType as u } from \"../../utils/property-types.js\";\nimport m from \"./content-switcher.style.css.js\";\nimport { template as _ } from \"./content-switcher.template.js\";\nvar S = Object.defineProperty, i = (a, t, e, r) => {\n  for (var s = void 0, h = a.length - 1, n; h >= 0; h--)\n    (n = a[h]) && (s = n(t, e, s) || s);\n  return s && S(t, e, s), s;\n};\nclass l extends p {\n  constructor() {\n    super(...arguments), this.fullWidth = !1, this.size = \"md\", this.tabs = [], this._isFirstUpdate = !0, this._tabs = [];\n  }\n  connectedCallback() {\n    super.connectedCallback(), this._initializeSelectedTab();\n  }\n  static get styles() {\n    return [d(b), d(f), d(m)];\n  }\n  _onSelect(t) {\n    t.selected = !0, this.tabSelected = t, this._tabs = this._tabs.map((e) => {\n      var r;\n      return { ...e, selected: e.label === ((r = this.tabSelected) == null ? void 0 : r.label) };\n    }), this.dispatchEvent(new CustomEvent(\"onChange\", { detail: this.tabSelected.label })), this.requestUpdate();\n  }\n  _checkFullWidth() {\n    this.fullWidth ? this.classList.add(\"full-width\") : this.classList.remove(\"full-width\");\n  }\n  _initializeSelectedTab() {\n    this._tabs = this.tabs.map((t) => ({ ...t })), this.tabSelected = this._tabs.find((t) => t.selected) || this._tabs.find((t) => !t.disabled);\n  }\n  willUpdate(t) {\n    if (t.has(\"tabs\")) {\n      if (this._isFirstUpdate) {\n        this._isFirstUpdate = !1;\n        return;\n      }\n      const e = t.get(\"tabs\");\n      if (JSON.stringify(e) === JSON.stringify(this.tabs))\n        return;\n      this._initializeSelectedTab();\n    }\n  }\n  updated(t) {\n    t.has(\"fullWidth\") && this._checkFullWidth();\n  }\n  render() {\n    return _(this);\n  }\n}\ni([\n  o(u)\n], l.prototype, \"fullWidth\");\ni([\n  o({ type: String })\n], l.prototype, \"size\");\ni([\n  o({ type: Array })\n], l.prototype, \"tabs\");\ni([\n  c()\n], l.prototype, \"tabSelected\");\nexport {\n  l as ContentSwitcher\n};\n//# sourceMappingURL=content-switcher.js.map\n","const r = ':host{display:flex;gap:8px;align-items:center}.dss-radio-wrapper{display:flex;align-items:flex-start;gap:8px}::slotted([slot=\"input\"]){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-white);margin:0;color:var(--color-primary-500);width:20px;height:20px;border:var(--dss-border-width-sm) solid var(--color-primary-500);border-radius:50%;transform:translateY(-.075em);display:grid;place-content:center;cursor:pointer;transition:.3s all linear;flex-shrink:0;margin:var(--dss-spacing-tiny)}::slotted([slot=\"input\"]):before{content:\"\";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:.3s transform ease-in-out;box-shadow:inset 1rem 1rem var(--color-primary-500);background-color:var(--color-white)}::slotted([slot=\"input\"]:checked){border:var(--dss-border-width-sm) solid var(--color-primary-500)}::slotted([slot=\"input\"]:checked):before{transform:scale(1);box-shadow:inset 1rem 1rem var(--color-primary-500)}::slotted([slot=\"input\"]:checked:hover){border:var(--dss-border-width-sm) solid var(--color-primary-600);transition:.3s all linear}::slotted([slot=\"input\"]:checked:hover::before){transform:scale(1);box-shadow:inset 1rem 1rem var(--color-primary-600);transition:.3s all linear}::slotted([slot=\"input\"]:disabled){cursor:not-allowed;border:var(--dss-border-width-sm) solid var(--color-neutral-400);background-color:var(--color-neutral-100)}::slotted([slot=\"input\"]:hover){border:var(--dss-border-width-sm) solid var(--color-neutral-600);transition:.3s all linear}::slotted([slot=\"input\"]:checked:disabled):before{box-shadow:inset 1rem 1rem var(--color-neutral-400)!important}.dss-radio-wrapper:focus-within ::slotted([slot=\"input\"]){outline:var(--dss-border-width-lg) solid var(--color-blue-200)}::slotted([slot=\"label\"]){color:var(--color-neutral-900);font-size:14px;cursor:pointer}.dss-radio-wrapper--disabled ::slotted([slot=\"label\"]){cursor:not-allowed;color:var(--color-neutral-500)}::slotted([slot=\"input\"]:disabled:hover){border:var(--dss-border-width-sm) solid var(--color-neutral-500);transition:.3s all linear}::slotted([slot=\"input\"]:disabled:hover::before){transform:scale(1);box-shadow:inset 1rem 1rem var(--color-neutral-500);transition:.3s all linear}.dss-radio-container{display:inline-flex;align-items:flex-start;flex:0 0 auto;margin-top:3px}';\nexport {\n  r as default\n};\n//# sourceMappingURL=radio-button.style.css.js.map\n","const e = ':host{display:block;width:100%}.dss-custom-table-header{display:flex;flex-direction:column;gap:var(--dss-spacing-md);padding-bottom:var(--dss-spacing-md);transition:gap var(--animation-delay) ease-out}.dss-custom-table-header--deleted-filters,.dss-custom-table-header--empty-filters{gap:0}.dss-custom-table-header__main{display:flex;justify-content:end;align-items:flex-start;gap:var(--dss-spacing-md)}.dss-custom-table-header__main-title{flex:1;color:var(--color-neutral-900);font-weight:var(--font-bold);font-size:20px;height:32px;display:flex;align-items:center}.dss-custom-table-header__main-actions{display:flex;align-items:flex-start;gap:var(--dss-spacing-md)}.dss-custom-table-header:not(.dss-custom-table-header--innerfilters-overflow) .dss-custom-table-header__main-actions--combined-filters.dss-custom-table-header__main-actions--empty-title{margin-top:var(--dss-spacing-md)}.dss-custom-table-header__main-actions__config{display:flex;align-items:center;gap:var(--dss-spacing-md)}.dss-custom-table-header__main-actions__expand{padding-left:var(--dss-spacing-md);position:relative}.dss-custom-table-header__main-actions__expand:before{content:\"\";position:absolute;top:50%;left:0;transform:translateY(-50%);width:1px;height:24px;background-color:var(--color-neutral-100)}.dss-custom-table-header--hide-expand-divider .dss-custom-table-header__main-actions__expand:before{display:none}.main-actions__config-info{display:flex;align-items:center;height:32px;font-size:14px;font-style:normal;font-weight:400;line-height:24px;color:var(--color-neutral-500);white-space:nowrap}.dss-custom-table-header__filters{display:flex;justify-content:flex-start;align-items:flex-start;gap:var(--dss-spacing-md)}.dss-custom-table-header__filters--inner{flex:1}.dss-custom-table-header__filters--chips:not(.dss-custom-table-header__filters--combined){visibility:hidden;opacity:0;transition:all var(--animation-delay) ease-out;height:0}.dss-custom-table-header__filters--empty-filters.dss-custom-table-header__filters--combined{gap:0}.dss-custom-table-header__filters--empty-filters.dss-custom-table-header__filters--combined .filters-label,.dss-custom-table-header__filters--empty-filters.dss-custom-table-header__filters--combined .filters-wrapper{opacity:0;visibility:hidden;height:0}.dss-custom-table-header__filters--chips.dss-custom-table-header__filters--has-content{visibility:visible;opacity:1;flex:1;height:24px}.dss-custom-table-header__filters--chips.dss-custom-table-header__filters--has-content.dss-custom-table-header__filters--combined.dss-custom-table-header__filters--empty-title{height:88px}.dss-custom-table-header__filters--chips.dss-custom-table-header__filters--has-content.dss-custom-table-header__filters--combined.dss-custom-table-header__filters--empty-title.dss-custom-table-header__filters--chips.dss-custom-table-header__filters--has-content.dss-custom-table-header__filters--expanded,.dss-custom-table-header__filters--chips.dss-custom-table-header__filters--has-content.dss-custom-table-header__filters--expanded{height:auto}.dss-custom-table-header__filters ::slotted(div.dss-table-filters){width:100%;display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs);flex-wrap:nowrap}.dss-custom-table-header--inner-filters .dss-custom-table-header__filters{align-items:center;flex-wrap:wrap;display:inline-flex}.filters-label{font-size:14px;font-weight:var(--font-bold);color:var(--color-neutral-600)}.filters-list-empty{font-size:14px;color:var(--color-neutral-600)}.filters-wrapper{flex:1;display:flex}.filters-list,.filters-list-hidden{display:flex;flex-wrap:wrap;gap:var(--dss-spacing-xs)}.filters-list.hide{opacity:0;visibility:hidden}.filters-list-hidden{margin-top:8px}.filters-clean{display:inline-block;width:-moz-fit-content;width:fit-content}@media only screen and (min-width: 1440px){.dss-custom-table-header--hide-title:not(.dss-custom-table-header--jcef):not(.dss-custom-table-header--innerfilters-overflow){flex-direction:row-reverse}.dss-custom-table-header--hide-title:not(.dss-custom-table-header--jcef):not(.dss-custom-table-header--innerfilters-overflow) .dss-custom-table-header__filters{padding-top:var(--dss-spacing-xxs)}.dss-custom-table-header--hide-title:not(.dss-custom-table-header--jcef):not(.dss-custom-table-header--innerfilters-overflow).dss-custom-table-header--inner-filters:not(.dss-custom-table-header--combined-filters){align-items:center}.dss-custom-table-header:not(.dss-custom-table-header--jcef) .dss-custom-table-header__filters{flex:1}}@media only screen and (min-width: 1419px){.dss-custom-table-header--hide-title.dss-custom-table-header--jcef:not(.dss-custom-table-header--innerfilters-overflow){flex-direction:row-reverse}.dss-custom-table-header--hide-title.dss-custom-table-header--jcef:not(.dss-custom-table-header--innerfilters-overflow) .dss-custom-table-header__filters{padding-top:var(--dss-spacing-xxs)}.dss-custom-table-header--jcef .dss-custom-table-header__filters{flex:1}}@media only screen and (max-width: 1439px){.dss-custom-table-header--only-inner-expand:not(.dss-custom-table-header--jcef) .dss-custom-table-header__main-actions__expand:before{display:none}.dss-custom-table-header:not(.dss-custom-table-header--jcef):not(.dss-custom-table-header--innerfilters-overflow) .dss-custom-table-header__main-actions.dss-custom-table-header__main-actions--combined-filters.dss-custom-table-header__main-actions--empty-title{margin-top:0}}@media only screen and (max-width: 1418px){.dss-custom-table-header--only-inner-expand.dss-custom-table-header--jcef .dss-custom-table-header__main-actions__expand:before{display:none}.dss-custom-table-header.dss-custom-table-header--jcef:not(.dss-custom-table-header--innerfilters-overflow) .dss-custom-table-header__main-actions.dss-custom-table-header__main-actions--combined-filters.dss-custom-table-header__main-actions--empty-title{margin-top:0}}.dss-custom-table-header__main-actions__custom ::slotted(*){display:flex;align-items:center;gap:var(--dss-spacing-md)}';\nexport {\n  e as default\n};\n//# sourceMappingURL=custom-table-header.style.css.js.map\n","import { nothing as l } from \"lit\";\nimport { classMap as t } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as _, literal as b, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as f } from \"../../api/custom-element-scope.js\";\nconst i = b`dss-button${_(f())}`, c = (e) => {\n  var d;\n  const a = e._innerFilters, r = !e._innerFilters || e.enableCombinedFilters;\n  return s`\n    <div\n      class=${t({\n    \"dss-custom-table-header\": !0,\n    \"dss-custom-table-header--hide-title\": !e.tableTitle || e.tableTitle === \"\",\n    \"dss-custom-table-header--jcef\": e.jcef,\n    \"dss-custom-table-header--inner-filters\": e._innerFilters,\n    \"dss-custom-table-header--combined-filters\": e.enableCombinedFilters,\n    \"dss-custom-table-header--hide-expand-divider\": e.tableTitle !== \"\" && !e.showConfig && !e.showActionFilters && !e.tableInfo && !e.customActions,\n    \"dss-custom-table-header--only-inner-expand\": e.tableTitle === \"\" && !e.showConfig && !e.showActionFilters && !e.tableInfo,\n    \"dss-custom-table-header--empty-filters\": !e._filters && !e._innerFilters,\n    \"dss-custom-table-header--deleted-filters\": !e._innerFilters && (!e._filters || ((d = e._filters) == null ? void 0 : d.length) === 0)\n  })}\n    >\n      <div class=\"dss-custom-table-header__main\">\n          \n        ${e.tableTitle ? s`\n            <div class=\"dss-custom-table-header__main-title\">\n              ${e.tableTitle}\n            </div>\n          ` : l}\n\n        <div class=${t({\n    \"dss-custom-table-header__main-actions\": !0,\n    \"dss-custom-table-header__main-actions--combined-filters\": e.enableCombinedFilters,\n    \"dss-custom-table-header__main-actions--empty-title\": !e.tableTitle || e.tableTitle === \"\"\n  })}>\n        \n          <div class=\"dss-custom-table-header__main-actions__config\">\n\n            ${e.tableInfo ? s`\n              <div class=\"main-actions__config-info\">\n                ${e.tableInfo}\n              </div>\n              ` : l}\n\n            ${e.customActions ? s`\n                <div class=\"dss-custom-table-header__main-actions__custom\">\n                  <slot name=\"header-custom-actions\"></slot>\n                </div>\n              ` : l}\n\n            \n\n            ${e.showConfig ? s`\n              <${i}\n                variant=\"subtle\"\n                size=\"md\"\n                icon=\"settings\"\n                label=\"${e.configTableLabel}\"\n                @onClick=${e._emitConfigTable}\n              ></${i}>\n              ` : l}\n\n            ${e.showActionFilters ? s`\n              <div style=\"position: relative;\">\n                <${i}\n                variant=\"secondary\"\n                size=\"md\"\n                icon=\"filter_list\"\n                label=\"${e._openFiltersLabel}\"\n                @onClick=${e._emitOpenFilters}\n                ></${i}>\n              </div>\n              ` : l}\n\n          </div>\n\n          ${e.hideActionExpand ? l : s`\n            <div class=\"dss-custom-table-header__main-actions__expand\">\n              <${i}\n                variant=\"subtle\"\n                label=\"${e._expandTable ? e._collapseLabel : e._expandLabel}\"\n                icon=\"${e._expandTable ? \"close_fullscreen\" : \"open_in_full\"}\"\n                size=\"md\"\n                @click=\"${e._emitExpandAction}\"\n              ></${i}>\n            </div>`}\n    \n        </div>\n      </div>\n\n      <div class=${t({\n    \"dss-custom-table-header__filters\": !0,\n    \"dss-custom-table-header__filters--combined\": e.enableCombinedFilters,\n    \"dss-custom-table-header__filters--inner\": a,\n    \"dss-custom-table-header__filters--chips\": r,\n    \"dss-custom-table-header__filters--has-content\": !!e._filters && e._filters.length > 0,\n    \"dss-custom-table-header__filters--empty-filters\": !e._filters || e._filters.length === 0,\n    \"dss-custom-table-header__filters--expanded\": e._filtersExpanded,\n    \"dss-custom-table-header__filters--empty-title\": !e.tableTitle || e.tableTitle === \"\"\n  })}>\n      ${a ? s` \n            <slot name=\"filters\"></slot>\n          ` : l}\n      ${r ? s`\n           \n              <div class=\"filters-label\">${e._filtersLabel}:</div>\n        \n              <div class=\"filters-wrapper\" id=\"filtersWrapper\">\n                <div class=\"filters-list hide\" id=\"filtersList\">\n                  ${e._generateFilterChips(e._visibleFilters)}\n                  ${e._hiddenFilters.length > 0 && e._filtersShowMore && !e._filtersExpanded ? s`\n                      <${i}\n                        class=\"filters-show-more\"\n                        variant=\"info\"\n                        size=\"sm\"\n                        label=\"Més (${e._hiddenFilters.length})\"\n                        @onClick=${e._filtersToggleMore}\n                      ></${i}>\n                    ` : l}\n\n                  ${e._filtersExpanded ? s`\n                    ${e._generateFilterChips(e._hiddenFilters)}\n                  ` : l}\n\n                  ${e._filtersShowMore && e._filtersExpanded ? s`\n                      <${i}\n                        variant=\"info\"\n                        size=\"sm\"\n                        label=\"Menys\"\n                        @onClick=${e._filtersToggleMore}\n                      ></${i}>\n                    ` : l}\n\n                  <${i}\n                    id=\"filtersClean\"\n                    class=\"filters-clean\"\n                    variant=\"subtle\"\n                    size=\"sm\"\n                    icon=\"filter_list_off\"\n                    label=\"${e._cleanFiltersLabel}\"\n                    @onClick=${e._clearFilters}\n                  ></${i}>\n                  \n                </div>\n              </div>\n           \n          ` : l}\n      </div>\n    </div>\n\n  `;\n};\nexport {\n  c as template\n};\n//# sourceMappingURL=custom-table-header.template.js.map\n","import { LitElement as S, unsafeCSS as p, nothing as C } from \"lit\";\nimport { property as l } from \"lit/decorators.js\";\nimport { unsafeStatic as g, literal as q, html as E } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as x } from \"../../api/custom-element-scope.js\";\nimport { booleanType as h } from \"../../utils/property-types.js\";\nimport U from \"../../foundations/icon/icon.style.css.js\";\nimport A from \"../badge/badge.states.css.js\";\nimport O from \"../button/button.style.css.js\";\nimport R from \"../checkbox/checkbox.style.css.js\";\nimport z from \"../chip/chip.style.css.js\";\nimport M from \"../icon-button/icon-button.style.css.js\";\nimport B from \"../radio-button/radio-button.style.css.js\";\nimport W from \"./custom-table-header.style.css.js\";\nimport { template as V } from \"./custom-table-header.template.js\";\nvar P = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, r = (b, e, t, i) => {\n  for (var s = i > 1 ? void 0 : i ? $(e, t) : e, n = b.length - 1, a; n >= 0; n--)\n    (a = b[n]) && (s = (i ? a(e, t, s) : a(s)) || s);\n  return i && s && P(e, t, s), s;\n};\nconst T = q`dss-chip${g(x())}`;\nclass o extends S {\n  constructor() {\n    super(), this._resizeTimer = null, this.enableCombinedFilters = !1, this.tableInfo = void 0, this.showConfig = !1, this.configTableLabel = \"Configurar taula\", this.hideActionExpand = !1, this.showActionFilters = !1, this.jcef = !1, this.customActions = !1, this._filters = void 0, this._visibleFilters = [], this._hiddenFilters = [], this._filtersExpanded = !1, this._filtersShowMore = !1, this._tableTitle = \"\", this._innerFilters = !1, this._expandTable = !1, this._expandLabel = \"Ampliar\", this._collapseLabel = \"Reduir\", this._rowsOnCollapsed = 5, this._filtersLabel = \"Selecció\", this._cleanFiltersLabel = \"Netejar filtres\", this._openFiltersLabel = \"Filtres\", this._hidetableTitleAndExpand = !1, this._isFirstUpdated = !0, this._isSideMenuLoaded = !1, this._handleResizeBound = this._handleResize.bind(this);\n  }\n  static get styles() {\n    return [\n      p(U),\n      p(O),\n      p(M),\n      p(z),\n      p(R),\n      p(B),\n      p(W),\n      p(A)\n    ];\n  }\n  connectedCallback() {\n    super.connectedCallback(), window.addEventListener(\"resize\", this._handleResizeBound), this._sideMenuResizeObserver = new ResizeObserver(() => {\n      this._isSideMenuLoaded && this._handleResize(), this._isSideMenuLoaded = !0;\n    }), setTimeout(() => {\n      var t;\n      const e = document.querySelector(`dss-side-menu${x()}`);\n      e && ((t = this._sideMenuResizeObserver) == null || t.observe(e));\n    }, 0);\n  }\n  disconnectedCallback() {\n    var e;\n    super.disconnectedCallback(), window.removeEventListener(\"resize\", this._handleResizeBound), (e = this._sideMenuResizeObserver) == null || e.disconnect();\n  }\n  _handleResize() {\n    this._resizeTimer && clearTimeout(this._resizeTimer), this._resizeTimer = setTimeout(() => {\n      var t, i;\n      if (this._filters && (!this._innerFilters || this.enableCombinedFilters)) {\n        this._visibleFilters = this._filters, this._hiddenFilters = [];\n        const s = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"#filtersWrapper\"), n = s == null ? void 0 : s.querySelector(\".filters-list\");\n        n == null || n.classList.add(\"hide\"), this.requestUpdate(), setTimeout(() => {\n          this._splitFiltersByLine();\n        }, 0);\n      }\n      if (this._innerFilters) {\n        const s = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-custom-table-header\");\n        s == null || s.classList.remove(\"dss-custom-table-header--innerfilters-overflow\"), setTimeout(() => {\n          this._checkInnerFiltersOverflow();\n        }, 0);\n      }\n    }, 250);\n  }\n  set filters(e) {\n    const t = this._filters;\n    this._filters = e, this._visibleFilters = e, this._hiddenFilters = [], this.requestUpdate(\"filters\", t);\n  }\n  get filters() {\n    return this._filters ?? [];\n  }\n  set tableTitle(e) {\n    const t = this._tableTitle;\n    this._tableTitle = e, this.requestUpdate(\"tableTitle\", t);\n  }\n  get tableTitle() {\n    return this._tableTitle;\n  }\n  set hidetableTitleAndExpand(e) {\n    const t = this._hidetableTitleAndExpand;\n    this._hidetableTitleAndExpand = e, this.requestUpdate(\"hidetableTitleAndExpand\", t);\n  }\n  get hidetableTitleAndExpand() {\n    return this._hidetableTitleAndExpand;\n  }\n  set innerFilters(e) {\n    const t = this._innerFilters;\n    this._innerFilters = e, this.requestUpdate(\"innerFilters\", t);\n  }\n  get innerFilters() {\n    return this._innerFilters;\n  }\n  set expandTable(e) {\n    const t = this._expandTable;\n    this._expandTable = e, this.requestUpdate(\"expandTable\", t);\n  }\n  get expandTable() {\n    return this._expandTable;\n  }\n  set expandLabel(e) {\n    const t = this._expandLabel;\n    this._expandLabel = e, this.requestUpdate(\"expandLabel\", t);\n  }\n  get expandLabel() {\n    return this._expandLabel;\n  }\n  set collapseLabel(e) {\n    const t = this._collapseLabel;\n    this._collapseLabel = e, this.requestUpdate(\"collapseLabel\", t);\n  }\n  get collapseLabel() {\n    return this._collapseLabel;\n  }\n  set rowsOnCollapsed(e) {\n    const t = this._rowsOnCollapsed;\n    this._rowsOnCollapsed = e, this.requestUpdate(\"rowsOnCollapsed\", t);\n  }\n  get rowsOnCollapsed() {\n    return this._rowsOnCollapsed;\n  }\n  set filtersLabel(e) {\n    const t = this._filtersLabel;\n    this._filtersLabel = e, this.requestUpdate(\"filtersLabel\", t);\n  }\n  get filtersLabel() {\n    return this._filtersLabel;\n  }\n  set cleanFiltersLabel(e) {\n    const t = this._cleanFiltersLabel;\n    this._cleanFiltersLabel = e, this.requestUpdate(\"cleanFiltersLabel\", t);\n  }\n  get cleanFiltersLabel() {\n    return this._cleanFiltersLabel;\n  }\n  _generateFilterChips(e) {\n    let t;\n    return e && (t = e.map((i, s) => {\n      if (!i) return C;\n      const n = (c) => {\n        const d = c.detail.text;\n        typeof i == \"string\" ? this._filters = this._filters.filter((f) => f !== d) : this._filters = this._filters.filter((f) => f.value.trim() !== (d == null ? void 0 : d.trim())), this._emitChangeFilters(), this.requestUpdate();\n      };\n      return E`\n\t\t\t\t\t<${T} \n\t\t\t\t\t\tclass=\"filter-chip\"\n\t\t\t\t\t\tdata-index=\"${s}\"\n\t\t\t\t\t\tlabel=\"${typeof i === \"string\" ? i : i.value}\" \n\t\t\t\t\t\tsize=\"sm\" \n\t\t\t\t\t\tdisableSelect\n\t\t\t\t\t\thasDelete\n\t\t\t\t\t\t@onDelete=\"${n}\">\n\t\t\t\t\t</${T}>\n        `;\n    })), t;\n  }\n  _clearFilters() {\n    this._filters = [], this._visibleFilters = [], this._hiddenFilters = [], this._emitChangeFilters(), this.requestUpdate();\n  }\n  // Output events\n  _emitExpandAction() {\n    this._expandTable = !this._expandTable;\n    const e = {\n      detail: this._expandTable,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onExpand\", e)), this.requestUpdate();\n  }\n  _emitOpenFilters() {\n    const e = {\n      detail: !0,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onOpenFilters\", e)), this.requestUpdate();\n  }\n  _emitConfigTable() {\n    const e = {\n      detail: !0,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onConfigTable\", e)), this.requestUpdate();\n  }\n  _emitChangeFilters() {\n    const e = {\n      detail: this._filters,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onChangeFilters\", e)), this.requestUpdate();\n  }\n  async _splitFiltersByLine() {\n    var f, F, w, L;\n    const e = (f = this.shadowRoot) == null ? void 0 : f.querySelector(\"#filtersWrapper\"), t = (F = this.shadowRoot) == null ? void 0 : F.querySelector(\"#filtersClean\"), i = e == null ? void 0 : e.querySelector(\".filters-list\"), s = (w = this.shadowRoot) == null ? void 0 : w.querySelector(\".filters-show-more\"), n = s ? s.clientWidth : 72;\n    if (!e || !t || !i) return;\n    i.classList.remove(\"hide\"), await this.updateComplete, await new Promise(requestAnimationFrame);\n    const a = Array.from(i.querySelectorAll(\".filter-chip\"));\n    if (a.length === 0) {\n      this._visibleFilters = [], this._hiddenFilters = [], this._filtersShowMore = !1, this.requestUpdate();\n      return;\n    }\n    let u = e.clientWidth - t.clientWidth - n - 8 - 8;\n    const c = [], d = [];\n    for (const _ of a) {\n      const v = Math.ceil(_.getBoundingClientRect().width), m = _.dataset.index ? Number(_.dataset.index) : -1, y = m >= 0 && ((L = this._filters) != null && L[m]) ? this._filters[m] : null;\n      y && (v > u ? d.push(y) : (c.push(y), u -= v + 8));\n    }\n    this._visibleFilters = [...c], this._hiddenFilters = [...d], this._filtersShowMore = d.length > 0, this.requestUpdate();\n  }\n  _filtersToggleMore() {\n    this._filtersExpanded = !this._filtersExpanded, this.requestUpdate();\n  }\n  _checkInnerFiltersOverflow() {\n    const e = window.innerWidth, t = this.jcef ? 1419 : 1440;\n    e >= t && setTimeout(() => {\n      var a, u, c;\n      const i = (a = this.shadowRoot) == null ? void 0 : a.querySelector(\".dss-custom-table-header\"), s = (u = this.shadowRoot) == null ? void 0 : u.querySelector(\".dss-custom-table-header__filters\"), n = (c = this.shadowRoot) == null ? void 0 : c.querySelector(\".dss-custom-table-header__main-actions\");\n      !i || !s || !n || (s.scrollWidth + n.scrollWidth > i.clientWidth ? i.classList.add(\"dss-custom-table-header--innerfilters-overflow\") : i.classList.remove(\"dss-custom-table-header--innerfilters-overflow\"));\n    }, 0);\n  }\n  filtersPopoverClose() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"dss-popover\");\n    e && e._closePopover();\n  }\n  async firstUpdated() {\n    await this.updateComplete, (!this._innerFilters || this.enableCombinedFilters) && this._splitFiltersByLine(), this._innerFilters && this._checkInnerFiltersOverflow(), this._isFirstUpdated = !1;\n  }\n  updated(e) {\n    super.updated(e), e.has(\"filters\") && !this._isFirstUpdated && this._splitFiltersByLine();\n  }\n  render() {\n    return V(this);\n  }\n}\nr([\n  l(h)\n], o.prototype, \"enableCombinedFilters\", 2);\nr([\n  l({ type: String })\n], o.prototype, \"tableInfo\", 2);\nr([\n  l(h)\n], o.prototype, \"showConfig\", 2);\nr([\n  l({ type: String })\n], o.prototype, \"configTableLabel\", 2);\nr([\n  l({ type: Array })\n], o.prototype, \"filters\", 1);\nr([\n  l({ type: String })\n], o.prototype, \"tableTitle\", 1);\nr([\n  l(h)\n], o.prototype, \"hidetableTitleAndExpand\", 1);\nr([\n  l(h)\n], o.prototype, \"innerFilters\", 1);\nr([\n  l(h)\n], o.prototype, \"expandTable\", 1);\nr([\n  l({ type: String })\n], o.prototype, \"expandLabel\", 1);\nr([\n  l({ type: String })\n], o.prototype, \"collapseLabel\", 1);\nr([\n  l({ type: Number })\n], o.prototype, \"rowsOnCollapsed\", 1);\nr([\n  l({ type: String })\n], o.prototype, \"filtersLabel\", 1);\nr([\n  l({ type: String })\n], o.prototype, \"cleanFiltersLabel\", 1);\nr([\n  l(h)\n], o.prototype, \"hideActionExpand\", 2);\nr([\n  l(h)\n], o.prototype, \"showActionFilters\", 2);\nr([\n  l(h)\n], o.prototype, \"jcef\", 2);\nr([\n  l(h)\n], o.prototype, \"customActions\", 2);\nexport {\n  o as CustomTableHeader\n};\n//# sourceMappingURL=custom-table-header.js.map\n","function n(t) {\n  t && t.focus();\n}\nfunction f(t, i, l) {\n  let o = 0;\n  const e = t.querySelectorAll(l), s = e.length - 1;\n  i === e[0] ? n(e[s]) : (e.forEach((c, a) => {\n    c === i && (o = a);\n  }), n(e[o - 1]));\n}\nfunction u(t, i, l) {\n  let o = 0;\n  const e = t.querySelectorAll(l), s = e.length - 1;\n  i === e[s] ? n(e[0]) : (e.forEach((c, a) => {\n    c === i && (o = a);\n  }), n(e[o + 1]));\n}\nfunction r(t, i, l) {\n  const o = t.querySelector(`${l}[tabindex=\"0\"]`);\n  o == null || o.setAttribute(\"tabindex\", \"-1\"), i.setAttribute(\"tabindex\", \"0\"), i.click();\n}\nexport {\n  u as moveFocusToNextTarget,\n  f as moveFocusToPreviousTarget,\n  n as moveFocusToTarget,\n  r as onKeyboardEnter\n};\n//# sourceMappingURL=keyboard-navigation.js.map\n","function a(t, e, n) {\n  return t || (t = 0), e || (e = 0), n === \"asc\" ? t - e : e - t;\n}\nfunction f(t, e, n) {\n  return t || (t = /* @__PURE__ */ new Date(\"1900-01-01\")), e || (e = /* @__PURE__ */ new Date(\"1900-01-01\")), n === \"asc\" ? t.getTime() - e.getTime() : e.getTime() - t.getTime();\n}\nfunction o(t, e, n) {\n  return t || (t = \"\"), e || (e = \"\"), n === \"asc\" ? t.localeCompare(e) : e.localeCompare(t);\n}\nfunction d(t, e, n = \"asc\", r) {\n  return [...t].sort((i, c) => {\n    switch (r) {\n      case \"number\":\n        return a(i[e], c[e], n);\n      case \"date\":\n        const s = u(i[e]), m = u(c[e]);\n        return f(s, m, n);\n      case \"string\":\n        return o(i[e], c[e], n);\n      default:\n        return 0;\n    }\n  });\n}\nfunction u(t) {\n  if (!t) return null;\n  if (t instanceof Date) return t;\n  if (typeof t == \"number\") return new Date(t);\n  const e = t.trim();\n  if (/^\\d{4}-\\d{1,2}-\\d{1,2}/.test(e)) {\n    const r = new Date(e);\n    return Number.isNaN(r.getTime()) ? null : r;\n  }\n  if (/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/.test(e)) {\n    const [r, i, c] = e.split(\"/\").map(Number);\n    return new Date(c, i - 1, r);\n  }\n  const n = new Date(e);\n  return Number.isNaN(n.getTime()) ? null : n;\n}\nexport {\n  d as sort\n};\n//# sourceMappingURL=sorting.js.map\n","const r = \"*{scrollbar-width:thin;scrollbar-color:var(--color-neutral-100) var(--color-white)}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--color-white);border-radius:128px}*::-webkit-scrollbar-thumb{background-color:var(--color-neutral-100);border-radius:128px}\";\nexport {\n  r as default\n};\n//# sourceMappingURL=scrollbar.style.css.js.map\n","const t = \":host{display:block;width:100%;height:100%}.dss-custom-table{display:flex;flex-direction:column;height:100%;width:100%}.dss-custom-table-header{position:relative;z-index:300;background-color:var(--color-white)}.dss-custom-table-header,.dss-custom-table-footer{flex:0 1 auto}.dss-custom-table-body{flex:1 1 auto;overflow:auto}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--dss-spacing-xs);opacity:1;visibility:visible;transition:opacity var(--animation-delay) ease-out}.table-footer:not(.table-footer--hide){height:auto;border-top:var(--dss-border-width-sm) solid var(--color-neutral-100);padding:var(--dss-spacing-md)}.table-footer--hide{opacity:0;visibility:hidden;height:0;padding:0;margin:0;transition:none}.table-footer-description{color:var(--color-neutral-900);font-size:16px;font-weight:var(--font-bold)}::slotted(.table-footer-actions){display:flex;justify-content:flex-end;align-items:center;gap:var(--dss-spacing-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\";\nexport {\n  t as default\n};\n//# sourceMappingURL=custom-table.style.css.js.map\n","import { LitElement as q, unsafeCSS as g, render as H } from \"lit\";\nimport { unsafeStatic as w, literal as x, html as d } from \"lit/static-html.js\";\nimport { property as o, state as D } from \"lit/decorators.js\";\nimport { classMap as S } from \"lit/directives/class-map.js\";\nimport { ifDefined as P } from \"lit/directives/if-defined.js\";\nimport { getCustomElementSuffix as C } from \"../../api/custom-element-scope.js\";\nimport { booleanType as h } from \"../../utils/property-types.js\";\nimport { moveFocusToNextTarget as L, moveFocusToPreviousTarget as v, onKeyboardEnter as U } from \"../../utils/keyboard-navigation.js\";\nimport { sort as m } from \"../../utils/sorting.js\";\nimport z from \"../../foundations/icon/icon.style.css.js\";\nimport I from \"../../shared/scrollbar.style.css.js\";\nimport V from \"../checkbox/checkbox.style.css.js\";\nimport N from \"./custom-table.style.css.js\";\nvar M = Object.defineProperty, B = Object.getOwnPropertyDescriptor, a = (y, t, e, s) => {\n  for (var i = s > 1 ? void 0 : s ? B(t, e) : t, n = y.length - 1, r; n >= 0; n--)\n    (r = y[n]) && (i = (s ? r(t, e, i) : r(i)) || i);\n  return s && i && M(t, e, i), i;\n};\nconst R = x`dss-icon${w(C())}`, k = x`dss-custom-table-header${w(C())}`, $ = x`dss-table-pagination${w(C())}`;\nclass l extends q {\n  constructor() {\n    super(), this._scrollBody = null, this.internalSelectedCounter = 0, this.showConfig = !1, this.configTableLabel = \"Configurar taula\", this.customActions = !1, this.enableCombinedFilters = !1, this._hideHeader = !1, this._hidePaginator = !1, this._columnsHeader = [], this._data = void 0, this._paginatedData = void 0, this._currentSortColumn = \"\", this._currentSortType = \"string\", this._currentSortOrder = \"none\", this._multiselect = !1, this._radioselect = !1, this._allRowsSelected = !1, this._selectedRowsLabel = \"files seleccionades\", this._isFirstUpdate = !0, this._shouldUpdate = !1, this._table = void 0, this._currentRowsChecked = 0, this._selectedRowsCounter = void 0, this._tableTitle = \"\", this._filters = void 0, this._innerFilters = !1, this._expandTable = !1, this._expandLabel = \"Ampliar\", this._collapseLabel = \"Reduir\", this._filtersLabel = \"Selecció\", this._cleanFiltersLabel = \"Netejar filtres\", this._isTableHeaderCreated = !1, this._hideHeaderTitleAndExpand = !1, this._disableSorting = !1, this.hideActionExpand = !1, this.showActionFilters = !1, this._isPaginationStarted = !1, this._totalResults = void 0, this._currentIndex = 1, this._pageSize = 10, this._pageSizeOptions = [5, 10, 20], this._resultstext = \"Resultats\", this._rowsperpagetext = \"Files per pàgina\", this._paginationState = void 0, this._pageSizeOptionsDisabled = !1, this._hidePaginationResults = !1, this._hideFooter = !1, this.fixedColumnsBefore = void 0, this.fixedColumnsAfter = void 0, this.tableInfo = void 0, this.jcef = !1, this._currentSortedData = void 0, this._tbody = void 0, this._tbodyObserver = void 0, this._tbodyKeydownHandler = this._handleTableKeydown.bind(this), this._changeHandler = (t) => {\n      this._rowsCheckedListener(t.target), this._checkAllRowsSelected();\n    }, this._scrollXHandler = this._handleScrollX.bind(this);\n  }\n  static get styles() {\n    return [g(z), g(I), g(V), g(N)];\n  }\n  disconnectedCallback() {\n    var t, e;\n    super.disconnectedCallback(), (t = this._tbody) == null || t.removeEventListener(\"keydown\", this._tbodyKeydownHandler), this.removeEventListener(\"change\", this._changeHandler), this._scrollBody && (this._scrollBody.removeEventListener(\"scroll\", this._scrollXHandler), this._scrollBody = null), (e = this._tbodyObserver) == null || e.disconnect(), this._tbodyObserver = void 0;\n  }\n  set hideHeader(t) {\n    const e = this._hideHeader;\n    this._hideHeader = t, this.requestUpdate(\"hideHeader\", e);\n  }\n  get hideHeader() {\n    return this._hideHeader;\n  }\n  set hidePaginator(t) {\n    const e = this._hidePaginator;\n    this._hidePaginator = t, this.requestUpdate(\"hidePaginator\", e);\n  }\n  get hidePaginator() {\n    return this._hidePaginator;\n  }\n  set columnsHeader(t) {\n    const e = this._columnsHeader;\n    this._columnsHeader = t, this.requestUpdate(\"columnsHeader\", e);\n  }\n  get columnsHeader() {\n    return this._columnsHeader;\n  }\n  set data(t) {\n    const e = this._data;\n    this._data = t, this.requestUpdate(\"data\", e);\n  }\n  get data() {\n    return this._data || [];\n  }\n  set multiselect(t) {\n    const e = this._multiselect;\n    this._multiselect = t, this.requestUpdate(\"multiselect\", e);\n  }\n  get multiselect() {\n    return this._multiselect;\n  }\n  set radioselect(t) {\n    const e = this._radioselect;\n    this._radioselect = t, this.requestUpdate(\"radioselect\", e);\n  }\n  get radioselect() {\n    return this._radioselect;\n  }\n  set selectedRowsLabel(t) {\n    const e = this._selectedRowsLabel;\n    this._selectedRowsLabel = t, this.requestUpdate(\"selectedRowsLabel\", e);\n  }\n  get selectedRowsLabel() {\n    return this._selectedRowsLabel;\n  }\n  set selectedRowsCounter(t) {\n    const e = this._selectedRowsCounter;\n    this._selectedRowsCounter = t, this.requestUpdate(\"selectedRowsCounter\", e);\n  }\n  get selectedRowsCounter() {\n    return this._selectedRowsCounter || 0;\n  }\n  set tableTitle(t) {\n    const e = this._tableTitle;\n    this._tableTitle = t, this.requestUpdate(\"tableTitle\", e);\n  }\n  get tableTitle() {\n    return this._tableTitle;\n  }\n  set filters(t) {\n    const e = this._filters;\n    this._filters = t, this.requestUpdate(\"filters\", e);\n  }\n  get filters() {\n    return this._filters ?? [];\n  }\n  set innerFilters(t) {\n    const e = this._innerFilters;\n    this._innerFilters = t, this.requestUpdate(\"innerFilters\", e);\n  }\n  get innerFilters() {\n    return this._innerFilters;\n  }\n  set expandTable(t) {\n    const e = this._expandTable;\n    this._expandTable = t, this.requestUpdate(\"expandTable\", e);\n  }\n  get expandTable() {\n    return this._expandTable;\n  }\n  set expandLabel(t) {\n    const e = this._expandLabel;\n    this._expandLabel = t, this.requestUpdate(\"expandLabel\", e);\n  }\n  get expandLabel() {\n    return this._expandLabel;\n  }\n  set collapseLabel(t) {\n    const e = this._collapseLabel;\n    this._collapseLabel = t, this.requestUpdate(\"collapseLabel\", e);\n  }\n  get collapseLabel() {\n    return this._collapseLabel;\n  }\n  set filtersLabel(t) {\n    const e = this._filtersLabel;\n    this._filtersLabel = t, this.requestUpdate(\"filtersLabel\", e);\n  }\n  get filtersLabel() {\n    return this._filtersLabel;\n  }\n  set cleanFiltersLabel(t) {\n    const e = this._cleanFiltersLabel;\n    this._cleanFiltersLabel = t, this.requestUpdate(\"cleanFiltersLabel\", e);\n  }\n  get cleanFiltersLabel() {\n    return this._cleanFiltersLabel;\n  }\n  set hideHeaderTitleAndExpand(t) {\n    const e = this._hideHeaderTitleAndExpand;\n    this._hideHeaderTitleAndExpand = t, this.requestUpdate(\"hideHeaderTitleAndExpand\", e);\n  }\n  get hideHeaderTitleAndExpand() {\n    return this._hideHeaderTitleAndExpand;\n  }\n  set disableSorting(t) {\n    const e = this._disableSorting;\n    this._disableSorting = t, this.requestUpdate(\"disableSorting\", e);\n  }\n  get disableSorting() {\n    return this._disableSorting;\n  }\n  set totalResults(t) {\n    const e = this._totalResults;\n    this._totalResults = t, this.requestUpdate(\"totalResults\", e);\n  }\n  get totalResults() {\n    return this._totalResults || 0;\n  }\n  set currentIndex(t) {\n    const e = this._currentIndex;\n    this._currentIndex = t, this.requestUpdate(\"currentIndex\", e);\n  }\n  get currentIndex() {\n    return this._currentIndex;\n  }\n  set pageSize(t) {\n    const e = this._pageSize;\n    this._pageSize = t, this.requestUpdate(\"pageSize\", e);\n  }\n  get pageSize() {\n    return this._pageSize;\n  }\n  set pageSizeOptions(t) {\n    const e = this._pageSizeOptions;\n    this._pageSizeOptions = t, this.requestUpdate(\"pageSizeOptions\", e);\n  }\n  get pageSizeOptions() {\n    return this._pageSizeOptions;\n  }\n  set resultsLabel(t) {\n    const e = this._resultstext;\n    this._resultstext = t, this.requestUpdate(\"resultsLabel\", e);\n  }\n  get resultsLabel() {\n    return this._resultstext;\n  }\n  set rowsPerPageLabel(t) {\n    const e = this._rowsperpagetext;\n    this._rowsperpagetext = t, this.requestUpdate(\"rowsperpageLabel\", e);\n  }\n  get rowsPerPageLabel() {\n    return this._rowsperpagetext;\n  }\n  set hidePaginationResults(t) {\n    const e = this._hidePaginationResults;\n    this._hidePaginationResults = t, this.requestUpdate(\"hidePaginationResults\", e);\n  }\n  get hidePaginationResults() {\n    return this._hidePaginationResults;\n  }\n  set pageSizeOptionsDisabled(t) {\n    const e = this._pageSizeOptionsDisabled;\n    this._pageSizeOptionsDisabled = t, this.requestUpdate(\"pageSizeOptionsDisabled\", e);\n  }\n  get pageSizeOptionsDisabled() {\n    return this._pageSizeOptionsDisabled;\n  }\n  set hideFooter(t) {\n    const e = this._hideFooter;\n    this._hideFooter = t, this.requestUpdate(\"hideFooter\", e);\n  }\n  get hideFooter() {\n    return this._hideFooter;\n  }\n  // @state() _currentSortedData: any[] | undefined = undefined;\n  /* METHODS */\n  _getDataLength() {\n    let t = 0;\n    return this._totalResults && this._totalResults >= 0 ? t = this._totalResults : this._data && (t = this._currentSortedData ? this._currentSortedData.length : this._data.length), t;\n  }\n  _sortBy(t, e, s) {\n    this._currentSortColumn = t, this._currentSortType = e, s ? s === \"none\" ? this._currentSortOrder = \"asc\" : s === \"asc\" ? this._currentSortOrder = \"desc\" : s === \"desc\" && (this._currentSortOrder = \"none\") : this._currentSortOrder = \"asc\", this._updateColumnSortState(), this._currentSortOrder === \"none\" ? this._currentSortedData = this._data : this._currentSortedData = m(this._data, this._currentSortColumn, this._currentSortOrder, e);\n    const i = this._hidePaginator || this._hideFooter ? this._currentSortedData : this._resetPagination(this._currentSortedData || []);\n    return this._dispatchSort(i || []), i;\n  }\n  _resetPagination(t) {\n    this._currentIndex = 1;\n    const e = this._currentIndex - 1, s = this._pageSize;\n    if (t) {\n      const i = s <= t.length ? s : t.length;\n      this._paginatedData = [...t.slice(e, i)];\n    }\n    return this._paginatedData;\n  }\n  _updateColumnSortState() {\n    this._columnsHeader.forEach((t) => {\n      t.column === this._currentSortColumn ? t.sortOrder = this._currentSortOrder : t.sortOrder && (t.sortOrder = \"none\");\n    });\n  }\n  _onSelectAll() {\n    if (this._table) {\n      this._allRowsSelected = !this._allRowsSelected;\n      let t = 0, e = 0;\n      const s = this._table.querySelectorAll(\".dss-checkbox--multiselect\");\n      s.forEach((i) => {\n        i.disabled ? e += 1 : (i.checked || (t += 1), i.checked = this._allRowsSelected);\n      }), this._allRowsSelected ? this._currentRowsChecked += t : this._currentRowsChecked -= s.length - e, this._updateTableFooterRowsChecked(), this._dispatchMultiselect();\n    }\n  }\n  _rowsCheckedListener(t) {\n    if (!this._table || t.classList.contains(\"dss-checkbox--thead\")) return;\n    let s = !1;\n    if (t.tagName === \"INPUT\" && t.type === \"checkbox\" && t.classList.contains(\"dss-checkbox\") && !t.classList.contains(\"dss-checkbox--thead\"))\n      s = t.checked;\n    else if (t.tagName === \"DSS-FORM-CHECKBOX\") {\n      const i = t;\n      s = i.checked ?? i.getAttribute(\"checked\") !== null;\n    }\n    s ? this._currentRowsChecked += 1 : this._currentRowsChecked -= 1, this._updateTableFooterRowsChecked();\n  }\n  _updateTableFooterRowsChecked() {\n    this._selectedRowsCounter === void 0 && (this.internalSelectedCounter = this._currentRowsChecked);\n  }\n  _updateTableHeader() {\n    if (this._table) {\n      const t = this._table.querySelector(\".dss-custom-table\");\n      let e = t.querySelector(\"thead\");\n      e || (e = document.createElement(\"thead\"), e.classList.add(\"dss-thead\"), t.insertBefore(e, t.firstChild)), H(this._generateTableHeaderHTML(), e);\n    }\n  }\n  _generateTableHeaderHTML() {\n    let t = !0, e = d``, s = d``;\n    this._multiselect && (e = d`\n        <th class=\"dss-th dss-th--select\">\n          <div class=\"dss-th-content dss-th-content--select\">\n\t\t\t\t\t\t<span class=\"sr-only\">Seleccionar totes les files</span>\n            <input\n              type=\"checkbox\"\n              class=\"dss-checkbox dss-checkbox--thead\"\n              aria-label=\"Seleccionar totes les files\"\n              .checked=${this._allRowsSelected}\n              @change=\"${this._onSelectAll.bind(this)}\"\n            />\n          </div>\n        </th>\n      `), this._radioselect && (s = d`\n        <th class=\"dss-th dss-th--select\">\n          <div class=\"dss-th-content dss-th-content--select\">\n\t\t\t\t\t\t<span class=\"sr-only\">Seleccionar fila</span>\n\t\t\t\t\t</div>\n        </th>\n      `);\n    const i = this._columnsHeader.map((r) => {\n      const c = () => {\n        r.sortType && !this._disableSorting && (this._sortBy(r.column, r.sortType, r == null ? void 0 : r.sortOrder), this._updateTableHeaderIcons());\n      }, u = (b) => {\n        const T = b.currentTarget, O = b;\n        let f = !1;\n        switch (O.key) {\n          case \"ArrowLeft\":\n            this._table && v(this._table, T, \".dss-th-content--clickable\"), f = !0;\n            break;\n          case \"ArrowRight\":\n            this._table && L(this._table, T, \".dss-th-content--clickable\"), f = !0;\n            break;\n          case \"Enter\": {\n            const E = b.target;\n            this._table && U(this._table, E, \".dss-th-content--clickable\"), f = !0;\n            break;\n          }\n        }\n        f && (b.stopPropagation(), b.preventDefault());\n      }, _ = {\n        \"dss-th--align-center\": r.align === \"center\",\n        \"dss-th--align-right\": r.align === \"right\",\n        \"dss-th--highlight\": !!r.highlight\n      };\n      let p = !1;\n      r.sortType && !this._disableSorting && (p = !0);\n      const A = {\n        \"dss-th-content--clickable\": p\n        // 'table-th--review': columnType === 'review',\n      }, F = d`\n        <th\n          class=\"dss-th ${S(_)}\"\n          style=\"${P(r.style)}\"\n        >\n          <div\n            class=\"dss-th-content ${S(A)}\"\n            tabindex=\"${t ? 0 : -1}\"\n            @click=${c}\n            @keydown=${u}\n          >\n\t\t\t\t\t\t${r.renderTemplate ? d`\n\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">${r.label}</span>\n\t\t\t\t\t\t\t\t\t${r.renderTemplate()}\n\t\t\t\t\t\t\t\t` : d`\n\t\t\t\t\t\t\t\t${r.srOnly ? d`<span class=\"sr-only\">${r.label}</span>` : d`<span class=\"dss-th-content__label\">${r.label}</span>`}\n\t\t\t\t\t\t\t`}\n\n            ${r.sortType && !this._disableSorting ? d`${this._getTableHeaderSortIconHTML(r.column)}` : null}\n          </div>\n        </th>\n      `;\n      return t = !1, F;\n    });\n    return d` <tr class=\"dss-thead-row ${S({})}\">\n      ${e} ${s} ${i}\n    </tr>`;\n  }\n  _getTableHeaderSortIconHTML(t) {\n    let e = \"swap_vert\";\n    if (this._currentSortColumn === t)\n      switch (this._currentSortOrder) {\n        case \"asc\":\n          e = \"arrow_upward\";\n          break;\n        case \"desc\":\n          e = \"arrow_downward\";\n          break;\n        default:\n          e = \"swap_vert\";\n          break;\n      }\n    return d`\n\t\t\t<${R} \n\t\t\t\tclass=\"dss-th-content__icon dss-icon--column-sort\"\n\t\t\t\tcolumn=\"${t}\" \n\t\t\t\ticon=\"${e}\" \n\t\t\t\tsize=\"sm\">\n\t\t\t</${R}>\n    `;\n  }\n  _updateTableHeaderIcons() {\n    this._table && this._table.querySelectorAll(\n      \".dss-th-content--clickable > .dss-icon--column-sort\"\n    ).forEach((e) => {\n      const s = e.getAttribute(\"column\");\n      let i = \"swap_vert\";\n      if (this._currentSortColumn === s)\n        switch (this._currentSortOrder) {\n          case \"asc\":\n            i = \"arrow_upward\";\n            break;\n          case \"desc\":\n            i = \"arrow_downward\";\n            break;\n          default:\n            i = \"swap_vert\";\n            break;\n        }\n      e.setAttribute(\"icon\", i);\n    });\n  }\n  _paginate(t) {\n    const e = t.startIndex, s = t.endIndex;\n    if (this._currentSortedData) {\n      const i = s <= this._currentSortedData.length ? s : this._currentSortedData.length;\n      this._paginatedData = [...this._currentSortedData.slice(e - 1, i)];\n    }\n    return t.pageSize && (this._pageSize = t.pageSize), this._paginatedData;\n  }\n  /* OUTPUT EVENTS */\n  _dispatchChangeFilters(t) {\n    this._filters = t.detail;\n    const e = {\n      detail: this._filters,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onUpdateFilters\", e));\n  }\n  _dispatchExpandTable(t) {\n    this._expandTable = t.detail;\n    const e = {\n      detail: this._expandTable,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onExpandTable\", e));\n  }\n  _dispatchOpenFilters() {\n    const t = {\n      detail: !0,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onOpenDrawer\", t));\n  }\n  handleChangePage(t) {\n    this._dispatchPagination(t);\n  }\n  _dispatchPagination(t) {\n    var e;\n    if (!this._totalResults || this._isPaginationStarted) {\n      const s = {\n        detail: t.detail,\n        bubbles: !0,\n        composed: !0\n      };\n      if (this._paginationState = s.detail, this._data && !this._totalResults && (s.detail.data = this._paginate(this._paginationState)), this._totalResults && (this._shouldUpdate = !0), this._allRowsSelected) {\n        this._allRowsSelected = !1;\n        const i = (e = this._table) == null ? void 0 : e.querySelector(\".dss-checkbox--thead\");\n        i && (i.checked = !1);\n      }\n      setTimeout(() => {\n        this.dispatchEvent(new CustomEvent(\"onPaginate\", s));\n      }, 0);\n    }\n    this._isPaginationStarted = !0;\n  }\n  _dispatchSort(t) {\n    const e = {\n      detail: {\n        currentSortColumn: this._currentSortColumn,\n        currentSortOrder: this._currentSortOrder,\n        currentSortType: this._currentSortType,\n        columnsHeader: this._columnsHeader,\n        data: t\n      },\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onSort\", e));\n  }\n  _dispatchMultiselect() {\n    const t = {\n      detail: this._allRowsSelected,\n      bubbles: !1,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onMultiselect\", t));\n  }\n  _handleTableKeydown(t) {\n    if (!this._table) return;\n    const e = t.target;\n    let s = !1;\n    const i = e.closest(\"tr\");\n    switch (t.key) {\n      case \"ArrowUp\":\n        v(this._table, i, \".dss-tbody-row\"), s = !0;\n        break;\n      case \"ArrowDown\":\n        L(this._table, i, \".dss-tbody-row\"), s = !0;\n        break;\n      case \"Enter\":\n        if (this._multiselect) {\n          const n = i == null ? void 0 : i.querySelector(\".dss-checkbox--multiselect\");\n          n && (n.checked = !(n != null && n.checked), this.requestUpdate()), s = !0;\n        }\n        if (this._radioselect) {\n          const n = i == null ? void 0 : i.querySelector(\".dss-radio\");\n          n && (n.checked = !(n != null && n.checked), this.requestUpdate()), s = !0;\n        }\n        break;\n    }\n    s && (t.stopPropagation(), t.preventDefault());\n  }\n  _initTable() {\n    var e, s;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"table\"]')) || void 0;\n    this._table = t == null ? void 0 : t.assignedElements()[0], this._table && (this._columnsHeader.length && !this._isTableHeaderCreated && (this._updateTableHeader(), this._isTableHeaderCreated = !0), this._setFirstRowTabindex(), this._checkAllRowsSelected(), this._tbody = this._table.querySelector(\"tbody\"), (s = this._tbody) == null || s.addEventListener(\"keydown\", this._tbodyKeydownHandler), this._detectNewRows());\n  }\n  _detectNewRows() {\n    this._tbody && (this._tbodyObserver = new MutationObserver((t) => {\n      let e = !1;\n      for (const s of t)\n        if (s.type === \"childList\" && (s.addedNodes.length > 0 || s.removedNodes.length > 0)) {\n          e = !0;\n          break;\n        }\n      e && (this._setFirstRowTabindex(), this._checkAllRowsSelected());\n    }), this._tbodyObserver.observe(this._tbody, { childList: !0 }));\n  }\n  _setFirstRowTabindex() {\n    if (!this._table) return;\n    const t = this._table.querySelectorAll(\".dss-tbody-row\");\n    let e = !0;\n    t.forEach((s) => {\n      e ? s.setAttribute(\"tabindex\", \"0\") : s.setAttribute(\"tabindex\", \"-1\"), e = !1;\n    });\n  }\n  _checkAllRowsSelected() {\n    var t;\n    if (this._table) {\n      const e = this._table.querySelectorAll(\".dss-checkbox--multiselect\");\n      let s = !0;\n      if (e.length === 0 && (s = !1), e.forEach((i) => {\n        !i.checked && !i.disabled && (s = !1);\n      }), this._allRowsSelected !== s) {\n        this._allRowsSelected = s;\n        const i = (t = this._table) == null ? void 0 : t.querySelector(\".dss-checkbox--thead\");\n        i.checked = this._allRowsSelected;\n      }\n    }\n  }\n  _fixColumns() {\n    if (this._table && (this.fixedColumnsBefore || this.fixedColumnsAfter)) {\n      const t = this._table.querySelector(\"table\"), e = t == null ? void 0 : t.querySelector(\"thead\"), s = t == null ? void 0 : t.querySelector(\"tbody\"), i = e == null ? void 0 : e.querySelectorAll(\"th\"), n = s == null ? void 0 : s.querySelectorAll(\"tr\");\n      if (t == null || t.classList.add(\"dss-custom-table--max-content-width\"), t == null || t.classList.add(\"dss-custom-table--sticky-columns-lit\"), this.fixedColumnsBefore) {\n        const r = Array.from(i || []).slice(0, this.fixedColumnsBefore);\n        this._cellsToSticky(r, \"left\");\n        for (const c of Array.from(n || [])) {\n          const u = c.querySelectorAll(\"td\"), _ = Array.from(u).slice(0, this.fixedColumnsBefore);\n          this._cellsToSticky(_, \"left\");\n        }\n      }\n      if (this.fixedColumnsAfter) {\n        const r = Array.from(i || []).slice(-this.fixedColumnsAfter).reverse();\n        this._cellsToSticky(r, \"right\");\n        for (const c of Array.from(n || [])) {\n          const u = c.querySelectorAll(\"td\"), _ = Array.from(u).slice(-this.fixedColumnsAfter).reverse();\n          this._cellsToSticky(_, \"right\");\n        }\n      }\n    }\n  }\n  _cellsToSticky(t, e) {\n    for (const [s, i] of Array.from(t || []).entries()) {\n      const n = i;\n      n.classList.add(\"dss-sticky-column\");\n      let r = 0;\n      s > 0 && (r = r + t[s - 1].offsetWidth), e === \"left\" ? n.style.left = `${r}px` : n.style.right = `${r}px`, s === t.length - 1 && (e === \"left\" ? n.classList.add(\"dss-sticky-column--before-last\") : n.classList.add(\"dss-sticky-column--after-first\"));\n    }\n  }\n  _initScrollX(t) {\n    var e;\n    (t == null ? void 0 : t.clientWidth) < (t == null ? void 0 : t.scrollWidth) && ((e = this._table) == null || e.classList.add(\"scroll-init\"));\n  }\n  _handleScrollX(t) {\n    var i, n, r, c, u, _, p;\n    const e = t.target, s = (e == null ? void 0 : e.scrollWidth) - (e == null ? void 0 : e.clientWidth);\n    s <= 0 || ((e == null ? void 0 : e.scrollLeft) === 0 && ((i = this._table) == null || i.classList.add(\"scroll-init\"), (n = this._table) == null || n.classList.remove(\"scroll-middle\")), (e == null ? void 0 : e.scrollLeft) > 0 && Math.round(e == null ? void 0 : e.scrollLeft) < s && ((r = this._table) == null || r.classList.add(\"scroll-middle\"), (c = this._table) == null || c.classList.remove(\"scroll-init\"), (u = this._table) == null || u.classList.remove(\"scroll-end\")), Math.round(e == null ? void 0 : e.scrollLeft) === s && ((_ = this._table) == null || _.classList.add(\"scroll-end\"), (p = this._table) == null || p.classList.remove(\"scroll-middle\")));\n  }\n  _setDataState() {\n    this._currentSortOrder === \"none\" ? this._currentSortedData = this._data : this._currentSortedData = m(\n      this._data,\n      this._currentSortColumn,\n      this._currentSortOrder,\n      this._currentSortType\n    );\n  }\n  /* LIT LIFECYCLE */\n  async firstUpdated() {\n    var t;\n    if (await this.updateComplete, this._setDataState(), this._isFirstUpdate && !this._table && (this._initTable(), this.addEventListener(\"change\", this._changeHandler), this._fixColumns()), this.fixedColumnsBefore || this.fixedColumnsAfter) {\n      const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-custom-table-body\");\n      this._scrollBody = e || null, this._initScrollX(e), e == null || e.addEventListener(\"scroll\", this._scrollXHandler);\n    }\n    this._isFirstUpdate = !1;\n  }\n  willUpdate(t) {\n    const e = t.has(\"columnsHeader\"), s = t.has(\"disableSorting\"), i = t.has(\"data\"), n = t.has(\"currentIndex\");\n    if (s && this._updateTableHeader(), e && (this._columnsHeader.forEach((r) => {\n      r.sortOrder && (this._currentSortColumn = r.column, this._currentSortOrder = r.sortOrder, r.sortType && (this._currentSortType = r.sortType));\n    }), !this._isTableHeaderCreated && this._table && (this._updateTableHeader(), this._isTableHeaderCreated = !0), this._fixColumns()), i && !this._isFirstUpdate) {\n      if (this._setDataState(), this._totalResults) {\n        if (this.internalSelectedCounter > this._totalResults && (this.internalSelectedCounter = this._totalResults), this._shouldUpdate) {\n          if (this._currentSortColumn && this._currentSortType && this._currentSortOrder && this._currentSortOrder !== \"none\") {\n            const r = m(\n              this._data,\n              this._currentSortColumn,\n              this._currentSortOrder,\n              this._currentSortType\n            );\n            this._dispatchSort(r);\n          }\n          this._shouldUpdate = !1;\n        }\n      } else {\n        const r = this._getDataLength();\n        if (this.internalSelectedCounter > r && (this.internalSelectedCounter = r, this._currentRowsChecked = r), this._paginationState) {\n          this._paginationState.endIndex < this._pageSize && (this._paginationState.endIndex = this._pageSize);\n          const c = {\n            detail: this._paginationState,\n            bubbles: !0,\n            composed: !0\n          };\n          this._dispatchPagination(c);\n        }\n      }\n      this._fixColumns();\n    }\n    n && !this._isFirstUpdate && (this._fixColumns(), this.requestUpdate());\n  }\n  filtersPopoverClose() {\n    var e;\n    const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(\"dss-custom-table-header\");\n    t && t.filtersPopoverClose();\n  }\n  _areRowsSelected() {\n    return this._selectedRowsCounter !== void 0 ? this._selectedRowsCounter > 0 : this.internalSelectedCounter > 0;\n  }\n  render() {\n    return d`\n      <div class=\"dss-custom-table\">\n        <div class=\"dss-custom-table-header\">\n          ${this._hideHeader ? null : d`\n                <${k}\n\t\t\t\t\t\t\t\t\t?customActions=${this.customActions}\n\t\t\t\t\t\t\t\t\t?showConfig=${this.showConfig}\n\t\t\t\t\t\t\t\t\t?hideActionExpand=${this.hideActionExpand}\n\t\t\t\t\t\t\t\t\t?showActionFilters=${this.showActionFilters}\n\t\t\t\t\t\t\t\t\t?jcef=${this.jcef}\n\t\t\t\t\t\t\t\t\t.tableInfo=${this.tableInfo}\n\t\t\t\t\t\t\t\t\t.configTableLabel=${this.configTableLabel}\n                  .tableTitle=${this._tableTitle}\n                  .filters=${this._filters}\n                  .innerFilters=${this._innerFilters}\n\t\t\t\t\t\t\t\t\t.enableCombinedFilters=${this.enableCombinedFilters}\n                  .expandTable=${this._expandTable}\n                  .expandLabel=${this._expandLabel}\n                  .collapseLabel=${this._collapseLabel}\n                  .filtersLabel=${this._filtersLabel}\n                  .cleanFiltersLabel=${this._cleanFiltersLabel}\n                  .hideHeaderTitleAndExpand=${this._hideHeaderTitleAndExpand}\n                  @onChangeFilters=${this._dispatchChangeFilters}\n                  @onExpand=${this._dispatchExpandTable}\n                  @onOpenFilters=${this._dispatchOpenFilters}\n                >\n\t\t\t\t\t\t\t\t\t${this.customActions ? d`\n\t                  <slot name=\"header-custom-actions\" slot=\"header-custom-actions\"></slot>\n\t\t\t\t\t\t\t\t\t` : null}\n                  <slot name=\"filters-popover-body\" slot=\"filters-popover-body\"></slot>\n                  <slot name=\"filters-popover-footer\" slot=\"filters-popover-footer\"></slot>\n                  <slot name=\"filters\" slot=\"filters\"></slot>\n                </${k}>\n              `}\n        </div>\n\n        <div class=\"dss-custom-table-body\">\n          <slot name=\"table\"></slot>\n        </div>\n\n        ${this._hideFooter ? null : d`\n              <div class=\"dss-custom-table-footer\">\n                \n                ${this._multiselect ? d`\n                      <div class=\"${S({\n      \"table-footer\": !0,\n      \"table-footer--hide\": !this._areRowsSelected()\n    })}\">\n                        <div class=\"table-footer-description\">\n                          <span class=\"table-footer-description__counter\">\n                            ${this._selectedRowsCounter !== void 0 ? this._selectedRowsCounter : this.internalSelectedCounter}\n                          </span>\n                          de ${this._getDataLength()} ${this._selectedRowsLabel}\n                        </div>\n                        <slot name=\"footer-actions\"></slot>\n                      </div>\n                    ` : null}\n\n\t\t\t\t\t\t\t\t${this._hidePaginator ? null : d`\n                      <${$}\n                        .length=${this._getDataLength()}\n                        pagesize=${this._pageSize}\n                        .pageSizeOptions=${this._pageSizeOptions}\n                        currentindex=${this._currentIndex}\n                        .resultsText=${this._resultstext}\n                        .rowsPerPageText=${this._rowsperpagetext}\n                        ?pageSizeOptionsDisabled=${this._pageSizeOptionsDisabled}\n                        ?hidePaginationResults=${this._hidePaginationResults}\n                        @onChangePage=${this.handleChangePage}\n                      ></${$}>\n                    `}\n              </div>\n            `}\n      </div>\n    `;\n  }\n}\na([\n  o({ type: Number })\n], l.prototype, \"internalSelectedCounter\", 2);\na([\n  o(h)\n], l.prototype, \"hideHeader\", 1);\na([\n  o(h)\n], l.prototype, \"hidePaginator\", 1);\na([\n  o({ type: Array })\n], l.prototype, \"columnsHeader\", 1);\na([\n  o({ type: Array })\n], l.prototype, \"data\", 1);\na([\n  o(h)\n], l.prototype, \"multiselect\", 1);\na([\n  o(h)\n], l.prototype, \"radioselect\", 1);\na([\n  o({ type: String })\n], l.prototype, \"selectedRowsLabel\", 1);\na([\n  o({ type: Number })\n], l.prototype, \"selectedRowsCounter\", 1);\na([\n  o(h)\n], l.prototype, \"showConfig\", 2);\na([\n  o({ type: String })\n], l.prototype, \"configTableLabel\", 2);\na([\n  o(h)\n], l.prototype, \"customActions\", 2);\na([\n  o(h)\n], l.prototype, \"enableCombinedFilters\", 2);\na([\n  o({ type: String })\n], l.prototype, \"tableTitle\", 1);\na([\n  o({ type: Array })\n], l.prototype, \"filters\", 1);\na([\n  o(h)\n], l.prototype, \"innerFilters\", 1);\na([\n  o(h)\n], l.prototype, \"expandTable\", 1);\na([\n  o({ type: String })\n], l.prototype, \"expandLabel\", 1);\na([\n  o({ type: String })\n], l.prototype, \"collapseLabel\", 1);\na([\n  o({ type: String })\n], l.prototype, \"filtersLabel\", 1);\na([\n  o({ type: String })\n], l.prototype, \"cleanFiltersLabel\", 1);\na([\n  o(h)\n], l.prototype, \"hideHeaderTitleAndExpand\", 1);\na([\n  o(h)\n], l.prototype, \"disableSorting\", 1);\na([\n  o({ type: Number })\n], l.prototype, \"totalResults\", 1);\na([\n  o({ type: Number })\n], l.prototype, \"currentIndex\", 1);\na([\n  o({ type: Number })\n], l.prototype, \"pageSize\", 1);\na([\n  o({ type: Array })\n], l.prototype, \"pageSizeOptions\", 1);\na([\n  o({ type: String })\n], l.prototype, \"resultsLabel\", 1);\na([\n  o({ type: String })\n], l.prototype, \"rowsPerPageLabel\", 1);\na([\n  o(h)\n], l.prototype, \"hidePaginationResults\", 1);\na([\n  o(h)\n], l.prototype, \"pageSizeOptionsDisabled\", 1);\na([\n  o(h)\n], l.prototype, \"hideFooter\", 1);\na([\n  o(h)\n], l.prototype, \"hideActionExpand\", 2);\na([\n  o(h)\n], l.prototype, \"showActionFilters\", 2);\na([\n  o({ type: Number })\n], l.prototype, \"fixedColumnsBefore\", 2);\na([\n  o({ type: Number })\n], l.prototype, \"fixedColumnsAfter\", 2);\na([\n  o({ type: String })\n], l.prototype, \"tableInfo\", 2);\na([\n  o(h)\n], l.prototype, \"jcef\", 2);\na([\n  D()\n], l.prototype, \"_currentSortedData\", 2);\nexport {\n  l as CustomTable\n};\n//# sourceMappingURL=custom-table.js.map\n","import { nothing as e } from \"lit\";\nimport { classMap as i } from \"lit/directives/class-map.js\";\nimport { ifDefined as V } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as l, literal as t, html as d } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nconst P = t`dss-calendar${l(u())}`, s = t`dss-icon${l(u())}`, r = t`dss-icon-button${l(u())}`, aa = (a) => {\n  var n, g, p, _, $, R, v, S, b, h, E, C, k, w, f, y, z, c, D, I, x, B, q, F, O, L, T, j, G, K, N;\n  const W = {\n    \"dss-datepicker-range--sm\": a.inputSize !== \"lg\"\n  }, M = {\n    \"dss-datepicker-range-help--invalid\": a._invalid || !((n = a._inputRangeStart) != null && n.validity.valid) && ((g = a._inputRangeStart) == null ? void 0 : g.value) !== \"\" || !((p = a._inputRangeEnd) != null && p.validity.valid) && ((_ = a._inputRangeEnd) == null ? void 0 : _.value) !== \"\",\n    \"dss-datepicker-range-help--disabled\": (($ = a._inputRangeStart) == null ? void 0 : $.disabled) && ((R = a._inputRangeEnd) == null ? void 0 : R.disabled)\n  }, A = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": (v = a._inputRangeStart) == null ? void 0 : v.required,\n    \"dss-input-wrapper--disabled\": (S = a._inputRangeStart) == null ? void 0 : S.disabled,\n    [`dss-input-wrapper--${a.inputSize}`]: !!a.inputSize\n  }, H = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": (b = a._inputRangeEnd) == null ? void 0 : b.required,\n    \"dss-input-wrapper--disabled\": (h = a._inputRangeEnd) == null ? void 0 : h.disabled,\n    [`dss-input-wrapper--${a.inputSize}`]: !!a.inputSize\n  }, J = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${a.inputSize}`]: !!a.inputSize,\n    \"dss-input-group--invalid\": a._invalid || !((E = a._inputRangeStart) != null && E.validity.valid) && ((C = a._inputRangeStart) == null ? void 0 : C.value) !== \"\",\n    \"dss-input-group--required\": (k = a._inputRangeStart) == null ? void 0 : k.required,\n    \"dss-input-group--disabled\": (w = a._inputRangeStart) == null ? void 0 : w.disabled,\n    \"dss-input-group--focused\": ((f = a._inputRangeStart) == null ? void 0 : f.value) || a._isStartFocused || a._copyInputRangeStartPlaceholder,\n    \"dss-input-group--read-only\": (y = a._inputRangeStart) == null ? void 0 : y.readOnly\n    // 'dss-input-group--no-label': Boolean(!component._label),\n  }, Q = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${a.inputSize}`]: !!a.inputSize,\n    \"dss-input-group--invalid\": a._invalid || !((z = a._inputRangeEnd) != null && z.validity.valid) && ((c = a._inputRangeEnd) == null ? void 0 : c.value) !== \"\",\n    \"dss-input-group--required\": (D = a._inputRangeEnd) == null ? void 0 : D.required,\n    \"dss-input-group--disabled\": (I = a._inputRangeEnd) == null ? void 0 : I.disabled,\n    \"dss-input-group--focused\": ((x = a._inputRangeEnd) == null ? void 0 : x.value) || a._isEndFocused || a._copyInputRangeEndPlaceholder,\n    \"dss-input-group--read-only\": (B = a._inputRangeEnd) == null ? void 0 : B.readOnly\n    // 'dss-input-group--no-label': Boolean(!component._label),\n  }, U = {\n    \"dss-calendar\": !0,\n    \"dss-calendar--visible\": a._showCalendar && !((q = a._inputRangeStart) != null && q.readOnly) && !((F = a._inputRangeEnd) != null && F.readOnly),\n    \"dss-calendar--disabled\": ((O = a._inputRangeStart) == null ? void 0 : O.disabled) && ((L = a._inputRangeEnd) == null ? void 0 : L.disabled),\n    \"dss-calendar--sm\": a.inputSize !== \"lg\"\n  };\n  return d`\n      <div class=\"dss-datepicker-range ${i(W)}\">\n        <div \n          class=\"dss-datepicker-range-inputs\" \n          role=\"combobox\"\n          aria-controls=\"datepicker-range-calendar\"\n          aria-expanded=${V(a._showCalendar)}>\n\n          <div class=\"dss-datepicker-range-inputs__start ${i(A)}\">\n            ${a.inputSize === \"sm\" ? d`\n              <div class=\"${i({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": a._invalid\n  })}\"\n\t\t\t\t\t\t\t>\n                <slot name=\"label-range-start\"></slot>\n              </div>\n              ` : e}\n            <div class=\"${i(J)}\">\n              ${a._iconRangeStart && a._iconRangeStart !== \"\" ? d`\n                <${s} icon=\"${a._iconRangeStart}\" class=\"dss-input-icon\"></${s}>\n                ` : e}\n              <div class=\"dss-input-field\">\n                ${a.inputSize !== \"sm\" ? d`\n                  <slot name=\"label-range-start\"></slot>\n                  ` : e}\n                <slot name=\"input-range-start\"\n                  @click=${a._handleRangeStartClick}\n                  @input=${a._handleRangeStartInput}\n                  @focusin=${a._handleRangeStartFocusIn}\n                  @keydown=${a._handleRangeKeydown}\n                ></slot>\n              </div>\n\t\t\t\t\t\t\t<${r}\n\t\t\t\t\t\t\t\thideTooltip\n\t\t\t\t\t\t\t  label=\"Netejar data\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\ticon=\"close\"\n\t\t\t\t\t\t\t\t@onClick=${() => a._clearDate(\"rangeStart\")}\n\t\t\t\t\t\t\t\t?hidden=${!((T = a._inputRangeStart) != null && T.value) || a._inputRangeStart.readOnly || a._inputRangeStart.disabled}\n\t\t\t\t\t\t\t></${r}>\n            </div>\n          </div>\n\n          <div class=\"dss-datepicker-range-inputs__end ${i(H)}\">\n            ${a.inputSize === \"sm\" ? d`\n              <div class=\"${i({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": a._invalid\n  })}\"\n\t\t\t\t\t\t\t>\n                <slot name=\"label-range-end\"></slot>\n              </div>\n              ` : e}\n            <div class=\"${i(Q)}\">\n              ${a._iconRangeEnd && a._iconRangeEnd !== \"\" ? d`\n                <${s} icon=\"${a._iconRangeEnd}\" class=\"dss-input-icon\"></${s}>\n                ` : e}\n              <div class=\"dss-input-field\">\n                ${a.inputSize !== \"sm\" ? d`\n                  <slot name=\"label-range-end\"></slot>\n                  ` : e}\n                <slot name=\"input-range-end\"\n                  @click=${a._handleRangeEndClick}\n                  @input=${a._handleRangeEndInput}\n                  @focusin=${a._handleRangeEndFocusIn}\n                  @keydown=${a._handleRangeKeydown}\n                ></slot>\n              </div>\n\t\t\t\t\t\t\t<${r}\n\t\t\t\t\t\t\t\thideTooltip\n \t\t\t\t\t\t\t\tlabel=\"Netejar data\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\ticon=\"close\"\n\t\t\t\t\t\t\t\t@onClick=${() => a._clearDate(\"rangeEnd\")}\n\t\t\t\t\t\t\t\t?hidden=${!((j = a._inputRangeEnd) != null && j.value) || a._inputRangeEnd.readOnly || a._inputRangeEnd.disabled}\n\t\t\t\t\t\t\t></${r}>\n            </div>\n          </div>\n       \n        </div>\n\n        ${a._helpText ? d`\n              <div class=\"dss-datepicker-range-help ${i(M)}\">\n                ${a._helpText}\n              </div>\n            ` : null}\n       \n        <${P}\n          range\n          .isRangeStartFocused=${a._isStartFocused}\n          .isRangeEndFocused=${a._isEndFocused}\n          role=\"listbox\"\n          aria-label=\"Datepicker Range Calendar\"\n          id=\"datepicker-range-calendar\"\n          class=\"${i(U)}\"\n          .selectedDate=\"${(G = a._inputRangeStart) == null ? void 0 : G.value}\"\n          .rangeStartDate=\"${(K = a._inputRangeStart) == null ? void 0 : K.value}\"\n          .rangeEndDate=\"${(N = a._inputRangeEnd) == null ? void 0 : N.value}\"\n\t\t\t\t\t.customCalendar=${a.customCalendar}\n          .showButtons=${a._calendarShowButtons}\n          .leftLabel=${a._calendarLeftButtonLabel}\n          .rightLabel=${a._calendarRightButtonLabel}\n          .minDate=${a._minDate}\n          .maxDate=${a._maxDate}\n          @onRangeChange=${a._onCalendarChange}\n          @onCancel=${a._onCalendarCancel}\n        ></${P}>\n      </div>\n    `;\n};\nexport {\n  aa as template\n};\n//# sourceMappingURL=datepicker-range.template.js.map\n","const s = ':host{max-width:100%}.dss-input-wrapper{display:flex;flex-direction:column;gap:var(--dss-spacing-xxs);width:100%;max-width:100%}.dss-input-wrapper--sm{gap:var(--dss-spacing-tiny)}.dss-input-icon{color:var(--color-neutral-900)}.dss-input-dropdown-wrapper{width:100%;max-width:100%}.dss-input-group{height:48px;width:100%;max-width:100%;box-sizing:border-box;padding:0 var(--dss-spacing-sm);border:var(--dss-border-width-sm) solid var(--color-neutral-100);border-radius:var(--dss-radius-sm);display:flex;align-items:center;gap:var(--dss-spacing-xs);background-color:var(--color-white);font-family:var(--font-family)}.dss-input-group.dss-input-group--no-min-width{min-width:0}.dss-input-group--read-only{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.dss-input-group:focus-within{border-color:transparent;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-input-group--read-only:focus-within{outline:none;position:relative}.dss-input-group--read-only:focus-within:before{pointer-events:none;content:\"\";position:absolute;top:100%;left:0;right:0;height:var(--dss-border-width-lg);background-color:var(--color-blue-200)}.dss-input-field{flex:1;min-width:0;display:flex;height:45px;position:relative}.dss-input-group--md{height:40px}.dss-input-group--md .dss-input-field{height:37px}.dss-input-group--sm{height:32px;padding:0 var(--dss-spacing-xs)}.dss-input-group--sm .dss-input-field{height:29px}.dss-wrapper-label label.dss-label,.dss-wrapper-label ::slotted(label){font-size:14px;font-weight:var(--font-semibold);line-height:24px;color:var(--color-neutral-700)}.dss-wrapper-label.dss-wrapper-label--invalid ::slotted(label){color:var(--color-red-500)}.dss-input-wrapper--disabled .dss-wrapper-label label.dss-label,.dss-input-wrapper--disabled .dss-wrapper-label ::slotted(label){color:var(--color-neutral-500)}.dss-input-field label.dss-label,.dss-input-field ::slotted(label){position:absolute;top:50%;transform:translateY(-50%);left:0;font-size:14px;color:var(--color-neutral-600);transition:all .3s ease-in-out;max-height:24px;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dss-input-field:focus-within label.dss-label,.dss-input-group--focused label.dss-label,.dss-input-field:focus-within ::slotted(label),.dss-input-group--focused ::slotted(label){font-size:12px;top:0;transform:translateY(0)}.dss-input-group.dss-input-group--focused.dss-input-group--read-only-empty label.dss-label,.dss-input-group.dss-input-group--focused.dss-input-group--read-only-empty ::slotted(label){font-size:14px;top:50%;transform:translateY(-50%)}.dss-input-group--md .dss-input-field:focus-within label.dss-label,.dss-input-group--md.dss-input-group--focused label.dss-label,.dss-input-group--md .dss-input-field:focus-within ::slotted(label),.dss-input-group--md.dss-input-group--focused ::slotted(label){top:0}.dss-input-field input.dss-input,.dss-input-field ::slotted(input){border:none;height:100%;padding:0;box-sizing:border-box;color:var(--color-neutral-900);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:14px;width:100%;max-width:100%}.dss-input-group:not(.dss-input-group--sm) .dss-input-field input.dss-input,.dss-input-group:not(.dss-input-group--sm) .dss-input-field ::slotted(input){padding-top:var(--dss-spacing-md)!important;padding-bottom:0!important}.dss-input-field input.dss-input:-moz-placeholder-shown,.dss-input-field ::slotted(input:-moz-placeholder-shown){border:none;outline:none;height:100%}.dss-input-field input.dss-input:focus-visible,.dss-input-field input.dss-input:placeholder-shown,.dss-input-field ::slotted(input:focus-visible),.dss-input-field ::slotted(input:placeholder-shown){border:none;outline:none;height:100%}.dss-input-field input.dss-input::-moz-placeholder,.dss-input-field ::slotted(input::-moz-placeholder){color:var(--color-neutral-600)}.dss-input-field input.dss-input::placeholder,.dss-input-field ::slotted(input::placeholder){color:var(--color-neutral-600)}.dss-input-group--disabled{cursor:not-allowed;background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-input-group--disabled .dss-input-field label.dss-label,.dss-input-group--disabled .dss-input-field ::slotted(label){cursor:not-allowed!important;color:var(--color-neutral-500)}.dss-input-group--disabled .dss-input-field input.dss-input,.dss-input-group--disabled .dss-input-field ::slotted(input){cursor:not-allowed!important;background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-input-help{display:flex;justify-content:space-between;font-family:var(--font-family);font-size:12px;color:var(--color-neutral-700);padding:0 var(--dss-spacing-sm)}.dss-input-help--invalid{color:var(--color-red-500)}.dss-input-help--disabled{color:var(--color-neutral-500)}.dss-input-group--invalid:not(.dss-input-group--disabled):not(.dss-input-group--read-only):not(:focus-within){background-color:var(--color-red-50);border-color:var(--color-red-500)}.dss-input-group--invalid.dss-input-group--read-only:not(.dss-input-group--disabled):not(:focus-within){border-bottom-color:var(--color-red-500)}.dss-input-group--invalid:not(.dss-input-group--disabled) .dss-input-field label.dss-label,.dss-input-group--invalid:not(.dss-input-group--disabled) .dss-input-field ::slotted(label){color:var(--color-red-500)}.dss-input-group--invalid:not(.dss-input-group--disabled):not(.dss-input-group--read-only):not(:focus-within) .dss-input-field input.dss-input,.dss-input-group--invalid:not(.dss-input-group--disabled):not(.dss-input-group--read-only):not(:focus-within) .dss-input-field ::slotted(input){background-color:var(--color-red-50)}.dss-input-wrapper--required label.dss-label:before,.dss-input-group--required label.dss-label:before,.dss-input-wrapper--required ::slotted(label):before,.dss-input-group--required ::slotted(label):before{content:\"*\"}.dss-input-numeric-buttons{padding:0;display:flex;flex-direction:column;justify-content:center;transition:all .3s ease-in;height:100%}.dss-input-numeric-buttons .dss-icon-button{display:flex;justify-content:center;text-align:center;width:18px;height:18px;align-items:center;font-size:16px}.dss-input-group.dss-input-group--no-label .dss-input-field input.dss-input,.dss-input-group.dss-input-group--no-label .dss-input-field ::slotted(input){padding-top:0!important;padding-bottom:0!important}.dss-input-wrapper--sm.dss-input-wrapper--no-label{gap:0}.dss-input-unit{font-size:14px;font-weight:var(--font-regular);color:var(--color-neutral-700);margin-top:0;transition:margin var(--animation-delay) ease-in-out}.dss-input-wrapper:not(.dss-input-wrapper--sm):not(.dss-input-wrapper--no-label) .dss-input-group--focused .dss-input-unit{margin-top:14px}.dss-input-group--disabled .dss-input-unit{color:var(--color-neutral-500)}.dss-input-inputPrefix{font-size:14px;font-weight:var(--font-regular);color:var(--color-neutral-700);padding-right:var(--dss-spacing-xxs);opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-in-out,visibility var(--animation-delay) ease-in-out}.dss-input-wrapper.dss-input-wrapper--sm .dss-input-inputPrefix{align-self:center}.dss-input-wrapper:not(.dss-input-wrapper--sm) .dss-input-inputPrefix{align-self:flex-end}.dss-input-wrapper.dss-input-wrapper--no-label.dss-input-wrapper--lg .dss-input-inputPrefix{padding-bottom:10px!important}.dss-input-wrapper.dss-input-wrapper--no-label.dss-input-wrapper--md .dss-input-inputPrefix{padding-bottom:6px!important}.dss-input-wrapper.dss-input-wrapper--md:not(.dss-input-wrapper--no-label) .dss-input-inputPrefix{margin-bottom:-2px}.dss-input-wrapper.dss-input-wrapper--lg:not(.dss-input-wrapper--no-label) .dss-input-inputPrefix{padding-bottom:var(--dss-spacing-tiny)!important}.dss-input-wrapper .dss-input-group--focused .dss-input-inputPrefix{opacity:1;visibility:visible}';\nexport {\n  s as default\n};\n//# sourceMappingURL=input.style.css.js.map\n","const i = \":host{display:block;width:100%;min-width:257px}.dss-datepicker-range{font-family:var(--font-family)}.dss-datepicker-range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--dss-spacing-md)}.dss-datepicker-range-help{font-family:var(--font-family)}.dss-datepicker-range-help{font-family:inherit;font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-datepicker-range-help--disabled{color:var(--color-neutral-500)}.dss-datepicker-range-help--invalid{color:var(--color-red-500)}.dss-calendar{z-index:999;width:-moz-fit-content;width:fit-content;opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-out}.dss-calendar--visible{opacity:1;visibility:visible}\";\nexport {\n  i as default\n};\n//# sourceMappingURL=datepicker-range.style.css.js.map\n","import { createPopper as p } from \"@popperjs/core\";\nimport { LitElement as c, unsafeCSS as u } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport { booleanType as h } from \"../../utils/property-types.js\";\nimport { template as _ } from \"./datepicker-range.template.js\";\nimport g from \"../../shared/reset.style.css.js\";\nimport f from \"../input/input.style.css.js\";\nimport m from \"./datepicker-range.style.css.js\";\nvar v = Object.defineProperty, R = Object.getOwnPropertyDescriptor, n = (d, t, e, a) => {\n  for (var s = a > 1 ? void 0 : a ? R(t, e) : t, o = d.length - 1, l; o >= 0; o--)\n    (l = d[o]) && (s = (a ? l(t, e, s) : l(s)) || s);\n  return a && s && v(t, e, s), s;\n};\nclass r extends c {\n  constructor() {\n    super(), this.inputSize = \"lg\", this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this.customCalendar = void 0, this.validate = !1, this.errorMessageFormat = \"El format de la data no és correcte.\", this.errorMessageMinDate = \"El rang de dates és anterior a la permesa.\", this.errorMessageMaxDate = \"El rang de dates és posterior a la permesa.\", this._iconRangeStart = \"calendar_month\", this._iconRangeEnd = \"calendar_month\", this._dateformatPlaceholder = \"DD/MM/AAAA\", this._isStartFocused = !1, this._isEndFocused = !1, this._invalid = !1, this._showCalendar = !1, this._helpText = \"\", this._minDate = \"\", this._maxDate = \"\", this._calendarShowButtons = !1, this._calendarLeftButtonLabel = \"Cancel·lar\", this._calendarRightButtonLabel = \"Seleccionar\", this._copyInputRangeStartPlaceholder = \"\", this._copyInputRangeEndPlaceholder = \"\", this._isFirstInputsCheck = !0, this._popperInstance = null, this._helpTextBackup = \"\", this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (t) => {\n      for (const e of t)\n        e.type === \"attributes\" && this._checkInputAttributes();\n    }, this.observer = new MutationObserver(this.callback), this.visibleObserver = new IntersectionObserver(\n      ([t]) => {\n        t.isIntersecting || this._showCalendar && this._closeCalendar();\n      },\n      {\n        root: null,\n        // Usa el viewport como referencia\n        threshold: 0\n        // Llama al callback en cuanto cualquier parte del elemento deja de ser visible\n      }\n    ), this._handleOutsideClick = this._handleOutsideClick.bind(this), this._handleFocusOut = this._handleFocusOut.bind(this);\n  }\n  static get styles() {\n    return [u(g), u(f), u(m)];\n  }\n  /* SLOTS */\n  get _inputRangeStart() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"input-range-start\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _inputRangeEnd() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"input-range-end\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set iconRangeStart(t) {\n    const e = this._iconRangeStart;\n    this._iconRangeStart = t, this.requestUpdate(\"iconRangeStart\", e);\n  }\n  get iconRangeStart() {\n    return this._iconRangeStart;\n  }\n  set iconRangeEnd(t) {\n    const e = this._iconRangeEnd;\n    this._iconRangeEnd = t, this.requestUpdate(\"iconRangeEnd\", e);\n  }\n  get iconRangeEnd() {\n    return this._iconRangeEnd;\n  }\n  set minDate(t) {\n    const e = this._minDate;\n    this._minDate = t, this.requestUpdate(\"minDate\", e);\n  }\n  get minDate() {\n    return this._minDate;\n  }\n  set maxDate(t) {\n    const e = this._maxDate;\n    this._maxDate = t, this.requestUpdate(\"maxDate\", e);\n  }\n  get maxDate() {\n    return this._maxDate;\n  }\n  set invalid(t) {\n    const e = this._invalid;\n    this._invalid = t, this.requestUpdate(\"invalid\", e);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  set helpText(t) {\n    const e = this._helpText;\n    this._helpText = t, this.requestUpdate(\"helpText\", e);\n  }\n  get helpText() {\n    return this._helpText;\n  }\n  set showButtons(t) {\n    const e = this._calendarShowButtons;\n    this._calendarShowButtons = t, this.requestUpdate(\"calendarShowButtons\", e);\n  }\n  get showButtons() {\n    return this._calendarShowButtons;\n  }\n  set calendarLeftButtonLabel(t) {\n    const e = this._calendarLeftButtonLabel;\n    this._calendarLeftButtonLabel = t, this.requestUpdate(\"calendarLeftButtonLabel\", e);\n  }\n  get calendarLeftButtonLabel() {\n    return this._calendarLeftButtonLabel;\n  }\n  set calendarRightButtonLabel(t) {\n    const e = this._calendarRightButtonLabel;\n    this._calendarRightButtonLabel = t, this.requestUpdate(\"calendarRightButtonLabel\", e);\n  }\n  get calendarRightButtonLabel() {\n    return this._calendarRightButtonLabel;\n  }\n  disconnectedCallback() {\n    this._removeCalendarListener(), this.observer.disconnect(), this.visibleObserver.disconnect();\n  }\n  _addCalendarListener() {\n    document.addEventListener(\"mousedown\", this._handleOutsideClick), this.addEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _removeCalendarListener() {\n    document.removeEventListener(\"mousedown\", this._handleOutsideClick), this.removeEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _handleOutsideClick(t) {\n    this._checkClickOutside(t);\n  }\n  _handleFocusOut(t) {\n    this._checkFocusOut(t);\n  }\n  /* METHODS */\n  _checkInputAttributes() {\n    this._isFirstInputsCheck && this._inputRangeStart && (this._copyInputRangeStartPlaceholder = this._inputRangeStart.placeholder), this._isFirstInputsCheck && this._inputRangeEnd && (this._copyInputRangeEndPlaceholder = this._inputRangeEnd.placeholder), this._isFirstInputsCheck = !1;\n  }\n  _updatePlaceholders() {\n    this._isStartFocused && !this._copyInputRangeStartPlaceholder && (this._inputRangeStart.setAttribute(\"placeholder\", this._dateformatPlaceholder), this.requestUpdate()), this._isEndFocused && !this._copyInputRangeEndPlaceholder && (this._inputRangeEnd.setAttribute(\"placeholder\", this._dateformatPlaceholder), this.requestUpdate());\n  }\n  _removePlaceholders() {\n    this._copyInputRangeStartPlaceholder || this._inputRangeStart.removeAttribute(\"placeholder\"), this._copyInputRangeEndPlaceholder || this._inputRangeEnd.removeAttribute(\"placeholder\");\n  }\n  // _handleValidity() {\n  //   const startValidity = this._inputRangeStart?.checkValidity();\n  //   if (startValidity !== undefined) this._inputStartValidity = startValidity;\n  //   const endValidity = this._inputRangeEnd?.checkValidity();\n  //   if (endValidity !== undefined) this._inputEndValidity = endValidity;\n  // }\n  _handleRangeStartInput(t) {\n    if (t.target) {\n      const a = t.target.value.replace(/\\D/g, \"\");\n      this._inputRangeStart.value = this._formatDate(a);\n    }\n  }\n  _handleRangeEndInput(t) {\n    if (t.target) {\n      const a = t.target.value.replace(/\\D/g, \"\");\n      this._inputRangeEnd.value = this._formatDate(a);\n    }\n  }\n  _handleRangeStartClick() {\n    this._showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this.requestUpdate();\n  }\n  _handleRangeEndClick() {\n    this._showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this.requestUpdate();\n  }\n  _handleRangeStartFocusIn() {\n    this._isStartFocused || (this._isStartFocused = !0, this._isEndFocused = !1, this._copyInputRangeEndPlaceholder || this._inputRangeEnd.removeAttribute(\"placeholder\"), this._updatePlaceholders(), this.requestUpdate());\n  }\n  _handleRangeEndFocusIn() {\n    this._isEndFocused || (this._isStartFocused = !1, this._copyInputRangeStartPlaceholder || this._inputRangeStart.removeAttribute(\"placeholder\"), this._isEndFocused = !0, this._updatePlaceholders(), this.requestUpdate());\n  }\n  _handleRangeKeydown(t) {\n    var e, a;\n    (t == null ? void 0 : t.key) === \"Tab\" ? this._showCalendar && this._isStartFocused && (t.preventDefault(), this.dispatchEvent(\n      new CustomEvent(\"range-focus-calendar\", {\n        bubbles: !0,\n        composed: !0\n      })\n    )) : (t == null ? void 0 : t.key) === \"Enter\" && this._showCalendar && ((e = this._inputRangeStart.value) == null ? void 0 : e.length) > 7 && ((a = this._inputRangeEnd.value) == null ? void 0 : a.length) > 7 ? this._closeCalendar() : (t == null ? void 0 : t.key) === \"Enter\" || (t == null ? void 0 : t.key) === \" \" ? (this._showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this.requestUpdate()) : (t == null ? void 0 : t.key) === \"Escape\" && (this._showCalendar = !1, this._popperInstance.update(), this._removeCalendarListener(), this.requestUpdate());\n  }\n  _onCalendarChange(t) {\n    const e = t.detail;\n    if (e.rangeStart) {\n      this._inputRangeStart.value = t.detail.rangeStart;\n      const a = this._convertToISO(e.rangeStart), s = this._convertToISO(this._inputRangeEnd.value);\n      this._inputRangeEnd.value && new Date(s) < new Date(a) && (this._inputRangeEnd.value = \"\", e.rangeEnd = null);\n    }\n    e.rangeEnd ? this._inputRangeEnd.value = t.detail.rangeEnd : this._inputRangeEnd.value = \"\", this._inputRangeEnd.value || (this._inputRangeEnd.focus(), this._isStartFocused = !1, this._isEndFocused = !0), this._inputRangeStart.value && this._inputRangeEnd.value && (this._showCalendar = !1, this._isStartFocused = !1, this._isEndFocused = !1, this._removeCalendarListener()), this.validate && this._validateDate(), this.requestUpdate();\n  }\n  _onCalendarCancel() {\n    this._showCalendar = !1, this._removeCalendarListener(), this.requestUpdate();\n  }\n  _checkClickOutside(t) {\n    t.composedPath().includes(this) || this._showCalendar && this._closeCalendar();\n  }\n  _checkFocusOut(t) {\n    const e = t.relatedTarget;\n    e !== null && e !== this && e !== this._inputRangeStart && e !== this._inputRangeEnd && this._showCalendar && this._closeCalendar();\n  }\n  _clearDate(t) {\n    switch (t) {\n      case \"rangeStart\":\n        if (!this._inputRangeStart) return;\n        this._inputRangeStart.value = \"\", this._copyInputRangeStartPlaceholder || this._inputRangeStart.removeAttribute(\"placeholder\");\n        break;\n      case \"rangeEnd\":\n        if (!this._inputRangeEnd) return;\n        this._inputRangeEnd.value = \"\", this._copyInputRangeEndPlaceholder || this._inputRangeEnd.removeAttribute(\"placeholder\");\n        break;\n    }\n    this._validateDate(), this.requestUpdate();\n  }\n  _closeCalendar() {\n    var t, e;\n    this._removePlaceholders(), this._isStartFocused = !1, this._isEndFocused = !1, this._showCalendar = !1, (t = this._inputRangeStart) == null || t.blur(), (e = this._inputRangeEnd) == null || e.blur(), this._removeCalendarListener(), this.validate && this._validateDate(), this.requestUpdate();\n  }\n  _formatDate(t) {\n    let e = t.substring(0, 2), a = t.substring(2, 4);\n    const s = t.substring(4, 8);\n    return Number(e) > 3 && (e = e == null ? void 0 : e.padStart(2, \"0\")), Number(a) > 1 && (a = a == null ? void 0 : a.padStart(2, \"0\")), Number(e) > 31 && (e = \"31\"), Number(a) > 12 && (a = \"12\"), a === \"02\" && Number(e) > 28 && (s == null ? void 0 : s.length) === 4 && (e = new Date(Number(s), 1, 29).getMonth() === 1 ? \"29\" : \"28\"), `${e}${a ? `/${a}` : \"\"}${s ? `/${s}` : \"\"}`;\n  }\n  _validateDate() {\n    var e, a;\n    let t = this._checkDateFormat((e = this._inputRangeStart) == null ? void 0 : e.value);\n    t || (t = this._checkDateFormat((a = this._inputRangeEnd) == null ? void 0 : a.value)), this._dispatchOnValidate(t);\n  }\n  _checkDateFormat(t) {\n    if (!t || t === void 0)\n      return this._helpText = this._helpTextBackup, this._invalid = !1, !1;\n    if (t === \"\")\n      return this._helpText = this._helpTextBackup, this._invalid = !1, !1;\n    if (t.length < 10)\n      return this._helpText = this.errorMessageFormat, this._invalid = !0, !0;\n    if (this._minDate || this._maxDate) {\n      const a = new Date(this._convertToISO(t)), s = new Date(this._convertToISO(this._minDate)), o = new Date(this._convertToISO(this._maxDate));\n      if (s && a < s)\n        return this._helpText = this.errorMessageMinDate, this._invalid = !0, !0;\n      if (o && a > o)\n        return this._helpText = this.errorMessageMaxDate, this._invalid = !0, !0;\n    }\n    return this._helpText = this._helpTextBackup, this._invalid = !1, !1;\n  }\n  _convertToISO(t) {\n    const [e, a, s] = t.split(\"/\");\n    return `${s}-${a}-${e}`;\n  }\n  _dispatchOnValidate(t) {\n    var a, s;\n    const e = {\n      detail: {\n        rangeStart: (a = this._inputRangeStart) == null ? void 0 : a.value,\n        rangeEnd: (s = this._inputRangeEnd) == null ? void 0 : s.value,\n        invalid: t\n      },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onValidate\", e));\n  }\n  _createPopperCalendar() {\n    var a, s;\n    const t = (a = this.shadowRoot) == null ? void 0 : a.querySelector(\".dss-datepicker-range-inputs__start\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-calendar\");\n    t && e && (this._popperInstance = p(t, e, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          options: {\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        }\n      ]\n    }));\n  }\n  /* LIT LIFECYCLE */\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._helpTextBackup = this.helpText, this._createPopperCalendar(), this._inputRangeStart && this._inputRangeEnd && (this._inputRangeStart.classList.add(\"dss-input-skip-native\"), this._inputRangeEnd.classList.add(\"dss-input-skip-native\"), this._checkInputAttributes(), this.observer.observe(this._inputRangeStart, this.observerConfig), this.observer.observe(this._inputRangeEnd, this.observerConfig), this.visibleObserver.observe(this._inputRangeStart));\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    return _(this);\n  }\n}\nn([\n  i({ type: String })\n], r.prototype, \"iconRangeStart\", 1);\nn([\n  i({ type: String })\n], r.prototype, \"iconRangeEnd\", 1);\nn([\n  i({ type: String })\n], r.prototype, \"minDate\", 1);\nn([\n  i({ type: String })\n], r.prototype, \"maxDate\", 1);\nn([\n  i(h)\n], r.prototype, \"invalid\", 1);\nn([\n  i({ type: String })\n], r.prototype, \"inputSize\", 2);\nn([\n  i({ type: String })\n], r.prototype, \"helpText\", 1);\nn([\n  i(h)\n], r.prototype, \"showButtons\", 1);\nn([\n  i({ type: String })\n], r.prototype, \"calendarLeftButtonLabel\", 1);\nn([\n  i({ type: String })\n], r.prototype, \"calendarRightButtonLabel\", 1);\nn([\n  i({ type: String })\n], r.prototype, \"dropdownPlacement\", 2);\nn([\n  i(h)\n], r.prototype, \"dropdownFixed\", 2);\nn([\n  i({ type: Array })\n], r.prototype, \"customCalendar\", 2);\nn([\n  i(h)\n], r.prototype, \"validate\", 2);\nn([\n  i(h)\n], r.prototype, \"errorMessageFormat\", 2);\nn([\n  i(h)\n], r.prototype, \"errorMessageMinDate\", 2);\nn([\n  i(h)\n], r.prototype, \"errorMessageMaxDate\", 2);\nexport {\n  r as DatepickerRange\n};\n//# sourceMappingURL=datepicker-range.js.map\n","import { nothing as d } from \"lit\";\nimport { classMap as a } from \"lit/directives/class-map.js\";\nimport { ifDefined as D } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as e, literal as r, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nconst h = r`dss-calendar${e(u())}`, v = r`dss-icon${e(u())}`, l = r`dss-icon-button${e(u())}`, f = r`dss-tooltip${e(u())}`, y = (i) => {\n  var t, $, _, p, b;\n  const C = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": i._required,\n    \"dss-input-wrapper--disabled\": i._disabled,\n    [`dss-input-wrapper--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-wrapper--no-label\": !i._labelSlot\n  }, g = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-group--invalid\": i._invalid || !i._inputValidity,\n    \"dss-input-group--required\": i._required,\n    \"dss-input-group--disabled\": i._disabled,\n    \"dss-input-group--focused\": ((t = i._input) == null ? void 0 : t.value) || i._placeholder || i._isFocused,\n    \"dss-input-group--read-only\": i._readonly,\n    \"dss-input-group--no-label\": !i._labelSlot\n  }, w = {\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": i._invalid,\n    \"dss-input-help--disabled\": i._disabled\n  }, k = {\n    \"dss-calendar\": !0,\n    \"dss-calendar--visible\": i._showCalendar && !i._readonly,\n    \"dss-calendar--disabled\": i._disabled,\n    \"dss-calendar--md\": i.inputSize !== \"lg\"\n  };\n  return s`\n  \n      <div class=\"${a(C)}\">\n  \n        ${i.inputSize === \"sm\" ? s`\n          <div class=\"${a({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": i._invalid\n  })}\"\n          >\n            <slot name=\"label\" @click=${i._focusInput}></slot>\n          </div>\n          ` : d}\n  \n        <div \n          class=\"dss-input-dropdown-wrapper\"\n          role=\"combobox\"\n          aria-controls=\"datepicker-calendar\"\n          aria-expanded=${D(i._showCalendar)}>\n          <div class=\"${a(g)}\">\n            ${i.icon && i.icon !== \"\" ? s`\n              <${v} icon=\"${i.icon}\" class=\"dss-input-icon\"></${v}>\n              ` : d}\n            <div class=\"dss-input-field\">\n              ${i.inputSize !== \"sm\" ? s`\n                <slot name=\"label\" @click=${i._focusInput}></slot>\n                ` : d}\n              <slot name=\"input\"\n                @click=${i._handleClick}\n                @input=${i._handleInput}\n                @focusin=${i._handleFocus}\n                @focusout=${i._handleBlur}\n                @keydown=${i._handleKeyUp}\n              ></slot>\n              ${!i._showCalendar && i._isTruncated ? s`\n                  <${f}>${($ = i._input) == null ? void 0 : $.value}</${f}>\n                ` : null}\n            </div>\n            \n            ${!i.hasStepper && ((_ = i._input) != null && _.value) ? s`\n              <${l}\n                size=\"md\"\n                icon=\"close\"\n                hideTooltip\n                label=\"Netejar data\"\n                @onClick=${i._clearDate}\n                ?hidden=${i._readonly || i._disabled}\n              ></${l}>\n              ` : d}\n\n            ${i.hasStepper && ((p = i._input) != null && p.value) && i.isValidDate() ? s`\n              <div class=\"${a({\n    \"dss-datepicker-stepper-divider\": !0,\n    [`dss-datepicker-stepper-divider--${i.inputSize}`]: !!i.inputSize\n  })}\"\n              >\n              </div>\n              <div class=\"dss-datepicker-stepper-arrows\">\n                <${l}\n                  size=\"md\"\n                  icon=\"chevron_left\"\n                  hideTooltip\n                  label=\"Data anterior\"\n                  @onClick=${i._prevDate}\n                  ?disabled=${i._isPrevDateDisabled()}\n                  ?hidden=${i._readonly || i._disabled}\n                ></${l}>\n\n                <${l}\n                  size=\"md\"\n                  icon=\"chevron_right\"\n                  hideTooltip\n                  label=\"Següent data\"\n                  @onClick=${i._nextDate}\n                  ?disabled=${i._isNextDateDisabled()}\n                  ?hidden=${i._readonly || i._disabled}\n                ></${l}>\n              \n              </div>\n              ` : d}\n\n          </div>\n  \n          <${h}\n            role=\"listbox\"\n            aria-label=\"Datepicker Calendar\"\n            id=\"datepicker-calendar\"\n            class=\"${a(k)}\"\n            .selectedDate=${(b = i._input) == null ? void 0 : b.value}\n            .showTime=${i._showTime}\n            .showButtons=${i._showButtons}\n            .leftLabel=${i._leftLabel}\n            .rightLabel=${i._rightLabel}\n            .minDate=${i._minDate}\n            .maxDate=${i._maxDate}\n            timepickerLabel=${i._timepickerLabel}\n            .timepicker=${i._timepicker}\n            .customCalendar=${i.customCalendar}\n            .customTimeListOptions=${i._customTimeListOptions}\n            .minutesRange=${i._minutesRange}\n            .minHour=${i._minHour}\n            .maxHour=${i._maxHour}\n            @onDateChange=${i._onDateChange}\n            @onCancel=${i._onCancel}\n          ></${h}>\n        </div>\n  \n        ${i._helpText ? s`\n              <div class=\"${a(w)}\">\n                <span>${i._helpText}</span>\n              </div>\n            ` : null}\n      </div>\n    `;\n};\nexport {\n  y as template\n};\n//# sourceMappingURL=datepicker.template.js.map\n","const e = \".dss-datepicker-help{font-family:var(--font-family)}.dss-datepicker-help{font-family:inherit;font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-datepicker-help--disabled{color:var(--color-neutral-500)}.dss-datepicker-help--invalid{color:var(--color-red-500)}.dss-calendar{z-index:999;width:-moz-fit-content;width:fit-content;opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-out}.dss-calendar--visible{opacity:1;visibility:visible}.dss-datepicker-stepper-divider{height:20px;width:1px;background-color:var(--color-neutral-500)}.dss-datepicker-stepper-divider.dss-datepicker-stepper-divider--lg{height:24px}.dss-datepicker-stepper-arrows{display:flex;align-items:center;gap:var(--dss-spacing-xs)}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=datepicker.style.css.js.map\n","import { createPopper as v } from \"@popperjs/core\";\nimport { LitElement as D, unsafeCSS as m } from \"lit\";\nimport { property as n } from \"lit/decorators.js\";\nimport { booleanType as p } from \"../../utils/property-types.js\";\nimport { template as w } from \"./datepicker.template.js\";\nimport x from \"../../shared/scrollbar.style.css.js\";\nimport T from \"../input/input.style.css.js\";\nimport C from \"./datepicker.style.css.js\";\nvar S = Object.defineProperty, O = Object.getOwnPropertyDescriptor, o = (_, t, e, i) => {\n  for (var s = i > 1 ? void 0 : i ? O(t, e) : t, a = _.length - 1, r; a >= 0; a--)\n    (r = _[a]) && (s = (i ? r(t, e, s) : r(s)) || s);\n  return i && s && S(t, e, s), s;\n};\nclass h extends D {\n  constructor() {\n    super(), this.icon = \"calendar_today\", this.inputSize = \"lg\", this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this.customCalendar = void 0, this.validate = !1, this.errorMessageFormat = \"El format de la data no és correcte.\", this.errorMessageMinDate = \"La data és anterior a la permesa.\", this.errorMessageMaxDate = \"La data és posterior a la permesa.\", this.hasStepper = !1, this._timepickerLabel = \"Seleccionar l'hora\", this._timepicker = \"\", this._minutesRange = 1, this._minHour = 0, this._maxHour = 24, this._customTimeListOptions = [], this._placeholder = \"\", this._externalPlaceholder = \"\", this._previousDate = \"\", this._minDate = \"\", this._maxDate = \"\", this._showCalendar = !1, this._showTime = !1, this._invalid = !1, this._showButtons = !1, this._required = !1, this._disabled = !1, this._readonly = !1, this._leftLabel = \"Cancel·lar\", this._rightLabel = \"Seleccionar\", this._isFocused = !1, this._helpText = \"\", this._helpTextBackup = \"\", this._inputValidity = !0, this._popperInstance = null, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (t) => {\n      for (const e of t)\n        e.type === \"attributes\" && (this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback), this.visibleObserver = new IntersectionObserver(\n      ([t]) => {\n        t.isIntersecting || this._showCalendar && this._closeCalendar();\n      },\n      {\n        root: null,\n        threshold: 0\n      }\n    ), this._isTruncated = !1, this._handleOutsideClick = this._handleOutsideClick.bind(this), this._handleFocusOut = this._handleFocusOut.bind(this);\n  }\n  static get styles() {\n    return [m(T), m(x), m(C)];\n  }\n  get _input() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _labelSlot() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"label\"]')) || void 0;\n    return t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _label() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"label\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set showTime(t) {\n    const e = this._showTime;\n    this._showTime = t, this._showButtons = !0, this.requestUpdate(\"showTime\", e);\n  }\n  get showTime() {\n    return this._showTime;\n  }\n  set showButtons(t) {\n    const e = this._showButtons;\n    this._showButtons = t, this.requestUpdate(\"showButtons\", e);\n  }\n  get showButtons() {\n    return this._showButtons;\n  }\n  set leftLabel(t) {\n    const e = this._leftLabel;\n    this._leftLabel = t, this.requestUpdate(\"leftLabel\", e);\n  }\n  get leftLabel() {\n    return this._leftLabel;\n  }\n  set rightLabel(t) {\n    const e = this._rightLabel;\n    this._rightLabel = t, this.requestUpdate(\"rightLabel\", e);\n  }\n  get rightLabel() {\n    return this._rightLabel;\n  }\n  set minDate(t) {\n    const e = this._minDate;\n    this._minDate = t, this.requestUpdate(\"minDate\", e);\n  }\n  get minDate() {\n    return this._minDate;\n  }\n  set maxDate(t) {\n    const e = this._maxDate;\n    this._maxDate = t, this.requestUpdate(\"maxDate\", e);\n  }\n  get maxDate() {\n    return this._maxDate;\n  }\n  set invalid(t) {\n    const e = this._invalid;\n    this._invalid = t, this.requestUpdate(\"invalid\", e);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  set helpText(t) {\n    const e = this._helpText;\n    this._helpText = t, this.requestUpdate(\"helpText\", e);\n  }\n  get helpText() {\n    return this._helpText;\n  }\n  set timepicker(t) {\n    const e = this._timepicker;\n    this._timepicker = t, this.requestUpdate(\"timepicker\", e);\n  }\n  get timepicker() {\n    return this._timepicker;\n  }\n  set minutesRange(t) {\n    const e = this._minutesRange;\n    this._minutesRange = t, this.requestUpdate(\"minutesRange\", e);\n  }\n  get minutesRange() {\n    return this._minutesRange;\n  }\n  set minHour(t) {\n    const e = this._minHour;\n    this._minHour = t, this.requestUpdate(\"minHour\", e);\n  }\n  get minHour() {\n    return this._minHour;\n  }\n  set maxHour(t) {\n    const e = this._maxHour;\n    this._maxHour = t, this.requestUpdate(\"maxHour\", e);\n  }\n  get maxHour() {\n    return this._maxHour;\n  }\n  set customTimeListOptions(t) {\n    const e = this._customTimeListOptions;\n    this._customTimeListOptions = t, this.requestUpdate(\"customTimeListOptions\", e);\n  }\n  get customTimeListOptions() {\n    return this._customTimeListOptions;\n  }\n  set timepickerLabel(t) {\n    const e = this._timepickerLabel;\n    this._timepickerLabel = t, this.requestUpdate(\"timepickerLabel\", e);\n  }\n  get timepickerLabel() {\n    return this._timepickerLabel;\n  }\n  set value(t) {\n    t !== void 0 && this.requestUpdate();\n  }\n  get value() {\n    var t;\n    return (t = this._input) == null ? void 0 : t.value;\n  }\n  disconnectedCallback() {\n    this._removeCalendarListener(), this.observer.disconnect(), this.visibleObserver.disconnect();\n  }\n  _addCalendarListener() {\n    document.addEventListener(\"mousedown\", this._handleOutsideClick), this.addEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _removeCalendarListener() {\n    document.removeEventListener(\"mousedown\", this._handleOutsideClick), this.removeEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _handleOutsideClick(t) {\n    this._checkClickOutside(t);\n  }\n  _handleFocusOut(t) {\n    this._checkFocusOut(t);\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._helpTextBackup = this.helpText, this._createPopperCalendar(), this._input && (this._input.classList.add(\"dss-input-skip-native\"), this._checkInputAttributes(), this.observer.observe(this._input, this.observerConfig), this.visibleObserver.observe(this._input)), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  _createPopperCalendar() {\n    var i, s;\n    const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-input-group\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-calendar\");\n    t && e && (this._popperInstance = v(t, e, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          options: {\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        }\n      ]\n    }));\n  }\n  _checkInputAttributes() {\n    var a, r, u, l, d, c;\n    const t = (a = this._input) == null ? void 0 : a.getAttribute(\"placeholder\");\n    t && (this._placeholder = t, this._externalPlaceholder = t);\n    const e = (r = this._input) == null ? void 0 : r.getAttribute(\"readonly\");\n    this._readonly = e !== null;\n    const i = (u = this._input) == null ? void 0 : u.getAttribute(\"disabled\");\n    this._disabled = i !== null;\n    const s = (l = this._input) == null ? void 0 : l.getAttribute(\"required\");\n    this._required = s !== null, (d = this._input) != null && d.value && ((c = this._input) == null ? void 0 : c.value) !== \"\" && this._handleValidity(), this.requestUpdate();\n  }\n  _handleValidity() {\n    var e;\n    const t = (e = this._input) == null ? void 0 : e.checkValidity();\n    t !== void 0 && (this._inputValidity = t);\n  }\n  _checkClickOutside(t) {\n    t.composedPath().includes(this) || this._showCalendar && this._closeCalendar();\n  }\n  _checkFocusOut(t) {\n    const e = t.relatedTarget;\n    e !== null && e !== this && e !== this._input && e !== this._label && this._showCalendar && this._closeCalendar();\n  }\n  _closeCalendar() {\n    var t, e;\n    this._removeCalendarListener(), (t = this._input) == null || t.removeAttribute(\"placeholder\"), this._placeholder = \"\", this._isFocused = !1, this._showCalendar = !1, (e = this._input) == null || e.blur(), this.validate && this._validateDate(), this.requestUpdate();\n  }\n  _handleKeyUp(t) {\n    var e, i, s, a, r;\n    if ((t == null ? void 0 : t.key) === \"Tab\" ? (this._isFocused = !0, this._handleBlur()) : (t == null ? void 0 : t.key) === \"Enter\" || (t == null ? void 0 : t.key) === \" \" ? (this._showCalendar = !0, this._popperInstance.update(), this._handleBlur(), this._addCalendarListener()) : (t == null ? void 0 : t.key) === \"Escape\" && (this._closeCalendar(), this._handleBlur()), t.key === \"Enter\" && this._input && ((e = this._input.value) == null ? void 0 : e.length) > 7 && this._input) {\n      const u = (i = this._input.value) == null ? void 0 : i.replace(/(\\d+[/])(\\d+[/])/, \"$2$1\"), l = new Date(u), d = (s = l.getDate()) == null ? void 0 : s.toString().padStart(2, \"0\"), c = (l.getMonth() + 1).toString().padStart(2, \"0\"), g = l.getFullYear(), b = (a = l.getHours()) == null ? void 0 : a.toString().padStart(2, \"0\"), y = (r = l.getMinutes()) == null ? void 0 : r.toString().padStart(2, \"0\");\n      let f = `${d}/${c}/${g}`;\n      this._showTime && (f += ` ${b}:${y}`, this._handleValidity()), this._input && (this._input.value = f), this._dispatchValueChange(), this._showCalendar ? this._closeCalendar() : this.requestUpdate();\n    }\n  }\n  _handleInput(t) {\n    var i;\n    const e = (i = t.target.value) == null ? void 0 : i.replace(/\\D/g, \"\");\n    this._input && (this._input.value = this._formatDate(e), this._handleValidity()), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _formatDate(t) {\n    let e = t.substring(0, 2), i = t.substring(2, 4);\n    const s = t.substring(4, 8);\n    let a = t.substring(8, 10), r = t.substring(10, 12);\n    Number(e) > 3 && (e = e == null ? void 0 : e.padStart(2, \"0\")), Number(i) > 1 && (i = i == null ? void 0 : i.padStart(2, \"0\")), Number(e) > 31 && (e = \"31\"), Number(i) > 12 && (i = \"12\"), i === \"02\" && Number(e) > 28 && (s == null ? void 0 : s.length) === 4 && (e = new Date(Number(s), 1, 29).getMonth() === 1 ? \"29\" : \"28\");\n    let u = `${e}${i ? `/${i}` : \"\"}${s ? `/${s}` : \"\"}`;\n    return this._showTime && (Number(a) > 2 && (a = a == null ? void 0 : a.padStart(2, \"0\")), Number(a) > 23 && (a = \"23\"), Number(r) > 5 && (r = r == null ? void 0 : r.padStart(2, \"0\")), u = `${u}${a ? ` ${a}` : \"\"}${r ? `:${r}` : \"\"}`), u;\n  }\n  _handleFocus() {\n    var t;\n    this._readonly || (this._externalPlaceholder !== \"\" ? this._placeholder = this._externalPlaceholder : this._placeholder = this._showTime ? \"DD/MM/AAAA HH:MM\" : \"DD/MM/AAAA\", (t = this._input) == null || t.setAttribute(\"placeholder\", this._placeholder), this.requestUpdate());\n  }\n  _handleBlur() {\n    this._checkInputOverflow(), this.requestUpdate();\n  }\n  _focusInput() {\n    var t;\n    !this._disabled && !this._readonly && ((t = this._input) == null || t.focus(), this._handleClick());\n  }\n  _handleClick() {\n    this._showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this.requestUpdate();\n  }\n  _onDateChange(t) {\n    const e = t.detail;\n    this._input && (this._input.value = e, this._handleValidity()), this._closeCalendar(), this._dispatchValueChange();\n  }\n  _onCancel() {\n    this._closeCalendar(), this._input && (this._input.value = this._previousDate || \"\", this._handleValidity()), this.requestUpdate();\n  }\n  _dispatchValueChange() {\n    var e;\n    const t = {\n      detail: (e = this._input) == null ? void 0 : e.value,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onValueChange\", t));\n  }\n  _checkInputOverflow() {\n    if (!this._input || !this._input.value) return;\n    const t = window.getComputedStyle(this._input), e = `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, s = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!s) return;\n    s.font = e;\n    const a = s.measureText(this._input.value).width;\n    this._isTruncated = a > this._input.offsetWidth;\n  }\n  _validateDate() {\n    var e;\n    const t = this._checkDateFormat((e = this._input) == null ? void 0 : e.value);\n    this._dispatchOnValidate(t);\n  }\n  _checkDateFormat(t) {\n    const e = this._showTime ? 16 : 10;\n    if (t === \"\")\n      return this._helpText = this._helpTextBackup, this._invalid = !1, !1;\n    if (t.length < e)\n      return this._helpText = this.errorMessageFormat, this._invalid = !0, !0;\n    if (this._minDate || this._maxDate) {\n      const i = this._showTime ? t.substring(0, 10) : t, s = new Date(this._convertToISO(i)), a = new Date(this._convertToISO(this._minDate)), r = new Date(this._convertToISO(this._maxDate));\n      if (a && s < a)\n        return this._helpText = this.errorMessageMinDate, this._invalid = !0, !0;\n      if (r && s > r)\n        return this._helpText = this.errorMessageMaxDate, this._invalid = !0, !0;\n    }\n    return this._helpText = this._helpTextBackup, this._invalid = !1, !1;\n  }\n  _convertToISO(t) {\n    const [e, i, s] = t.split(\"/\");\n    return `${s}-${i}-${e}`;\n  }\n  _dispatchOnValidate(t) {\n    var i;\n    const e = {\n      detail: {\n        date: (i = this._input) == null ? void 0 : i.value,\n        invalid: t\n      },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onValidate\", e));\n  }\n  _clearDate() {\n    this._input && (this._input.value = \"\", this._handleValidity(), this.invalid = this._input ? !this._input.checkValidity() : !1, this._helpText = this._helpTextBackup, this._dispatchValueChange(), this.requestUpdate());\n  }\n  _prevDate() {\n    var s;\n    if (!this._input) return;\n    const t = (s = this._input) == null ? void 0 : s.value, e = this._currentValueToDate(t || \"\");\n    e.setDate(e.getDate() - 1);\n    const i = this._newDateToValue(e);\n    this._input.value = i, this._handleValidity();\n  }\n  _nextDate() {\n    var s;\n    if (!this._input) return;\n    const t = (s = this._input) == null ? void 0 : s.value, e = this._currentValueToDate(t || \"\");\n    e.setDate(e.getDate() + 1);\n    const i = this._newDateToValue(e);\n    this._input.value = i, this._handleValidity();\n  }\n  _isPrevDateDisabled() {\n    var i;\n    const t = this._getDateFromValue((i = this._input) == null ? void 0 : i.value), e = this._getDateFromValue(this._minDate);\n    return !t || !e ? !1 : t <= e;\n  }\n  _isNextDateDisabled() {\n    var i;\n    const t = this._getDateFromValue((i = this._input) == null ? void 0 : i.value), e = this._getDateFromValue(this._maxDate);\n    return !t || !e ? !1 : t >= e;\n  }\n  _currentValueToDate(t) {\n    const e = t == null ? void 0 : t.split(\" \")[0].split(\"/\"), i = Number.parseInt(e ? e[0] : \"0\", 10), s = Number.parseInt(e ? e[1] : \"0\", 10) - 1, a = Number.parseInt(e ? e[2] : \"0\", 10), r = new Date(a, s, i);\n    return new Date(r);\n  }\n  _getDateFromValue(t) {\n    if (!t) return null;\n    const i = (this._showTime ? t.substring(0, 10) : t).split(\"/\");\n    if (i.length !== 3) return null;\n    const [s, a, r] = i;\n    if (!s || !a || !r) return null;\n    const u = this._convertToISO(`${s}/${a}/${r}`), l = new Date(u);\n    return Number.isNaN(l.getTime()) ? null : l;\n  }\n  _newDateToValue(t) {\n    const e = t.getDate().toString().padStart(2, \"0\"), i = (t.getMonth() + 1).toString().padStart(2, \"0\"), s = t.getFullYear();\n    return `${e}/${i}/${s}`;\n  }\n  isValidDate() {\n    var r;\n    if (!this._input) return !1;\n    const t = (r = this._input.value) == null ? void 0 : r.split(\" \")[0].split(\"/\");\n    if (!t || t.length !== 3) return !1;\n    const e = Number.parseInt(t[0], 10), i = Number.parseInt(t[1], 10) - 1, s = Number.parseInt(t[2], 10), a = new Date(s, i, e);\n    return !Number.isNaN(a.getTime());\n  }\n  render() {\n    return w(this);\n  }\n}\no([\n  n(p)\n], h.prototype, \"showTime\", 1);\no([\n  n(p)\n], h.prototype, \"showButtons\", 1);\no([\n  n({ type: String })\n], h.prototype, \"leftLabel\", 1);\no([\n  n({ type: String })\n], h.prototype, \"rightLabel\", 1);\no([\n  n({ type: String })\n], h.prototype, \"minDate\", 1);\no([\n  n({ type: String })\n], h.prototype, \"maxDate\", 1);\no([\n  n(p)\n], h.prototype, \"invalid\", 1);\no([\n  n({ type: String })\n], h.prototype, \"icon\", 2);\no([\n  n({ type: String })\n], h.prototype, \"inputSize\", 2);\no([\n  n({ type: String })\n], h.prototype, \"helpText\", 1);\no([\n  n({ type: String })\n], h.prototype, \"timepicker\", 1);\no([\n  n({ type: Number })\n], h.prototype, \"minutesRange\", 1);\no([\n  n({ type: Number })\n], h.prototype, \"minHour\", 1);\no([\n  n({ type: Number })\n], h.prototype, \"maxHour\", 1);\no([\n  n({ type: Array })\n], h.prototype, \"customTimeListOptions\", 1);\no([\n  n({ type: String })\n], h.prototype, \"timepickerLabel\", 1);\no([\n  n({ type: String })\n], h.prototype, \"value\", 1);\no([\n  n({ type: String })\n], h.prototype, \"dropdownPlacement\", 2);\no([\n  n(p)\n], h.prototype, \"dropdownFixed\", 2);\no([\n  n({ type: Array })\n], h.prototype, \"customCalendar\", 2);\no([\n  n(p)\n], h.prototype, \"validate\", 2);\no([\n  n(p)\n], h.prototype, \"errorMessageFormat\", 2);\no([\n  n(p)\n], h.prototype, \"errorMessageMinDate\", 2);\no([\n  n(p)\n], h.prototype, \"errorMessageMaxDate\", 2);\no([\n  n(p)\n], h.prototype, \"hasStepper\", 2);\nexport {\n  h as Datepicker_\n};\n//# sourceMappingURL=datepicker.js.map\n","const o = \":host{display:inline-block;vertical-align:middle}.dss-decorative-icon{height:24px;width:24px;min-width:24px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;background-color:var(--color-primary-50);color:var(--color-primary-500);border-radius:var(--dss-radius-xs);font-size:var(--icon-size-sm)}.dss-decorative-icon--info{background-color:var(--color-blue-50);color:var(--color-blue-500)}.dss-decorative-icon--success{background-color:var(--color-green-50);color:var(--color-green-500)}.dss-decorative-icon--danger,.dss-decorative-icon--error{background-color:var(--color-red-50);color:var(--color-red-500)}.dss-decorative-icon--disabled{background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-decorative-icon--md{height:32px;width:32px;min-width:32px;font-size:var(--icon-size-md);border-radius:var(--dss-radius-xs)}.dss-decorative-icon--lg{height:40px;width:40px;min-width:40px;font-size:var(--icon-size-lg);border-radius:var(--dss-radius-sm)}.dss-decorative-icon--xl{height:48px;width:48px;min-width:48px;font-size:var(--icon-size-xl);border-radius:var(--dss-radius-sm)}.dss-decorative-icon--sm.dss-decorative-icon{color:var(--color-primary-700)}.dss-decorative-icon--sm.dss-decorative-icon--info{color:var(--color-blue-700)}.dss-decorative-icon--sm.dss-decorative-icon--success{color:var(--color-green-700)}.dss-decorative-icon--sm.dss-decorative-icon--danger,.dss-decorative-icon--sm.dss-decorative-icon--error{color:var(--color-red-700)}.dss-decorative-icon--sm.dss-decorative-icon--disabled{color:var(--color-neutral-700)}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=decorative-icon.style.css.js.map\n","import { classMap as a } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as t, literal as d, html as r } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as l } from \"../../api/custom-element-scope.js\";\nconst i = d`dss-icon${t(l())}`, $ = (s) => {\n  const e = {\n    \"dss-decorative-icon\": !0,\n    [`dss-decorative-icon--${s.size}`]: !!s.size,\n    [`dss-decorative-icon--${s.state}`]: s.state !== \"default\",\n    \"dss-decorative-icon--disabled\": s.disabled\n  };\n  return r`\n    <div class=\"${a(e)}\" aria-hidden=\"true\">\n      <${i} icon=\"${s.icon}\" size=\"${s.size}\" ?fill=\"${s.fill}\"></${i}>\n    </div>\n  `;\n};\nexport {\n  $ as template\n};\n//# sourceMappingURL=decorative-icon.template.js.map\n","import { LitElement as m, unsafeCSS as a } from \"lit\";\nimport { property as e } from \"lit/decorators.js\";\nimport d from \"../../shared/reset.style.css.js\";\nimport { booleanType as f } from \"../../utils/property-types.js\";\nimport y from \"./decorative-icon.style.css.js\";\nimport { template as c } from \"./decorative-icon.template.js\";\nvar u = Object.defineProperty, r = (i, p, n, v) => {\n  for (var t = void 0, s = i.length - 1, l; s >= 0; s--)\n    (l = i[s]) && (t = l(p, n, t) || t);\n  return t && u(p, n, t), t;\n};\nclass o extends m {\n  constructor() {\n    super(...arguments), this.icon = void 0, this.state = \"default\", this.size = \"md\", this.disabled = !1, this.fill = !1;\n  }\n  static get styles() {\n    return [a(d), a(y)];\n  }\n  render() {\n    return c(this);\n  }\n}\nr([\n  e({ type: String })\n], o.prototype, \"icon\");\nr([\n  e({ type: String })\n], o.prototype, \"state\");\nr([\n  e({ type: String })\n], o.prototype, \"size\");\nr([\n  e(f)\n], o.prototype, \"disabled\");\nr([\n  e(f)\n], o.prototype, \"fill\");\nexport {\n  o as DecorativeIcon\n};\n//# sourceMappingURL=decorative-icon.js.map\n","const r = \".dss-divider{margin-top:var(--dss-spacing-xl);margin-bottom:var(--dss-spacing-xl);border-width:var(--dss-border-width-sm);border-style:solid;border-color:var(--color-neutral-100)}.dss-divider--bold{border-width:var(--dss-border-width-md)}\";\nexport {\n  r as default\n};\n//# sourceMappingURL=divider.style.css.js.map\n","import { LitElement as p, unsafeCSS as m } from \"lit\";\nimport { property as d } from \"lit/decorators.js\";\nimport { classMap as n } from \"lit/directives/class-map.js\";\nimport { html as l } from \"lit/static-html.js\";\nimport a from \"../../shared/reset.style.css.js\";\nimport f from \"./divider.style.css.js\";\nvar u = Object.defineProperty, v = (t, e, i, y) => {\n  for (var r = void 0, s = t.length - 1, o; s >= 0; s--)\n    (o = t[s]) && (r = o(e, i, r) || r);\n  return r && u(e, i, r), r;\n};\nclass c extends p {\n  constructor() {\n    super(...arguments), this.size = \"sm\";\n  }\n  static get styles() {\n    return [m(a), m(f)];\n  }\n  render() {\n    const e = {\n      \"dss-divider\": !0,\n      \"dss-divider--bold\": this.size === \"md\"\n    };\n    return l`<hr class=${n(e)} />`;\n  }\n}\nv([\n  d({ type: String })\n], c.prototype, \"size\");\nexport {\n  c as Divider\n};\n//# sourceMappingURL=divider.js.map\n","const i = ':host{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;visibility:hidden;opacity:0;display:flex;justify-content:flex-end;align-items:center;transition:opacity var(--animation-delay) ease-out,visibility var(--animation-delay) ease-out;z-index:999;font-family:var(--font-family)}:host([open]){visibility:visible}:host(.show){opacity:1}:host(.hide){opacity:0}.drawer{box-sizing:border-box;min-width:0;width:45%;height:100%;overflow-y:auto;overflow-x:hidden;background:var(--color-white);visibility:hidden;transform:translate(100%);transition:transform var(--animation-delay) ease-in-out,visibility var(--animation-delay) ease-in-out;display:flex;flex-direction:column}.drawer--filter{min-width:500px!important;max-width:500px!important}:host(.show) .drawer{visibility:visible;transform:none}.drawer-header{position:sticky;top:0;left:0;height:80px;box-sizing:border-box;background-color:var(--color-white);padding:var(--dss-spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--dss-spacing-md);border-bottom:var(--color-white) solid var(--dss-border-width-sm);transition:all .25s ease-in-out;z-index:900}.drawer-header--scrolled{border-bottom-color:var(--color-neutral-100);box-shadow:0 1px 3px 1px #0000001a,0 1px 2px #0000000d}.drawer-header-title{font-size:20px;font-weight:var(--font-bold);line-height:30px;color:var(--color-neutral-900)}.drawer-body{padding:0 var(--dss-spacing-lg);flex:1}.drawer-footer{position:sticky;bottom:0;left:0;height:80px;min-height:80px;background-color:var(--color-white);padding:var(--dss-spacing-lg);display:flex;justify-content:flex-end;gap:var(--dss-spacing-xs);align-items:center;border-top:var(--color-white) solid var(--dss-border-width-sm);transition:border-top-color .25s ease-in-out;z-index:900}.drawer-footer--scrolled{border-top-color:var(--color-neutral-100)}::slotted(div[slot=\"drawer-footer\"]){display:flex;justify-content:flex-end;align-items:center;gap:var(--dss-spacing-xs)}@media screen and (min-width: 1440px) and (max-width: 1919px){.drawer:not(.drawer--jcef){width:50%}}@media only screen and (min-width: 1024px) and (max-width: 1439px){.drawer:not(.drawer--jcef){width:60%}}@media only screen and (max-width: 1023px){.drawer:not(.drawer--jcef){width:80%}}@media screen and (min-width: 1419px) and (max-width: 1898px){.drawer.drawer--jcef{width:50%}}@media only screen and (min-width: 1003px) and (max-width: 1418px){.drawer.drawer--jcef{width:60%}}@media only screen and (max-width: 1002px){.drawer.drawer--jcef{width:80%}}';\nexport {\n  i as default\n};\n//# sourceMappingURL=drawer.style.css.js.map\n","import { classMap as t } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as s, literal as d, html as l } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as i } from \"../../api/custom-element-scope.js\";\nconst e = d`dss-icon-button${s(i())}`, v = (r) => {\n  const a = {\n    \"drawer--filter\": r.variant === \"filter\",\n    \"drawer--jcef\": r.jcef\n  };\n  return l`\n    <div class=\"drawer ${t(a)}\">\n      <div class=\"drawer-header\">\n        <div class=\"drawer-header-title\">${r.titleText}</div>\n        <${e}\n          hideTooltip\n          variant=\"default\"\n          icon=\"close\"\n          label=\"Tancar\"\n          size=\"lg\"\n          @click=${r._handleClose}\n        >\n        </${e}>\n      </div>\n      <div class=\"drawer-body\">\n        <slot name=\"drawer-body\"></slot>\n      </div>\n      <div class=\"drawer-footer\">\n        <slot name=\"drawer-footer\"></slot>\n      </div>\n    </div>\n  `;\n};\nexport {\n  v as template\n};\n//# sourceMappingURL=drawer.template.js.map\n","import { LitElement as w, unsafeCSS as n } from \"lit\";\nimport { property as l } from \"lit/decorators.js\";\nimport p from \"../../foundations/icon/icon.style.css.js\";\nimport _ from \"../../shared/reset.style.css.js\";\nimport { booleanType as c } from \"../../utils/property-types.js\";\nimport f from \"../icon-button/icon-button.style.css.js\";\nimport u from \"./drawer.style.css.js\";\nimport { template as m } from \"./drawer.template.js\";\nvar y = Object.defineProperty, d = (h, e, t, r) => {\n  for (var s = void 0, i = h.length - 1, o; i >= 0; i--)\n    (o = h[i]) && (s = o(e, t, s) || s);\n  return s && y(e, t, s), s;\n};\nconst v = 250;\nclass a extends w {\n  /* METHODS */\n  constructor() {\n    super(), this.variant = \"default\", this.jcef = !1, this.open = !1, this.title = \"\", this.titleText = \"\", this._drawerHeader = null, this._drawerFooter = null, this._scrollHandler = null, this._scrollContainer = null, this._handleKeydown = this._handleKeydown.bind(this), this._handleOutsideClick = this._handleOutsideClick.bind(this), this._scrollHandler = this._handleScroll.bind(this);\n  }\n  static get styles() {\n    return [n(_), n(p), n(f), n(u)];\n  }\n  _showDrawer() {\n    this.classList.add(\"show\"), this.classList.remove(\"hide\"), setTimeout(() => {\n      this.classList.add(\"show\"), this.style.visibility = \"visible\";\n    }, 0), document.body.style.overflow = \"hidden\";\n  }\n  _hideDrawer() {\n    this.classList.add(\"hide\"), this.classList.remove(\"show\"), setTimeout(() => {\n      this.classList.remove(\"hide\"), this.style.visibility = \"hidden\";\n    }, v), document.body.style.overflow = \"\";\n  }\n  _handleClose() {\n    this.open = !1, this._hideDrawer(), this.requestUpdate();\n    const e = new Event(\"onDrawerClosed\");\n    this.dispatchEvent(e);\n    const t = new Event(\"onClose\");\n    this.dispatchEvent(t);\n  }\n  _handleKeydown(e) {\n    e.key === \"Escape\" && this._handleClose();\n  }\n  _handleOutsideClick(e) {\n    var t;\n    if (this.open) {\n      const r = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".drawer\"), s = e.composedPath();\n      r && s.includes(this) && !s.includes(r) && this._handleClose();\n    }\n  }\n  _handleScroll(e) {\n    var r, s, i, o;\n    const t = e.target;\n    t && (t.scrollTop > 0 ? (r = this._drawerHeader) == null || r.classList.add(\"drawer-header--scrolled\") : (s = this._drawerHeader) == null || s.classList.remove(\"drawer-header--scrolled\"), t.scrollHeight - t.scrollTop !== t.clientHeight ? (i = this._drawerFooter) == null || i.classList.add(\"drawer-footer--scrolled\") : (o = this._drawerFooter) == null || o.classList.remove(\"drawer-footer--scrolled\"));\n  }\n  /* LIT LIFECYCLE */\n  connectedCallback() {\n    super.connectedCallback(), document.addEventListener(\"mousedown\", this._handleOutsideClick);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), document.removeEventListener(\"mousedown\", this._handleOutsideClick), this._scrollContainer && this._scrollHandler && this._scrollContainer.removeEventListener(\"scroll\", this._scrollHandler), this._scrollContainer = null;\n  }\n  updated(e) {\n    e.has(\"open\") && (this.open ? this._showDrawer() : this._hideDrawer()), e.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"\" && (this.titleText = this.title);\n    });\n  }\n  firstUpdated() {\n    var t, r, s;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".drawer\");\n    e && (this._scrollContainer = e, this._scrollHandler && this._scrollContainer.addEventListener(\"scroll\", this._scrollHandler), this._drawerHeader = (r = this.shadowRoot) == null ? void 0 : r.querySelector(\".drawer-header\"), this._drawerFooter = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".drawer-footer\"), e.scrollHeight > e.clientHeight && this._drawerFooter.classList.add(\"drawer-footer--scrolled\"));\n  }\n  render() {\n    return m(this);\n  }\n}\nd([\n  l({ type: String })\n], a.prototype, \"variant\");\nd([\n  l(c)\n], a.prototype, \"jcef\");\nd([\n  l(c)\n], a.prototype, \"open\");\nd([\n  l({ type: String })\n], a.prototype, \"title\");\nd([\n  l({ type: String })\n], a.prototype, \"titleText\");\nexport {\n  a as Drawer\n};\n//# sourceMappingURL=drawer.js.map\n","const e = \".dss-headline--xl,h1{color:var(--color-headline);font-weight:var(--font-bold);font-size:var(--dss-font-size-xhg);line-height:var(--line-52)}.dss-headline--lg,h2{color:var(--color-headline);font-weight:var(--font-bold);font-size:var(--dss-font-size-hg);line-height:var(--line-44)}.dss-headline--md,h3{color:var(--color-headline);font-weight:var(--font-bold);font-size:var(--dss-font-size-xxl);line-height:var(--line-36)}.dss-headline--sm,h4{color:var(--color-headline);font-weight:var(--font-bold);font-size:var(--dss-font-size-xl);line-height:var(--line-30)}.dss-subtitle--xl{font-weight:var(--font-semibold);font-size:var(--dss-font-size-xl);line-height:var(--line-32);color:var(--color-neutral-700)}.dss-subtitle--lg{font-weight:var(--font-semibold);font-size:var(--dss-font-size-lg);line-height:var(--line-24);color:var(--color-neutral-700)}.dss-subtitle--md{font-weight:var(--font-semibold);font-size:var(--dss-font-size-md);line-height:var(--line-24);color:var(--color-neutral-700)}.dss-subtitle--sm{font-weight:var(--font-semibold);font-size:var(--dss-font-size-sm);line-height:var(--line-24);color:var(--color-neutral-700)}.dss-legend--lg{font-weight:var(--font-regular);font-size:var(--dss-font-size-md);line-height:var(--line-28)}.dss-legend--md{font-weight:var(--font-regular);font-size:var(--dss-font-size-sm);line-height:var(--line-24)}.dss-legend--sm{font-weight:var(--font-regular);font-size:var(--dss-font-size-xs);line-height:var(--line-16)}.dss-headings--spacing-top-md{padding-top:var(--dss-spacing-md)}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=typography.css.js.map\n","const e = ':host{display:block;min-width:-moz-fit-content;min-width:fit-content}.dss-footer-wrapper{display:flex;align-items:center;height:40px;box-sizing:border-box;padding:var(--dss-spacing-xs) var(--dss-spacing-lg);box-shadow:var(--dss-elevation-sm)}.dss-footer-wrapper ::slotted(*){max-height:100%}.dss-footer-content{flex:1;display:flex;align-items:center;gap:var(--dss-spacing-md)}.dss-footer-logo{height:24px;margin:0}.dss-footer-description{display:none;font-weight:var(--font-regular);font-size:var(--dss-font-size-xs);line-height:var(--line-16)}@media (min-width: 768px){.dss-footer-description{display:block;position:relative;padding-left:var(--dss-spacing-md)}.dss-footer-description:before{content:\"\";width:1px;height:24px;background-color:var(--color-neutral-100);position:absolute;left:0;top:-4px;margin:auto}}@media only screen and (max-height: 808px){.dss-footer-wrapper{display:none}}';\nexport {\n  e as default\n};\n//# sourceMappingURL=footer.style.css.js.map\n","const C = \"data:image/svg+xml,%3csvg%20width='94'%20height='24'%20viewBox='0%200%2094%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.36109%200.0906792C4.28803%200.0906792%200.175049%204.88615%200.175049%2010.8007C0.175049%2016.7148%204.28803%2021.5103%209.36109%2021.5103C14.4341%2021.5103%2018.5471%2016.7148%2018.5471%2010.8007C18.5471%204.88615%2014.4341%200.0906792%209.36109%200.0906792Z'%20fill='%23ED192D'/%3e%3cpath%20d='M2.94731%2016.1347C2.06504%2014.6225%201.54761%2012.7839%201.54761%2010.8007C1.54761%208.81744%202.06504%206.97887%202.94731%205.46624V16.1347Z'%20fill='white'/%3e%3cpath%20d='M4.92041%203.11662C5.42915%202.6955%205.98132%202.34577%206.56749%202.07723V19.5236C5.98132%2019.2555%205.42915%2018.905%204.92041%2018.4846V3.11662Z'%20fill='white'/%3e%3cpath%20d='M8.54004%201.51296C8.81008%201.47934%209.08354%201.46197%209.36076%201.46197C9.63986%201.46197%209.91557%201.47972%2010.1871%201.51371V20.0871C9.91557%2020.1211%209.63986%2020.1392%209.36076%2020.1392C9.08354%2020.1392%208.81008%2020.1215%208.54004%2020.0882V1.51296Z'%20fill='white'/%3e%3cpath%20d='M12.1604%202.07998C12.7469%202.34889%2013.2991%202.70013%2013.8075%203.12125V18.4798C13.2991%2018.9013%2012.7469%2019.2521%2012.1604%2019.5211V2.07998Z'%20fill='white'/%3e%3cpath%20d='M15.7808%205.47638C16.6596%206.98674%2017.1752%208.82154%2017.1752%2010.8006C17.1752%2012.7797%2016.6596%2014.6141%2015.7808%2016.1244V5.47638Z'%20fill='white'/%3e%3cpath%20d='M0.944824%2010.8007C0.944824%208.34538%201.69906%206.09853%202.94769%204.36382V4.94962C1.89848%206.56989%201.27454%208.59843%201.27454%2010.8007C1.27454%2013.0026%201.89848%2015.0311%202.94769%2016.6514V17.2368C1.69906%2015.5025%200.944824%2013.2557%200.944824%2010.8007Z'%20fill='white'/%3e%3cpath%20d='M15.7808%2016.6428C16.8266%2015.024%2017.4486%2012.9989%2017.4486%2010.8008C17.4486%208.60264%2016.8266%206.57749%2015.7808%204.95873V4.3722C17.0264%206.10539%2017.7776%208.34921%2017.7776%2010.8008C17.7776%2013.2519%2017.0264%2015.4957%2015.7808%2017.2289V16.6428Z'%20fill='white'/%3e%3cpath%20d='M18.3143%2020.3883C18.377%2020.1193%2018.5042%2019.844%2018.6523%2019.6242C18.4623%2019.5309%2018.3022%2019.4607%2018.1371%2019.3175C18.5012%2018.7676%2018.5919%2018.3911%2018.6515%2017.729L18.6259%2013.9857C18.3856%2015.0742%2017.8044%2016.5019%2017.3025%2017.2482C17.1559%2017.4665%2017.0913%2017.6047%2017.0007%2017.7501C16.9486%2017.8343%2016.6536%2018.3204%2016.6611%2018.9157C16.4553%2018.9572%2016.2665%2018.9497%2016.0274%2018.9319C16.0569%2019.191%2016.0727%2019.2276%2016.0047%2019.6521C15.0972%2019.7224%2014.8328%2020.2666%2013.7571%2020.8483C13.2314%2021.1327%2012.8903%2021.2622%2012.104%2021.5492C13.9324%2021.5273%2015.275%2021.7872%2016.4243%2021.0144C16.555%2021.1874%2016.6521%2021.3555%2016.7382%2021.5591C16.8964%2021.4348%2017.2069%2021.2815%2017.4649%2021.215C17.7606%2021.5062%2018.1568%2021.621%2018.6644%2021.5753C18.7361%2021.1667%2018.6345%2020.6643%2018.3143%2020.3883Z'%20fill='%23ED192D'/%3e%3cpath%20d='M18.4518%2019.697C18.3101%2019.7548%2017.6431%2020.0011%2017.6431%2020.0011L17.6341%2020.0105C17.6307%2019.952%2017.6167%2019.8942%2017.5922%2019.8398L17.5884%2019.8273C17.8456%2019.6736%2018.0072%2019.456%2018.011%2019.4224C18.0091%2019.4198%2018.008%2019.4179%2018.0095%2019.4183C18.0106%2019.4187%2018.011%2019.4202%2018.011%2019.4224C18.0329%2019.4523%2018.2524%2019.6558%2018.4518%2019.697Z'%20fill='white'/%3e%3cpath%20d='M17.9002%2016.5343C18.5691%2015.0549%2018.4116%2015.1191%2018.5596%2014.505C18.54%2014.8008%2018.5211%2015.1739%2018.4792%2015.4443C18.1876%2017.0563%2017.7687%2018.2505%2017.2653%2019.5682C17.2653%2019.5682%2017.1271%2019.5565%2017.0576%2019.5698C16.9356%2019.4293%2016.8974%2019.2348%2016.8974%2019.2348C16.6633%2018.2634%2017.3918%2017.6583%2017.9002%2016.5343Z'%20fill='white'/%3e%3cpath%20d='M16.2266%2019.1309L16.8509%2019.6521L16.8528%2019.657C16.8339%2019.671%2016.8154%2019.6869%2016.798%2019.7039C16.7667%2019.7356%2016.7402%2019.77%2016.7195%2019.807L16.7157%2019.816C16.3977%2019.6616%2016.1851%2019.6552%2016.1851%2019.6552C16.2651%2019.3107%2016.2266%2019.1309%2016.2266%2019.1309Z'%20fill='white'/%3e%3cpath%20d='M13.3914%2021.3774C13.0776%2021.4492%2012.8241%2021.4458%2012.6262%2021.4545L13.2909%2021.2486C14.7314%2020.7085%2015.0982%2019.8723%2016.0711%2019.8531C16.2988%2019.855%2016.4854%2019.9146%2016.6542%2020.0094L16.6561%2020.0355C16.6493%2020.0978%2016.655%2020.1613%2016.6731%2020.2221L16.6735%2020.2311C16.0016%2020.5646%2014.4655%2021.1312%2013.3914%2021.3774Z'%20fill='white'/%3e%3cpath%20d='M16.8149%2021.334C16.7764%2021.2309%2016.7228%2021.0643%2016.574%2020.8996C16.7745%2020.7297%2016.8157%2020.6383%2016.8829%2020.4721L16.8878%2020.4744C16.9509%2020.5118%2017.0208%2020.5333%2017.0914%2020.539L17.0997%2020.5378L16.8149%2021.334Z'%20fill='white'/%3e%3cpath%20d='M16.9431%2020.2503C16.8324%2020.1389%2016.8328%2019.9588%2016.9442%2019.8477C17.0556%2019.7371%2017.2354%2019.7375%2017.3464%2019.8493C17.4571%2019.9603%2017.4567%2020.1404%2017.3453%2020.2511C17.2339%2020.3618%2017.0537%2020.3614%2016.9431%2020.2503Z'%20fill='white'/%3e%3cpath%20d='M17.5617%2021.0476C17.4147%2020.8765%2017.3517%2020.7443%2017.2961%2020.5128C17.369%2020.4916%2017.4548%2020.4474%2017.5061%2020.3757L18.5032%2021.3883C18.1248%2021.4234%2017.7973%2021.3342%2017.5617%2021.0476Z'%20fill='white'/%3e%3cpath%20d='M18.6644%200.00986958C18.1568%20-0.0362077%2017.7606%200.0785999%2017.4649%200.369795C17.2069%200.303322%2016.8964%200.149988%2016.7382%200.0257292C16.6521%200.229301%2016.555%200.39699%2016.4243%200.570347C15.275%20-0.202395%2013.9324%200.0574551%2012.104%200.0351715C12.8903%200.322589%2013.2314%200.452128%2013.7571%200.736525C14.8328%201.31816%2015.0972%201.86202%2016.0047%201.93265C16.0727%202.35717%2016.0569%202.39343%2016.0274%202.65327C16.2665%202.63514%2016.4553%202.62759%2016.6611%202.66913C16.6536%203.26399%2016.9486%203.75045%2017.0007%203.83429C17.0913%203.98008%2017.1559%204.11832%2017.3025%204.33662C17.8044%205.08293%2018.3856%206.51019%2018.6259%207.59906L18.6515%203.85583C18.5919%203.19375%2018.5012%202.8172%2018.1371%202.26729C18.3022%202.12415%2018.4623%202.05389%2018.6523%201.96061C18.5042%201.74079%2018.377%201.46508%2018.3143%201.19655C18.6345%200.920086%2018.7361%200.418147%2018.6644%200.00986958Z'%20fill='%23ED192D'/%3e%3cpath%20d='M18.4518%201.88761C18.3101%201.82982%2017.6431%201.58358%2017.6431%201.58358L17.6341%201.57414C17.6307%201.6323%2017.6167%201.69047%2017.5922%201.74485L17.5884%201.75732C17.8456%201.91104%2018.0072%202.12857%2018.011%202.16219C18.0091%202.16521%2018.008%202.16709%2018.0095%202.16634C18.0106%202.16558%2018.011%202.16445%2018.011%202.16219C18.0329%202.13273%2018.2524%201.92878%2018.4518%201.88761Z'%20fill='white'/%3e%3cpath%20d='M17.9002%205.05047C18.5691%206.52986%2018.4116%206.46566%2018.5596%207.07977C18.54%206.78404%2018.5211%206.41052%2018.4792%206.14085C18.1876%204.52852%2017.7687%203.33426%2017.2653%202.01614C17.2653%202.01614%2017.1271%202.02824%2017.0576%202.01502C16.9356%202.15552%2016.8974%202.35003%2016.8974%202.35003C16.6633%203.32143%2017.3918%203.92648%2017.9002%205.05047Z'%20fill='white'/%3e%3cpath%20d='M16.2266%202.4538L16.8509%201.93258L16.8528%201.92768C16.8339%201.9137%2016.8154%201.89785%2016.798%201.88085C16.7667%201.8495%2016.7402%201.81437%2016.7195%201.77811L16.7157%201.7683C16.3977%201.92315%2016.1851%201.92919%2016.1851%201.92919C16.2651%202.27364%2016.2266%202.4538%2016.2266%202.4538Z'%20fill='white'/%3e%3cpath%20d='M13.3914%200.20748C13.0776%200.13572%2012.8241%200.139117%2012.6262%200.130431L13.2909%200.336258C14.7314%200.876346%2015.0982%201.71254%2016.0711%201.73218C16.2988%201.72991%2016.4854%201.67024%2016.6542%201.57544L16.6561%201.54938C16.6493%201.48707%2016.655%201.42362%2016.6731%201.36281L16.6735%201.35376C16.0016%201.01988%2014.4655%200.453352%2013.3914%200.20748Z'%20fill='white'/%3e%3cpath%20d='M16.8149%200.250863C16.7764%200.353971%2016.7228%200.520529%2016.574%200.6852C16.7745%200.855158%2016.8157%200.946551%2016.8829%201.11273L16.8878%201.11085C16.9509%201.07308%2017.0208%201.05156%2017.0914%201.04551L17.0997%201.04702L16.8149%200.250863Z'%20fill='white'/%3e%3cpath%20d='M16.9431%201.33439C16.8324%201.44618%2016.8328%201.62596%2016.9442%201.73662C17.0556%201.84766%2017.2354%201.8469%2017.3464%201.73586C17.4571%201.62407%2017.4567%201.44429%2017.3453%201.33363C17.2339%201.22297%2017.0537%201.22335%2016.9431%201.33439Z'%20fill='white'/%3e%3cpath%20d='M17.5617%200.537143C17.4147%200.708234%2017.3517%200.840411%2017.2961%201.07193C17.369%201.09308%2017.4548%201.13729%2017.5061%201.20905L18.5032%200.196471C18.1248%200.161347%2017.7973%200.250481%2017.5617%200.537143Z'%20fill='white'/%3e%3cpath%20d='M0.0217433%2021.5753C0.529351%2021.621%200.925543%2021.5062%201.22127%2021.215C1.47923%2021.2815%201.78968%2021.4348%201.94831%2021.5591C2.03405%2021.3555%202.13149%2021.1874%202.26217%2021.0144C3.41146%2021.7872%204.75375%2021.5273%206.58213%2021.5492C5.79579%2021.2622%205.45474%2021.1327%204.929%2020.8483C3.85335%2020.2666%203.58935%2019.7224%202.6814%2019.6521C2.61379%2019.2276%202.62927%2019.191%202.65873%2018.9319C2.42004%2018.9497%202.2312%2018.9572%202.02536%2018.9157C2.03291%2018.3204%201.73794%2017.8343%201.68545%2017.7501C1.5948%2017.6047%201.5306%2017.4665%201.38368%2017.2482C0.882111%2016.5019%200.300853%2015.0742%200.0602679%2013.9857L0.0345879%2017.729C0.0942621%2018.3911%200.185284%2018.7676%200.549372%2019.3175C0.383946%2019.4607%200.224185%2019.5309%200.0342099%2019.6242C0.181884%2019.844%200.30954%2020.1193%200.372236%2020.3883C0.0515815%2020.6643%20-0.049639%2021.1667%200.0217433%2021.5753Z'%20fill='%23ED192D'/%3e%3cpath%20d='M0.234375%2019.697C0.376007%2019.7548%201.04338%2020.0011%201.04338%2020.0011L1.05244%2020.0105C1.05546%2019.952%201.06981%2019.8942%201.09436%2019.8398L1.09777%2019.8273C0.84094%2019.6736%200.678912%2019.456%200.675512%2019.4224C0.677401%2019.4198%200.678535%2019.4179%200.676647%2019.4183C0.675514%2019.4187%200.675135%2019.4202%200.675512%2019.4224C0.653229%2019.4523%200.43417%2019.6558%200.234375%2019.697Z'%20fill='white'/%3e%3cpath%20d='M0.785417%2016.5343C0.116538%2015.0549%200.274029%2015.1191%200.125977%2014.505C0.145238%2014.8008%200.164123%2015.1739%200.206424%2015.4443C0.497996%2017.0563%200.916471%2018.2505%201.4203%2019.5682C1.4203%2019.5682%201.55816%2019.5565%201.62765%2019.5698C1.74964%2019.4293%201.78779%2019.2348%201.78779%2019.2348C2.02195%2018.2634%201.29378%2017.6583%200.785417%2016.5343Z'%20fill='white'/%3e%3cpath%20d='M2.45945%2019.1309L1.83552%2019.6521L1.83325%2019.657C1.85251%2019.671%201.87064%2019.6869%201.88801%2019.7039C1.91936%2019.7356%201.9458%2019.77%201.96657%2019.807L1.97035%2019.816C2.28836%2019.6616%202.50137%2019.6552%202.50137%2019.6552C2.42093%2019.3107%202.45945%2019.1309%202.45945%2019.1309Z'%20fill='white'/%3e%3cpath%20d='M5.29439%2021.3774C5.60825%2021.4492%205.86167%2021.4458%206.05958%2021.4545L5.39524%2021.2486C3.95437%2020.7085%203.58764%2019.8723%202.61472%2019.8531C2.38736%2019.855%202.2004%2019.9146%202.03158%2020.0094L2.03007%2020.0355C2.03649%2020.0978%202.03082%2020.1613%202.01307%2020.2221L2.0127%2020.2311C2.68422%2020.5646%204.22063%2021.1312%205.29439%2021.3774Z'%20fill='white'/%3e%3cpath%20d='M1.8712%2021.334C1.90973%2021.2309%201.96336%2021.0643%202.11254%2020.8996C1.91199%2020.7297%201.87044%2020.6383%201.80359%2020.4721L1.79831%2020.4744C1.73561%2020.5118%201.66574%2020.5333%201.59473%2020.539L1.58643%2020.5378L1.8712%2021.334Z'%20fill='white'/%3e%3cpath%20d='M1.74254%2020.2503C1.85358%2020.1389%201.85282%2019.9588%201.74178%2019.8477C1.63037%2019.7371%201.45021%2019.7375%201.33955%2019.8493C1.22889%2019.9603%201.22927%2020.1404%201.34068%2020.2511C1.4521%2020.3618%201.63188%2020.3614%201.74254%2020.2503Z'%20fill='white'/%3e%3cpath%20d='M1.1243%2021.0476C1.27122%2020.8765%201.33429%2020.7443%201.39019%2020.5128C1.31729%2020.4916%201.23156%2020.4474%201.17982%2020.3757L0.183105%2021.3883C0.561545%2021.4234%200.888999%2021.3342%201.1243%2021.0476Z'%20fill='white'/%3e%3cpath%20d='M0.372236%201.19655C0.30954%201.46508%200.181884%201.74079%200.0342099%201.96061C0.224185%202.05389%200.383946%202.12415%200.549372%202.26729C0.185284%202.8172%200.0942621%203.19375%200.0345879%203.85583L0.0602679%207.59906C0.300853%206.51019%200.882111%205.08293%201.38368%204.33662C1.5306%204.11832%201.5948%203.98008%201.68545%203.83429C1.73794%203.75045%202.03291%203.26399%202.02536%202.66913C2.2312%202.62759%202.42004%202.63514%202.65873%202.65327C2.62927%202.39343%202.61379%202.35717%202.6814%201.93265C3.58935%201.86202%203.85335%201.31816%204.929%200.736525C5.45474%200.452128%205.79579%200.322589%206.58213%200.0351715C4.75375%200.0574551%203.41146%20-0.202395%202.26217%200.570347C2.13149%200.39699%202.03405%200.229301%201.94831%200.0257292C1.78968%200.149988%201.47923%200.303322%201.22127%200.369795C0.925543%200.0785999%200.529351%20-0.0362077%200.0217433%200.00986958C-0.049639%200.418147%200.0515815%200.920086%200.372236%201.19655Z'%20fill='%23ED192D'/%3e%3cpath%20d='M0.234375%201.88761C0.376007%201.82982%201.04338%201.58358%201.04338%201.58358L1.05244%201.57414C1.05546%201.6323%201.06981%201.69047%201.09436%201.74485L1.09777%201.75732C0.84094%201.91104%200.678912%202.12857%200.675512%202.16219C0.677401%202.16521%200.678535%202.16709%200.676647%202.16634C0.675514%202.16558%200.675135%202.16445%200.675512%202.16219C0.653229%202.13273%200.43417%201.92878%200.234375%201.88761Z'%20fill='white'/%3e%3cpath%20d='M0.785417%205.05047C0.116538%206.52986%200.274029%206.46566%200.125977%207.07977C0.145238%206.78404%200.164123%206.41052%200.206424%206.14085C0.497996%204.52852%200.916471%203.33426%201.4203%202.01614C1.4203%202.01614%201.55816%202.02824%201.62765%202.01502C1.74964%202.15552%201.78779%202.35003%201.78779%202.35003C2.02195%203.32143%201.29378%203.92648%200.785417%205.05047Z'%20fill='white'/%3e%3cpath%20d='M2.45945%202.4538L1.83552%201.93258L1.83325%201.92768C1.85251%201.9137%201.87064%201.89785%201.88801%201.88085C1.91936%201.8495%201.9458%201.81437%201.96657%201.77811L1.97035%201.7683C2.28836%201.92315%202.50137%201.92919%202.50137%201.92919C2.42093%202.27364%202.45945%202.4538%202.45945%202.4538Z'%20fill='white'/%3e%3cpath%20d='M5.29439%200.20748C5.60825%200.13572%205.86167%200.139117%206.05958%200.130431L5.39524%200.336258C3.95437%200.876346%203.58764%201.71254%202.61472%201.73218C2.38736%201.72991%202.2004%201.67024%202.03158%201.57544L2.03007%201.54938C2.03649%201.48707%202.03082%201.42362%202.01307%201.36281L2.0127%201.35376C2.68422%201.01988%204.22063%200.453352%205.29439%200.20748Z'%20fill='white'/%3e%3cpath%20d='M1.8712%200.250863C1.90973%200.353971%201.96336%200.520529%202.11254%200.6852C1.91199%200.855158%201.87044%200.946551%201.80359%201.11273L1.79831%201.11085C1.73561%201.07308%201.66574%201.05156%201.59473%201.04551L1.58643%201.04702L1.8712%200.250863Z'%20fill='white'/%3e%3cpath%20d='M1.74254%201.33439C1.85358%201.44618%201.85282%201.62596%201.74178%201.73662C1.63037%201.84766%201.45021%201.8469%201.33955%201.73586C1.22889%201.62407%201.22927%201.44429%201.34068%201.33363C1.4521%201.22297%201.63188%201.22335%201.74254%201.33439Z'%20fill='white'/%3e%3cpath%20d='M1.1243%200.537143C1.27122%200.708234%201.33429%200.840411%201.39019%201.07193C1.31729%201.09308%201.23156%201.13729%201.17982%201.20905L0.183105%200.196471C0.561545%200.161347%200.888999%200.250481%201.1243%200.537143Z'%20fill='white'/%3e%3cpath%20d='M13.8075%202.3591V2.77606C13.2961%202.37534%2012.7443%202.04148%2012.1604%201.78578V1.42282C12.7417%201.66491%2013.2931%201.98066%2013.8075%202.3591Z'%20fill='white'/%3e%3cpath%20d='M9.36076%200.858815C9.63949%200.858815%209.91519%200.875424%2010.1871%200.906395V1.24329C9.91557%201.21081%209.63986%201.19381%209.36076%201.19381C9.08391%201.19381%208.81008%201.21044%208.54004%201.24292V0.906026C8.81046%200.875056%209.08391%200.858815%209.36076%200.858815Z'%20fill='white'/%3e%3cpath%20d='M6.56749%201.42051V1.78309C5.98396%202.03802%205.43217%202.37152%204.92041%202.77148V2.35454C5.43519%201.97648%205.98699%201.66185%206.56749%201.42051Z'%20fill='white'/%3e%3cpath%20d='M4.92041%2019.2464V18.8298C5.43217%2019.2298%205.98396%2019.5629%206.56749%2019.8182V20.1804C5.98699%2019.9391%205.43519%2019.6248%204.92041%2019.2464Z'%20fill='white'/%3e%3cpath%20d='M9.36076%2020.7425C9.08391%2020.7425%208.81046%2020.7263%208.54004%2020.6953V20.3581C8.81008%2020.3905%209.08391%2020.4072%209.36076%2020.4072C9.63986%2020.4072%209.91557%2020.3902%2010.1871%2020.3573V20.6946C9.91519%2020.7259%209.63949%2020.7425%209.36076%2020.7425Z'%20fill='white'/%3e%3cpath%20d='M12.1604%2020.1779V19.8153C12.7443%2019.56%2013.2961%2019.2261%2013.8075%2018.8254V19.2416C13.2931%2019.6208%2012.7417%2019.9361%2012.1604%2020.1779Z'%20fill='white'/%3e%3cpath%20d='M28.4893%205.86063H31.8881V10.2455H30.7554L30.5855%209.22543C30.1545%209.72397%2029.5317%2010.4604%2028.0474%2010.4604C26.0876%2010.4604%2024.3083%209.05546%2024.3083%206.20054C24.3083%203.98014%2025.5434%201.884%2028.2854%201.89533C30.7781%201.89533%2031.7635%203.51559%2031.8541%204.63693H30.1545C30.1545%204.31968%2029.577%203.29993%2028.376%203.29993C27.1636%203.29993%2026.0423%204.13839%2026.0423%206.22321C26.0423%208.44399%2027.2547%209.02185%2028.41%209.02185C28.7839%209.02185%2030.0303%208.87418%2030.3815%207.23163H28.4893V5.86063Z'%20fill='%23231F20'/%3e%3cpath%20d='M36.9077%208.47749C36.7831%208.90843%2036.3298%209.13505%2035.888%209.13505C34.6076%209.13505%2034.517%208.11492%2034.4716%207.66208H38.6069V7.37882C38.6069%204.6255%2036.9644%204.05934%2035.7746%204.05934C33.135%204.05934%2032.8857%206.38172%2032.8857%207.10688C32.8857%209.58826%2034.1884%2010.4037%2035.888%2010.4037C36.9187%2010.4037%2038.1201%209.92818%2038.5389%208.47749H36.9077ZM34.517%206.63101C34.6076%205.83787%2035.0042%205.36198%2035.752%205.36198C36.2619%205.36198%2036.885%205.65658%2036.9757%206.63101H34.517Z'%20fill='%23231F20'/%3e%3cpath%20d='M45.1106%2010.2455H43.5243V6.58572C43.5243%206.14383%2043.5017%205.39602%2042.4933%205.39602C41.7908%205.39602%2041.2469%205.8719%2041.2469%206.78967V10.2455H39.6606V4.21763H41.1793V5.10143H41.2016C41.4172%204.73885%2041.8701%204.05939%2043.0145%204.05939C44.1928%204.05939%2045.1106%204.75018%2045.1106%206.07585V10.2455Z'%20fill='%23231F20'/%3e%3cpath%20d='M50.1294%208.47749C50.0047%208.90843%2049.5515%209.13505%2049.1096%209.13505C47.8293%209.13505%2047.7386%208.11492%2047.6933%207.66208H51.829V7.37882C51.829%204.6255%2050.186%204.05934%2048.9963%204.05934C46.3567%204.05934%2046.1074%206.38172%2046.1074%207.10688C46.1074%209.58826%2047.4104%2010.4037%2049.1096%2010.4037C50.1407%2010.4037%2051.3417%209.92818%2051.7606%208.47749H50.1294ZM47.7386%206.63101C47.8293%205.83787%2048.2258%205.36198%2048.9737%205.36198C49.4835%205.36198%2050.1063%205.65658%2050.1974%206.63101H47.7386Z'%20fill='%23231F20'/%3e%3cpath%20d='M52.8713%204.21763H54.3893V5.26005H54.4123C54.7405%204.6482%2055.1031%204.05939%2056.0662%204.05939C56.1681%204.05939%2056.2701%204.07034%2056.3721%204.08205V5.6906C56.2361%205.66794%2056.0662%205.66796%2055.9189%205.66796C54.6842%205.66796%2054.4572%206.43842%2054.4572%207.10692V10.2455H52.8713V4.21763Z'%20fill='%23231F20'/%3e%3cpath%20d='M62.1731%205.80386C62.1731%204.31956%2060.6208%204.05934%2059.771%204.05934C58.5363%204.05934%2057.256%204.31957%2057.0747%206.16644H58.6039C58.6496%205.8152%2058.7856%205.32836%2059.5787%205.32836C59.9866%205.32836%2060.6208%205.36197%2060.6208%206.03047C60.6208%206.37039%2060.3152%206.47237%2060.066%206.50636L58.6379%206.72165C57.6295%206.86895%2056.8821%207.46946%2056.8821%208.64784C56.8821%209.89382%2057.8112%2010.4037%2058.7172%2010.4037C59.794%2010.4037%2060.3035%209.90514%2060.6661%209.53123C60.7001%209.87152%2060.7227%209.96217%2060.8134%2010.2454H62.5243V10.0071C62.3317%209.93913%2062.1731%209.78089%2062.1731%209.06669V5.80386ZM60.6208%208.08131C60.6208%208.8178%2059.9073%209.27063%2059.2045%209.27063C58.8989%209.27063%2058.4684%209.10105%2058.4684%208.54586C58.4684%207.88869%2058.9552%207.74139%2059.5448%207.63941C60.2015%207.53744%2060.4622%207.43548%2060.6208%207.31084V8.08131Z'%20fill='%23231F20'/%3e%3cpath%20d='M65.2206%2010.2455H63.6343V2.11053H65.2206V10.2455Z'%20fill='%23231F20'/%3e%3cpath%20d='M68.371%203.50381H66.7852V2.03123H68.371V3.50381ZM68.371%204.21763V10.2455H66.7852V4.21763H68.371Z'%20fill='%23231F20'/%3e%3cpath%20d='M71.6672%204.21757H72.653V5.35063H71.6672V8.62516C71.6672%208.97603%2071.6785%209.11237%2072.3244%209.11237C72.426%209.11237%2072.5397%209.10104%2072.653%209.08933V10.2904C72.4037%2010.3017%2072.154%2010.3134%2071.9052%2010.3134H71.7012C70.3302%2010.3134%2070.0809%209.79183%2070.0809%209.0104V5.35063H69.2651V4.21757H70.0809V2.58635H71.6672V4.21757Z'%20fill='%23231F20'/%3e%3cpath%20d='M78.5445%205.80386C78.5445%204.31956%2076.9926%204.05934%2076.1428%204.05934C74.9078%204.05934%2073.6278%204.31957%2073.4461%206.16644H74.9758C75.0211%205.8152%2075.1574%205.32836%2075.9502%205.32836C76.3581%205.32836%2076.9926%205.36197%2076.9926%206.03047C76.9926%206.37039%2076.6867%206.47237%2076.4374%206.50636L75.0098%206.72165C74.0013%206.86895%2073.2539%207.46946%2073.2539%208.64784C73.2539%209.89382%2074.1826%2010.4037%2075.0891%2010.4037C76.1655%2010.4037%2076.6753%209.90514%2077.0379%209.53123C77.0719%209.87152%2077.0942%209.96217%2077.1852%2010.2454H78.8961V10.0071C78.7031%209.93913%2078.5445%209.78089%2078.5445%209.06669V5.80386ZM76.9926%208.08131C76.9926%208.8178%2076.2788%209.27063%2075.5763%209.27063C75.2704%209.27063%2074.8398%209.10105%2074.8398%208.54586C74.8398%207.88869%2075.327%207.74139%2075.9162%207.63941C76.5734%207.53744%2076.834%207.43548%2076.9926%207.31084V8.08131Z'%20fill='%23231F20'/%3e%3cpath%20d='M81.7398%204.21757H82.7256V5.35063H81.7398V8.62516C81.7398%208.97603%2081.7515%209.11237%2082.3974%209.11237C82.499%209.11237%2082.6123%209.10104%2082.7256%209.08933V10.2904C82.4759%2010.3017%2082.227%2010.3134%2081.9778%2010.3134H81.7738C80.4028%2010.3134%2080.1536%209.79183%2080.1536%209.0104V5.35063H79.3381V4.21757H80.1536V2.58635H81.7398V4.21757Z'%20fill='%23231F20'/%3e%3cpath%20d='M30.0527%2013.4411H28.4664V16.33H28.4438C28.1945%2015.9447%2027.7186%2015.3899%2026.6989%2015.3899C25.3732%2015.3899%2024.1948%2016.4093%2024.1948%2018.4937C24.1948%2020.1484%2024.943%2021.7342%2026.7329%2021.7342C27.39%2021.7342%2028.0925%2021.4967%2028.4778%2020.8169H28.5004V21.576H30.0527V13.4411ZM25.8264%2018.6074C25.8264%2017.6556%2026.1663%2016.7605%2027.1751%2016.7605C28.2625%2016.7605%2028.5344%2017.735%2028.5344%2018.6977C28.5344%2019.5932%2028.1378%2020.4316%2027.1294%2020.4316C26.1097%2020.4316%2025.8264%2019.3212%2025.8264%2018.6074Z'%20fill='%23231F20'/%3e%3cpath%20d='M35.0151%2019.8081C34.8905%2020.2386%2034.4373%2020.4656%2033.9954%2020.4656C32.7154%2020.4656%2032.6244%2019.4455%2032.5791%2018.9926H36.7143V18.7094C36.7143%2015.9561%2035.0718%2015.3899%2033.8821%2015.3899C31.2421%2015.3899%2030.9932%2017.7123%2030.9932%2018.4374C30.9932%2020.9188%2032.2958%2021.7342%2033.9954%2021.7342C35.0265%2021.7342%2036.2271%2021.2587%2036.6467%2019.8081H35.0151ZM32.6244%2017.9616C32.7154%2017.1684%2033.1116%2016.6925%2033.8594%2016.6925C34.3693%2016.6925%2034.9925%2016.9871%2035.0831%2017.9616H32.6244Z'%20fill='%23231F20'/%3e%3cpath%20d='M46.2321%2016.1033C46.0958%2015.6161%2045.8356%2014.6983%2044.4306%2014.6983C43.6148%2014.6983%2042.4137%2015.2425%2042.4137%2017.5423C42.4137%2019.0039%2042.9916%2020.3182%2044.4306%2020.3182C45.3706%2020.3182%2046.0282%2019.7857%2046.2321%2018.7886H47.9313C47.5914%2020.5558%2046.4361%2021.7908%2044.3962%2021.7908C42.2325%2021.7908%2040.6802%2020.3296%2040.6802%2017.5196C40.6802%2014.676%2042.3231%2013.2257%2044.4193%2013.2257C46.8549%2013.2257%2047.8407%2014.9022%2047.9313%2016.1033H46.2321Z'%20fill='%23231F20'/%3e%3cpath%20d='M53.9813%2017.1344C53.9813%2015.6501%2052.429%2015.3899%2051.5792%2015.3899C50.3442%2015.3899%2049.0642%2015.6501%2048.8826%2017.497H50.4122C50.4575%2017.1458%2050.5935%2016.6589%2051.3866%2016.6589C51.7945%2016.6589%2052.429%2016.6925%2052.429%2017.361C52.429%2017.701%2052.1231%2017.8029%2051.8738%2017.8369L50.4466%2018.0522C49.4381%2018.1995%2048.6899%2018.8%2048.6899%2019.9784C48.6899%2021.2244%2049.619%2021.7342%2050.5259%2021.7342C51.6019%2021.7342%2052.1118%2021.2357%2052.4743%2020.8618C52.5083%2021.2021%2052.531%2021.2927%2052.6216%2021.576H54.3326V21.3377C54.1399%2021.2697%2053.9813%2021.1115%2053.9813%2020.3972V17.1344ZM52.429%2019.4119C52.429%2020.1484%2051.7152%2020.6012%2051.0131%2020.6012C50.7068%2020.6012%2050.2766%2020.4316%2050.2766%2019.8764C50.2766%2019.2193%2050.7638%2019.072%2051.3526%2018.97C52.0098%2018.868%2052.2704%2018.766%2052.429%2018.6414V19.4119Z'%20fill='%23231F20'/%3e%3cpath%20d='M57.1766%2015.5481H58.1627V16.6812H57.1766V19.9557C57.1766%2020.3066%2057.1879%2020.4429%2057.8338%2020.4429C57.9357%2020.4429%2058.0494%2020.4316%2058.1627%2020.4199V21.6209C57.9131%2021.6323%2057.6638%2021.644%2057.4145%2021.644H57.211C55.84%2021.644%2055.5907%2021.1224%2055.5907%2020.341V16.6812H54.7749V15.5481H55.5907V13.9169H57.1766V15.5481Z'%20fill='%23231F20'/%3e%3cpath%20d='M64.0532%2017.1344C64.0532%2015.6501%2062.5013%2015.3899%2061.6515%2015.3899C60.4165%2015.3899%2059.1361%2015.6501%2058.9548%2017.497H60.4844C60.5298%2017.1458%2060.6654%2016.6589%2061.4589%2016.6589C61.8668%2016.6589%2062.5013%2016.6925%2062.5013%2017.361C62.5013%2017.701%2062.195%2017.8029%2061.9461%2017.8369L60.5184%2018.0522C59.51%2018.1995%2058.7622%2018.8%2058.7622%2019.9784C58.7622%2021.2244%2059.6913%2021.7342%2060.5977%2021.7342C61.6738%2021.7342%2062.184%2021.2357%2062.5466%2020.8618C62.5806%2021.2021%2062.6029%2021.2927%2062.6939%2021.576H64.4044V21.3377C64.2118%2021.2697%2064.0532%2021.1115%2064.0532%2020.3972V17.1344ZM62.5013%2019.4119C62.5013%2020.1484%2061.7875%2020.6012%2061.085%2020.6012C60.779%2020.6012%2060.3485%2020.4316%2060.3485%2019.8764C60.3485%2019.2193%2060.8357%2019.072%2061.4249%2018.97C62.0817%2018.868%2062.3427%2018.766%2062.5013%2018.6414V19.4119Z'%20fill='%23231F20'/%3e%3cpath%20d='M67.1014%2021.576H65.5151V13.4411H67.1014V21.576Z'%20fill='%23231F20'/%3e%3cpath%20d='M74.0578%2021.576H72.5395V20.7262H72.5169C72.1543%2021.3717%2071.5201%2021.7342%2070.6817%2021.7342C69.492%2021.7342%2068.6309%2021.0544%2068.6309%2019.5138V15.5482H70.2168V19.2872C70.2168%2020.2163%2070.761%2020.3972%2071.2478%2020.3972C71.769%2020.3972%2072.4715%2020.1027%2072.4715%2019.0266V15.5482H74.0578V21.576Z'%20fill='%23231F20'/%3e%3cpath%20d='M80.9916%2021.576H79.4053V17.9163C79.4053%2017.4744%2079.3827%2016.7266%2078.3742%2016.7266C77.6721%2016.7266%2077.1279%2017.2025%2077.1279%2018.1202V21.576H75.542V15.5482H77.0603V16.432H77.0826C77.2982%2016.0694%2077.7514%2015.39%2078.8955%2015.39C80.0738%2015.39%2080.9916%2016.0807%2080.9916%2017.4064V21.576Z'%20fill='%23231F20'/%3e%3cpath%20d='M85.5378%2021.474C84.7896%2023.7058%2084.586%2024%2083.2037%2024C82.9884%2024%2082.7165%2023.989%2082.4903%2023.9777V22.7091C82.5579%2022.72%2082.6598%2022.7317%2082.7958%2022.7317C83.3737%2022.7317%2083.6909%2022.652%2083.8382%2021.8253L81.6174%2015.5482H83.385L84.6767%2019.9894H84.6993L85.9344%2015.5482H87.6109L85.5378%2021.474Z'%20fill='%23231F20'/%3e%3cpath%20d='M93.0864%2017.1344C93.0864%2015.6501%2091.5345%2015.3899%2090.6847%2015.3899C89.4493%2015.3899%2088.1693%2015.6501%2087.988%2017.497H89.5173C89.563%2017.1458%2089.6989%2016.6589%2090.4917%2016.6589C90.8996%2016.6589%2091.5345%2016.6925%2091.5345%2017.361C91.5345%2017.701%2091.2282%2017.8029%2090.9789%2017.8369L89.5516%2018.0522C88.5432%2018.1995%2087.7954%2018.8%2087.7954%2019.9784C87.7954%2021.2244%2088.7241%2021.7342%2089.631%2021.7342C90.707%2021.7342%2091.2168%2021.2357%2091.5794%2020.8618C91.6138%2021.2021%2091.6361%2021.2927%2091.7271%2021.576H93.4376V21.3377C93.245%2021.2697%2093.0864%2021.1115%2093.0864%2020.3972V17.1344ZM91.5345%2019.4119C91.5345%2020.1484%2090.8203%2020.6012%2090.1182%2020.6012C89.8119%2020.6012%2089.3817%2020.4316%2089.3817%2019.8764C89.3817%2019.2193%2089.8689%2019.072%2090.4577%2018.97C91.1152%2018.868%2091.3755%2018.766%2091.5345%2018.6414V19.4119Z'%20fill='%23231F20'/%3e%3c/svg%3e\";\nexport {\n  C as default\n};\n//# sourceMappingURL=gencat-logotip-default.svg.js.map\n","import { html as s } from \"lit/static-html.js\";\nimport t from \"../../assets/img/gencat-logotip-default.svg.js\";\nconst l = (o) => s`\n  <footer class='dss-footer-wrapper'>\n    <div class='dss-footer-content'>\n      <img class='dss-footer-logo' src=\"${o.logo ? o.logo : t}\" alt=\"Gencat Logo\"/>\n      <p class=\"dss-footer-description\">${o.description}</p>\n    </div>\n    <slot></slot>\n  </footer>\n`;\nexport {\n  l as template\n};\n//# sourceMappingURL=footer.template.js.map\n","import { LitElement as l, unsafeCSS as o } from \"lit\";\nimport { property as n } from \"lit/decorators.js\";\nimport y from \"../../foundations/typography/typography.css.js\";\nimport a from \"../../shared/reset.style.css.js\";\nimport d from \"./footer.style.css.js\";\nimport { template as u } from \"./footer.template.js\";\nvar g = Object.defineProperty, m = (r, p, s, c) => {\n  for (var t = void 0, e = r.length - 1, i; e >= 0; e--)\n    (i = r[e]) && (t = i(p, s, t) || t);\n  return t && g(p, s, t), t;\n};\nclass f extends l {\n  constructor() {\n    super(...arguments), this.logo = void 0, this.description = \"\";\n  }\n  static get styles() {\n    return [o(a), o(d), o(y)];\n  }\n  render() {\n    return u(this);\n  }\n}\nm([\n  n({ type: String })\n], f.prototype, \"logo\");\nm([\n  n({ type: String })\n], f.prototype, \"description\");\nexport {\n  f as Footer\n};\n//# sourceMappingURL=footer.js.map\n","const s = \":host{display:block}.dss-header-links{display:flex;align-items:center;gap:var(--dss-spacing-xs)}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=header-links.style.css.js.map\n","import { unsafeStatic as a, literal as d, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as t } from \"../../api/custom-element-scope.js\";\nconst e = d`dss-button${a(t())}`, r = (l) => i`\n  <ul class=\"dss-header-links\" role=\"menu\">\n    ${l._items.map(\n  (s) => i`\n        <li class=\"dss-header-links__item\" role=\"menuitem\">\n          <${e}\n            variant=\"subtle\"\n            size=\"lg\"\n            icon=\"${s.icon ? s.icon : void 0}\"\n            label=\"${s.label}\"\n            ?disabled=${s.disabled}\n            @click=${() => l._dispatchItemAction(s)}\n            onlyIcon\n          >  \n          </${e}>\n        </li>\n      `\n)}\n    ${l._hideHelp ? null : i`\n          <li class=\"dss-header-links__item\" role=\"menuitem\">\n            <${e}\n              class=\"dss-header-links__button-default\"\n              variant=\"subtle\"\n              size=\"lg\"\n              icon=\"help_outline\"\n              label=\"${l._helpLabel}\"\n              ?disabled=${l._disableHelp}\n              @click=${l._handleHelp}\n              onlyIcon\n            >  \n            </${e}>\n          </li>\n        `}\n     ${l.hideConfig ? null : i`\n          <li class=\"dss-header-links__item\" role=\"menuitem\">\n            <${e}\n              class=\"dss-header-links__button-default\"\n              variant=\"subtle\"\n              size=\"lg\"\n              icon=\"settings\"\n              label=\"${l.configLabel}\"\n              ?disabled=${l.disableConfig}\n              @click=${l._handleConfig}\n              onlyIcon\n            >  \n            </${e}>\n          </li>\n        `}\n  </ul>\n`;\nexport {\n  r as headerLinksTemplate\n};\n//# sourceMappingURL=header-links.template.js.map\n","import { LitElement as u, unsafeCSS as d } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport b from \"../../shared/reset.style.css.js\";\nimport { booleanType as r } from \"../../utils/property-types.js\";\nimport m from \"./header-links.style.css.js\";\nimport { headerLinksTemplate as f } from \"./header-links.template.js\";\nvar c = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, i = (h, e, t, o) => {\n  for (var p = o > 1 ? void 0 : o ? _(e, t) : e, a = h.length - 1, n; a >= 0; a--)\n    (n = h[a]) && (p = (o ? n(e, t, p) : n(p)) || p);\n  return o && p && c(e, t, p), p;\n};\nclass l extends u {\n  constructor() {\n    super(...arguments), this.jcef = !1, this.configLabel = \"Centre de configuració\", this.hideConfig = !1, this.disableConfig = !1, this._hideHelp = !1, this._disableHelp = !1, this._helpLabel = \"Ajuda\", this._items = [];\n  }\n  static get styles() {\n    return [d(b), d(m)];\n  }\n  set hideHelp(e) {\n    const t = this._hideHelp;\n    this._hideHelp = e, this.requestUpdate(\"hideHelp\", t);\n  }\n  get hideHelp() {\n    return this._hideHelp;\n  }\n  set disableHelp(e) {\n    const t = this._disableHelp;\n    this._disableHelp = e, this.requestUpdate(\"disableHelp\", t);\n  }\n  get disableHelp() {\n    return this._disableHelp;\n  }\n  set helpLabel(e) {\n    const t = this._helpLabel;\n    this._helpLabel = e, this.requestUpdate(\"helpLabel\", t);\n  }\n  get helpLabel() {\n    return this._helpLabel;\n  }\n  set items(e) {\n    const t = this._items;\n    this._items = e, this.requestUpdate(\"items\", t);\n  }\n  get items() {\n    return this._items;\n  }\n  /* METHODS */\n  _dispatchItemAction(e) {\n    const t = {\n      detail: e,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onClickLink\", t));\n  }\n  _handleHelp() {\n    this.dispatchEvent(new CustomEvent(\"onHelp\", { bubbles: !0, composed: !0 }));\n  }\n  _handleConfig() {\n    this.dispatchEvent(new CustomEvent(\"config\", { bubbles: !0, composed: !0 }));\n  }\n  render() {\n    return f(this);\n  }\n}\ni([\n  s(r)\n], l.prototype, \"jcef\", 2);\ni([\n  s({ type: String })\n], l.prototype, \"configLabel\", 2);\ni([\n  s(r)\n], l.prototype, \"hideConfig\", 2);\ni([\n  s(r)\n], l.prototype, \"disableConfig\", 2);\ni([\n  s(r)\n], l.prototype, \"hideHelp\", 1);\ni([\n  s(r)\n], l.prototype, \"disableHelp\", 1);\ni([\n  s({ type: String })\n], l.prototype, \"helpLabel\", 1);\ni([\n  s({ type: Array })\n], l.prototype, \"items\", 1);\nexport {\n  l as HeaderLinks\n};\n//# sourceMappingURL=header-links.js.map\n","const e = ':host{display:block}.dss-header-menu-patient{position:relative;display:flex;align-items:center;gap:var(--dss-spacing-xs);width:-moz-max-content;width:max-content;max-width:360px}.dss-header-menu-patient-details{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.dss-header-menu-patient-details__name{display:block;align-self:stretch;overflow:hidden;color:var(--neutral-neutral-700);text-overflow:ellipsis;font-size:14px;font-weight:var(--font-semibold);line-height:24px;font-family:var(--font-family);white-space:nowrap}.dss-header-menu-patient-details__info{display:flex;align-items:center;gap:var(--dss-spacing-xxs);min-width:0}.dss-header-menu-patient-details__info-label{display:block;align-self:stretch;overflow:hidden;color:var(--neutral-neutral-500);text-overflow:ellipsis;font-family:var(--font-family);font-size:14px;font-weight:var(--font-regular);line-height:24px;white-space:nowrap}.dss-header-menu-patient-dropdown{position:absolute;top:calc(100% + var(--dss-spacing-xs) + var(--dss-spacing-xs));left:0;width:280px;z-index:900;opacity:0;visibility:hidden;display:flex;padding:var(--dss-spacing-md);flex-direction:column;gap:var(--dss-spacing-md);background-color:var(--color-white);border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md)}.dss-header-menu-patient-dropdown--expanded{opacity:1;visibility:visible}.dss-header-menu-patient-dropdown__info{display:flex;flex-direction:column;gap:var(--dss-spacing-xs)}.dss-header-menu-patient-dropdown__content{display:flex;flex-direction:column;gap:var(--dss-spacing-xxs)}.dss-header-menu-patient-dropdown__area{width:32px;font-size:14px;line-height:24px;color:var(--neutral-neutral-500);font-weight:var(--font-semibold)}.dss-header-menu-patient-dropdown__assignments{position:relative;display:flex;flex-direction:column;gap:var(--dss-spacing-xxs);margin-top:var(--dss-spacing-xxs);padding-top:var(--dss-spacing-xs)}.dss-header-menu-patient-dropdown__assignments:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:1px;background-color:var(--color-neutral-100)}.breakpoint-small-only{display:none}.divider-v{width:var(--dss-border-width-sm);height:14px;background-color:var(--color-neutral-500)}.dss-header-patient__action-menu{width:100%}.dss-header-menu-patient-dropdown__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.dss-header-menu-patient-dropdown__title,.dss-header-menu-patient-dropdown__subtitle{align-self:stretch;overflow:hidden;color:var(--neutral-neutral-900);text-overflow:ellipsis;font-size:14px;font-weight:var(--font-semibold);line-height:24px;font-family:var(--font-family)}.dss-header-menu-patient-dropdown__title--assigned{padding-bottom:var(--dss-spacing-xxs)}.dss-header-menu-patient-dropdown__subtitle{font-size:18px;line-height:24px;color:var(--neutral-neutral-700)}.dss-header-menu-patient-dropdown__title{color:var(--color-neutral-900)}.dss-header-menu-patient-dropdown__group{display:flex;align-items:center;gap:var(--dss-spacing-xs)}.dss-header-menu-patient-dropdown__group--cip{padding-bottom:var(--dss-spacing-xxs)}.dss-header-menu-patient-dropdown__description{flex:1;align-self:stretch;overflow:hidden;color:var(--neutral-neutral-500);text-overflow:ellipsis;font-family:var(--font-family);font-size:14px;font-weight:var(--font-regultar);line-height:24px}.dss-header-menu-patient-dropdown__description .description-tooltip{display:none}.dss-header-menu-patient-dropdown__description[data-truncated=true] .description-tooltip{display:block}.dss-header-menu-patient-dropdown__description:not(.dss-header-menu-patient-dropdown__description--address){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-header-menu-patient-dropdown__group--address{align-items:flex-start}.dss-header-menu-patient-dropdown__group--address .address-icon{margin-top:4px}.dss-header-menu-patient-dropdown__description--address{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal}.dss-header-menu-patient-dropdown__description--flex{display:flex;align-items:center;gap:var(--dss-spacing-xs)}.dss-header-menu-patient-dropdown__description__cip{flex:1;white-space:nowrap;text-overflow:ellipsis;font-size:16px;line-height:24px;font-weight:var(--font-semibold)}.dss-header-menu-patient-dropdown__actions{display:flex;flex-direction:column;gap:var(--dss-spacing-xxs)}.dss-header-menu-patient-dropdown__link{font-size:inherit;font-weight:600;line-height:inherit;color:var(--color-primary-500);text-decoration:underline;transition:.2s all ease-in}.dss-header-menu-patient-dropdown__link:visited{color:var(--color-purple-700)}.dss-header-menu-patient-dropdown__link:hover{color:var(--color-primary-600)}.dss-header-menu-patient-dropdown__link:active{color:var(--color-primary-400)}.dss-header-menu-patient-dropdown__link:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}@media only screen and (max-width: 1439px){.dss-header-menu-patient:not(.dss-header-menu-patient--jcef){max-width:280px}.dss-header-menu-patient:not(.dss-header-menu-patient--jcef) .breakpoint-small-only{display:block}.dss-header-menu-patient:not(.dss-header-menu-patient--jcef) .dss-header-menu-patient-details__info-label--cip,.dss-header-menu-patient:not(.dss-header-menu-patient--jcef) .divider-v--cip{display:none}.dss-header-menu-patient:not(.dss-header-menu-patient--jcef) .dss-header-menu-patient-details{display:none}}@media only screen and (min-width: 1440px){.dss-header-menu-patient--external:not(.dss-header-menu-patient--jcef) .dss-header-menu-patient__toggle-action{display:none}}@media only screen and (max-width: 1418px){.dss-header-menu-patient.dss-header-menu-patient--jcef{max-width:280px}.dss-header-menu-patient.dss-header-menu-patient--jcef .breakpoint-small-only{display:block}.dss-header-menu-patient.dss-header-menu-patient--jcef .dss-header-menu-patient-details__info-label--cip,.dss-header-menu-patient.dss-header-menu-patient--jcef .divider-v--cip,.dss-header-menu-patient.dss-header-menu-patient--jcef .dss-header-menu-patient-details{display:none}}@media only screen and (min-width: 1419px){.dss-header-menu-patient--external.dss-header-menu-patient--jcef .dss-header-menu-patient__toggle-action{display:none}}';\nexport {\n  e as default\n};\n//# sourceMappingURL=header-menu-patient.style.css.js.map\n","import { nothing as s } from \"lit\";\nimport { classMap as h } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as l, literal as n, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as $ } from \"../../api/custom-element-scope.js\";\nimport { checkTextTruncate as r, checkWebkitTruncate as _ } from \"../../utils/helpers.js\";\nconst a = n`dss-icon-button${l($())}`, p = n`dss-button${l($())}`, t = n`dss-icon${l($())}`, u = n`dss-badge${l($())}`, d = n`dss-tooltip${l($())}`, b = (e) => i`\n  <div\n    class=${h({\n  \"dss-header-menu-patient\": !0,\n  \"dss-header-menu-patient--jcef\": e.jcef,\n  [`dss-header-menu-patient--${e.variant}`]: !!e.variant\n})}\n  >\n    <div class=\"dss-header-menu-patient-avatar\">\n      <slot name=\"avatar\"></slot>\n    </div>\n    <div class=\"dss-header-menu-patient-details\">\n      <div class=\"dss-header-menu-patient-details__name\">\n        ${e.name}\n      </div>\n      <div class=\"dss-header-menu-patient-details__info\">\n        ${e.cip ? i`\n            <span class=\"dss-header-menu-patient-details__info-label dss-header-menu-patient-details__info-label--cip\">\n              ${e.cip}\n            </span>\n            <span class=\"divider-v divider-v--cip\"></span>\n          ` : null}\n        ${e.age ? i`\n            <span class=\"dss-header-menu-patient-details__info-label\">\n              ${e.age}\n              ${e.ageLabel ? i`${e.ageLabel.trim().charAt(0)}.` : s}\n            </span>\n            <span class=\"divider-v\"></span>\n          ` : null}\n        ${e.gender ? i`\n            <span class=\"dss-header-menu-patient-details__info-label\">\n              ${e.gender}\n            </span>\n          ` : null}\n      </div>\n    </div>\n    <${a}\n      class=\"dss-header-menu-patient__toggle-action\"\n      icon=\"${e._toggleIcon}\"\n      label=\"${e._toggleLabel}\"\n      variant=\"primary\"\n      @onClick=\"${e._toggleDropdown}\"\n      ?disabled=${e.disabled}\n      ariaLabel=\"${e._toggleLabel} menú pacient\"\n      ariaExpanded=\"${e._showDropdown ? \"true\" : \"false\"}\"\n      hideTooltip\n    ></${a}>\n    ${e._showDropdown ? i`\n          <div\n            id=\"menu-patient\"\n            class=${h({\n  \"dss-header-menu-patient-dropdown\": !0,\n  \"dss-header-menu-patient-dropdown--expanded\": !!e._showDropdown\n})}\n          >\n            <div class=\"dss-header-menu-patient-dropdown__info\">\n              <div class=\"dss-header-menu-patient-dropdown__title\">\n                ${e.infoLabel}\n              </div>\n\n              <div class=\"dss-header-menu-patient-dropdown__content\">\n                <div class=\"dss-header-menu-patient-dropdown__subtitle\">\n                  ${e.name}\n                </div>\n\n                ${e.cip ? i`\n                  <div class=\"dss-header-menu-patient-dropdown__group dss-header-menu-patient-dropdown__group--cip\">\n                    <span class=\"dss-header-menu-patient-dropdown__description__cip\">\n                      ${e.cip}\n                    </span>\n                    ${e.hideCopyCip ? s : i`\n                        <${a}\n                          icon=\"content_copy\"\n                          size=\"sm\"\n                          label=\"Copiar CIP\"\n                          variant=\"primary\"\n                          @onClick=\"${e._handleCIPClick}\"\n                          ?disabled=${e.disabled}\n                          ?tooltipFixed=${e.tooltipFixed}\n                        ></${a}>\n                      `}\n                   \n                  </div>\n                  ` : s}\n\n                ${e.age ? i`\n                    <div class=\"dss-header-menu-patient-dropdown__group\">\n                      <${t} icon=\"person\" size=\"sm\"></${t}>\n                      <div class=\"dss-header-menu-patient-dropdown__description\">\n                        ${e.age}\n                        ${e.ageLabel ? i`${e.ageLabel}` : s}\n                      </div>\n                    </div>\n                  ` : s}\n\n                ${e.gender ? i`\n                    <div class=\"dss-header-menu-patient-dropdown__group\">\n                      <${t} icon=\"${e._getGenderIcon()}\" size=\"sm\"></${t}>\n                      <div class=\"dss-header-menu-patient-dropdown__description\">\n                        ${e.gender}\n                      </div>\n                    </div>\n                  ` : s}\n\n                ${e.phoneMain ? i`\n                    <div class=\"dss-header-menu-patient-dropdown__group\">\n                      <${t} icon=\"phone\" size=\"sm\"></${t}>\n                      <div class=\"dss-header-menu-patient-dropdown__description\">\n                        ${e.phoneMain}\n                      </div>\n                      ${e.hasPhoneMainCall ? i`\n                        <${a}\n                          size='sm'\n                          icon='phone_forwarded'\n                          label=\"Trucar al telèfon principal\"\n                          hideTooltip\n                          @click=${() => e._handlePhoneCall(e.phoneMain)}\n                        ></${a}>\n                        ` : s}\n                      ${e.hasPhoneMainChat ? i`\n                        <${a}\n                          size='sm'\n                          icon='sms'\n                          label=\"Enviar missatge al telèfon principal\"\n                          hideTooltip\n                          @click=${() => e._handlePhoneChat(e.phoneMain)}\n                        ></${a}>\n                        ` : s}\n                    </div>\n                  ` : s}\n\n                ${e.phoneAlt ? i`\n                    <div class=\"dss-header-menu-patient-dropdown__group\">\n                      <${t} icon=\"phone\" size=\"sm\"></${t}>\n                      <div class=\"dss-header-menu-patient-dropdown__description\">\n                        ${e.phoneAlt}\n                      </div>\n                       ${e.hasPhoneAltCall ? i`\n                        <${a}\n                          size='sm'\n                          icon='phone_forwarded'\n                          label=\"Trucar al telèfon alternatiu\"\n                          hideTooltip\n                          @click=${() => e._handlePhoneCall(e.phoneAlt)}\n                        ></${a}>\n                        ` : s}\n                      ${e.hasPhoneAltChat ? i`\n                        <${a}\n                          size='sm'\n                          icon='sms'\n                          label=\"Enviar missatge al telèfon alternatiu\"\n                          hideTooltip\n                          @click=${() => e._handlePhoneChat(e.phoneAlt)}\n                        ></${a}>\n                        ` : s}\n                    </div>\n                  ` : s}\n\n                ${e.mail ? i`\n                    <div class=\"dss-header-menu-patient-dropdown__group\">\n                      <${t} icon=\"mail\" size=\"sm\"></${t}>\n                      <div class=\"dss-header-menu-patient-dropdown__description\" @mouseenter=${r}>\n                        ${e.mailHref ? i`\n                          <a class=\"dss-header-menu-patient-dropdown__link\" href=\"${e.mailHref}\" target=\"_blank\" rel=\"noopener\">\n                            ${e.mail}\n                          </a>\n                          ` : i`\n                            ${e.mail}\n                          `}\n                        <${d} \n                          class=\"description-tooltip\" \n                          aria-hidden=\"true\" \n                          interactive\n                          ?tooltipFixed=${e.tooltipFixed}      \n                        >\n                          ${e.mail}\n                        </${d}>\n                      </div>\n                    </div>\n                  ` : s}\n\n                ${e.address ? i`\n                    <div class=\"dss-header-menu-patient-dropdown__group dss-header-menu-patient-dropdown__group--address\">\n                      <${t} class=\"address-icon\" icon=\"home_work\" size=\"sm\"></${t}>\n                      <div class=\"dss-header-menu-patient-dropdown__description dss-header-menu-patient-dropdown__description--address\" @mouseenter=${_}>\n                        <a class=\"dss-header-menu-patient-dropdown__link\" href=\"${e.addressURL}\" target=\"_blank\" rel=\"noopener\">\n                          ${e.address}\n                        </a>\n                        <${d} \n                          class=\"description-tooltip\" \n                          aria-hidden=\"true\" \n                          interactive\n                          ?tooltipFixed=${e.tooltipFixed}\n                        >\n                          ${e.address}\n                        </${d}>\n                      </div>\n                    </div>\n                  ` : s}\n\n                ${e.assignments ? i`\n                  <div class=\"dss-header-menu-patient-dropdown__assignments\">\n                    <div class=\"dss-header-menu-patient-dropdown__title dss-header-menu-patient-dropdown__title--assigned\">\n                      ${e.assignedLabel}\n                    </div>\n\n                    ${e.assignments.uab ? i`\n                      <div class=\"dss-header-menu-patient-dropdown__group\">\n                        <div class=\"dss-header-menu-patient-dropdown__area\">UAB</div>\n                        <div class=\"dss-header-menu-patient-dropdown__description\" @mouseenter=${r}>\n                          ${e.assignments.uab}\n                          <${d} \n                            class=\"description-tooltip\" \n                            aria-hidden=\"true\" \n                            interactive\n                            ?tooltipFixed=${e.tooltipFixed}\n                          >\n                            ${e.assignments.uab}\n                          </${d}>\n                        </div>\n                      </div>\n                      ` : s} \n\n                    ${e.assignments.ui ? i`\n                      <div class=\"dss-header-menu-patient-dropdown__group\">\n                        <div class=\"dss-header-menu-patient-dropdown__area\">UI</div>\n                        <div class=\"dss-header-menu-patient-dropdown__description\" @mouseenter=${r}>\n                          ${e.assignments.ui}\n                          <${d} \n                            class=\"description-tooltip\" \n                            aria-hidden=\"true\" \n                            interactive\n                            ?tooltipFixed=${e.tooltipFixed}\n                          >\n                            ${e.assignments.ui}\n                          </${d}>\n                        </div>\n                      </div>\n                      ` : s} \n\n                    ${e.assignments.uas ? i`\n                      <div class=\"dss-header-menu-patient-dropdown__group\">\n                        <div class=\"dss-header-menu-patient-dropdown__area\">UAS</div>\n                        <div class=\"dss-header-menu-patient-dropdown__description\" @mouseenter=${r}>\n                          ${e.assignments.uas}\n                          <${d} \n                            class=\"description-tooltip\" \n                            aria-hidden=\"true\" \n                            interactive\n                            ?tooltipFixed=${e.tooltipFixed}\n                          >\n                            ${e.assignments.uas}\n                          </${d}>\n                        </div>\n                      </div>\n                      ` : s} \n\n                    ${e.assignments.center ? i`\n                      <div class=\"dss-header-menu-patient-dropdown__group\">\n                        <div class=\"dss-header-menu-patient-dropdown__description\" @mouseenter=${r}>\n                          ${e.assignments.center}\n                          <${d} \n                            class=\"description-tooltip\" \n                            aria-hidden=\"true\" \n                            interactive\n                            ?tooltipFixed=${e.tooltipFixed}\n                          >\n                            ${e.assignments.center}\n                          </${d}>\n                        </div>\n                        ${e.assignments.up ? i`\n                          <${u} size=\"sm\" state=\"info\" outlined text=\"${e.upLabel}\">\n                            <${d}\n                              ?tooltipFixed=${e.tooltipFixed}\n                              slot=\"tooltip\"\n                             > \n                              ${e.upMessage} \n                            </${d}>\n                          </${u}>\n                        ` : s}\n                      </div>\n                      ` : s} \n                  </div>\n                ` : s}\n              </div>\n            </div>\n\n            ${!e.hideViewDetails || e.edit ? i`\n                <div class=\"dss-header-menu-patient-dropdown__actions\">\n                  ${e.hideViewDetails ? s : i`\n                      <${p}\n                        variant=\"link\"\n                        size=\"md\"\n                        label=\"${e.detailsLabel}\"\n                        fullWidth\n                        @click=\"${e._handleViewDetails}\"\n                      </${p}>\n                    `}\n                  ${e.edit ? i`\n                      <${p}\n                        variant=\"link\"\n                        size=\"md\"\n                        label=\"${e.editLabel}\"\n                        icon=\"open_in_new\" \n                        iconPosition=\"right\"\n                        fullWidth\n                        @click=\"${e._handleEdit}\"\n                      </${p}>\n                    ` : s}\n                </div>` : s}\n\n          </div>\n        ` : null}\n  </div>\n`;\nexport {\n  b as headerMenuPatientTemplate\n};\n//# sourceMappingURL=header-menu-patient.template.js.map\n","import { LitElement as d, unsafeCSS as l } from \"lit\";\nimport { property as e } from \"lit/decorators.js\";\nimport c from \"../../foundations/icon/icon.style.css.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport { booleanType as s } from \"../../utils/property-types.js\";\nimport g from \"./header-menu-patient.style.css.js\";\nimport { headerMenuPatientTemplate as u } from \"./header-menu-patient.template.js\";\nvar m = Object.defineProperty, t = (p, i, n, b) => {\n  for (var a = void 0, r = p.length - 1, h; r >= 0; r--)\n    (h = p[r]) && (a = h(i, n, a) || a);\n  return a && m(i, n, a), a;\n};\nclass o extends d {\n  constructor() {\n    super(), this.disabled = !1, this.variant = \"default\", this.name = void 0, this.cip = void 0, this.age = void 0, this.ageLabel = void 0, this.gender = void 0, this.phoneMain = void 0, this.hasPhoneMainCall = !1, this.hasPhoneMainChat = !1, this.phoneAlt = void 0, this.hasPhoneAltCall = !1, this.hasPhoneAltChat = !1, this.mail = void 0, this.mailHref = void 0, this.address = void 0, this.addressURL = \"#\", this.infoLabel = \"Dades del pacient\", this.assignedLabel = \"Professionals assignats\", this.detailsLabel = \"Veure més detalls\", this.editLabel = \"Editar usuari\", this.hideViewDetails = !1, this.jcef = !1, this.edit = !1, this.assignments = void 0, this.hideCopyCip = !1, this.upLabel = \"UP\", this.upMessage = \"Usuari desplaçat: no pertany a l’equip d’atenció primària\", this.tooltipFixed = !1, this.tooltipPosition = \"top\", this._showDropdown = !1, this._toggleIcon = \"expand_more\", this._toggleLabel = \"Obrir\", this._handleDocumentClickBound = this._handleDocumentClick.bind(this);\n  }\n  static get styles() {\n    return [l(y), l(c), l(g)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), document.addEventListener(\"mousedown\", this._handleDocumentClickBound);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), document.removeEventListener(\"mousedown\", this._handleDocumentClickBound);\n  }\n  _toggleDropdown() {\n    this._showDropdown = !this._showDropdown, this._toggleIcon = this._showDropdown ? \"expand_less\" : \"expand_more\", this._toggleLabel = this._showDropdown ? \"Tancar\" : \"Obrir\", this.requestUpdate();\n  }\n  _handleViewDetails() {\n    this._toggleDropdown(), this.dispatchEvent(\n      new CustomEvent(\"onViewDetails\", {\n        bubbles: !1,\n        composed: !1\n      })\n    );\n  }\n  _handleEdit() {\n    this._toggleDropdown(), this.dispatchEvent(\n      new CustomEvent(\"onEdit\", {\n        bubbles: !1,\n        composed: !1\n      })\n    );\n  }\n  _handleCIPClick(i) {\n    this._handleCopyCIP(i), this._toggleDropdown();\n  }\n  _handleCopyCIP(i) {\n    i.stopPropagation(), this.cip && (navigator.clipboard.writeText(this.cip), this.dispatchEvent(\n      new CustomEvent(\"onCopyCIP\", {\n        detail: { text: this.cip },\n        bubbles: !0,\n        composed: !0\n      })\n    ));\n  }\n  _handlePhoneCall(i) {\n    this.dispatchEvent(\n      new CustomEvent(\"phone-call\", {\n        detail: { phoneNumber: i },\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  _handlePhoneChat(i) {\n    this.dispatchEvent(\n      new CustomEvent(\"phone-chat\", {\n        detail: { phoneNumber: i },\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  _getGenderIcon() {\n    var n;\n    return ((n = this.gender) == null ? void 0 : n.toLowerCase()) === \"femení\" ? \"female\" : \"male\";\n  }\n  _handleDocumentClick(i) {\n    this._clickedOutside(this, i);\n  }\n  _clickedOutside(i, n) {\n    n.composedPath().includes(i) || this._showDropdown && this._toggleDropdown();\n  }\n  render() {\n    return u(this);\n  }\n}\nt([\n  e(s)\n], o.prototype, \"disabled\");\nt([\n  e({ type: String })\n], o.prototype, \"variant\");\nt([\n  e({ type: String })\n], o.prototype, \"name\");\nt([\n  e({ type: String })\n], o.prototype, \"cip\");\nt([\n  e({ type: String })\n], o.prototype, \"age\");\nt([\n  e({ type: String })\n], o.prototype, \"ageLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"gender\");\nt([\n  e({ type: String })\n], o.prototype, \"phoneMain\");\nt([\n  e(s)\n], o.prototype, \"hasPhoneMainCall\");\nt([\n  e(s)\n], o.prototype, \"hasPhoneMainChat\");\nt([\n  e({ type: String })\n], o.prototype, \"phoneAlt\");\nt([\n  e(s)\n], o.prototype, \"hasPhoneAltCall\");\nt([\n  e(s)\n], o.prototype, \"hasPhoneAltChat\");\nt([\n  e({ type: String })\n], o.prototype, \"mail\");\nt([\n  e({ type: String })\n], o.prototype, \"mailHref\");\nt([\n  e({ type: String })\n], o.prototype, \"address\");\nt([\n  e({ type: String })\n], o.prototype, \"addressURL\");\nt([\n  e({ type: String })\n], o.prototype, \"infoLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"assignedLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"detailsLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"editLabel\");\nt([\n  e(s)\n], o.prototype, \"hideViewDetails\");\nt([\n  e(s)\n], o.prototype, \"jcef\");\nt([\n  e(s)\n], o.prototype, \"edit\");\nt([\n  e({ type: Array })\n], o.prototype, \"assignments\");\nt([\n  e(s)\n], o.prototype, \"hideCopyCip\");\nt([\n  e({ type: String })\n], o.prototype, \"upLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"upMessage\");\nt([\n  e(s)\n], o.prototype, \"tooltipFixed\");\nt([\n  e({ type: String })\n], o.prototype, \"tooltipPosition\");\nexport {\n  o as HeaderMenuPatient\n};\n//# sourceMappingURL=header-menu-patient.js.map\n","const e = \":host{display:block}.dss-header-menu-professional{position:relative;display:flex;align-items:center;gap:var(--dss-spacing-xs);width:-moz-max-content;width:max-content;max-width:360px}.dss-header-menu-professional-details{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.dss-header-menu-professional-details__name,.dss-header-menu-professional-dropdown__details-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.dss-header-menu-professional-details__name{display:block;white-space:nowrap}.dss-header-menu-professional-details__name,.dss-header-menu-professional-dropdown__details-title,.dss-header-menu-professional-dropdown__details-subtitle{align-self:stretch;overflow:hidden;color:var(--neutral-neutral-700);text-overflow:ellipsis;font-size:14px;font-weight:var(--font-semibold);line-height:24px;font-family:var(--font-family)}.dss-header-menu-professional-dropdown__details-subtitle{font-size:18px;line-height:24px;color:var(--neutral-neutral-700)}.dss-header-menu-professional-dropdown__details-title{color:var(--color-neutral-900)}.dss-header-menu-professional-details__info{display:flex;align-items:center;min-width:0}.dss-header-menu-professional-details__info-label{display:block;align-self:stretch;overflow:hidden;color:var(--neutral-neutral-500);text-overflow:ellipsis;font-family:var(--font-family);font-size:14px;font-weight:var(--font-regular);line-height:24px;white-space:nowrap}.dss-header-menu-professional-details__info-label:not(:last-child){border-right:var(--dss-border-width-sm) solid var(--color-neutral-100);padding-right:var(--dss-spacing-xxs);margin-right:var(--dss-spacing-xxs)}.dss-header-menu-professional-dropdown{opacity:0;visibility:hidden;position:absolute;top:calc(100% + var(--dss-spacing-xs) + var(--dss-spacing-xs));right:0;width:280px;z-index:900;display:flex;padding:var(--dss-spacing-md);flex-direction:column;gap:var(--dss-spacing-md);background-color:var(--color-white);border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md)}.dss-header-menu-professional-dropdown--expanded{opacity:1;visibility:visible}.dss-header-menu-professional-dropdown__details{display:flex;flex-direction:column;align-items:flex-start;gap:var(--dss-spacing-xs);align-self:stretch}.dss-header-menu-professional-dropdown__info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--dss-spacing-md);align-self:stretch}.dss-header-menu-professional-dropdown__details-content{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;gap:var(--dss-spacing-xxs)}.dss-header-menu-professional-dropdown__details-description{align-self:stretch;color:var(--neutral-neutral-500);font-family:var(--font-family);font-size:14px;font-weight:var(--font-regultar);line-height:24px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-header-menu-professional-dropdown__details-description .description-tooltip{display:none}.dss-header-menu-professional-dropdown__details-description[data-truncated=true] .description-tooltip{display:block}.dss-header-menu-professional-dropdown__view-details-button{width:100%}.dss-header-menu-professional__divider{width:100%;height:var(--dss-border-width-sm);background-color:var(--color-neutral-100)}.dss-header-menu-professional-dropdown__preferences{width:100%}.dss-header-menu-professional-dropdown__preferences__options{display:flex;flex-direction:column;gap:var(--dss-spacing-xs)}.breakpoint-only-sm{display:none}.dss-header-menu-professional-dropdown__actions{display:flex;flex-direction:column;gap:var(--dss-spacing-xs)}@media only screen and (max-width: 1439px){.dss-header-menu-professional:not(.dss-header-menu-professional--jcef) .dss-header-menu-professional-details{display:none}.dss-header-menu-professional:not(.dss-header-menu-professional--jcef) .breakpoint-only-sm{display:block}}@media only screen and (max-width: 1411px){.dss-header-menu-professional.dss-header-menu-professional--jcef .dss-header-menu-professional-details{display:none}.dss-header-menu-professional.dss-header-menu-professional--jcef .breakpoint-only-sm{display:block}}@media only screen and (max-width: 1919px){.dss-header-menu-professional:not(.dss-header-menu-professional--jcef){max-width:280px}}@media only screen and (min-width: 1440px){.dss-header-menu-professional:not(.dss-header-menu-professional--jcef) .dss-header-menu-professional-dropdown--hide-details .dss-header-menu-professional-dropdown__info,.dss-header-menu-professional:not(.dss-header-menu-professional--jcef) .dss-header-menu-professional-dropdown--hide-details .dss-header-menu-professional__divider{display:none}}@media only screen and (max-width: 1898px){.dss-header-menu-professional.dss-header-menu-professional--jcef{max-width:280px}}@media only screen and (min-width: 1419px){.dss-header-menu-professional.dss-header-menu-professional--jcef .dss-header-menu-professional-dropdown--hide-details .dss-header-menu-professional-dropdown__info,.dss-header-menu-professional.dss-header-menu-professional--jcef .dss-header-menu-professional-dropdown--hide-details .dss-header-menu-professional__divider{display:none}}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=header-menu-professional.style.css.js.map\n","import { nothing as o } from \"lit\";\nimport { classMap as t } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as a, literal as l, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as r } from \"../../api/custom-element-scope.js\";\nimport { checkTextTruncate as n } from \"../../utils/helpers.js\";\nconst u = l`dss-icon-button${a(r())}`, d = l`dss-button${a(r())}`, i = l`dss-tooltip${a(r())}`, v = (e) => s`\n  <div\n    class=${t({\n  \"dss-header-menu-professional\": !0,\n  \"dss-header-menu-professional--jcef\": e.jcef\n})}\n  >\n    <div class=\"dss-header-menu-professional-avatar\">\n      <slot name=\"avatar\"></slot>\n    </div>\n\n    <div class=\"dss-header-menu-professional-details\">\n      <div class=\"dss-header-menu-professional-details__name\">\n        ${e.name}\n      </div>\n      <div class=\"dss-header-menu-professional-details__info\">\n        ${e.center ? s`\n              <span\n                class=\"dss-header-menu-professional-details__info-label dss-header-menu-professional-details__info-label--center\"\n                >${e.center}</span\n              >\n            ` : null}\n      </div>\n    </div>\n\n    <${u} \n      icon=\"${e._toggleIcon}\"\n      label=\"${e._toggleLabel}\"\n      variant=\"primary\"\n      @onClick=\"${e._toggleDropdown}\"\n      ?disabled=${e.disabled}\n      ariaLabel=\"${e._toggleLabel} menú professional\"\n      ariaExpanded=\"${e._showDropdown ? \"true\" : \"false\"}\"\n      hideTooltip\n      >\n    </${u}>\n   \n    <div\n      class=${t({\n  \"dss-header-menu-professional-dropdown\": !0,\n  \"dss-header-menu-professional-dropdown--expanded\": !!e._showDropdown,\n  \"dss-header-menu-professional-dropdown--hide-details\": !!e.hideDropdownDetails\n})}\n    >\n      <div class=\"dss-header-menu-professional-dropdown__info\">\n        <div class=\"dss-header-menu-professional-dropdown__details\">\n          <div class=\"dss-header-menu-professional-dropdown__details-title\">\n            ${e.infoLabel}\n          </div>\n\n          <div class=\"dss-header-menu-professional-dropdown__details-content\">\n            <div class=\"dss-header-menu-professional-dropdown__details-subtitle\">\n              ${e.name}\n            </div>\n\n            ${e.center ? s`\n                  <div class=\"dss-header-menu-professional-dropdown__details-description\" @mouseenter=${n}>\n                    ${e.center}\n                    <${i} \n                      class=\"description-tooltip\" \n                      aria-hidden=\"true\" \n                      interactive\n                      ?tooltipFixed=${e.tooltipFixed}\n                    >\n                      ${e.center}\n                    </${i}>\n                  </div>\n                ` : null}\n            ${e.collegiate ? s`\n                  <p class=\"dss-header-menu-professional-dropdown__details-description\" @mouseenter=${n}>\n                    ${e.collegiateLabel} ${e.collegiate}\n                    <${i} \n                      class=\"description-tooltip\" \n                      aria-hidden=\"true\" \n                      interactive\n                      ?tooltipFixed=${e.tooltipFixed}\n                    >\n                      ${e.collegiate}\n                    </${i}>\n                  </p>\n                ` : null}\n          </div>\n\n          \n        </div>\n\n        ${e.hideViewDetails ? o : s`\n            <${d}\n              class=\"dss-header-menu-professional-dropdown__view-details-button\"\n              variant=\"link\"\n              size=\"md\"\n              label=\"${e.detailsLabel}\"\n              fullWidth\n              @click=\"${e._handleViewDetails}\">\n            </${d}>\n\t\t\t\t\t`}\n\n        <div class=\"dss-header-menu-professional__divider\"></div>\n\n        ${e.hideDropdownPreferences ? null : s`\n              <div class=\"dss-header-menu-professional-dropdown__preferences\">\n                <div class=\"dss-header-menu-professional-dropdown__details-title\">\n                  ${e.preferencesLabel}\n                </div>\n                <div class=\"dss-header-menu-professional-dropdown__preferences__options\">\n                  <slot></slot>\n                </div>\n              </div>\n            `}\n      </div>\n\n      <div class=\"dss-header-menu-professional-dropdown__actions\">\n        ${e.showLogout ? s`\n          <${d}\n            variant=\"secondary\"\n            label=\"${e.logoutLabel}\"\n            fullWidth\n            @onClick=\"${e._handleLogout}\"\n          ></${d}>\n          ` : o}\n        \n        <${d}\n          label=\"${e.exitLabel}\"\n          fullWidth\n          @onClick=\"${e._handleExit}\"\n        ></${d}>\n      </div>\n\n      \n    </div>\n    \n  </div>\n`;\nexport {\n  v as headerMenuProfessionalTemplate\n};\n//# sourceMappingURL=header-menu-professional.template.js.map\n","import { LitElement as m, unsafeCSS as c } from \"lit\";\nimport { property as e } from \"lit/decorators.js\";\nimport w from \"../../foundations/icon/icon.style.css.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport { booleanType as r } from \"../../utils/property-types.js\";\nimport _ from \"./header-menu-professional.style.css.js\";\nimport { headerMenuProfessionalTemplate as b } from \"./header-menu-professional.template.js\";\nvar D = Object.defineProperty, t = (d, n, s, a) => {\n  for (var i = void 0, l = d.length - 1, p; l >= 0; l--)\n    (p = d[l]) && (i = p(n, s, i) || i);\n  return i && D(n, s, i), i;\n};\nclass o extends m {\n  constructor() {\n    super(), this.disabled = !1, this.name = void 0, this.center = void 0, this.collegiate = void 0, this.infoLabel = \"Les meves dades\", this.collegiateLabel = \"Col·legiat nº\", this.preferencesLabel = \"Preferences de treball\", this.detailsLabel = \"Veure més detalls\", this.detailsHref = void 0, this.detailsIcon = \"info\", this.detailsIconPosition = \"left\", this.showLogout = !1, this.logoutLabel = \"Tancar sessió\", this.exitLabel = \"Sortir\", this.hideViewDetails = !1, this.hideDropdownDetails = !1, this.hideDropdownPreferences = !1, this.jcef = !1, this.tooltipFixed = !1, this.tooltipPosition = \"top\", this._showDropdown = !1, this._toggleIcon = \"expand_more\", this._toggleLabel = \"Obrir\", this._handleDocumentClickBound = this._handleDocumentClick.bind(this);\n  }\n  static get styles() {\n    return [c(y), c(w), c(_)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), document.addEventListener(\"mousedown\", this._handleDocumentClickBound);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), document.removeEventListener(\"mousedown\", this._handleDocumentClickBound);\n  }\n  _toggleDropdown() {\n    this._showDropdown = !this._showDropdown, this._toggleIcon = this._showDropdown ? \"expand_less\" : \"expand_more\", this._toggleLabel = this._showDropdown ? \"Tancar\" : \"Obrir\", this._showDropdown && setTimeout(() => {\n      this._updatePreferencesDropdownPosition();\n    }, 100), this.requestUpdate();\n  }\n  _handleLogout() {\n    this._toggleDropdown(), this.dispatchEvent(new CustomEvent(\"onLogout\", { bubbles: !1, composed: !1 }));\n  }\n  _handleExit() {\n    this._toggleDropdown(), this.dispatchEvent(new CustomEvent(\"onExit\", { bubbles: !1, composed: !1 }));\n  }\n  _handleDocumentClick(n) {\n    this._clickedOutside(this, n);\n  }\n  _handleViewDetails() {\n    this._toggleDropdown(), this.dispatchEvent(\n      new CustomEvent(\"onViewDetails\", {\n        bubbles: !1,\n        composed: !1\n      })\n    );\n  }\n  _clickedOutside(n, s) {\n    s.composedPath().includes(n) || this._showDropdown && this._toggleDropdown();\n  }\n  _updatePreferencesDropdownPosition() {\n    var i, l;\n    const n = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-header-menu-professional-dropdown\"), s = (l = this.shadowRoot) == null ? void 0 : l.querySelector(\n      \".dss-header-menu-professional-dropdown__preferences__options\"\n    ), a = s == null ? void 0 : s.querySelector(\"slot\");\n    if (s && a) {\n      const p = a.assignedElements({ flatten: !0 });\n      for (const h of p) {\n        const f = s.offsetLeft, u = n.offsetTop, g = h.offsetTop - u + 44;\n        h.setAttribute(\"dropdownOffsetX\", f.toString()), h.setAttribute(\"dropdownOffsetY\", g.toString());\n      }\n    }\n  }\n  render() {\n    return b(this);\n  }\n}\nt([\n  e(r)\n], o.prototype, \"disabled\");\nt([\n  e({ type: String })\n], o.prototype, \"name\");\nt([\n  e({ type: String })\n], o.prototype, \"center\");\nt([\n  e({ type: String })\n], o.prototype, \"collegiate\");\nt([\n  e({ type: String })\n], o.prototype, \"infoLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"collegiateLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"preferencesLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"detailsLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"detailsHref\");\nt([\n  e({ type: String })\n], o.prototype, \"detailsIcon\");\nt([\n  e({ type: String })\n], o.prototype, \"detailsIconPosition\");\nt([\n  e(r)\n], o.prototype, \"showLogout\");\nt([\n  e({ type: String })\n], o.prototype, \"logoutLabel\");\nt([\n  e({ type: String })\n], o.prototype, \"exitLabel\");\nt([\n  e(r)\n], o.prototype, \"hideViewDetails\");\nt([\n  e(r)\n], o.prototype, \"hideDropdownDetails\");\nt([\n  e(r)\n], o.prototype, \"hideDropdownPreferences\");\nt([\n  e(r)\n], o.prototype, \"jcef\");\nt([\n  e(r)\n], o.prototype, \"tooltipFixed\");\nt([\n  e({ type: String })\n], o.prototype, \"tooltipPosition\");\nexport {\n  o as HeaderMenuProfessional\n};\n//# sourceMappingURL=header-menu-professional.js.map\n","import { classMap as e } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as i, literal as t, html as l } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as g } from \"../../api/custom-element-scope.js\";\nconst d = t`dss-icon${i(g())}`, u = (s) => {\n  const a = {\n    \"dss-icon-badge--xl\": s._size === \"xl\",\n    \"dss-icon-badge--lg\": s._size === \"lg\",\n    \"dss-icon-badge--md\": s._size === \"md\",\n    \"dss-icon-badge--sm\": s._size === \"sm\",\n    \"dss-badge--danger\": s._state === \"danger\",\n    \"dss-badge--danger-low\": s._state === \"danger-low\",\n    \"dss-badge--danger-high\": s._state === \"danger-high\",\n    \"dss-badge--moderate\": s._state === \"moderate\",\n    \"dss-badge--moderate-low\": s._state === \"moderate-low\",\n    \"dss-badge--moderate-high\": s._state === \"moderate-high\",\n    \"dss-badge--slight\": s._state === \"slight\",\n    \"dss-badge--slight-low\": s._state === \"slight-low\",\n    \"dss-badge--slight-high\": s._state === \"slight-high\",\n    \"dss-badge--correct\": s._state === \"correct\",\n    \"dss-badge--undeterminated\": s._state === \"undeterminated\",\n    \"dss-badge--critical\": s._state === \"critical\" && !s._outlined,\n    \"dss-badge--critical-outlined\": s._state === \"critical\" && s._outlined,\n    \"dss-badge--critic\": s._state === \"critic\" && !s._outlined,\n    \"dss-badge--critic-outlined\": s._state === \"critic\" && s._outlined,\n    \"dss-badge--alert\": s._state === \"alert\" && !s._outlined,\n    \"dss-badge--alert-outlined\": s._state === \"alert\" && s._outlined,\n    \"dss-badge--ideal\": s._state === \"ideal\" && !s._outlined,\n    \"dss-badge--ideal-outlined\": s._state === \"ideal\" && s._outlined,\n    \"dss-badge--info\": s._state === \"info\" && !s._outlined,\n    \"dss-badge--info-outlined\": s._state === \"info\" && s._outlined,\n    \"dss-badge--info-alt\": s._state === \"info-alt\" && !s._outlined,\n    \"dss-badge--info-alt-outlined\": s._state === \"info-alt\" && s._outlined,\n    \"dss-badge--neutral\": s._state === \"neutral\" && !s._outlined,\n    \"dss-badge--neutral-outlined\": s._state === \"neutral\" && s._outlined,\n    \"dss-badge--above\": s._state === \"above\",\n    \"dss-badge--above-low\": s._state === \"above-low\",\n    \"dss-badge--above-high\": s._state === \"above-high\",\n    \"dss-badge--below\": s._state === \"below\",\n    \"dss-badge--below-low\": s._state === \"below-low\",\n    \"dss-badge--below-high\": s._state === \"below-high\",\n    \"dss-badge--disabled\": s._disabled,\n    \"dss-icon-badge--bubble\": s._bubble\n  };\n  return l`\n\t\t<div class=\"dss-wrapper\">\n      <div class=\"dss-icon-badge dss-icon ${e(a)}\">\n\t\t\t\t<${d}\n\t\t\t\t\tsize=\"${s._iconSize}\"\n\t\t\t\t\ticon=\"${s._icon}\"\n\t\t\t\t\t?fill=\"${s._iconFill}\"\n\t\t\t\t></${d}>\n\t\t\t</div>\n      <slot name=\"tooltip\"></slot>\n    </div>\n  `;\n};\nexport {\n  u as template\n};\n//# sourceMappingURL=icon-badge.template.js.map\n","const s = \".dss-icon-badge{cursor:default;box-sizing:border-box;display:flex;justify-content:center;align-items:center;height:20px;width:20px;border:var(--dss-border-width-sm) solid var(--color-neutral-500);padding:var(--dss-spacing-tiny);border-radius:var(--dss-radius-xs);font-size:16px;color:var(--color-neutral-500);background-color:var(--color-white)}.dss-icon-badge--bubble{border-radius:var(--dss-radius-full)!important}.dss-icon-badge--md{height:24px;width:32px;padding:var(--dss-spacing-xxs) var(--dss-spacing-xs)}.dss-icon-badge--lg{height:32px;width:40px;padding:var(--dss-spacing-xxs) var(--dss-spacing-xs);border-radius:var(--dss-radius-sm);font-size:24px}.dss-icon-badge--xl{height:40px;width:40px;padding:var(--dss-spacing-xxs) var(--dss-spacing-xs);border-radius:var(--dss-radius-sm);font-size:24px}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=icon.badge.style.css.js.map\n","import { LitElement as h, unsafeCSS as c } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport _ from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as d } from \"../../utils/property-types.js\";\nimport a from \"../badge/badge.states.css.js\";\nimport { template as p } from \"./icon-badge.template.js\";\nimport b from \"./icon.badge.style.css.js\";\nvar f = Object.defineProperty, m = Object.getOwnPropertyDescriptor, l = (o, e, i, g) => {\n  for (var t = m(e, i), r = o.length - 1, u; r >= 0; r--)\n    (u = o[r]) && (t = u(e, i, t) || t);\n  return t && f(e, i, t), t;\n};\nclass n extends h {\n  constructor() {\n    super(...arguments), this._icon = \"warning\", this._size = \"sm\", this._state = \"\", this._disabled = !1, this._isIconDefined = !1, this._outlined = !1, this._bubble = !1, this._iconSize = \"sm\", this._iconFill = !1;\n  }\n  static get styles() {\n    return [c(_), c(b), c(a)];\n  }\n  set icon(e) {\n    const i = this._icon;\n    this._icon = e, this._isIconDefined = !0, this.requestUpdate(\"icon\", i);\n  }\n  get icon() {\n    return this._icon;\n  }\n  set size(e) {\n    const i = this._size;\n    this._size = e, this.requestUpdate(\"size\", i);\n  }\n  get size() {\n    return this._size;\n  }\n  set state(e) {\n    const i = this._state;\n    this._state = e, e && !this._isIconDefined && (e.includes(\"danger\") ? (this._icon = \"warning\", this._updateIconFill(e)) : e.includes(\"moderate\") ? (this._icon = \"emergency_home\", this._updateIconFill(e)) : e.includes(\"slight\") ? (this._icon = \"error\", this._updateIconFill(e)) : e.includes(\"correct\") ? (this._icon = \"check_circle\", this._updateIconFill(e)) : e.includes(\"undeterminated\") ? this._icon = \"circle\" : e.includes(\"undetermined\") ? this._icon = \"circle\" : e.includes(\"critic\") ? this._icon = \"cancel\" : e.includes(\"alert\") ? this._icon = \"report\" : e.includes(\"ideal\") ? this._icon = \"check_circle\" : e.includes(\"info\") ? this._icon = \"info\" : e.includes(\"neutral\") ? this._icon = \"circle\" : e.includes(\"above\") ? (this._bubble = !0, this._icon = \"arrow_upward\") : e.includes(\"below\") && (this._icon = \"arrow_downward\", this._bubble = !0)), this.requestUpdate(\"state\", i);\n  }\n  get state() {\n    return this._state;\n  }\n  set disabled(e) {\n    const i = this._disabled;\n    this._disabled = e, this.requestUpdate(\"disabled\", i);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set outlined(e) {\n    const i = this._outlined;\n    this._outlined = e, this.requestUpdate(\"outlined\", i);\n  }\n  get outlined() {\n    return this._outlined;\n  }\n  set bubble(e) {\n    const i = this._bubble;\n    this._bubble = e, this.requestUpdate(\"bubble\", i);\n  }\n  get bubble() {\n    return this._bubble;\n  }\n  firstUpdated() {\n    (this._size === \"lg\" || this._size === \"xl\") && (this._iconSize = \"md\", this.requestUpdate());\n  }\n  _updateIconFill(e) {\n    this._iconFill = !e.includes(\"low\");\n  }\n  render() {\n    return p(this);\n  }\n}\nl([\n  s({ type: String })\n], n.prototype, \"icon\");\nl([\n  s({ type: String })\n], n.prototype, \"size\");\nl([\n  s({ type: String })\n], n.prototype, \"state\");\nl([\n  s(d)\n], n.prototype, \"disabled\");\nl([\n  s(d)\n], n.prototype, \"outlined\");\nl([\n  s(d)\n], n.prototype, \"bubble\");\nexport {\n  n as IconBadge\n};\n//# sourceMappingURL=icon-badge.js.map\n","import { classMap as s } from \"lit/directives/class-map.js\";\nimport { when as $ } from \"lit/directives/when.js\";\nimport { unsafeStatic as e, literal as r, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as b } from \"../../api/custom-element-scope.js\";\nconst l = r`dss-icon${e(b())}`, d = r`dss-tooltip${e(b())}`, t = (i) => a`\n  ${$(\n  i.label && !i.hideTooltip,\n  () => a`\n      <${d} \n        position=\"${i.tooltipPosition}\"\n        ?tooltipFixed=${i.tooltipFixed}\n        ?forceViewport=\"${i.forceViewport}\"\n        ?interactive=${i.tooltipInteractive}\n        aria-hidden=\"true\">\n        ${i.label}\n      </${d}>\n    `\n)}\n`, z = (i) => a`\n  ${$(\n  i.ariaExpanded !== void 0,\n  () => a`\n    <button\n      type=${i.type}\n      class=${s({\n    \"dss-icon-button\": !0,\n    [`dss-icon-button--${i.variant}`]: !!i.variant,\n    [`dss-icon-button--${i.size}`]: !!i.size\n  })}\n      ?disabled=${i.disabled}\n      ?hidden=${i.hidden}\n      aria-expanded=${i.ariaExpanded}\n      aria-label=\"${i.ariaLabel ?? i.label}\"\n      tabindex=\"${i.disableTabindex ? \"-1\" : \"0\"}\"\n      @click=${i._handleClick}\n    >\n      <${l} class=\"dss-icon-button__icon\" icon=\"${i.icon}\" size=\"${i.size}\" ?fill=${i.fill}></${l}>\n      ${t(i)}\n    </button>\n  `,\n  () => a`\n      <button\n        type=${i.type}\n        class=${s({\n    \"dss-icon-button\": !0,\n    [`dss-icon-button--${i.variant}`]: !!i.variant,\n    [`dss-icon-button--${i.size}`]: !!i.size\n  })}\n        ?disabled=${i.disabled}\n        ?hidden=${i.hidden}\n        aria-label=\"${i.label}\"\n        tabindex=\"${i.disableTabindex ? \"-1\" : \"0\"}\"\n        @click=${i._handleClick}\n      >\n        <${l} class=\"dss-icon-button__icon\" icon=\"${i.icon}\" size=\"${i.size}\" ?fill=${i.fill}></${l}>\n        ${t(i)}\n      </button>\n    `\n)}\n`;\nexport {\n  z as template\n};\n//# sourceMappingURL=icon-button.template.js.map\n","import { LitElement as y, unsafeCSS as d } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport h from \"../../shared/reset.style.css.js\";\nimport { booleanType as i } from \"../../utils/property-types.js\";\nimport f from \"./icon-button.style.css.js\";\nimport { template as m } from \"./icon-button.template.js\";\nvar b = Object.defineProperty, e = (p, a, l, c) => {\n  for (var r = void 0, s = p.length - 1, n; s >= 0; s--)\n    (n = p[s]) && (r = n(a, l, r) || r);\n  return r && b(a, l, r), r;\n};\nclass o extends y {\n  constructor() {\n    super(...arguments), this.type = \"button\", this.variant = \"primary\", this.size = \"md\", this.label = \"\", this.icon = void 0, this.fill = !1, this.disabled = !1, this.hidden = !1, this.disableTabindex = !1, this.ariaLabel = null, this.ariaExpanded = void 0, this.tooltipFixed = !1, this.tooltipInteractive = !1, this.tooltipPosition = \"top\", this.hideTooltip = !1, this.forceViewport = !1;\n  }\n  static get styles() {\n    return [d(h), d(f)];\n  }\n  _handleClick() {\n    this.dispatchEvent(new CustomEvent(\"onClick\", { bubbles: !0, composed: !0 }));\n  }\n  render() {\n    return m(this);\n  }\n}\ne([\n  t({ type: String })\n], o.prototype, \"type\");\ne([\n  t({ type: String })\n], o.prototype, \"variant\");\ne([\n  t({ type: String })\n], o.prototype, \"size\");\ne([\n  t({ type: String })\n], o.prototype, \"label\");\ne([\n  t({ type: String })\n], o.prototype, \"icon\");\ne([\n  t(i)\n], o.prototype, \"fill\");\ne([\n  t(i)\n], o.prototype, \"disabled\");\ne([\n  t(i)\n], o.prototype, \"hidden\");\ne([\n  t(i)\n], o.prototype, \"disableTabindex\");\ne([\n  t({ type: String })\n], o.prototype, \"ariaLabel\");\ne([\n  t(i)\n], o.prototype, \"ariaExpanded\");\ne([\n  t(i)\n], o.prototype, \"tooltipFixed\");\ne([\n  t(i)\n], o.prototype, \"tooltipInteractive\");\ne([\n  t({ type: String })\n], o.prototype, \"tooltipPosition\");\ne([\n  t(i)\n], o.prototype, \"hideTooltip\");\ne([\n  t(i)\n], o.prototype, \"forceViewport\");\nexport {\n  o as IconButton\n};\n//# sourceMappingURL=icon-button.js.map\n","function M(t, n, s) {\n  const c = s.match(/[^$\\d\\s]/), o = c ? c[0] : null;\n  if (o && t.length > n.length) {\n    const r = n.length;\n    if (t[r] === o) {\n      const a = t.slice(0, r - 1), e = t.slice(r + 1);\n      return a + e;\n    }\n  }\n  return n;\n}\nfunction R(t, n, s, c) {\n  if (!n || !s) return t;\n  const o = n.match(/^\\/(.+)\\/([gimsuy]*)$/);\n  if (!o) return t;\n  const [, g, r] = o, a = new RegExp(g, r);\n  let e = t;\n  const i = s.match(/[^$\\d\\s]/), h = i ? i[0] : null;\n  if (h) {\n    const l = new RegExp(h, \"g\");\n    e = t.replace(l, \"\");\n  }\n  if (c) {\n    const l = c.match(/^\\/(.+)\\/([gimsuy]*)$/);\n    if (l) {\n      const [, x, w] = l, d = new RegExp(x, w);\n      let p = \"\";\n      for (let f = 0; f < e.length; f++) {\n        const m = e[f];\n        d.test(m) && (p += m), d.lastIndex = 0;\n      }\n      e = p;\n    }\n  }\n  return e.replace(a, s);\n}\nexport {\n  R as applyMask,\n  M as deleteSeparatorMask\n};\n//# sourceMappingURL=mask.js.map\n","import { nothing as l } from \"lit\";\nimport { classMap as u } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as a, literal as r, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst x = r`dss-icon${a(e())}`, d = r`dss-icon-button${a(e())}`, T = r`dss-tooltip${a(e())}`, B = (i) => {\n  var t, p, _, $, n, v, b, h, f, g, w, y;\n  const S = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": (t = i._input) == null ? void 0 : t.required,\n    \"dss-input-wrapper--disabled\": (p = i._input) == null ? void 0 : p.disabled,\n    [`dss-input-wrapper--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-wrapper--no-label\": !i._labelSlot\n  }, k = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-group--invalid\": i._invalid || !i._inputValidity,\n    \"dss-input-group--required\": (_ = i._input) == null ? void 0 : _.required,\n    \"dss-input-group--disabled\": ($ = i._input) == null ? void 0 : $.disabled,\n    \"dss-input-group--focused\": ((n = i._input) == null ? void 0 : n.value) || i._placeholder || i._isFocused,\n    \"dss-input-group--read-only\": (v = i._input) == null ? void 0 : v.readOnly,\n    \"dss-input-group--no-label\": !i._labelSlot,\n    \"dss-input-group--numeric\": i._isTypeNumeric,\n    \"dss-input-group--no-min-width\": i._removeMinWidth,\n    \"dss-input-group--read-only-empty\": ((b = i._input) == null ? void 0 : b.readOnly) && i._placeholder === \"\" && !((h = i._input) != null && h.value)\n  }, z = {\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": i._invalid,\n    \"dss-input-help--disabled\": (f = i._input) == null ? void 0 : f.disabled\n  };\n  return s`\n      <div class=\"${u(S)}\">\n    \n        ${i.inputSize === \"sm\" ? s`\n          <div class=\"${u({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": i._invalid\n  })}\"\n          >\n            <slot name=\"label\" @click=${i._focusInput}></slot>\n          </div>\n          ` : l}\n  \n        <div class=\"${u(k)}\">\n  \n          ${i.icon && i.icon !== \"\" ? s`\n            <${x} icon=\"${i.icon}\" class=\"dss-input-icon\"></${x}>\n            ` : l}\n  \n          <div class=\"dss-input-field\">\n            ${i.inputSize !== \"sm\" ? s`\n              <slot name=\"label\" @click=${i._focusInput}></slot>\n              ` : l}\n\n            ${i.inputPrefix ? s`\n            <span class=\"dss-input-inputPrefix\">${i.inputPrefix}</span>\n          ` : l}\n          \n            <slot name=\"input\"\n              @click=${i._handleClick}\n              @input=${i._handleInput}\n              @focusin=${i._handleFocusIn}\n              @focusout=${i._handleFocusOut}\n            ></slot>\n          </div>\n\n          ${i.unit ? s`\n            <div class=\"dss-input-unit\">${i.unit}</div>\n            ` : l}\n  \n          ${i._isTypeNumeric ? s`\n                <div class=\"dss-input-numeric-buttons\">\n                  <${d}\n                    label=\"Augmentar\"\n                    hideTooltip\n                    size=\"sm\"\n                    icon=\"keyboard_arrow_up\"\n                    variant=\"primary\"\n                    ?disabled=${i._input.disabled || i._input.readOnly}\n                    disableTabindex\n                    @onClick=${i._stepUp}\n                    @mousedown=${() => i._onHold(\"up\")}\n                    @mouseup=${i._stopHold}\n                    @mouseleave=${i._stopHold}\n                  ></${d}>\n                  <${d}\n                    label=\"Disminuir\"\n                    hideTooltip\n                    size=\"sm\"\n                    icon=\"keyboard_arrow_down\"\n                    variant=\"primary\"\n                    ?disabled=${i._input.disabled || i._input.readOnly}\n                    disableTabindex\n                    @onClick=${i._stepDown}\n                    @mousedown=${() => i._onHold(\"down\")}\n                    @mouseup=${i._stopHold}\n                    @mouseleave=${i._stopHold}\n                  ></${d}>\n                </div>\n              ` : null}\n\n          <div class=\"dss-input-actions\">\n            <slot name=\"action\"></slot>\n            <slot name=\"secondaryAction\"></slot>\n          </div>\n  \n          ${i._isTruncated ? s`\n              <${T}>${(g = i._input) == null ? void 0 : g.value}</${T}>\n            ` : null}\n        </div>\n  \n        ${i._helpText ? s`\n              <div class=\"${u(z)}\">\n                <span>${i._helpText}</span>\n                ${i._maxLength ? s`<span>\n                      ${(y = (w = i._input) == null ? void 0 : w.value) == null ? void 0 : y.length}/${i._maxLength}\n                    </span>` : null}\n              </div>\n            ` : null}\n      </div>\n    `;\n};\nexport {\n  B as inputActionTemplate\n};\n//# sourceMappingURL=input-action.template.js.map\n","const t = '.dss-input-actions{position:relative;padding-left:var(--dss-spacing-xs)}.dss-input-actions:before{content:\"\";position:absolute;top:50%;left:0;transform:translateY(-50%);height:24px;width:var(--dss-border-width-sm);background-color:var(--color-neutral-500)}.dss-input-group--md .dss-input-actions:before{height:28px}.dss-input-group--sm .dss-input-actions:before{height:18px}';\nexport {\n  t as default\n};\n//# sourceMappingURL=input-action.style.css.js.map\n","import { LitElement as _, unsafeCSS as u } from \"lit\";\nimport { property as a, state as c } from \"lit/decorators.js\";\nimport { deleteSeparatorMask as v, applyMask as m } from \"../../utils/mask.js\";\nimport { booleanType as d } from \"../../utils/property-types.js\";\nimport { inputActionTemplate as y } from \"./input-action.template.js\";\nimport f from \"../input/input.style.css.js\";\nimport g from \"./input-action.style.css.js\";\nvar b = Object.defineProperty, x = Object.getOwnPropertyDescriptor, s = (l, t, e, h) => {\n  for (var i = h > 1 ? void 0 : h ? x(t, e) : t, o = l.length - 1, r; o >= 0; o--)\n    (r = l[o]) && (i = (h ? r(t, e, i) : r(i)) || i);\n  return h && i && b(t, e, i), i;\n};\nclass n extends _ {\n  constructor() {\n    super(...arguments), this.icon = \"add_box\", this.inputSize = \"lg\", this.maskRegex = void 0, this.maskReplace = void 0, this.allowedChars = void 0, this.unit = void 0, this.inputPrefix = void 0, this._label = \"Label\", this._placeholder = \"\", this._maxLength = void 0, this._invalid = !1, this._helpText = \"\", this._isFocused = !1, this._isTypeNumeric = !1, this._inputValidity = !0, this._removeMinWidth = !1, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (t) => {\n      for (const e of t)\n        e.type === \"attributes\" && (this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback), this._previousValue = void 0, this._isTruncated = !1, this.intervalId = null;\n  }\n  static get styles() {\n    return [u(f), u(g)];\n  }\n  get _input() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _labelSlot() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"label\"]')) || void 0;\n    return t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _action() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"action\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _secondaryAction() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"secondaryAction\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  set helpText(t) {\n    const e = this._helpText;\n    this._helpText = t, this.requestUpdate(\"helpText\", e);\n  }\n  get helpText() {\n    return this._helpText;\n  }\n  set invalid(t) {\n    const e = this._invalid;\n    this._invalid = t, this.requestUpdate(\"invalid\", e);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  set removeMinWidth(t) {\n    const e = this._removeMinWidth;\n    this._removeMinWidth = t, this.requestUpdate(\"removeMinWidth\", e);\n  }\n  get removeMinWidth() {\n    return this._removeMinWidth;\n  }\n  set value(t) {\n    t !== void 0 && this.requestUpdate();\n  }\n  get value() {\n    var t;\n    return ((t = this._input) == null ? void 0 : t.value) || \"\";\n  }\n  disconnectedCallback() {\n    this.observer.disconnect();\n  }\n  _handleClick() {\n    this.requestUpdate();\n  }\n  _handleInput() {\n    var t, e;\n    if (this._isTypeNumeric && this._maxLength && this._input && (this._input.value = this._input.value.slice(0, this._maxLength)), this.maskRegex && this.maskReplace && this._input) {\n      this._previousValue && this._previousValue.length > ((t = this._input) == null ? void 0 : t.value.length) && (this._input.value = v(this._previousValue, this._input.value, this.maskReplace));\n      const h = m(this._input.value, this.maskRegex, this.maskReplace, this.allowedChars);\n      h !== this._input.value && (this._input.value = h);\n    }\n    this._previousValue = (e = this._input) == null ? void 0 : e.value, this._handleValidity(), this.requestUpdate();\n  }\n  _handleFocusIn() {\n    this._isFocused = !0, this.requestUpdate();\n  }\n  _handleFocusOut() {\n    this._isFocused = !1, this._checkInputOverflow(), this.requestUpdate();\n  }\n  _focusInput() {\n    var t;\n    (t = this._input) == null || t.focus();\n  }\n  _handleValidity() {\n    var e;\n    const t = (e = this._input) == null ? void 0 : e.checkValidity();\n    t !== void 0 && (this._inputValidity = t);\n  }\n  _stepUp() {\n    var t;\n    (t = this._input) == null || t.stepUp(), this._handleValidity(), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _stepDown() {\n    var t;\n    (t = this._input) == null || t.stepDown(), this._handleValidity(), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _dispatchValueChange() {\n    if (this._input) {\n      const t = {\n        detail: this._input.value,\n        bubbles: !0,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"onInputChange\", t));\n    }\n  }\n  _checkInputAttributes() {\n    var h, i, o, r, p;\n    const t = (h = this._input) == null ? void 0 : h.getAttribute(\"placeholder\");\n    t && (this._placeholder = t), ((i = this._input) == null ? void 0 : i.getAttribute(\"type\")) === \"number\" && (this._isTypeNumeric = !0);\n    const e = (o = this._input) == null ? void 0 : o.getAttribute(\"maxlength\");\n    this._maxLength = e ? +e : void 0, (r = this._input) != null && r.value && ((p = this._input) == null ? void 0 : p.value) !== \"\" && this._handleValidity();\n  }\n  _checkInputOverflow() {\n    if (!this._input || !this._input.value) return;\n    const t = window.getComputedStyle(this._input), e = `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, i = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!i) return;\n    i.font = e;\n    const o = i.measureText(this._input.value).width;\n    this._isTruncated = o > this._input.offsetWidth;\n  }\n  _onHold(t) {\n    this.intervalId = window.setInterval(() => {\n      t === \"up\" ? this._stepUp() : this._stepDown();\n    }, 150);\n  }\n  _stopHold() {\n    this.intervalId !== null && (clearInterval(this.intervalId), this.intervalId = null);\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._input && (this._input.classList.add(\"dss-input-skip-native\"), this._checkInputAttributes(), this.observer.observe(this._input, this.observerConfig)), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    return y(this);\n  }\n}\ns([\n  a({ type: String })\n], n.prototype, \"label\", 1);\ns([\n  a({ type: String })\n], n.prototype, \"icon\", 2);\ns([\n  a({ type: String })\n], n.prototype, \"inputSize\", 2);\ns([\n  a({ type: String })\n], n.prototype, \"helpText\", 1);\ns([\n  a(d)\n], n.prototype, \"invalid\", 1);\ns([\n  a(d)\n], n.prototype, \"removeMinWidth\", 1);\ns([\n  a({ type: String })\n], n.prototype, \"value\", 1);\ns([\n  a({ type: String })\n], n.prototype, \"maskRegex\", 2);\ns([\n  a({ type: String })\n], n.prototype, \"maskReplace\", 2);\ns([\n  a({ type: String })\n], n.prototype, \"allowedChars\", 2);\ns([\n  a({ type: String })\n], n.prototype, \"unit\", 2);\ns([\n  a({ type: String })\n], n.prototype, \"inputPrefix\", 2);\ns([\n  c()\n], n.prototype, \"intervalId\", 2);\nexport {\n  n as InputAction\n};\n//# sourceMappingURL=input-action.js.map\n","function s(n, e, r) {\n  if (!(\"IntersectionObserver\" in window)) {\n    e();\n    return;\n  }\n  new IntersectionObserver(\n    (o, i) => {\n      o[0].isIntersecting && (i.disconnect(), e());\n    },\n    {\n      rootMargin: \"80px\",\n      // pre-carga antes de verse\n      ...r\n    }\n  ).observe(n);\n}\nexport {\n  s as lazyLoading\n};\n//# sourceMappingURL=lazy-loading.js.map\n","const s = \".dss-selector{opacity:0;visibility:hidden;z-index:999}:host(.animation-enabled) .dss-selector{transition:opacity var(--animation-delay) ease-out,visibility var(--animation-delay) ease-out}.dss-selector--visible{opacity:1;visibility:visible}.dss-selector--open-with-search{display:block;margin-top:var(--dss-spacing-xxs)}.dss-selector--md{top:44px}.dss-input-group:has(dss-chip:focus-within){outline:0;border-color:var(--color-neutral-100)}.dss-input-group.dss-input-group--read-only:has(dss-chip:focus-within){outline:0;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.dss-selector--loading{position:absolute}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=input-dropdown.style.css.js.map\n","import { nothing as r } from \"lit\";\nimport { classMap as e } from \"lit/directives/class-map.js\";\nimport { ifDefined as C } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as d, literal as i, html as l } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as a } from \"../../api/custom-element-scope.js\";\nconst S = i`dss-icon${d(a())}`, u = i`dss-icon-button${d(a())}`, y = i`dss-selector${d(a())}`, f = i`dss-chip${d(a())}`, c = i`dss-tooltip${d(a())}`, A = (s) => {\n  var _, t, $, h, b, p, w, v;\n  const D = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": s._required,\n    \"dss-input-wrapper--disabled\": s._disabled,\n    [`dss-input-wrapper--${s.inputSize}`]: !!s.inputSize\n  }, T = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${s.inputSize}`]: !!s.inputSize,\n    \"dss-input-group--invalid\": s._invalid || !s._inputValidity,\n    \"dss-input-group--required\": s._required,\n    \"dss-input-group--disabled\": s._disabled,\n    \"dss-input-group--focused\": ((_ = s._input) == null ? void 0 : _.value) || s._placeHolder || s._isFocused,\n    \"dss-input-group--read-only\": s._readonly,\n    \"dss-input-group--no-label\": !s._label,\n    \"dss-input-group--read-only-empty\": ((t = s._input) == null ? void 0 : t.readOnly) && (($ = s._input) == null ? void 0 : $.placeholder) === \"\" && !((h = s._input) != null && h.value)\n  }, k = {\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": s._invalid,\n    \"dss-input-help--disabled\": s._disabled\n  }, x = {\n    \"dss-selector\": !s._openWithSearch,\n    \"dss-selector--visible\": s._showDropdown,\n    \"dss-selector--open-with-search\": s._openWithSearch,\n    \"dss-selector--disabled\": s._disabled,\n    \"dss-selector-dropdown\": !0,\n    \"dss-selector--md\": !s._openWithSearch && s.inputSize === \"md\",\n    \"dss-selector--loading\": !s._popperInstance && !s.openWithSearch\n  };\n  return l`\n\n    <div class=\"${e(D)}\" style=${C(s._boxStyle ?? void 0)}>\n\n      ${s.inputSize === \"sm\" ? l`\n        <div class=\"${e({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": s._invalid\n  })}\"\n        >\n          <slot name=\"label\" @click=${s._focusInput}></slot>\n        </div>\n        ` : r}\n\n      <div class=\"dss-input-dropdown-wrapper\">\n        <div class=\"${e(T)}\">\n\n          ${s.icon && s.icon !== \"\" ? l`\n            <${S} icon=\"${s.icon}\" class=\"dss-input-icon\"></${S}>\n            ` : r}\n\n          <div class=\"dss-input-field\">\n            ${s.inputSize !== \"sm\" ? l`\n              <slot name=\"label\" @click=${s._focusInput}></slot>\n              ` : r}\n            <slot name=\"input\"\n              @click=${s._handleClick}\n              @input=${s._handleInput}\n              @focusin=${s._handleFocusIn}\n              @focusout=${s._handleFocusOut}\n              @keydown=${s._handleKeyDown}\n              @mouseover=${s._handleInputMouseOver}\n            ></slot>\n\n            ${!s._showDropdown && s._isTruncated && s._selectedValue && ((b = s._selectedValue) == null ? void 0 : b.length) === 1 ? l`\n                <${c}>${(p = s._input) == null ? void 0 : p.value}</${c}>\n              ` : null}\n\n\n          </div>\n\n          ${s.multiple && s._isTruncated && s._selectedValue && ((w = s._selectedValue) == null ? void 0 : w.length) > 1 ? l`\n              <${f}\n                label=\"${s._selectedValue.length}\"\n                size=\"xs\"\n                ?selected=${s._showDropdown}\n                @onToggle=${s._toggleDropdown}>\n              </${f}>\n            ` : null}\n\n          ${!s._openWithSearch && !s._readonly ? l`\n                <${u}\n                  class=\"dss-icon-button dss-input-dropdown__toggle\"\n                  size=\"md\"\n                  icon=\"${s._showDropdown ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"}\"\n                  label=\"${s._showDropdown ? \"Tancar dropdown\" : \"Obrir dropdown\"}\"\n                  hideTooltip\n                  ariaExpanded=\"${s._showDropdown}\"\n                  variant=\"primary\"\n                  ?disabled=${s._disabled}\n                  disableTabindex\n                  @onClick=${s._toggleDropdown}\n                ></${u}>\n              ` : s._openWithSearch ? l`\n                <${u}\n                  class=\"dss-icon-button dss-input-dropdown__toggle\"\n                  size=\"md\"\n                  label=\"Esborra la selecció\"\n                  hideTooltip\n                  icon=\"close\"\n                  variant=\"primary\"\n                  ?disabled=${s._disabled || s._readonly}\n                  disableTabindex\n                  @onClick=${s._cleanInput}\n                ></${u}>\n              ` : r}\n          </div>\n\n          <${y}\n            ariaLabel=\"Llista d'elements\"\n            id=\"dss-selector\"\n            class=\"${e(x)}\"\n            .isOpen=${s._showDropdown || s._openWithSearch}\n            .multiple=${s._multiple}\n            .tick=${s._tick}\n            .deselectable=${s._deselectable}\n            .disabled=${s._disabled}\n            .elements=${s._filteredElements}\n            .filtre=${(v = s._input) == null ? void 0 : v.value}\n            .filterThreshold=${s._filterThreshold}\n            .searchThreshold=${s._searchThreshold}\n            .selectedValue=${s._selectedValue}\n            .type=${s._type}\n            .labelSelectAll=${s._labelSelectAll}\n            .labelDeselectAll=${s._labelDeselectAll}\n            .selectAll=${s._selectAll}\n            ?advancedFilter=${s.advancedFilter}\n            isDisplayed=${s._showDropdown}\n            elementsSelected=${s._selectElements}\n            boxStyle=${s._selectorStyle}\n            boxShadow\n            @onValueChange=\"${s._onSelectorChanges}\"\n            @keydown=\"${(g) => {\n    g.key === \"Escape\" && s._handleBlurSelector(void 0, g);\n  }}\"\n            @focusout=${s._handleFocusOut}\n            ?readonly=${s._readonly}\n          >\n          </${y}>\n\n      </div>\n\n      ${s._helpText && !s._openWithSearch ? l`\n            <div class=\"${e(k)}\">\n              <span>${s._helpText}</span>\n            </div>\n          ` : null}\n\n    </div>\n  `;\n};\nexport {\n  A as template\n};\n//# sourceMappingURL=input-dropdown.template.js.map\n","import { createPopper as y } from \"@popperjs/core\";\nimport { LitElement as w, unsafeCSS as _ } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport g from \"../../shared/reset.style.css.js\";\nimport { normalizeText as u } from \"../../utils/helpers.js\";\nimport { lazyLoading as b } from \"../../utils/lazy-loading.js\";\nimport { booleanType as p } from \"../../utils/property-types.js\";\nimport { sort as v } from \"../../utils/sorting.js\";\nimport S from \"../input/input.style.css.js\";\nimport V from \"./input-dropdown.style.css.js\";\nimport { template as E } from \"./input-dropdown.template.js\";\nvar D = Object.defineProperty, q = Object.getOwnPropertyDescriptor, h = (c, e, t, s) => {\n  for (var i = s > 1 ? void 0 : s ? q(e, t) : e, l = c.length - 1, o; l >= 0; l--)\n    (o = c[l]) && (i = (s ? o(e, t, i) : o(i)) || i);\n  return s && i && D(e, t, i), i;\n};\nclass n extends w {\n  constructor() {\n    super(), this.dropdownOffsetX = void 0, this.dropdownOffsetY = void 0, this.icon = \"search\", this.inputSize = \"lg\", this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this.advancedFilter = !1, this._elements = null, this._copyElements = null, this._tick = !0, this._type = \"default\", this._boxStyle = null, this._selectedValue = null, this._multiple = !1, this._openWithSearch = !1, this._deselectable = !1, this._placeHolder = \"\", this._showDropdown = !1, this._required = !1, this._disabled = !1, this._readonly = !1, this._labelSelectAll = \"Seleccionar-ho tot\", this._labelDeselectAll = \"Deseleccionar-ho tot\", this._selectAll = !1, this._selectElements = 0, this._isFocused = !1, this._helpText = \"\", this._invalid = !1, this._inputValidity = !0, this._filteredElements = [], this._dropdownPlaceholder = \"Seleccionar\", this._selectorStyle = \"\", this._isFiltering = !1, this._placeholderEmpty = \"Escriu per cercar\", this._filterThreshold = 1, this._searchThreshold = 2, this._unorder = !1, this._popperInstance = null, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (e) => {\n      for (const t of e)\n        t.type === \"attributes\" && (this._input && this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback), this.visibleObserver = new IntersectionObserver(\n      ([e]) => {\n        e.isIntersecting || this._showDropdown && this._closeDropdown();\n      },\n      {\n        root: null,\n        threshold: 0\n      }\n    ), this._isTruncated = !1, this._isOverflowChecked = !1, this._handleInputMouseOver = () => {\n      this._isOverflowChecked || (this._checkInputOverflow(), this._isOverflowChecked = !0);\n    }, this._handleOutsideClick = this._handleOutsideClick.bind(this);\n  }\n  static get styles() {\n    return [_(S), _(g), _(V)];\n  }\n  get _input() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), e == null ? void 0 : e.assignedElements()[0];\n  }\n  get _label() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"label\"]')) || void 0;\n    return this.requestUpdate(), e == null ? void 0 : e.assignedElements()[0];\n  }\n  set placeHolder(e) {\n    const t = this._placeHolder;\n    this._placeHolder = e, this.requestUpdate(\"placeHolder\", t);\n  }\n  get placeHolder() {\n    return this._placeHolder;\n  }\n  set unorder(e) {\n    const t = this._unorder;\n    this._unorder = e, this.requestUpdate(\"unorder\", t);\n  }\n  get unorder() {\n    return this._unorder;\n  }\n  set elements(e) {\n    const t = this._elements;\n    if (this._unorder)\n      this._elements = e;\n    else {\n      const s = v(e, \"label\", \"asc\", \"string\");\n      this._elements = s;\n    }\n    e && (this._input && !this._isFiltering && (this._input.value = \"\"), this._filteredElements = this._getFilteredElements(), this._copyElements = [...this._elements], this._initElementsSelected(), this.requestUpdate()), this.requestUpdate(\"elements\", t);\n  }\n  get elements() {\n    return this._elements || [];\n  }\n  set multiple(e) {\n    const t = this._multiple;\n    this._multiple = e, this.requestUpdate(\"multiple\", t);\n  }\n  get multiple() {\n    return this._multiple;\n  }\n  set tick(e) {\n    const t = this._tick;\n    this._tick = e, this.requestUpdate(\"tick\", t);\n  }\n  get tick() {\n    return this._tick;\n  }\n  set openWithSearch(e) {\n    var s;\n    const t = this._openWithSearch;\n    this._openWithSearch = e, e && (this._showDropdown = e, (s = this._popperInstance) == null || s.update(), this._isFocused = !0), this.requestUpdate(\"openWithSearch\", t);\n  }\n  get openWithSearch() {\n    return this._openWithSearch;\n  }\n  set showDropdown(e) {\n    const t = this._showDropdown;\n    this._showDropdown = e, this.requestUpdate(\"showDropdown\", t);\n  }\n  get showDropdown() {\n    return this._showDropdown;\n  }\n  set deselectable(e) {\n    const t = this._deselectable;\n    this._deselectable = e, this.requestUpdate(\"deselectable\", t);\n  }\n  get deselectable() {\n    return this._deselectable;\n  }\n  set selectedValue(e) {\n    const t = this._selectedValue;\n    e && (this._selectedValue = e), this._elements && this._selectedValue && (this._selectedValue.length > 0 && (this._isFocused = !0), this._initElementsSelected()), this.requestUpdate(\"selectedValue\", t);\n  }\n  get selectedValue() {\n    return this._selectedValue || [];\n  }\n  set type(e) {\n    const t = this._type;\n    e === \"default\" || e === \"green\" ? this._type = e : this._type = \"default\", this.requestUpdate(\"type\", t);\n  }\n  get type() {\n    return this._type;\n  }\n  set boxStyle(e) {\n    const t = this._boxStyle;\n    this._boxStyle = e, this.requestUpdate(\"boxStyle\", t);\n  }\n  get boxStyle() {\n    return this._boxStyle || \"\";\n  }\n  set selectorStyle(e) {\n    const t = this._selectorStyle;\n    this._selectorStyle = e, this.requestUpdate(\"selectorStyle\", t);\n  }\n  get selectorStyle() {\n    return this._selectorStyle || \"\";\n  }\n  set labelSelectAll(e) {\n    const t = this._labelSelectAll;\n    e !== \"\" && (this._labelSelectAll = e), this.requestUpdate(\"labelSelectAll\", t);\n  }\n  get labelSelectAll() {\n    return this._labelSelectAll;\n  }\n  set labelDeselectAll(e) {\n    const t = this._labelDeselectAll;\n    e !== \"\" && (this._labelDeselectAll = e), this.requestUpdate(\"labelDeselectAll\", t);\n  }\n  get labelDeselectAll() {\n    return this._labelDeselectAll;\n  }\n  set selectAll(e) {\n    const t = this._selectAll;\n    this._selectAll = e, this.requestUpdate(\"selectAll\", t);\n  }\n  get selectAll() {\n    return this._selectAll;\n  }\n  set invalid(e) {\n    const t = this._invalid;\n    this._invalid = e, this.requestUpdate(\"invalid\", t);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  set helpText(e) {\n    const t = this._helpText;\n    this._helpText = e, this.requestUpdate(\"helpText\", t);\n  }\n  get helpText() {\n    return this._helpText;\n  }\n  set dropdownPlaceholder(e) {\n    const t = this._dropdownPlaceholder;\n    this._dropdownPlaceholder = e, this.requestUpdate(\"dropdownPlaceholder\", t);\n  }\n  get dropdownPlaceholder() {\n    return this._dropdownPlaceholder;\n  }\n  set placeholderEmpty(e) {\n    const t = this._placeholderEmpty;\n    this._placeholderEmpty = e, this.requestUpdate(\"placeholderEmpty\", t);\n  }\n  get placeholderEmpty() {\n    return this._placeholderEmpty;\n  }\n  set filterThreshold(e) {\n    const t = this._filterThreshold;\n    this._filterThreshold = e, this.requestUpdate(\"filterThreshold\", t);\n  }\n  get filterThreshold() {\n    return this._filterThreshold;\n  }\n  set searchThreshold(e) {\n    const t = this._searchThreshold;\n    this._searchThreshold = e, this.requestUpdate(\"searchThreshold\", t);\n  }\n  get searchThreshold() {\n    return this._searchThreshold;\n  }\n  set value(e) {\n    e !== void 0 && this.requestUpdate();\n  }\n  get value() {\n    var e;\n    return ((e = this._input) == null ? void 0 : e.value) || \"\";\n  }\n  disconnectedCallback() {\n    this._removeOutsideClickListener(), this.observer.disconnect(), this.visibleObserver.disconnect();\n  }\n  _addOutsideClickListener() {\n    document.addEventListener(\"mousedown\", this._handleOutsideClick);\n  }\n  _removeOutsideClickListener() {\n    document.removeEventListener(\"mousedown\", this._handleOutsideClick);\n  }\n  _handleOutsideClick(e) {\n    this._clickedOutsideDropdown(this, e);\n  }\n  _closeDropdown() {\n    var e;\n    this._removeOutsideClickListener(), this._showDropdown = !1, this._isFiltering = !1, this._isFocused = !1, (e = this._input) == null || e.blur(), this._checkTruncatedIfMultipleSelection(), this.requestUpdate(), setTimeout(() => {\n      this.classList.add(\"animation-enabled\");\n    }, 400);\n  }\n  _getFilteredElements() {\n    var t, s, i;\n    const e = ((t = this._elements) == null ? void 0 : t.filter(\n      (l) => {\n        var o;\n        return (o = this._selectedValue) == null ? void 0 : o.includes(l.value);\n      }\n    )) || [];\n    if ((s = this._input) != null && s.value && this._input.value.length >= this._searchThreshold) {\n      const l = u((i = this._input) == null ? void 0 : i.value);\n      return this.advancedFilter ? this._applyAdvancedFilter(l, e) : this._applyDefaultFilter(l, e);\n    }\n    return this._elements;\n  }\n  _applyDefaultFilter(e, t) {\n    var s;\n    if (e) {\n      const i = ((s = this._elements) == null ? void 0 : s.filter(\n        (l) => {\n          var o;\n          return !((o = this._selectedValue) != null && o.includes(l.value)) && // Excluir elementos ya seleccionados del filtro\n          u(l.label).includes(e);\n        }\n      )) || [];\n      return [...t, ...i];\n    }\n  }\n  _applyAdvancedFilter(e, t) {\n    var l;\n    const s = u(e).split(/\\s+/).filter((o) => o.length >= this._searchThreshold);\n    if (s.length === 0)\n      return [...t];\n    const i = ((l = this._elements) == null ? void 0 : l.filter(\n      (o) => {\n        var d;\n        return !((d = this._selectedValue) != null && d.includes(o.value)) && // Excluir seleccionados\n        s.every((a) => u(o.label).includes(a));\n      }\n    )) || [];\n    return [...t, ...i];\n  }\n  async firstUpdated() {\n    var e;\n    try {\n      await this.updateComplete, this.classList.add(\"animation-enabled\"), this._input && (this._input.classList.add(\"dss-input-skip-native\"), this.observer.observe(this._input, this.observerConfig), this.visibleObserver.observe(this._input), this._checkInputAttributes()), this._elements && (this._filteredElements = this._getFilteredElements(), this._initElementsSelected()), this._openWithSearch && this._input && (this._input.value = \"\", (e = this._input) != null && e.getAttribute(\"placeholder\") || this._input.setAttribute(\"placeholder\", this._dropdownPlaceholder)), b(this, () => {\n        this._checkTruncatedIfMultipleSelection();\n      }), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  _checkTruncatedIfMultipleSelection() {\n    this._multiple && this._selectedValue && this._selectedValue.length > 1 && (this._checkInputOverflow(), this._isOverflowChecked = !0);\n  }\n  _initElementsSelected() {\n    this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []), this._isOverflowChecked = !1, (!this._multiple || this._multiple && this._selectedValue && this._selectedValue.length <= 1) && (this._isTruncated = !1);\n  }\n  _checkInputOverflow() {\n    if (!this._input || !this._input.value) return;\n    const e = window.getComputedStyle(this._input), t = `${e.fontWeight} ${e.fontSize} ${e.fontFamily}`, i = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!i) return;\n    i.font = t;\n    const l = Number.parseFloat(e.paddingLeft), o = Number.parseFloat(e.paddingRight), d = this._input.offsetWidth - l - o, a = i.measureText(this._input.value).width;\n    this._isTruncated = a > d;\n  }\n  _clickedOutsideDropdown(e, t) {\n    var s, i, l;\n    this._showDropdown && (t.composedPath().includes(e) || (this._input && (this._input.value = \"\", this._isFiltering = !1), (s = this._elements) != null && s.length && (this._initElementsSelected(), (!this._selectedValue || this._selectedValue.length <= 0) && (this._filteredElements = this._getFilteredElements())), (i = this._elements) != null && i.length || ((l = this._input) == null || l.removeAttribute(\"placeholder\"), this._placeHolder = \"\"), this._hidePlaceholder(), this._closeDropdown()));\n  }\n  _handleInput() {\n    this._isFiltering = !0, this._filteredElements = this._getFilteredElements(), this.requestUpdate();\n  }\n  _handleBlurEsc() {\n    this._readonly || this._openWithSearch || this._closeDropdown();\n  }\n  _handleBlurSelector(e, t) {\n    var s;\n    if (e !== t.target) {\n      if (this._openWithSearch)\n        return;\n      (s = this._input) == null || s.focus(), this._handleBlurEsc(), this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n    }\n  }\n  _toggleDropdown() {\n    var e, t, s, i, l;\n    (e = this._elements) != null && e.length && this._showDropdown && this._input ? (this._initElementsSelected(), (!this._selectedValue || this._selectedValue.length <= 0) && (this._filteredElements = this._getFilteredElements())) : (t = this._elements) != null && t.length && !this._showDropdown && this._input && (this._input.value = \"\", this._showPlaceholder(), (s = this._input) == null || s.focus()), this._showDropdown = !this._showDropdown, this._showDropdown && (this._popperInstance ? this._updatePopperDropdown() : this._createPopperDropdown(), this._addOutsideClickListener()), !((i = this._elements) != null && i.length) && !this._showDropdown && ((l = this._input) == null || l.removeAttribute(\"placeholder\"), this._placeHolder = \"\", this._isFiltering = !1, this._isFocused = !1), this.requestUpdate();\n  }\n  _getSelectedItems() {\n    var e;\n    return !this._selectedValue || this._selectedValue.length <= 0 ? [] : (e = this._elements) == null ? void 0 : e.filter((t) => {\n      var s;\n      return (s = this._selectedValue) == null ? void 0 : s.includes(t.value);\n    });\n  }\n  _dispatchValueChange() {\n    if (this._input) {\n      const e = {\n        detail: {\n          inputValue: this._input.value,\n          selectedValue: this._selectedValue,\n          selectedItems: this._getSelectedItems()\n        },\n        bubbles: !0,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"onInputDropdownChange\", e));\n    }\n  }\n  _onSelectorChanges(e) {\n    !this._multiple && !this._openWithSearch && (this._isFiltering = !1);\n    const t = e.detail;\n    this._selectedValue = typeof t == \"string\" ? [e.detail] : e.detail, !this._multiple && !this._disabled && (this._openWithSearch || (this._closeDropdown(), this._initElementsSelected()), this._handleValidity()), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _showSelectValuesInInput(e) {\n    var i, l;\n    !this._multiple && Array.isArray(e) && e.length > 1 && e.splice(1);\n    const t = (i = this._elements) == null ? void 0 : i.filter((o) => e.includes(o.value));\n    if (this._elements = [...this._copyElements], this._openWithSearch ? this._selectElements = 0 : this._selectElements = t != null && t.length ? t.length : 0, t && t.length > 0) {\n      const o = this._elements.filter((d) => t.includes(d));\n      o.push(...this._elements.filter((d) => !t.includes(d))), this._elements = [...o], this._filteredElements = this._elements;\n    }\n    if (!this._multiple && this._input && !this._isFiltering) {\n      this._input.value = ((l = t == null ? void 0 : t[0]) == null ? void 0 : l.label) ?? \"\", this._deselectable && this._input.value === \"\" && (this._filteredElements = [...this._copyElements]);\n      return;\n    }\n    const s = t == null ? void 0 : t.map((o) => o.label);\n    this._input && !this._isFiltering && (this._input.value = (s == null ? void 0 : s.join(\", \")) ?? \"\");\n  }\n  _checkInputAttributes() {\n    var l, o, d, a, f, m;\n    const e = (l = this._input) == null ? void 0 : l.getAttribute(\"placeholder\");\n    e && (this._placeHolder = e);\n    const t = (o = this._input) == null ? void 0 : o.getAttribute(\"readonly\");\n    this._readonly = t !== null;\n    const s = (d = this._input) == null ? void 0 : d.getAttribute(\"disabled\");\n    this._disabled = s !== null;\n    const i = (a = this._input) == null ? void 0 : a.getAttribute(\"required\");\n    this._required = i !== null, (f = this._input) != null && f.value && ((m = this._input) == null ? void 0 : m.value) !== \"\" && this._handleValidity(), this.requestUpdate();\n  }\n  _handleFocusIn() {\n    this._isFocused = !0, this.requestUpdate();\n  }\n  _handleFocusOut(e) {\n    var o, d, a;\n    const t = e.relatedTarget;\n    if (t instanceof HTMLElement && t.contains(this)) return;\n    const s = (o = this.shadowRoot) == null ? void 0 : o.querySelector(\"dss-selector\"), i = (d = this.shadowRoot) == null ? void 0 : d.querySelector(\".dss-input-dropdown__toggle\"), l = (a = this.shadowRoot) == null ? void 0 : a.querySelector(\"dss-chip\");\n    t !== null && t !== this._input && t !== s && t !== i && t !== l && (this._selectedValue && this._initElementsSelected(), this._hidePlaceholder(), this._closeDropdown()), this.requestUpdate();\n  }\n  _handleKeyDown(e) {\n    var t;\n    (e == null ? void 0 : e.key) === \"Enter\" ? this._showDropdown ? this._keyboardFilterMatch() : this._handleClick() : (e == null ? void 0 : e.key) === \"Escape\" ? (this._closeDropdown(), this._initElementsSelected(), this._hidePlaceholder(), (!this._selectedValue || this._selectedValue.length <= 0) && (this._filteredElements = this._getFilteredElements())) : (e == null ? void 0 : e.key) === \"ArrowDown\" || (e == null ? void 0 : e.key) === \"ArrowUp\" ? (e.preventDefault(), e.stopPropagation(), ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\"#dss-selector\")).moveFocus()) : (e == null ? void 0 : e.key) !== \"Tab\" && (this._showDropdown || this._handleClick()), this.requestUpdate();\n  }\n  _handleClick() {\n    !this._disabled && !this._readonly && (this._input && (!this._openWithSearch && !this._isFiltering && (this._input.value = \"\"), this._showPlaceholder()), this._isFocused = !0, this._showDropdown = !0, this._popperInstance ? this._updatePopperDropdown() : (this._createPopperDropdown(), this.requestUpdate()), this._addOutsideClickListener(), this.requestUpdate());\n  }\n  _focusInput() {\n    var e;\n    (e = this._input) == null || e.focus(), this._handleClick();\n  }\n  _keyboardFilterMatch() {\n    var s, i;\n    if (!((s = this._filteredElements) == null ? void 0 : s.find(\n      (l) => {\n        var o;\n        return l.label.toLowerCase() === ((o = this._input) == null ? void 0 : o.value.toLowerCase());\n      }\n    ))) return;\n    const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\"#dss-selector\");\n    t && t.selectFirstMatch();\n  }\n  _showPlaceholder() {\n    var e, t, s, i;\n    !this._placeHolder && !((e = this._elements) != null && e.length) ? (t = this._input) == null || t.setAttribute(\"placeholder\", this._placeholderEmpty) : !this._placeHolder && ((s = this._elements) != null && s.length) && ((i = this._input) == null || i.setAttribute(\"placeholder\", this._dropdownPlaceholder));\n  }\n  _hidePlaceholder() {\n    var e;\n    this._placeHolder || (e = this._input) == null || e.removeAttribute(\"placeholder\");\n  }\n  _handleValidity() {\n    var t;\n    const e = (t = this._input) == null ? void 0 : t.checkValidity();\n    e !== void 0 && (this._inputValidity = e);\n  }\n  _cleanInput() {\n    this._input && (this._isFiltering = !1, this._input.value = \"\", this._filteredElements = this._getFilteredElements(), this.requestUpdate());\n  }\n  _createPopperDropdown() {\n    var s, i;\n    if (this._openWithSearch) return;\n    const e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-input-group\"), t = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-selector\");\n    e && t && (this._popperInstance = y(e, t, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          options: {\n            padding: { top: 8, bottom: 8, left: 8, right: 8 }\n          }\n        },\n        {\n          name: \"matchWidth\",\n          enabled: !0,\n          phase: \"beforeWrite\",\n          fn({ state: l }) {\n            l.elements.popper.style.width = `${e.offsetWidth}px`;\n          },\n          effect: ({ state: l }) => {\n            l.elements.popper.style.width = `${e.offsetWidth}px`;\n          }\n        }\n      ]\n    }));\n  }\n  _updatePopperDropdown() {\n    if (this.dropdownOffsetX && this.dropdownOffsetY) {\n      const e = this.dropdownOffsetX, t = this.dropdownOffsetY;\n      this._popperInstance.setOptions({\n        modifiers: [\n          {\n            name: \"popperOffsets\",\n            phase: \"write\",\n            fn({ state: s }) {\n              s.modifiersData.popperOffsets = {\n                x: e,\n                // Coordenada X deseada\n                y: t\n                // Coordenada Y deseada\n              };\n            }\n          },\n          {\n            name: \"applyStyles\",\n            phase: \"write\",\n            // Se ejecuta al final\n            fn({ state: s }) {\n              var i, l, o, d;\n              Object.assign(s.elements.popper.style, {\n                position: s.options.strategy,\n                left: `${(l = (i = s == null ? void 0 : s.modifiersData) == null ? void 0 : i.popperOffsets) == null ? void 0 : l.x}px`,\n                top: `${(d = (o = s == null ? void 0 : s.modifiersData) == null ? void 0 : o.popperOffsets) == null ? void 0 : d.y}px`,\n                transform: \"none\"\n                // Desactiva transformaciones automáticas\n              });\n            }\n          }\n        ]\n      });\n    } else\n      this._popperInstance.update();\n    setTimeout(() => {\n      this.classList.remove(\"animation-enabled\");\n    }, 400);\n  }\n  render() {\n    return E(this);\n  }\n}\nh([\n  r({ type: Number })\n], n.prototype, \"dropdownOffsetX\", 2);\nh([\n  r({ type: Number })\n], n.prototype, \"dropdownOffsetY\", 2);\nh([\n  r({ type: String })\n], n.prototype, \"icon\", 2);\nh([\n  r({ type: String })\n], n.prototype, \"placeHolder\", 1);\nh([\n  r(p)\n], n.prototype, \"unorder\", 1);\nh([\n  r({ type: Array })\n], n.prototype, \"elements\", 1);\nh([\n  r(p)\n], n.prototype, \"multiple\", 1);\nh([\n  r(p)\n], n.prototype, \"tick\", 1);\nh([\n  r(p)\n], n.prototype, \"openWithSearch\", 1);\nh([\n  r(p)\n], n.prototype, \"showDropdown\", 1);\nh([\n  r(p)\n], n.prototype, \"deselectable\", 1);\nh([\n  r({ type: Array })\n], n.prototype, \"selectedValue\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"type\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"boxStyle\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"selectorStyle\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"labelSelectAll\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"labelDeselectAll\", 1);\nh([\n  r(p)\n], n.prototype, \"selectAll\", 1);\nh([\n  r(p)\n], n.prototype, \"invalid\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"inputSize\", 2);\nh([\n  r({ type: String })\n], n.prototype, \"helpText\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"dropdownPlaceholder\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"placeholderEmpty\", 1);\nh([\n  r({ type: Number })\n], n.prototype, \"filterThreshold\", 1);\nh([\n  r({ type: Number })\n], n.prototype, \"searchThreshold\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"value\", 1);\nh([\n  r({ type: String })\n], n.prototype, \"dropdownPlacement\", 2);\nh([\n  r(p)\n], n.prototype, \"dropdownFixed\", 2);\nh([\n  r(p)\n], n.prototype, \"advancedFilter\", 2);\nexport {\n  n as InputDropdown\n};\n//# sourceMappingURL=input-dropdown.js.map\n","const s = ':host{display:inline-block;width:-moz-fit-content;width:fit-content}.dss-switch{display:flex;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;gap:.5rem;align-items:flex-start;position:relative;transition:.3s all ease-in}.dss-switch--sm .dss-switch__slider{width:26px;min-width:26px;height:16px;margin-top:4px}.dss-switch--md .dss-switch__slider{width:39px;min-width:39px;height:24px}.dss-switch--lg .dss-switch__slider{width:52px;min-width:52px;height:32px;margin-top:-4px}::slotted(input[type=\"checkbox\"]){display:none}.dss-switch .dss-switch__slider{position:relative;cursor:pointer;background-color:var(--color-neutral-500);border-radius:100px;transition:.3s all ease-in}.dss-switch .dss-switch__slider:focus-visible{outline:4px solid var(--color-blue-200)}.dss-switch .dss-switch__slider:before{position:absolute;content:\"\";display:flex;justify-content:center;align-items:center;background-color:#fff;border-radius:100%;box-shadow:var(--dss-elevation-sm);transition:.3s all ease-in}.dss-switch__slider:hover{background-color:var(--color-neutral-600)}.dss-switch__slider:active{background-color:var(--color-neutral-500);transition:none}.dss-switch--checked .dss-switch__slider{background-color:var(--color-primary-500)}.dss-switch--checked .dss-switch__slider:hover{background-color:var(--color-primary-600)}.dss-switch--checked .dss-switch__slider:active{background-color:var(--color-primary-400);transition:none}.dss-switch__slider:active:before{color:var(--color-neutral-500);transition:none}.dss-switch--checked .dss-switch__slider:active:before{color:var(--color-primary-400);transition:none}.dss-switch--disabled .dss-switch__slider{cursor:not-allowed;background-color:var(--color-neutral-200)}.dss-switch--disabled .dss-switch__slider:before{color:var(--color-neutral-500)}.dss-switch--disabled:not(.dss-switch--checked) .dss-switch__slider:before{background-color:var(--color-neutral-400);color:var(--color-neutral-100)}.dss-switch--disabled.dss-switch--checked .dss-switch__slider{background-color:var(--color-neutral-200)}.dss-switch--disabled.dss-switch--checked .dss-switch__slider:before{background-color:var(--color-neutral-400);color:var(--color-neutral-900)}.dss-switch--lg.dss-switch--disabled.dss-switch--checked .dss-switch__slider:before{background-color:var(--color-neutral-100)}.dss-switch--lg .dss-switch__slider:before{font-family:var(--icon-font);content:\"close\";color:var(--color-primary-500);font-size:16px;height:24px;width:24px;left:4px;bottom:4px}.dss-switch--md .dss-switch__slider:before{height:18px;width:18px;left:3px;bottom:3px}.dss-switch--sm .dss-switch__slider:before{height:12px;width:12px;left:2px;bottom:2px}.dss-switch--lg.dss-switch--checked .dss-switch__slider:before{transform:translate(20px);content:\"done\";color:var(--color-primary-500)}.dss-switch--md.dss-switch--checked .dss-switch__slider:before{transform:translate(15px)}.dss-switch--sm.dss-switch--checked .dss-switch__slider:before{transform:translate(10px)}::slotted(label){font-family:var(--font-family);font-style:normal;font-weight:400;font-size:14px;line-height:24px;color:var(--color-neutral-900)}.dss-switch--lg ::slotted(label){font-weight:600;font-size:16px}';\nexport {\n  s as default\n};\n//# sourceMappingURL=input-switch.style.css.js.map\n","import { classMap as i } from \"lit/directives/class-map.js\";\nimport { html as l } from \"lit/static-html.js\";\nconst c = (s) => {\n  const d = {\n    \"dss-switch--sm\": s._size === \"sm\",\n    \"dss-switch--md\": s._size === \"md\",\n    \"dss-switch--lg\": s._size === \"lg\",\n    \"dss-switch--checked\": s._checked,\n    \"dss-switch--disabled\": s._disabled\n  };\n  return l`\n    <div class=\"dss-switch ${i(d)}\">\n      <div\n        class=\"dss-switch__slider\"\n        tabindex=\"${s._disabled ? -1 : 0}\"\n        @keydown=\"${s._handleKeydown}\"\n        @click=\"${s._handleClick}\"\n      ></div>\n      <slot name=\"input\"></slot>\n      <slot name=\"label\" @click=\"${s._handleClick}\"></slot>\n    </div>\n  `;\n};\nexport {\n  c as template\n};\n//# sourceMappingURL=input-switch.template.js.map\n","import { LitElement as u, unsafeCSS as n } from \"lit\";\nimport { property as d } from \"lit/decorators.js\";\nimport p from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as l } from \"../../utils/property-types.js\";\nimport _ from \"./input-switch.style.css.js\";\nimport { template as b } from \"./input-switch.template.js\";\nvar f = Object.defineProperty, k = Object.getOwnPropertyDescriptor, o = (h, e, t, c) => {\n  for (var s = k(e, t), i = h.length - 1, r; i >= 0; i--)\n    (r = h[i]) && (s = r(e, t, s) || s);\n  return s && f(e, t, s), s;\n};\nclass a extends u {\n  constructor() {\n    super(...arguments), this._checked = !1, this._isCheckedPropDefined = !1, this._isFirstUpdate = !0, this._disabled = !1, this._readonly = !1, this._size = \"md\", this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (e) => {\n      for (const t of e)\n        t.type === \"attributes\" && (this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback);\n  }\n  static get styles() {\n    return [n(p), n(_)];\n  }\n  get _input() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), e == null ? void 0 : e.assignedElements()[0];\n  }\n  set size(e) {\n    const t = this._size;\n    this._size = e, this.requestUpdate(\"size\", t);\n  }\n  get size() {\n    return this._size;\n  }\n  set checked(e) {\n    const t = this._checked;\n    this._checked = e, this._isCheckedPropDefined = !0, this._isFirstUpdate || this._dispatchChange(), this.requestUpdate(\"checked\", t);\n  }\n  get checked() {\n    return this._checked;\n  }\n  disconnectedCallback() {\n    this.observer.disconnect();\n  }\n  /* END Input Observer */\n  _checkInputAttributes() {\n    var c, s, i;\n    if (!this._isCheckedPropDefined) {\n      const r = (c = this._input) == null ? void 0 : c.getAttribute(\"checked\");\n      this._checked = r !== null;\n    }\n    const e = (s = this._input) == null ? void 0 : s.getAttribute(\"disabled\");\n    this._disabled = e !== null;\n    const t = (i = this._input) == null ? void 0 : i.getAttribute(\"readonly\");\n    this._readonly = t !== null;\n  }\n  _handleClick() {\n    !this._disabled && !this._readonly && this._input && (this._checked = !this._checked, this._checked ? this._input.setAttribute(\"checked\", \"true\") : this._input.removeAttribute(\"checked\"), this._dispatchChange());\n  }\n  _handleKeydown(e) {\n    (e.key === \"Enter\" || e.key === \" \") && this._handleClick();\n  }\n  _dispatchChange() {\n    this.dispatchEvent(\n      new CustomEvent(\"onChangeValue\", {\n        detail: this._checked,\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._input && (this._checkInputAttributes(), this.observer.observe(this._input, this.observerConfig)), this._isFirstUpdate = !1, this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    return b(this);\n  }\n}\no([\n  d({ type: String })\n], a.prototype, \"size\");\no([\n  d(l)\n], a.prototype, \"checked\");\nexport {\n  a as InputSwitch\n};\n//# sourceMappingURL=input-switch.js.map\n","import { nothing as l } from \"lit\";\nimport { classMap as u } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as a, literal as r, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst x = r`dss-icon${a(e())}`, d = r`dss-icon-button${a(e())}`, S = r`dss-tooltip${a(e())}`, O = (i) => {\n  var p, t, _, $, v, b, n, h, f, g, w, y;\n  const T = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": (p = i._input) == null ? void 0 : p.required,\n    \"dss-input-wrapper--disabled\": (t = i._input) == null ? void 0 : t.disabled,\n    [`dss-input-wrapper--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-wrapper--no-label\": !i._labelSlot\n  }, k = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-group--invalid\": i._invalid || !i._inputValidity,\n    \"dss-input-group--required\": (_ = i._input) == null ? void 0 : _.required,\n    \"dss-input-group--disabled\": ($ = i._input) == null ? void 0 : $.disabled,\n    \"dss-input-group--focused\": ((v = i._input) == null ? void 0 : v.value) || i._placeholder || i._isFocused,\n    \"dss-input-group--read-only\": (b = i._input) == null ? void 0 : b.readOnly,\n    \"dss-input-group--no-label\": !i._labelSlot,\n    \"dss-input-group--numeric\": i._isTypeNumeric,\n    \"dss-input-group--no-min-width\": i._removeMinWidth,\n    \"dss-input-group--read-only-empty\": ((n = i._input) == null ? void 0 : n.readOnly) && i._placeholder === \"\" && !((h = i._input) != null && h.value)\n  }, z = {\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": i._invalid,\n    \"dss-input-help--disabled\": (f = i._input) == null ? void 0 : f.disabled\n  };\n  return s`\n    <div class=\"${u(T)}\">\n  \n      ${i.inputSize === \"sm\" ? s`\n        <div class=\"${u({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": i._invalid\n  })}\"\n        >\n          <slot name=\"label\" @click=${i._focusInput}></slot>\n        </div>\n        ` : l}\n\n      <div class=\"${u(k)}\">\n\n        ${i.icon && i.icon !== \"\" ? s`\n          <${x} icon=\"${i.icon}\" class=\"dss-input-icon\"></${x}>\n          ` : l}\n\n        <div class=\"dss-input-field\">\n          ${i.inputSize !== \"sm\" ? s`\n            <slot name=\"label\" @click=${i._focusInput}></slot>\n            ` : l}\n\n          ${i.inputPrefix ? s`\n            <span class=\"dss-input-inputPrefix\">${i.inputPrefix}</span>\n          ` : l}\n\n          <slot name=\"input\"\n            @click=${i._handleClick}\n            @input=${i._handleInput}\n            @focusin=${i._handleFocusIn}\n            @focusout=${i._handleFocusOut}\n          ></slot>\n        </div>\n\n        ${i.unit ? s`\n          <div class=\"dss-input-unit\">${i.unit}</div>\n          ` : l}\n\n        ${i._isTypeNumeric ? s`\n              <div class=\"dss-input-numeric-buttons\">\n                <${d}\n                  label=\"Augmentar\"\n                  hideTooltip\n                  size=\"sm\"\n                  icon=\"keyboard_arrow_up\"\n                  variant=\"primary\"\n                  ?disabled=${i._input.disabled || i._input.readOnly}\n                  disableTabindex\n                  @onClick=${i._stepUp}\n                  @mousedown=${() => i._onHold(\"up\")}\n                  @mouseup=${i._stopHold}\n                  @mouseleave=${i._stopHold}\n                ></${d}>\n                <${d}\n                  label=\"Disminuir\"\n                  hideTooltip\n                  size=\"sm\"\n                  icon=\"keyboard_arrow_down\"\n                  variant=\"primary\"\n                  ?disabled=${i._input.disabled || i._input.readOnly}\n                  disableTabindex\n                  @onClick=${i._stepDown}\n                  @mousedown=${() => i._onHold(\"down\")}\n                  @mouseup=${i._stopHold}\n                  @mouseleave=${i._stopHold}\n                ></${d}>\n              </div>\n            ` : null}\n\n        ${i._isTruncated ? s`\n            <${S}>${(g = i._input) == null ? void 0 : g.value}</${S}>\n          ` : null}\n      </div>\n\n      ${i._helpText ? s`\n            <div class=\"${u(z)}\">\n              <span>${i._helpText}</span>\n              ${i._maxLength ? s`<span>\n                    ${(y = (w = i._input) == null ? void 0 : w.value) == null ? void 0 : y.length}/${i._maxLength}\n                  </span>` : null}\n            </div>\n          ` : null}\n    </div>\n  `;\n};\nexport {\n  O as template\n};\n//# sourceMappingURL=input.template.js.map\n","import { LitElement as _, unsafeCSS as u } from \"lit\";\nimport { property as h, state as c } from \"lit/decorators.js\";\nimport v from \"../../shared/reset.style.css.js\";\nimport { deleteSeparatorMask as m, applyMask as f } from \"../../utils/mask.js\";\nimport { booleanType as d } from \"../../utils/property-types.js\";\nimport g from \"./input.style.css.js\";\nimport { template as y } from \"./input.template.js\";\nvar b = Object.defineProperty, x = Object.getOwnPropertyDescriptor, s = (r, t, e, a) => {\n  for (var i = a > 1 ? void 0 : a ? x(t, e) : t, p = r.length - 1, l; p >= 0; p--)\n    (l = r[p]) && (i = (a ? l(t, e, i) : l(i)) || i);\n  return a && i && b(t, e, i), i;\n};\nclass n extends _ {\n  constructor() {\n    super(...arguments), this.maskRegex = void 0, this.maskReplace = void 0, this.allowedChars = void 0, this.icon = \"add_box\", this.inputSize = \"lg\", this.unit = void 0, this.inputPrefix = void 0, this._label = \"Label\", this._placeholder = \"\", this._maxLength = void 0, this._invalid = !1, this._helpText = \"\", this._isFocused = !1, this._isTypeNumeric = !1, this._inputValidity = !0, this._removeMinWidth = !1, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (t) => {\n      for (const e of t)\n        e.type === \"attributes\" && (this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback), this._previousValue = void 0, this._isTruncated = !1, this.intervalId = null;\n  }\n  static get styles() {\n    return [u(v), u(g)];\n  }\n  // Properties\n  get _input() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _labelSlot() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"label\"]')) || void 0;\n    return t == null ? void 0 : t.assignedElements()[0];\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  set helpText(t) {\n    const e = this._helpText;\n    this._helpText = t, this.requestUpdate(\"helpText\", e);\n  }\n  get helpText() {\n    return this._helpText;\n  }\n  set invalid(t) {\n    const e = this._invalid;\n    this._invalid = t, this.requestUpdate(\"invalid\", e);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  set removeMinWidth(t) {\n    const e = this._removeMinWidth;\n    this._removeMinWidth = t, this.requestUpdate(\"removeMinWidth\", e);\n  }\n  get removeMinWidth() {\n    return this._removeMinWidth;\n  }\n  set value(t) {\n    t !== void 0 && this.requestUpdate();\n  }\n  get value() {\n    var t;\n    return ((t = this._input) == null ? void 0 : t.value) || \"\";\n  }\n  disconnectedCallback() {\n    this.observer.disconnect();\n  }\n  _handleClick() {\n    this.requestUpdate();\n  }\n  _handleInput() {\n    var t, e;\n    if (this._isTypeNumeric && this._maxLength && this._input && (this._input.value = this._input.value.slice(0, this._maxLength)), this.maskRegex && this.maskReplace && this._input) {\n      this._previousValue && this._previousValue.length > ((t = this._input) == null ? void 0 : t.value.length) && (this._input.value = m(this._previousValue, this._input.value, this.maskReplace));\n      const a = f(this._input.value, this.maskRegex, this.maskReplace, this.allowedChars);\n      a !== this._input.value && (this._input.value = a);\n    }\n    this._previousValue = (e = this._input) == null ? void 0 : e.value, this._handleValidity(), this._dispatchOnChange(), this.requestUpdate();\n  }\n  _handleFocusIn() {\n    this._isFocused = !0, this.requestUpdate();\n  }\n  _handleFocusOut() {\n    this._isFocused = !1, this._checkInputOverflow(), this.requestUpdate();\n  }\n  _focusInput() {\n    var t;\n    (t = this._input) == null || t.focus();\n  }\n  _handleValidity() {\n    var e;\n    const t = (e = this._input) == null ? void 0 : e.checkValidity();\n    t !== void 0 && (this._inputValidity = t);\n  }\n  _stepUp() {\n    var t;\n    (t = this._input) == null || t.stepUp(), this._handleValidity(), this._dispatchValueChange(), this._dispatchOnChange(), this.requestUpdate();\n  }\n  _stepDown() {\n    var t;\n    (t = this._input) == null || t.stepDown(), this._handleValidity(), this._dispatchValueChange(), this._dispatchOnChange(), this.requestUpdate();\n  }\n  _dispatchValueChange() {\n    if (this._input) {\n      const t = {\n        detail: this._input.value,\n        bubbles: !0,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"onInputChange\", t));\n    }\n  }\n  _dispatchOnChange() {\n    if (!this._input) return;\n    const t = {\n      detail: this._input.value,\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onChange\", t));\n  }\n  _checkInputAttributes() {\n    var a, i, p, l, o;\n    const t = (a = this._input) == null ? void 0 : a.getAttribute(\"placeholder\");\n    t && (this._placeholder = t), ((i = this._input) == null ? void 0 : i.getAttribute(\"type\")) === \"number\" && (this._isTypeNumeric = !0);\n    const e = (p = this._input) == null ? void 0 : p.getAttribute(\"maxlength\");\n    this._maxLength = e ? +e : void 0, (l = this._input) != null && l.value && ((o = this._input) == null ? void 0 : o.value) !== \"\" && this._handleValidity();\n  }\n  _checkInputOverflow() {\n    if (!this._input || !this._input.value) return;\n    const t = window.getComputedStyle(this._input), e = `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, i = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!i) return;\n    i.font = e;\n    const p = i.measureText(this._input.value).width;\n    this._isTruncated = p > this._input.offsetWidth;\n  }\n  _onHold(t) {\n    this.intervalId = window.setInterval(() => {\n      t === \"up\" ? this._stepUp() : this._stepDown();\n    }, 150);\n  }\n  _stopHold() {\n    this.intervalId !== null && (clearInterval(this.intervalId), this.intervalId = null);\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._input && (this._input.classList.add(\"dss-input-skip-native\"), this._checkInputAttributes(), this.observer.observe(this._input, this.observerConfig)), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    return y(this);\n  }\n}\ns([\n  h({ type: String })\n], n.prototype, \"label\", 1);\ns([\n  h({ type: String })\n], n.prototype, \"maskRegex\", 2);\ns([\n  h({ type: String })\n], n.prototype, \"maskReplace\", 2);\ns([\n  h({ type: String })\n], n.prototype, \"allowedChars\", 2);\ns([\n  h({ type: String })\n], n.prototype, \"icon\", 2);\ns([\n  h({ type: String })\n], n.prototype, \"inputSize\", 2);\ns([\n  h({ type: String })\n], n.prototype, \"unit\", 2);\ns([\n  h({ type: String })\n], n.prototype, \"inputPrefix\", 2);\ns([\n  h({ type: String })\n], n.prototype, \"helpText\", 1);\ns([\n  h(d)\n], n.prototype, \"invalid\", 1);\ns([\n  h(d)\n], n.prototype, \"removeMinWidth\", 1);\ns([\n  h({ type: String })\n], n.prototype, \"value\", 1);\ns([\n  c()\n], n.prototype, \"intervalId\", 2);\nexport {\n  n as Input\n};\n//# sourceMappingURL=input.js.map\n","import { normalizeText as o } from \"../../utils/helpers.js\";\nfunction a(l, t, f = 1) {\n  if (!t) return l;\n  const h = o(l), s = o(t);\n  if (!s || s.length < f) return l;\n  let i = \"\", e = 0, n = h.indexOf(s);\n  for (; n !== -1; )\n    i += l.slice(e, n), i += `<span class=\"dss-mark\">${l.slice(n, n + t.length)}</span>`, e = n + t.length, n = h.indexOf(s, e);\n  return i += l.slice(e), i;\n}\nfunction u(l, t, f = 1) {\n  if (!t) return l;\n  const h = o(l), s = t.split(/\\s+/).map((n) => o(n)).filter((n) => n.length >= f);\n  if (s.length === 0) return l;\n  let i = \"\", e = 0;\n  for (; e < l.length; ) {\n    let n = null, c = 0;\n    for (const r of s)\n      r.length !== 0 && h.startsWith(r, e) && r.length > c && (n = l.substr(e, r.length), c = r.length);\n    n ? (i += `<span class=\"dss-mark\">${n}</span>`, e += c) : (i += l[e], e++);\n  }\n  return i;\n}\nexport {\n  a as highlightText,\n  u as highlightTextMultiple\n};\n//# sourceMappingURL=marker.js.map\n","import { unsafeHTML as l } from \"lit/directives/unsafe-html.js\";\nimport { unsafeStatic as a, literal as r, html as t } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as $ } from \"../../api/custom-element-scope.js\";\nimport { highlightTextMultiple as h, highlightText as d } from \"../../api/marker/marker.js\";\nimport { nothing as s } from \"lit\";\nimport { classMap as T } from \"lit/directives/class-map.js\";\nimport { ifDefined as b } from \"lit/directives/if-defined.js\";\nconst g = r`dss-decorative-icon${a($())}`, v = r`dss-icon-badge${a($())}`, e = r`dss-tooltip${a($())}`, V = (i) => t`\n  <div\n    class=${T({\n  \"dss-item-list-base\": !0,\n  \"dss-item-list-base--first\": i.first\n})}\n  >\n    ${i.selectable ? t`\n        <slot name=\"selector\"></slot>\n      ` : s}\n\n    ${i.criticity ? t`\n          <${v} size=\"sm\"\n            state=\"${i.criticity}\"\n            label=\"${i.criticityLabel}\"\n            ?disabled=\"${i.disabled || i.criticityDisabled}\"\n          >\n            ${i.criticityLabel ? t`\n              <${e} \n                slot=\"tooltip\" \n                ?tooltipFixed=\"${i.tooltipFixed}\" \n                ?forceViewport=\"${i.forceViewport}\"\n              >\n                ${i.criticityLabel}\n              </${e}>` : s}\n          </${v}>  \n        ` : s}\n\n    <div class=\"item-details\">\n      ${i.date ? t`\n          <div class=\"item-details__date\"> \n            <span>\n              ${i.advancedHighlight ? l(\n  h(i.date, i.highlight || \"\", i.highlightThreshold)\n) : l(d(i.date, i.highlight || \"\", i.highlightThreshold))}\n            </span>\n          </div>\n        ` : s}\n      <div class=\"item-details__title\">\n        ${i.decorativeIcon ? t`\n              <${g} \n                icon=${i.decorativeIcon} \n                size=\"sm\" \n                state=${b(i.decorativeIconState)}\n                ?disabled=\"${i.disabled || i.decorativeIconDisabled}\"\n                ?fill=\"${i.decorativeIconFill}\"\n              >\n              </${g}>\n            ` : s}\n        ${i.interactive ? t`\n            <button \n              class=\"item-details__title-button\" \n              @mouseenter=${i._checkTextTruncate} \n              @click=${i._dispatchClickEvent}\n              ?disabled=\"${i.disabled}\"\n            >\n              ${i.advancedHighlight ? l(\n  h(\n    i.titleText,\n    i.highlight || \"\",\n    i.highlightThreshold\n  )\n) : l(\n  d(i.titleText, i.highlight || \"\", i.highlightThreshold)\n)}\n              <${e} \n                ?tooltipFixed=\"${i.tooltipFixed}\" \n                ?forceViewport=\"${i.forceViewport}\"\n                class=\"title-tooltip\" \n                aria-hidden=\"true\"\n                >${i.titleText}</${e}>\n            </button>\n          ` : t`\n            <div class=\"item-details__title-text\" @mouseenter=${i._checkTextTruncate}>\n              ${i.advancedHighlight ? l(\n  h(\n    i.titleText,\n    i.highlight || \"\",\n    i.highlightThreshold\n  )\n) : l(\n  d(i.titleText, i.highlight || \"\", i.highlightThreshold)\n)}\n              <${e} \n                ?tooltipFixed=\"${i.tooltipFixed}\"\n                ?forceViewport=\"${i.forceViewport}\"\n                class=\"title-tooltip\" \n                aria-hidden=\"true\"\n                >${i.titleText}</${e}>\n            </div>\n          `}\n      </div>\n      \n      ${i.subtitle ? t`\n          <div class=\"item-details__subtitle\" @mouseenter=${i._checkTextTruncate}>\n            ${i.advancedHighlight ? l(\n  h(i.subtitle, i.highlight || \"\", i.highlightThreshold)\n) : l(d(i.subtitle, i.highlight || \"\", i.highlightThreshold))}\n            <${e} \n              ?tooltipFixed=\"${i.tooltipFixed}\" \n              ?forceViewport=\"${i.forceViewport}\"\n              class=\"title-tooltip\" \n              aria-hidden=\"true\"\n              >${i.subtitle}</${e}>\n          </div>\n        ` : s}\n    </div>\n\n    <div class=\"item-actions\">\n      <slot/>\n    </div>\n  </div>\n`;\nexport {\n  V as itemListBaseTemplate\n};\n//# sourceMappingURL=item-list-base.template.js.map\n","const o = \".dss-mark{background-color:var(--color-yellow-200);color:var(--color-neutral-500)}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=marker.style.css.js.map\n","const t = \".dss-item-list-base{display:flex;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xs) 0;max-width:100%;border-top:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-item-list-base--first{border-top:none}.item-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--dss-spacing-xxs)}.item-details__date,.item-widget-description{font-size:14px;line-height:24px;color:var(--color-neutral-500);font-weight:var(--font-regular)}.item-details__title{display:flex;align-items:center;gap:var(--dss-spacing-xs);font-size:14px;line-height:24px;color:var(--color-neutral-900);font-weight:var(--font-semibold);flex:1}.item-details__title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-width:0;flex:1}.item-details__title-button{all:unset;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-width:0;flex:1;color:var(--color-primary-500);border-radius:var(--dss-radius-xs)}.item-details__title-button:visited{color:var(--color-purple-700)}.item-details__title-button:hover{color:var(--color-primary-600)}.item-details__title-button:active{color:var(--color-primary-400)}.item-details__title-button:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.item-details__title-button:disabled{cursor:not-allowed;color:var(--color-neutral-500)}.item-details__title-text .title-tooltip,.item-details__title-button .title-tooltip{display:none;white-space:wrap}.item-details__title-text[data-truncated=true] .title-tooltip,.item-details__title-button[data-truncated=true] .title-tooltip{display:block}.item-details__subtitle{font-size:14px;line-height:24px;color:var(--color-neutral-700);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-width:0;flex:1}.item-details__subtitle .title-tooltip{display:none}.item-details__subtitle[data-truncated=true] .title-tooltip{display:inline-block}.item-actions{display:flex;align-items:center;gap:var(--dss-spacing-xs)}\";\nexport {\n  t as default\n};\n//# sourceMappingURL=item-list-base.style.css.js.map\n","import { LitElement as n, unsafeCSS as a } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport { itemListBaseTemplate as y } from \"./item-list-base.template.js\";\nimport f from \"../../api/marker/marker.style.css.js\";\nimport v from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as r } from \"../../utils/property-types.js\";\nimport g from \"../decorative-icon/decorative-icon.style.css.js\";\nimport m from \"./item-list-base.style.css.js\";\nvar u = Object.defineProperty, e = (l, o, s, h) => {\n  for (var p = void 0, c = l.length - 1, d; c >= 0; c--)\n    (d = l[c]) && (p = d(o, s, p) || p);\n  return p && u(o, s, p), p;\n};\nclass i extends n {\n  constructor() {\n    super(...arguments), this.disabled = !1, this.value = void 0, this.title = \"\", this.titleText = \"\", this.subtitle = void 0, this.date = void 0, this.decorativeIcon = void 0, this.decorativeIconState = void 0, this.decorativeIconDisabled = !1, this.decorativeIconFill = !1, this.criticity = void 0, this.criticityLabel = void 0, this.criticityDisabled = !1, this.first = !1, this.tooltipFixed = !1, this.tooltipPosition = \"top\", this.interactive = !1, this.selectable = !1, this.forceViewport = !1, this.highlight = void 0, this.highlightThreshold = 2, this.advancedHighlight = !1;\n  }\n  static get styles() {\n    return [\n      a(v),\n      a(g),\n      a(m),\n      a(f)\n    ];\n  }\n  /* METHODS */\n  _checkTextTruncate(o) {\n    const s = o.target, h = s.scrollWidth > s.offsetWidth;\n    s.setAttribute(\"data-truncated\", h.toString());\n  }\n  _dispatchClickEvent(o) {\n    o.stopPropagation(), o.preventDefault(), this.dispatchEvent(\n      new CustomEvent(\"item-click\", {\n        detail: { originalEvent: o },\n        bubbles: !1,\n        composed: !1\n      })\n    );\n  }\n  /* LIT LIFECYCLE */\n  updated(o) {\n    super.updated(o), o.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"\" && (this.titleText = this.title);\n    });\n  }\n  render() {\n    return y(this);\n  }\n}\ne([\n  t(r)\n], i.prototype, \"disabled\");\ne([\n  t({ type: String })\n], i.prototype, \"value\");\ne([\n  t({ type: String })\n], i.prototype, \"title\");\ne([\n  t({ type: String })\n], i.prototype, \"titleText\");\ne([\n  t({ type: String })\n], i.prototype, \"subtitle\");\ne([\n  t({ type: String })\n], i.prototype, \"date\");\ne([\n  t({ type: String })\n], i.prototype, \"decorativeIcon\");\ne([\n  t({ type: String })\n], i.prototype, \"decorativeIconState\");\ne([\n  t(r)\n], i.prototype, \"decorativeIconDisabled\");\ne([\n  t(r)\n], i.prototype, \"decorativeIconFill\");\ne([\n  t({ type: String })\n], i.prototype, \"criticity\");\ne([\n  t({ type: String })\n], i.prototype, \"criticityLabel\");\ne([\n  t(r)\n], i.prototype, \"criticityDisabled\");\ne([\n  t(r)\n], i.prototype, \"first\");\ne([\n  t(r)\n], i.prototype, \"tooltipFixed\");\ne([\n  t({ type: String })\n], i.prototype, \"tooltipPosition\");\ne([\n  t(r)\n], i.prototype, \"interactive\");\ne([\n  t(r)\n], i.prototype, \"selectable\");\ne([\n  t(r)\n], i.prototype, \"forceViewport\");\ne([\n  t({ type: String })\n], i.prototype, \"highlight\");\ne([\n  t({ type: Number })\n], i.prototype, \"highlightThreshold\");\ne([\n  t(r)\n], i.prototype, \"advancedHighlight\");\nexport {\n  i as ItemListBase\n};\n//# sourceMappingURL=item-list-base.js.map\n","import { unsafeStatic as l, literal as a, html as e } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as o } from \"../../api/custom-element-scope.js\";\nimport { classMap as w } from \"lit/directives/class-map.js\";\nimport { ifDefined as d } from \"lit/directives/if-defined.js\";\nconst $ = a`dss-badge${l(o())}`, g = a`dss-icon-badge${l(o())}`, c = a`dss-tooltip${l(o())}`, r = a`dss-chip${l(o())}`, x = a`dss-icon${l(o())}`, p = a`dss-icon-button${l(o())}`, f = a`dss-decorative-icon${l(o())}`, F = (t) => e`\n  <div\n    class=${w({\n  \"dss-item-list\": !0,\n  \"dss-item-list--widget\": t.widget,\n  \"dss-item-list--slotted\": t.items === void 0\n})}\n  >\n    ${t.items ? I(t) : e`<slot/>`}\n  </div>\n`, I = (t) => {\n  var u;\n  return (u = t.items) == null ? void 0 : u.map((i) => {\n    var v, b;\n    const h = (s) => {\n      const n = s.target, S = n.scrollWidth > n.offsetWidth;\n      n.setAttribute(\"data-truncated\", S.toString());\n    };\n    return e`\n      <div class=\"dss-item-list__item\">\n        ${t.widget && i.iconBadgeLeftState ? e`\n              <div class=\"item-widget-badge\">\n                <${g} size=\"sm\"\n                  state=\"${d(i.iconBadgeLeftState)}\"\n                  icon=\"${d(i.iconBadgeLeftIcon)}\"\n                  aria-label=\"${i.iconBadgeLabel}\"\n                > \n                  ${i.iconBadgeLabel ? e`\n                    <${c} \n                      slot=\"tooltip\" \n                      aria-hidden=\"true\" \n                      ?tooltipFixed=\"${t.tooltipFixed}\"\n                      ?forceViewport=\"${t.forceViewport}\"\n                      >\n                      ${i.iconBadgeLabel}\n                      </${c}>` : null}\n                </${g}>  \n              </div>\n            ` : null}\n\n        <div class=\"item-details\">\n          ${t.widget && i.date ? e`\n                <div class=\"item-details__date\">\n                  <span>${i.date}</span>\n                </div>\n              ` : null}\n          <div class=\"item-details__title\">\n            ${i.decorativeIcon ? e`\n                  <${f} icon=${i.decorativeIcon} size=\"sm\" state=${d(i.decorativeIconType)}\n                  >\n                  </${f}>\n                ` : null}\n            <div class=\"item-details__title-text\" @mouseenter=${h}>\n              ${i.title}\n              <${c} \n                ?forceViewport=\"${t.forceViewport}\"\n                ?tooltipFixed=\"${t.tooltipFixed}\" \n                class=\"title-tooltip\" \n                slot=\"tooltip\" \n                aria-hidden=\"true\"\n                >${i.title}</${c}>\n            </div>\n          </div>\n          <div class=\"item-details__subtitle\" @mouseenter=${h}>\n            ${i.subtitle}\n            <${c} \n              ?forceViewport=\"${t.forceViewport}\"\n              ?tooltipFixed=\"${t.tooltipFixed}\" \n              class=\"title-tooltip\" \n              slot=\"tooltip\" \n              aria-hidden=\"true\"\n              >${i.subtitle}</${c}>\n          </div>\n        </div>\n\n        ${i.id ? e`\n          <slot name=\"item-custom-${i.id}\"></slot>\n        ` : e`\n          ${i.badgeText && !t.widget ? i.badgeIcon ? e`\n                  <div class=\"item-action\">\n                    <${$}\n                      text=\"${i.badgeText}\"\n                      icon=\"${i.badgeIcon}\"\n                      size=\"${i.badgeSize ? i.badgeSize : \"sm\"}\"\n                      state=\"${i.badgeState ? i.badgeState : \"undeterminated\"}\"\n                    >\n                    </${$}>\n                  </div>\n                ` : e`\n                  <div class=\"item-action\">\n                    <${$}\n                      text=\"${i.badgeText}\"\n                      size=\"${i.badgeSize ? i.badgeSize : \"sm\"}\"\n                      state=\"${i.badgeState ? i.badgeState : \"undeterminated\"}\"\n                    >\n                    </${$}>\n                  </div>\n                ` : null}\n          \n          ${i.chipText && !t.widget ? e`\n                \n                <${r} \n                  size=\"${i.chipSize ? i.chipSize : \"xs\"}\" \n                  icon=${d(i.chipIcon)}\n                  label=\"${i.chipText}\" \n                  disableSelect\n                  ?selected=${i.chipSelected}\n                  @click=${() => t._dispatchItemChip(i)}></${r}>\n              \n              ` : null}\n\n          ${i.actionIcon && !t.widget ? e`\n                <div class=\"item-action\">\n                  <${p} \n                    size=\"md\" \n                    icon=${i.actionIcon} \n                    label=\"${i.actionLabel}\" \n                    variant=${i.actionIconType ? i.actionIconType : \"primary\"} \n                    ?tooltipFixed=${t.tooltipFixed}\n                    ?forceViewport=\"${t.forceViewport}\"\n                    tooltipPosition=\"${t.tooltipPosition}\"\n                    @click=${() => t._dispatchItemAction(i)}>\n                  </${p}>\n                </div>\n              ` : null}\n          ${t.widget ? e`\n                <div class=\"item-widget\">\n                  ${i.description ? e`\n                        <div class=\"item-widget-description\">\n                          ${i.description}\n                        </div>\n                      ` : null}\n                  ${(v = i.icons) != null && v.length ? e`\n                        ${i.icons.map(\n      (s) => e`\n                            <${x} size=\"md\" icon=\"${s.icon}\"></${x}>\n                          `\n    )}\n                      ` : null}\n                  ${i.iconBadgeRightState ? e`\n                        <${g}\n                          size=\"sm\"\n                          state=\"${d(i.iconBadgeRightState)}\"\n                          icon=\"${d(i.iconBadgeRightIcon)}\"\n                        />\n                      ` : null}\n                  ${i.chipText ? e`\n                        <${r} \n                          size=\"${i.chipSize ? i.chipSize : \"xs\"}\" \n                          icon=${d(i.chipIcon)}\n                          label=\"${i.chipText}\" \n                          disableSelect\n                          ?selected=${i.chipSelected}\n                          @click=${() => t._dispatchItemChip(i)}></${r}>\n                      ` : null}\n                  ${(b = i.actions) != null && b.length ? e`\n                        ${i.actions.map(\n      (s) => e`\n                            <${p}\n                              label=\"${s.label}\"\n                              icon=\"${s.icon}\"\n                              variant=\"${s.type}\"\n                              ?tooltipFixed=${t.tooltipFixed}\n                              ?forceViewport=\"${t.forceViewport}\"\n                              tooltipPosition=\"${t.tooltipPosition}\"\n                              ?hideTooltip=\"${t.hideTooltip}\"\n                              @onClick=${() => t._dispatchWidgetAction(i, s.action)}\n                            />\n                          `\n    )}\n                      ` : null}\n                </div>\n              ` : null}\n        `}\n      </div>\n    `;\n  });\n};\nexport {\n  F as itemListTemplate\n};\n//# sourceMappingURL=item-list.template.js.map\n","const t = \":host{display:block;width:100%;max-width:100%;font-family:var(--font-family);overflow-x:hidden}.dss-item-list{padding:0 var(--dss-spacing-md)}.dss-item-list--slotted{display:flex;flex-direction:column}.dss-item-list__item{display:flex;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xs) 0;max-width:100%}.dss-item-list__item+.dss-item-list__item{border-top:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-item-list .dss-item-list__item:last-child{padding-bottom:0}.item-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--dss-spacing-xxs)}.item-details__date,.item-widget-description{font-size:14px;line-height:24px;color:var(--color-neutral-500);font-weight:var(--font-regular)}.item-details__title{display:flex;align-items:center;gap:var(--dss-spacing-xs);font-size:14px;line-height:24px;color:var(--color-neutral-900);font-weight:var(--font-semibold);flex:1}.item-details__title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-width:0;flex:1}.item-details__title-text .title-tooltip{display:none;white-space:wrap}.item-details__title-text[data-truncated=true] .title-tooltip{display:block}.item-details__subtitle{font-size:14px;line-height:24px;color:var(--color-neutral-700);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-width:0;flex:1}.item-details__subtitle .title-tooltip{display:none}.item-details__subtitle[data-truncated=true] .title-tooltip{display:inline-block}.item-widget{display:flex;align-items:center;gap:var(--dss-spacing-xs);flex-shrink:0}.dss-item-list--widget{padding:0}.dss-item-list--widget .item-details{gap:0}::slotted(div){display:flex;align-items:center;gap:var(--dss-spacing-xs)}\";\nexport {\n  t as default\n};\n//# sourceMappingURL=item-list.style.css.js.map\n","import { LitElement as c, unsafeCSS as f } from \"lit\";\nimport { property as o } from \"lit/decorators.js\";\nimport { itemListTemplate as u } from \"./item-list.template.js\";\nimport h from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as l } from \"../../utils/property-types.js\";\nimport y from \"../decorative-icon/decorative-icon.style.css.js\";\nimport v from \"./item-list.style.css.js\";\nimport { getCustomElementSuffix as g } from \"../../api/custom-element-scope.js\";\nvar b = Object.defineProperty, s = (m, t, e, n) => {\n  for (var i = void 0, p = m.length - 1, d; p >= 0; p--)\n    (d = m[p]) && (i = d(t, e, i) || i);\n  return i && b(t, e, i), i;\n};\nclass r extends c {\n  constructor() {\n    super(...arguments), this.items = void 0, this.widget = !1, this.hideTooltip = !1, this.tooltipFixed = !1, this.forceViewport = !1, this.tooltipPosition = \"top\", this.variant = \"default\";\n  }\n  static get styles() {\n    return [f(h), f(y), f(v)];\n  }\n  // 'checkbox' | 'radio' | 'default'\n  /* METHODS */\n  _dispatchItemAction(t) {\n    const e = {\n      detail: t,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onClickItem\", e));\n  }\n  _dispatchItemChip(t) {\n    const e = {\n      detail: t,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onClickItemChip\", e));\n  }\n  _dispatchWidgetAction(t, e) {\n    const n = {\n      detail: { item: t, action: e },\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onClickWidgetAction\", n));\n  }\n  _applyDivider() {\n    var n, i;\n    if ((n = this.items) != null && n.length) return;\n    const t = (i = this.shadowRoot) == null ? void 0 : i.querySelectorAll(\"slot\");\n    if (!t || t.length === 0) return;\n    let e = !0;\n    t.forEach((p) => {\n      p.assignedElements({ flatten: !0 }).forEach((a) => {\n        a instanceof HTMLElement && a.tagName.toLowerCase() === `dss-item-list-base${g()}` && (e ? (a.setAttribute(\"first\", \"\"), e = !1) : a.removeAttribute(\"first\"));\n      });\n    });\n  }\n  /* LIT LIFECYCLE */\n  async firstUpdated() {\n    await this.updateComplete, this._applyDivider();\n  }\n  render() {\n    return u(this);\n  }\n}\ns([\n  o({ type: Array })\n], r.prototype, \"items\");\ns([\n  o(l)\n], r.prototype, \"widget\");\ns([\n  o(l)\n], r.prototype, \"hideTooltip\");\ns([\n  o(l)\n], r.prototype, \"tooltipFixed\");\ns([\n  o(l)\n], r.prototype, \"forceViewport\");\ns([\n  o({ type: String })\n], r.prototype, \"tooltipPosition\");\ns([\n  o({ type: String })\n], r.prototype, \"variant\");\nexport {\n  r as ItemList\n};\n//# sourceMappingURL=item-list.js.map\n","const e = ':root{--legend-bg-color: var(--color-neutral-100)}.dss-legend{display:flex;flex-direction:row;gap:8px;height:-moz-fit-content;height:fit-content;font-weight:400;font-size:12px;line-height:16px}.dss-legend--column{flex-direction:column;gap:8px}.dss-legend__item{list-style:none;display:flex;align-items:center}.dss-legend__icon{display:flex;align-items:center;gap:8px;height:-moz-fit-content;height:fit-content;font-weight:400;font-size:12px;line-height:16px}.dss-legend__item:before{content:\"\";display:inline-block;background-color:var(--legend-bg-color);width:16px;height:16px;border-radius:4px;margin-right:8px}';\nexport {\n  e as default\n};\n//# sourceMappingURL=legend.style.css.js.map\n","import { unsafeStatic as o, literal as i, html as e } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as t } from \"../../api/custom-element-scope.js\";\nconst a = i`dss-icon${o(t())}`, c = (l) => e`\n  <li class=\"dss-legend__icon\" aria-label=${l.label}>\n    <${a} style=\"color: var(--color-${l.color}-${l.shade});\" icon=\"${l.icon || \"\"}\"></${a}>\n    ${l.label}\n  </li>\n`, n = (l) => e`\n  <li\n    class=\"dss-legend__item\"\n    style=\"--legend-bg-color: var(--color-${l.color}-${l.shade});\"\n    aria-label=${l.label}\n  >\n    ${l.label}\n  </li>\n`, g = (l) => {\n  const r = Array.isArray(l.items) ? l.items.slice(0, Math.min(l.itemsPerRowOrColumn, 5)) : [];\n  return e`\n    <div aria-label=\"Legenda informativa del gràfic\">\n      <ul\n        class=\"dss-legend ${l.orientation === \"column\" ? \"dss-legend--column\" : \"\"}\"\n      >\n        ${r.map((s) => l.type === \"icon\" ? c(s) : n(s))}\n      </ul>\n    </div>\n  `;\n};\nexport {\n  g as template\n};\n//# sourceMappingURL=legend.template.js.map\n","import { LitElement as l, unsafeCSS as y } from \"lit\";\nimport { property as e } from \"lit/decorators.js\";\nimport a from \"../../shared/reset.style.css.js\";\nimport f from \"./legend.style.css.js\";\nimport { template as u } from \"./legend.template.js\";\nvar d = Object.defineProperty, r = (p, s, n, h) => {\n  for (var t = void 0, i = p.length - 1, m; i >= 0; i--)\n    (m = p[i]) && (t = m(s, n, t) || t);\n  return t && d(s, n, t), t;\n};\nclass o extends l {\n  constructor() {\n    super(...arguments), this.orientation = \"row\", this.items = [], this.itemsPerRowOrColumn = 5, this.type = \"color\";\n  }\n  static get styles() {\n    return [y(a), y(f)];\n  }\n  render() {\n    return u(this);\n  }\n}\nr([\n  e({ type: String })\n], o.prototype, \"orientation\");\nr([\n  e({ type: Array })\n], o.prototype, \"items\");\nr([\n  e({ type: Number })\n], o.prototype, \"itemsPerRowOrColumn\");\nr([\n  e({ type: String })\n], o.prototype, \"type\");\nexport {\n  o as Legend\n};\n//# sourceMappingURL=legend.js.map\n","const r = \":host{display:inline;font-size:inherit;--link-primary-bg: var(--color-primary-500);--link-primary-hover-bg: var(--color-primary-600);--link-primary-active-bg: var(--color-primary-400);--link-primary-disabled-bg: var(--color-neutral-100);--link-primary-text-color: var(--color-white);--link-primary-disabled-text-color: var(--color-neutral-600);--link-secondary-bg: var(--color-white);--link-secondary-border-color: var(--color-primary-500);--link-secondary-hover-border-color: var(--color-primary-600);--link-secondary-hover-bg: var(--color-primary-50);--link-secondary-active-border-color: var(--color-primary-400);--link-secondary-disabled-border-color: var(--color-neutral-500)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary){display:inline-flex;align-items:center;gap:var(--dss-spacing-xxs);font-family:var(--font-family);font-size:inherit;font-weight:inherit;line-height:inherit;color:var(--color-primary-500);text-decoration:none;transition:.2s all ease-in}.dss-link:not(.dss-link--primary):not(.dss-link--secondary).dss-link--sm{padding:var(--dss-spacing-xxs) 0;font-size:12px;line-height:16px}.dss-link:not(.dss-link--primary):not(.dss-link--secondary).dss-link--md{padding:var(--dss-spacing-xxs) 0;font-size:14px;line-height:24px}.dss-link:not(.dss-link--primary):not(.dss-link--secondary).dss-link--lg{padding:var(--dss-spacing-xs) 0;font-size:16px;line-height:24px}.dss-link:not(.dss-link--primary):not(.dss-link--secondary):visited{color:var(--color-primary-500)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary):hover{color:var(--color-primary-600)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary):active{color:var(--color-primary-400)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary):focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary).dss-link--disabled{cursor:not-allowed;color:var(--color-neutral-500)!important}.dss-link:not(.dss-link--primary):not(.dss-link--secondary).dss-link--regular{font-weight:var(--font-regular)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary).dss-link--semibold{font-weight:var(--font-semibold)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary).dss-link--bold{font-weight:var(--font-bold)}.dss-link:not(.dss-link--primary):not(.dss-link--secondary) .dss-link-text{text-decoration:underline}.dss-link--icon-right{flex-direction:row-reverse}.dss-link--standalone.dss-link--full-width{width:100%;justify-content:center}.dss-link--standalone:not(.dss-link--full-width){max-width:280px;overflow:hidden}.dss-link--standalone .dss-link-text{font-weight:var(--font-semibold)}.dss-link--primary,.dss-link--secondary{border-radius:128px;border:none;cursor:pointer;font-family:var(--font-family);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--dss-spacing-xxs);transition:.3s all ease-in;width:-moz-fit-content;width:fit-content;height:32px;box-sizing:border-box;white-space:nowrap;text-decoration:none}.dss-link--primary.dss-link--sm,.dss-link--secondary.dss-link--sm{padding:var(--dss-spacing-xxs) var(--dss-spacing-sm);font-size:12px;line-height:16px;height:24px}.dss-link--primary.dss-link--md,.dss-link--secondary.dss-link--md{padding:var(--dss-spacing-xxs) var(--dss-spacing-md);font-size:14px;line-height:24px}.dss-link--primary.dss-link--lg,.dss-link--secondary.dss-link--lg{padding:var(--dss-spacing-xs) var(--dss-spacing-lg);font-size:16px;line-height:24px;height:40px}.dss-link--primary:focus-visible,.dss-link--secondary:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-link--primary:disabled,.dss-link--secondary:disabled{background:var(--color-neutral-100);color:var(--color-neutral-600);cursor:not-allowed}.dss-link--primary:active:enabled,.dss-link--secondary:active:enabled{transition:none}.dss-link--primary{background-color:var(--link-primary-bg);color:var(--link-primary-text-color)}.dss-link--primary:hover{background-color:var(--link-primary-hover-bg)}.dss-link--primary:active{background-color:var(--link-primary-active-bg)}.dss-link--primary.dss-link--disabled{background-color:var(--link-primary-disabled-bg);color:var(--link-primary-disabled-text-color);cursor:not-allowed}.dss-link--primary:visited{color:var(--link-primary-text-color)}.dss-link--secondary{background-color:var(--color-white);border:var(--dss-border-width-sm) solid var(--link-secondary-border-color);color:var(--link-secondary-border-color)}.dss-link--secondary:hover{background-color:var(--link-secondary-hover-bg);border-color:var(--link-secondary-hover-border-color);color:var(--link-secondary-hover-border-color)}.dss-link--secondary:active{background-color:var(--color-white);border:var(--dss-border-width-sm) solid var(--link-secondary-active-border-color);color:var(--link-secondary-active-border-color)}.dss-link--secondary:focus-visible{border-color:transparent;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-link--secondary.dss-link--disabled{background:var(--color-white);border-color:var(--link-secondary-disabled-border-color);color:var(--link-secondary-disabled-border-color);cursor:not-allowed}.dss-link-text{text-decoration:underline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dss-link .dss-link__tooltip{white-space:wrap}.dss-link:not(.dss-link--only-icon) .dss-link__tooltip{opacity:0;visibility:hidden}.dss-link[data-truncated=true]:hover .dss-link__tooltip{opacity:1;visibility:visible}\";\nexport {\n  r as default\n};\n//# sourceMappingURL=link.style.css.js.map\n","import { classMap as e } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as d, literal as r, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as t } from \"../../api/custom-element-scope.js\";\nconst l = r`dss-icon${d(t())}`, a = r`dss-tooltip${d(t())}`, k = (i) => s`\n  <a\n    href=\"${i.disabled ? \"javascript:void(0)\" : i.href}\"\n    target=\"${i.disabled ? \"_self\" : i.target}\"\n    ?download=\"${i.download}\"\n    class=${e({\n  \"dss-link\": !0,\n  \"dss-link--standalone\": !!i.size && !!i.variant,\n  [`dss-link--${i.variant}`]: i.variant,\n  [`dss-link--${i.size}`]: !!i.size,\n  \"dss-link--full-width\": !!i.fullWidth,\n  \"dss-link--disabled\": !!i.disabled,\n  \"dss-link--icon-right\": !!i.icon && i.iconPosition === \"right\",\n  [`dss-link--${i.fontWeight}`]: i.fontWeight !== \"inherit\"\n})}\n\t @mouseenter=${i.checkTextTruncate}\n  >\n    ${i.icon ? s`\n          <${l} size=\"${i._getIconSize()}\" icon=\"${i.icon}\"></${l}>\n        ` : null}\n    <span class=\"dss-link-text\">${i.label}</span>\n\t\t${i.size && i.variant ? s`\n\t\t\t<${a} \n\t\t\t\tclass=\"dss-link__tooltip\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\t?forceViewport=\"${i.forceViewport}\" \n\t\t\t\t?tooltipFixed=\"${i.tooltipFixed}\" \n\t\t\t>\n\t\t\t\t${i.label}\n\t\t\t</${a}>\n\t\t\t` : null}\n  </a>\n`;\nexport {\n  k as template\n};\n//# sourceMappingURL=link.template.js.map\n","import { LitElement as d, unsafeCSS as f } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport y from \"../../foundations/icon/icon.style.css.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport { booleanType as p } from \"../../utils/property-types.js\";\nimport c from \"./link.style.css.js\";\nimport { template as S } from \"./link.template.js\";\nvar g = Object.defineProperty, e = (a, r, s, n) => {\n  for (var o = void 0, l = a.length - 1, h; l >= 0; l--)\n    (h = a[l]) && (o = h(r, s, o) || o);\n  return o && g(r, s, o), o;\n};\nclass i extends d {\n  constructor() {\n    super(...arguments), this.variant = \"default\", this.href = \"#\", this.label = \"\", this.icon = void 0, this.size = void 0, this.iconSize = \"sm\", this.iconPosition = \"left\", this.disabled = !1, this.download = !1, this.target = \"_self\", this.fontWeight = \"inherit\", this.fontSize = \"inherit\", this.fullWidth = !1, this.tooltipFixed = !1, this.forceViewport = !1;\n  }\n  static get styles() {\n    return [f(y), f(u), f(c)];\n  }\n  updated(r) {\n    r.has(\"variant\") && queueMicrotask(() => {\n      this.variant !== \"default\" && this.size === void 0 && (this.size = \"lg\");\n    }), r.has(\"fontSize\") && queueMicrotask(() => {\n      var n;\n      if (this.variant !== \"default\" || this.size !== void 0) return;\n      const s = (n = this.shadowRoot) == null ? void 0 : n.querySelector(\"a.dss-link\");\n      s && (s.style.fontSize = this.fontSize);\n    });\n  }\n  _getIconSize() {\n    return this.size ? this.size === \"lg\" ? \"md\" : \"sm\" : this.iconSize;\n  }\n  checkTextTruncate(r) {\n    if (!r) return;\n    const s = r.target;\n    let n = !1;\n    const o = s.querySelector(\".dss-link-text\");\n    n = o.scrollWidth > o.offsetWidth, s.setAttribute(\"data-truncated\", n.toString());\n  }\n  render() {\n    return S(this);\n  }\n}\ne([\n  t({ type: String })\n], i.prototype, \"variant\");\ne([\n  t({ type: String })\n], i.prototype, \"href\");\ne([\n  t({ type: String })\n], i.prototype, \"label\");\ne([\n  t({ type: String })\n], i.prototype, \"icon\");\ne([\n  t({ type: String })\n], i.prototype, \"size\");\ne([\n  t({ type: String })\n], i.prototype, \"iconSize\");\ne([\n  t({ type: String })\n], i.prototype, \"iconPosition\");\ne([\n  t(p)\n], i.prototype, \"disabled\");\ne([\n  t(p)\n], i.prototype, \"download\");\ne([\n  t({ type: String })\n], i.prototype, \"target\");\ne([\n  t({ type: String })\n], i.prototype, \"fontWeight\");\ne([\n  t({ type: String })\n], i.prototype, \"fontSize\");\ne([\n  t(p)\n], i.prototype, \"fullWidth\");\ne([\n  t(p)\n], i.prototype, \"tooltipFixed\");\ne([\n  t(p)\n], i.prototype, \"forceViewport\");\nexport {\n  i as Link\n};\n//# sourceMappingURL=link.js.map\n","const e = \".dss-list-menu{display:flex;min-width:200px;justify-content:flex-start;flex-direction:column;min-width:160px;width:100%;color:var(--color-neutral-900);gap:var(--dss-spacing-xxs)}.dss-list-menu-header{display:flex;justify-content:flex-start;flex-direction:column;padding-bottom:var(--dss-spacing-xs);gap:var(--dss-spacing-xxs)}.dss-list-menu-header-title{display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs);box-sizing:border-box;color:var(--color-neutral-900);font-size:1.25rem;line-height:1.875rem;font-weight:var(--font-bold);padding:0;overflow:hidden}.dss-list-menu-header-description{box-sizing:border-box;padding:0;font-size:.875rem;line-height:1.5rem}.dss-list-menu-title{display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs);box-sizing:border-box;font-size:1.25rem;line-height:1.875rem;font-weight:var(--font-bold);padding:var(--dss-spacing-sm) var(--dss-spacing-md);height:40px;overflow:hidden}.dss-list-menu-description{box-sizing:border-box;padding:0 var(--dss-spacing-md);font-size:.875rem;line-height:1.5rem}.dss-list-menu-nav{display:flex;justify-content:flex-start;flex-direction:column;gap:var(--dss-spacing-xxs);margin:0;padding:0;list-style:none}.dss-list-menu-item{display:flex;justify-content:space-between;align-items:center;gap:var(--dss-spacing-xs);min-width:10rem;box-sizing:border-box;width:100%;max-width:100%;height:40px;overflow:hidden;font-size:.875rem;line-height:1.5rem;font-weight:var(--font-semibold);color:var(--color-neutral-900);border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-xs) var(--dss-spacing-sm);background-color:transparent;transition:background-color .3s ease-in-out,color .3s ease-in-out;cursor:pointer}.dss-list-menu-item:not(.dss-list-menu-item.disabled):hover{background-color:var(--color-primary-100)}.dss-list-menu-item:not(.dss-list-menu-item.disabled):active{background-color:var(--color-primary-50)}.dss-list-menu-item:not(.dss-list-menu-item.disabled):focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-list-menu-item.dss-list-menu-item.disabled{cursor:not-allowed;background-color:var(--color-neutral-50);color:var(--color-neutral-500);font-weight:var(--font-regular)}.dss-list-menu-item.selected{background-color:var(--color-primary-50)}.dss-list-menu-item__content-text{flex:1;height:24px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dss-list-menu-item__action{display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs)}.notification-placeholder{display:flex;align-items:center;justify-content:center;width:24px;height:24px}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=list-menu.style.css.js.map\n","import { nothing as t } from \"lit\";\nimport { classMap as u } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as l, literal as a, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as c } from \"../../api/custom-element-scope.js\";\nconst d = a`dss-icon${l(c())}`, m = a`dss-notification-badge${l(c())}`, f = a`dss-decorative-icon${l(c())}`, r = a`dss-tooltip${l(c())}`, g = (s) => {\n  var n;\n  return i`\n  <div class=\"dss-list-menu\">\n    ${s.titleText || s.description ? i`\n      <div class=\"dss-list-menu-header\">\n        <h4 class=\"dss-list-menu-header-title\" id=\"menu-title\">\n          ${s.icon ? i`<${f} icon=\"${s.icon}\" state=\"default\" size=\"md\" />` : \"\"}\n          ${s.titleText}\n        </h4>\n        <p class=\"dss-list-menu-header-description\" id=\"menu-description\">\n          ${s.description}\n        </p>\n      </div>\n    ` : t}\n    \n    <ul class=\"dss-list-menu-nav\" role=\"menu\" aria-labelledby=\"menu-title\" aria-describedby=\"menu-description\">\n      ${(n = s.items) == null ? void 0 : n.map((e, o) => {\n    const $ = {\n      \"dss-list-menu-item\": !0,\n      selected: s.selectedItemIndex === o,\n      disabled: !!e.disabled\n    };\n    return i`\n          <li\n            class=\"${u($)}\"\n            role=\"menuitem\"\n            aria-disabled=\"${e.disabled ? \"true\" : \"false\"}\"\n            tabindex=\"${e.disabled ? -1 : 0}\"\n            @click=\"${() => s.handleItemClick(o)}\"\n          >\n            <${d} icon=\"${e.icon}\"></${d}>\n            <span class=\"dss-list-menu-item__content-text\">${e.label}</span>\n            <div class=\"notification-placeholder\">\n              ${e.hasNotification ? i`<${m} dot state=\"succes\" type=\"default\" />` : t}\n            </div>\n            ${e.hasAction ? i`<${d} icon=\"chevron_right\"></${d}>` : t}\n            ${e.isTruncated ? i`<${r}>${e.label}</${r}>` : t}\n          </li>\n        `;\n  })}\n    </ul>\n  </div>\n`;\n};\nexport {\n  g as template\n};\n//# sourceMappingURL=list-menu.template.js.map\n","import { LitElement as p, unsafeCSS as h } from \"lit\";\nimport { property as l, state as m } from \"lit/decorators.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport f from \"./list-menu.style.css.js\";\nimport { template as y } from \"./list-menu.template.js\";\nvar _ = Object.defineProperty, n = (c, e, t, s) => {\n  for (var i = void 0, r = c.length - 1, d; r >= 0; r--)\n    (d = c[r]) && (i = d(e, t, i) || i);\n  return i && _(e, t, i), i;\n};\nclass o extends p {\n  constructor() {\n    super(), this.title = \"\", this.titleText = \"\", this.description = \"\", this.icon = null, this.items = [], this.disabled = !1, this.selectedItemIndex = null, this._isFirstUpdate = !0, this._resizeTimer = null, this._handleResizeBound = this._handleResize.bind(this);\n  }\n  static get styles() {\n    return [h(u), h(f)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), this.addEventListener(\"keydown\", this.onKeyDown), window.addEventListener(\"resize\", this._handleResizeBound), this._handleResize();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this.removeEventListener(\"keydown\", this.onKeyDown), window.removeEventListener(\"resize\", this._handleResizeBound);\n  }\n  _handleResize() {\n    this._isFirstUpdate || (this._resizeTimer && clearTimeout(this._resizeTimer), this._resizeTimer = setTimeout(() => {\n      this._checkTextsToTruncated();\n    }, 500));\n  }\n  handleItemClick(e) {\n    const t = this.items[e];\n    t.disabled || (this.selectedItemIndex = e, this.dispatchEvent(\n      new CustomEvent(\"item-clicked\", {\n        detail: { label: t.label },\n        bubbles: !0,\n        composed: !0\n      })\n    ));\n  }\n  onKeyDown(e) {\n    e.code === \"ArrowDown\" ? (e.preventDefault(), this.moveFocus(1)) : e.code === \"ArrowUp\" ? (e.preventDefault(), this.moveFocus(-1)) : (e.code === \"Enter\" || e.code === \"Space\" || e.code === \"NumpadEnter\") && (e.preventDefault(), this.selectedItemIndex !== null && this.handleItemClick(this.selectedItemIndex));\n  }\n  moveFocus(e) {\n    var i, r;\n    const t = ((i = this.shadowRoot) == null ? void 0 : i.querySelectorAll(\".dss-list-menu-item:not(.disabled)\")) || [];\n    if (t.length === 0) return;\n    let s = (this.selectedItemIndex ?? -1) + e;\n    s < 0 && (s = t.length - 1), s >= t.length && (s = 0), this.selectedItemIndex = Array.from(t).findIndex((d, a) => a === s), (r = t[s]) == null || r.focus();\n  }\n  _checkTextsToTruncated() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelectorAll(\".dss-list-menu-item__content-text\")) || [];\n    for (const [s, i] of e.entries()) {\n      const r = i.clientWidth, d = i.scrollWidth;\n      this.items[s].isTruncated = r < d;\n    }\n    this.requestUpdate();\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._checkTextsToTruncated(), this._isFirstUpdate = !1;\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  updated(e) {\n    super.updated(e), e.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"\" && (this.titleText = this.title);\n    });\n  }\n  render() {\n    return y(this);\n  }\n}\nn([\n  l({ type: String })\n], o.prototype, \"title\");\nn([\n  l({ type: String })\n], o.prototype, \"titleText\");\nn([\n  l({ type: String })\n], o.prototype, \"description\");\nn([\n  l({ type: String })\n], o.prototype, \"icon\");\nn([\n  l({ type: Array })\n], o.prototype, \"items\");\nn([\n  l({ type: String })\n], o.prototype, \"disabled\");\nn([\n  m()\n], o.prototype, \"selectedItemIndex\");\nexport {\n  o as ListMenu\n};\n//# sourceMappingURL=list-menu.js.map\n","const d = \":host{position:fixed;top:0;left:0;width:100%;height:100%;background-color:transparent;visibility:hidden;opacity:0;display:flex;justify-content:center;align-items:center;transition:background var(--animation-delay) ease-out,opacity var(--animation-delay) ease-out,visibility var(--animation-delay) ease-out;z-index:999}:host([open]){visibility:visible;background-color:#00000080}:host(.show){opacity:1;background-color:#00000080}:host(.hide){opacity:0;background-color:transparent}.dss-dialog{display:flex;flex-direction:column;box-sizing:border-box;width:-moz-fit-content;width:fit-content;min-width:400px;max-width:45%;max-height:80vh;background:var(--color-white);border-radius:var(--dss-radius-lg);box-shadow:var(--dss-elevation-md);visibility:hidden;transition:visibility var(--animation-delay) ease-out}.dss-dialog.dss-dialog--full-height{height:100%}.dss-dialog.dss-dialog--full-width{width:45%}:host(.show) .dss-dialog{visibility:visible}.dss-dialog-header{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:var(--dss-spacing-lg);padding-bottom:var(--dss-spacing-md);border-top-left-radius:var(--dss-radius-lg);border-top-right-radius:var(--dss-radius-lg)}.dss-dialog--has-header-slot .dss-dialog-header{gap:var(--dss-spacing-lg)}.dss-dialog-body{flex:1;padding:0 var(--dss-spacing-lg)}.dss-dialog--no-body-padding .dss-dialog-body{padding:0}.dss-dialog.dss-dialog--has-scroll .dss-dialog-body{overflow-y:auto;max-height:100%}.dss-dialog--flex-body .dss-dialog-body{display:flex}.dss-dialog--footer-empty .dss-dialog-body{padding-bottom:var(--dss-spacing-lg)}.dss-dialog-footer{display:flex;justify-content:center;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-lg);border-bottom-left-radius:var(--dss-radius-lg);border-bottom-right-radius:var(--dss-radius-lg)}.dss-dialog--footer-empty .dss-dialog-footer{padding:0;border-top:0!important}::slotted(div.dss-modal-footer){display:flex;justify-content:center;align-items:center;gap:var(--dss-spacing-xs)}.dss-dialog-header-state--danger,.dss-dialog-header-state--error{color:var(--color-red-500)}.dss-dialog-header-state--warning,.dss-dialog-header-state--alert{color:var(--color-yellow-700)}.dss-dialog-header-title{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--dss-spacing-xs);font-size:20px;line-height:30px;font-weight:var(--font-bold);color:var(--color-neutral-900);padding-left:var(--dss-spacing-xl);padding-right:var(--dss-spacing-xl);text-align:center}.dss-dialog-header-close{position:absolute;top:var(--dss-spacing-lg);right:calc(var(--dss-spacing-lg) - 4px)}.dss-dialog.dss-dialog--has-scroll .dss-dialog-header{background-color:var(--color-white);border-bottom:var(--color-white) solid var(--dss-border-width-sm);transition:border-top-color .25s ease-in-out}.dss-dialog.dss-dialog--has-scroll .dss-dialog-header.dss-dialog-header--scrolled{border-bottom-color:var(--color-neutral-100);box-shadow:0 1px 3px 1px #0000001a,0 1px 2px #0000000d}.dss-dialog.dss-dialog--has-scroll .dss-dialog-footer{background-color:var(--color-white);border-top:var(--color-white) solid var(--dss-border-width-sm);transition:border-top-color .25s ease-in-out;z-index:900}.dss-dialog.dss-dialog--has-scroll .dss-dialog-footer.dss-dialog-footer--scrolled{border-top-color:var(--color-neutral-100)}@media screen and (min-width: 1440px) and (max-width: 1919px){.dss-dialog:not(.dss-dialog--jcef){max-width:50%}.dss-dss-dialog.dss-dialog--full-width:not(.dss-dialog--jcef){width:50%}}@media only screen and (min-width: 1024px) and (max-width: 1439px){.dss-dialog:not(.dss-dialog--jcef){max-width:60%}.dss-dialog.dss-dialog--full-width:not(.dss-dialog--jcef){width:60%}}@media only screen and (max-width: 1023px){.dss-dialog:not(.dss-dialog--jcef){max-width:80%;min-width:300px}.dss-dialog.dss-dialog--full-width:not(.dss-dialog--jcef){width:80%}}@media screen and (min-width: 1419px) and (max-width: 1898px){.dss-dialog.dss-dialog--jcef{max-width:50%}.dss-dss-dialog.dss-dialog--full-width.dss-dialog--jcef{width:50%}}@media only screen and (min-width: 1003px) and (max-width: 1418px){.dss-dialog.dss-dialog--jcef{max-width:60%}.dss-dialog.dss-dialog--full-width.dss-dialog--jcef{width:60%}}@media only screen and (max-width: 1002px){.dss-dialog.dss-dialog--jcef{max-width:80%;min-width:300px}.dss-dialog.dss-dialog--full-width.dss-dialog--jcef{width:80%}}\";\nexport {\n  d as default\n};\n//# sourceMappingURL=modal.style.css.js.map\n","import { classMap as d } from \"lit/directives/class-map.js\";\nimport { ifDefined as f } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as e, literal as o, html as l } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as t } from \"../../api/custom-element-scope.js\";\nconst a = o`dss-icon${e(t())}`, i = o`dss-icon-button${e(t())}`, v = (s) => {\n  const r = {\n    \"dss-dialog--has-header-slot\": !!s._headerSlot,\n    \"dss-dialog--footer-empty\": !s._footerSlot,\n    \"dss-dialog--has-scroll\": s._hasScroll,\n    \"dss-dialog--full-width\": s.fullWidth,\n    \"dss-dialog--full-height\": s.fullHeight,\n    \"dss-dialog--flex-body\": s.flexBody,\n    \"dss-dialog--no-body-padding\": s.removeBodyPadding,\n    \"dss-dialog--jcef\": s.jcef\n  }, g = {\n    [`dss-dialog-header-state--${s._state}`]: !!s._state\n  };\n  return l`\n    <div\n      class=\"dss-dialog ${d(r)}\"\n      role=\"dialog\"\n      aria-labelledby=\"dss-dialog-title\"\n      aria-modal=\"true\"\n      style=\"${f(s._modalStyle)}\"\n    >\n      <div class=\"dss-dialog-header\">\n        ${s._hideCloseIcon ? null : l`\n              <${i} \n                class=\"dss-dialog-header-close\" \n                icon=\"close\"\n                size=\"lg\" \n                variant=\"default\" \n                label=\"Tancar modal\"\n                hideTooltip\n                @click=\"${s._close}\">\n              </${i}>\n            `}\n        \n        <div id=\"dss-dialog-title\" class=\"dss-dialog-header-title\">\n          ${s._isStateValid() ? l`\n                <${a} \n                  class=\"dss-dialog-header-state ${d(g)}\"\n                  size=\"xl\" \n                  icon=\"${s._getStateIcon()}\" \n                  fill>\n                </${a}>\n              ` : null}\n          ${s._modalTitle}\n        </div>\n\n        <div class=\"dss-dialog-header--extra\">\n          <slot name=\"header\"></slot>\n        </div>\n      </div>\n\n      <div class=\"dss-dialog-body\">\n        <slot name=\"body\"></slot>\n      </div>\n\n      <div class=\"dss-dialog-footer\">\n        <slot name=\"footer\"></slot>\n      </div>\n    </div>\n  `;\n};\nexport {\n  v as modalTemplate\n};\n//# sourceMappingURL=modal.template.js.map\n","import { LitElement as u, unsafeCSS as n } from \"lit\";\nimport { property as l } from \"lit/decorators.js\";\nimport y from \"../../foundations/icon/icon.style.css.js\";\nimport f from \"../../shared/scrollbar.style.css.js\";\nimport { booleanType as h } from \"../../utils/property-types.js\";\nimport g from \"../button/button.style.css.js\";\nimport S from \"../icon-button/icon-button.style.css.js\";\nimport v from \"./modal.style.css.js\";\nimport { modalTemplate as w } from \"./modal.template.js\";\nvar C = Object.defineProperty, H = Object.getOwnPropertyDescriptor, i = (c, e, t, o) => {\n  for (var s = o > 1 ? void 0 : o ? H(e, t) : e, a = c.length - 1, d; a >= 0; a--)\n    (d = c[a]) && (s = (o ? d(e, t, s) : d(s)) || s);\n  return o && s && C(e, t, s), s;\n};\nconst b = 250;\nclass r extends u {\n  constructor() {\n    super(), this.fullHeight = !1, this.fullWidth = !1, this.flexBody = !1, this.removeBodyPadding = !1, this.jcef = !1, this._open = !1, this._modalTitle = \"Title\", this._state = \"\", this._hideCloseIcon = !1, this._hasScroll = !1, this._modalStyle = void 0, this._scrollHandler = null, this._scrollContainer = null, this._modalHeader = null, this._modalFooter = null, this._handleKeydown = this._handleKeydown.bind(this), this._handleOutsideClick = this._handleOutsideClick.bind(this), this._scrollHandler = this._handleScroll.bind(this);\n  }\n  static get styles() {\n    return [\n      n(y),\n      n(f),\n      n(g),\n      n(S),\n      n(v)\n    ];\n  }\n  set open(e) {\n    const t = this._open;\n    this._open = e, this.requestUpdate(\"open\", t);\n  }\n  get open() {\n    return this._open;\n  }\n  set modalTitle(e) {\n    const t = this._modalTitle;\n    this._modalTitle = e, this.requestUpdate(\"modalTitle\", t);\n  }\n  get modalTitle() {\n    return this._modalTitle;\n  }\n  set state(e) {\n    const t = this._state;\n    this._state = e, this.requestUpdate(\"state\", t);\n  }\n  get state() {\n    return this._state;\n  }\n  set hideCloseIcon(e) {\n    const t = this._hideCloseIcon;\n    this._hideCloseIcon = e, this.requestUpdate(\"hideCloseIcon\", t);\n  }\n  get hideCloseIcon() {\n    return this._hideCloseIcon;\n  }\n  set hasScroll(e) {\n    const t = this._hasScroll;\n    this._hasScroll = e, this.requestUpdate(\"hasScroll\", t);\n  }\n  get hasScroll() {\n    return this._hasScroll;\n  }\n  set modalStyle(e) {\n    const t = this._modalStyle;\n    this._modalStyle = e, this.requestUpdate(\"modalStyle\", t);\n  }\n  get modalStyle() {\n    return this._modalStyle || \"\";\n  }\n  get _headerSlot() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"header\"]')) || void 0;\n    return e == null ? void 0 : e.assignedElements()[0];\n  }\n  get _footerSlot() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"footer\"]')) || void 0;\n    return e == null ? void 0 : e.assignedElements()[0];\n  }\n  connectedCallback() {\n    super.connectedCallback(), document.addEventListener(\"mousedown\", this._handleOutsideClick);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), document.removeEventListener(\"mousedown\", this._handleOutsideClick), this._scrollContainer && this._scrollHandler && this._scrollContainer.removeEventListener(\"scroll\", this._scrollHandler), this._scrollContainer = null;\n  }\n  updated(e) {\n    e.has(\"open\") && (this._open ? this._showDialog() : this._hideDialog());\n  }\n  _showDialog() {\n    this.classList.add(\"show\"), this.classList.remove(\"hide\"), setTimeout(() => {\n      this.classList.add(\"show\"), this.style.visibility = \"visible\";\n    }, 0), document.addEventListener(\"keydown\", this._handleKeydown), document.body.style.overflow = \"hidden\";\n  }\n  _hideDialog() {\n    this.classList.add(\"hide\"), this.classList.remove(\"show\"), setTimeout(() => {\n      this.classList.remove(\"hide\"), this.style.visibility = \"hidden\", document.removeEventListener(\"keydown\", this._handleKeydown);\n    }, b), document.body.style.overflow = \"\";\n  }\n  _close() {\n    this.open = !1, this._hideDialog(), this.requestUpdate();\n    const e = new Event(\"onModalClosed\");\n    this.dispatchEvent(e);\n    const t = new Event(\"onClose\");\n    this.dispatchEvent(t);\n  }\n  _isStateValid() {\n    return this._state === \"danger\" || this._state === \"error\" || this._state === \"warning\" || this._state === \"alert\";\n  }\n  _getStateIcon() {\n    let e = \"\";\n    switch (this._state) {\n      case \"danger\":\n        e = \"warning\";\n        break;\n      case \"error\":\n        e = \"warning\";\n        break;\n      case \"warning\":\n        e = \"error\";\n        break;\n      case \"alert\":\n        e = \"error\";\n        break;\n      default:\n        e = \"\";\n    }\n    return e;\n  }\n  _handleKeydown(e) {\n    e.key === \"Escape\" && this._close();\n  }\n  _handleOutsideClick(e) {\n    var t;\n    if (this._open) {\n      const o = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-dialog\"), s = e.composedPath();\n      o && s.includes(this) && !s.includes(o) && this._close();\n    }\n  }\n  fixEmptyFooter() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-dialog\");\n    e != null && e.classList.contains(\"dss-dialog--footer-empty\") && this.requestUpdate();\n  }\n  _handleScroll(e) {\n    var o, s, a, d;\n    const t = e.target;\n    t && (t.scrollTop > 0 ? (o = this._modalHeader) == null || o.classList.add(\"dss-dialog-header--scrolled\") : (s = this._modalHeader) == null || s.classList.remove(\"dss-dialog-header--scrolled\"), t.scrollHeight - t.scrollTop !== t.clientHeight ? (a = this._modalFooter) == null || a.classList.add(\"dss-dialog-footer--scrolled\") : (d = this._modalFooter) == null || d.classList.remove(\"dss-dialog-footer--scrolled\"));\n  }\n  async firstUpdated() {\n    var t, o, s, a, d;\n    await this.updateComplete, this._footerSlot && this.fixEmptyFooter();\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-dialog-body\");\n    if (this._hasScroll && e) {\n      this._scrollContainer = e, this._scrollHandler && this._scrollContainer.addEventListener(\"scroll\", this._scrollHandler), this._modalHeader = (o = this.shadowRoot) == null ? void 0 : o.querySelector(\".dss-dialog-header\"), this._modalFooter = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-dialog-footer\");\n      const _ = this._modalHeader ? this._modalHeader.clientHeight : 0, p = this._modalFooter ? this._modalFooter.clientHeight : 0, m = (((d = (a = this.shadowRoot) == null ? void 0 : a.querySelector(\".dss-dialog\")) == null ? void 0 : d.clientHeight) || 0) - _ - p;\n      e.scrollHeight > m && this._modalFooter.classList.add(\"dss-dialog-footer--scrolled\");\n    }\n  }\n  render() {\n    return w(this);\n  }\n}\ni([\n  l(h)\n], r.prototype, \"open\", 1);\ni([\n  l({ type: String })\n], r.prototype, \"modalTitle\", 1);\ni([\n  l({ type: String })\n], r.prototype, \"state\", 1);\ni([\n  l(h)\n], r.prototype, \"hideCloseIcon\", 1);\ni([\n  l(h)\n], r.prototype, \"hasScroll\", 1);\ni([\n  l({ type: String })\n], r.prototype, \"modalStyle\", 1);\ni([\n  l(h)\n], r.prototype, \"fullHeight\", 2);\ni([\n  l(h)\n], r.prototype, \"fullWidth\", 2);\ni([\n  l(h)\n], r.prototype, \"flexBody\", 2);\ni([\n  l(h)\n], r.prototype, \"removeBodyPadding\", 2);\ni([\n  l(h)\n], r.prototype, \"jcef\", 2);\nexport {\n  r as Modal\n};\n//# sourceMappingURL=modal.js.map\n","const e = \":host{width:100%}.dss-module-header{display:flex;align-items:center;justify-content:space-between;gap:var(--dss-spacing-md)}.dss-module-header :first-child{flex:1}.dss-module-header .dss-module-header__child-container{display:inline-flex;align-items:center;flex-wrap:wrap;flex-shrink:0;gap:var(--dss-spacing-md)}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=module-header.style.css.js.map\n","import { unsafeStatic as l, literal as d, html as t } from \"lit/static-html.js\";\nconst i = (s) => {\n  const e = d`${l(s.tag)}`;\n  return t`\n    <div class='dss-module-header'>\n      <${e} class='dss-headline--sm'>${s.titleText}</${e}>\n      <div class='dss-module-header__child-container'>\n        <p class='dss-legend--sm'>${s.legend}</p>\n        <slot></slot>\n      </div>\n    </div>\n`;\n};\nexport {\n  i as template\n};\n//# sourceMappingURL=module-header.template.js.map\n","import { LitElement as m, unsafeCSS as l } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport u from \"../../foundations/typography/typography.css.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport f from \"./module-header.style.css.js\";\nimport { template as d } from \"./module-header.template.js\";\nvar h = Object.defineProperty, i = (o, e, n, g) => {\n  for (var t = void 0, s = o.length - 1, a; s >= 0; s--)\n    (a = o[s]) && (t = a(e, n, t) || t);\n  return t && h(e, n, t), t;\n};\nclass p extends m {\n  constructor() {\n    super(...arguments), this.title = \"\", this.titleText = \"\", this.legend = \"\", this.tag = \"h2\";\n  }\n  static get styles() {\n    return [l(y), l(f), l(u)];\n  }\n  updated(e) {\n    super.updated(e), e.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"\" && (this.titleText = this.title);\n    });\n  }\n  render() {\n    return d(this);\n  }\n}\ni([\n  r({ type: String })\n], p.prototype, \"title\");\ni([\n  r({ type: String })\n], p.prototype, \"titleText\");\ni([\n  r({ type: String })\n], p.prototype, \"legend\");\ni([\n  r({ type: String })\n], p.prototype, \"tag\");\nexport {\n  p as ModuleHeader\n};\n//# sourceMappingURL=module-header.js.map\n","const o = \".dss-notification-badge{height:20px;width:20px;max-width:20px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:var(--font-semibold);color:var(--color-white);background-color:var(--color-red-500);transition:border-color .3s ease-in;box-sizing:border-box}.dss-notification-badge--dot{height:14px;width:14px}.dss-notification-badge--dot.dss-notification-badge--border-white,.dss-notification-badge--dot.dss-notification-badge--border-menu{height:12px;width:12px}.dss-notification-badge--border-white{border:var(--dss-border-width-md) solid var(--color-white)}.dss-notification-badge--border-menu{border:var(--dss-border-width-md) solid var(--color-primary-700)}.dss-notification-badge--success{background-color:var(--color-green-500)}.dss-notification-badge--error{background-color:var(--color-red-500)}.dss-notification-badge--alert{background-color:var(--color-yellow-500);color:var(--color-neutral-900)}.dss-notification-badge--info{background-color:var(--color-blue-500)}.dss-notification-badge--brand{background-color:var(--color-primary-200);color:var(--color-neutral-900)}.dss-notification-badge--hover{border-color:var(--color-primary-900)}.dss-notification-badge--active{border-color:var(--color-primary-800)}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=notification-badge.style.css.js.map\n","import { classMap as d } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as r, literal as b, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as f } from \"../../api/custom-element-scope.js\";\nconst t = b`dss-icon${r(f())}`, u = (i) => {\n  const e = {\n    \"dss-notification-badge--border-white\": i.borderWhite,\n    \"dss-notification-badge--dot\": i.dot,\n    \"dss-notification-badge--info\": i.state === \"info\",\n    \"dss-notification-badge--error\": i.state === \"error\",\n    \"dss-notification-badge--alert\": i.state === \"alert\",\n    \"dss-notification-badge--success\": i.state === \"success\",\n    \"dss-notification-badge--border-menu\": i.borderMenu,\n    \"dss-notification-badge--hover\": (i.borderMenu || i.borderWhite) && i.isHover,\n    \"dss-notification-badge--active\": (i.borderMenu || i.borderWhite) && i.isActive,\n    \"dss-notification-badge--brand\": i.type === \"brand\"\n  };\n  let s;\n  return !i.dot && i.icon ? s = a`<${t} size=\"sm\" icon=\"${i.icon}\"></${t}>` : !i.dot && i.value ? s = a`<span class=\"dss-notification-badge-value\"\n      >${i.value}</span\n    >` : s = null, a`\n    <div class=\"dss-notification-badge ${d(e)}\">\n      ${s}\n    </div>\n  `;\n};\nexport {\n  u as template\n};\n//# sourceMappingURL=notification-badge.template.js.map\n","import { LitElement as y, unsafeCSS as l } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport { booleanType as i } from \"../../utils/property-types.js\";\nimport u from \"./notification-badge.style.css.js\";\nimport { template as d } from \"./notification-badge.template.js\";\nvar m = Object.defineProperty, e = (p, n, a, h) => {\n  for (var o = void 0, s = p.length - 1, f; s >= 0; s--)\n    (f = p[s]) && (o = f(n, a, o) || o);\n  return o && m(n, a, o), o;\n};\nclass r extends y {\n  constructor() {\n    super(...arguments), this.icon = void 0, this.value = \"\", this.state = \"default\", this.type = \"default\", this.dot = !1, this.menu = !1, this.borderMenu = !1, this.borderWhite = !1, this.isHover = !1, this.isActive = !1;\n  }\n  static get styles() {\n    return [l(u)];\n  }\n  render() {\n    return d(this);\n  }\n}\ne([\n  t({ type: String })\n], r.prototype, \"icon\");\ne([\n  t({ type: String })\n], r.prototype, \"value\");\ne([\n  t({ type: String })\n], r.prototype, \"state\");\ne([\n  t({ type: String })\n], r.prototype, \"type\");\ne([\n  t(i)\n], r.prototype, \"dot\");\ne([\n  t(i)\n], r.prototype, \"menu\");\ne([\n  t(i)\n], r.prototype, \"borderMenu\");\ne([\n  t(i)\n], r.prototype, \"borderWhite\");\ne([\n  t(i)\n], r.prototype, \"isHover\");\ne([\n  t(i)\n], r.prototype, \"isActive\");\nexport {\n  r as NotificationBadge\n};\n//# sourceMappingURL=notification-badge.js.map\n","const n = \":host{width:100%;display:flex;justify-content:flex-end;height:-moz-fit-content;height:fit-content;font-family:var(--font-family);font-style:normal;box-shadow:0 -1px #d8d8d8}.pagination__container{display:flex;align-items:center;padding:.25rem .75rem;gap:.5rem}.pagination__container--md{padding:.25rem .75rem}.pagination__container--lg{padding:.5rem .75rem}.pagination__button{color:#0073e6;font-size:1rem;padding:0;align-items:center;background-color:transparent;border:none;border-radius:100%;cursor:pointer;display:flex;height:-moz-fit-content;height:fit-content;justify-content:center;transition:all .3s ease-in;width:-moz-fit-content;width:fit-content;font-family:var(--icon-font);width:1.5rem;height:1.5rem}.pagination__container--md .pagination__button{font-size:1rem;width:1.5rem;height:1.5rem}.pagination__container--lg .pagination__button{font-size:1.5rem;width:2rem;height:2rem}.pagination__button:hover:enabled{background-color:#bfddfa}.pagination__button:focus-visible:enabled{outline:.25rem solid #8fc2f5;transition:none}.pagination__button:active:enabled{background-color:#eff7ff;transition:none}.pagination__button:disabled{transition:none;opacity:.4;cursor:not-allowed}.pagination__item{display:flex;justify-content:center;align-items:center;background-color:transparent;border-radius:6.25rem;border:none;cursor:pointer;font-weight:600;color:#656565;font-family:var(--font-family);height:1.5rem;width:1.5rem;font-size:.75rem;line-height:1rem}.pagination__container--md .pagination__item{height:1.5rem;width:1.5rem;font-size:.75rem;line-height:1rem}.pagination__container--lg .pagination__item{height:2rem;width:2rem;font-size:1rem;line-height:1.5rem}.pagination__container--md .pagination__item--large{width:2rem}.pagination__container--lg .pagination__item--large{width:2.563rem}.pagination__item:hover:enabled,.pagination__item--selected{background:#bfddfa;color:#00356a}.pagination__item:hover:enabled{transition:all .3s ease-in}.pagination__item:active:enabled{background:#eff7ff;transition:none}.pagination__item:focus-visible:enabled{outline:.25rem solid #8fc2f5;transition:none}.pagination__item--dot{pointer-events:none}\";\nexport {\n  n as default\n};\n//# sourceMappingURL=pagination.style.css.js.map\n","import { html as a } from \"lit/static-html.js\";\nconst n = (t) => a`\n  <div class=\"pagination__container pagination__container--${t.size}\">\n        <button\n          type=\"button\"\n          class=\"pagination__button\"\n          @click=${t._prev}\n          ?disabled=${+t.currentIndex == 1}\n        >\n          <span>keyboard_arrow_left</span>\n        </button>\n        ${t._buttons}\n        <button\n          type=\"button\"\n          class=\"pagination__button\"\n          @click=${t._next}\n          ?disabled=${+t.currentIndex === t._totalPages}\n        >\n          <span>keyboard_arrow_right</span>\n        </button>\n      </div>\n\n  \n`;\nexport {\n  n as template\n};\n//# sourceMappingURL=pagination.template.js.map\n","import { LitElement as d, unsafeCSS as m, html as c } from \"lit\";\nimport { property as h } from \"lit/decorators.js\";\nimport { classMap as f } from \"lit/directives/class-map.js\";\nimport b from \"./pagination.style.css.js\";\nimport { template as P } from \"./pagination.template.js\";\nvar x = Object.defineProperty, u = (l, t, i, o) => {\n  for (var e = void 0, n = l.length - 1, s; n >= 0; n--)\n    (s = l[n]) && (e = s(t, i, e) || e);\n  return e && x(t, i, e), e;\n};\nclass g extends d {\n  constructor() {\n    super(...arguments), this.length = 0, this.pageSize = 0, this.currentIndex = 1, this.size = \"md\", this._totalPages = 0, this._buttons = [];\n  }\n  static get styles() {\n    return m(b);\n  }\n  _next() {\n    this.currentIndex++, this._updateButtons(), this._emitCurrentPage();\n  }\n  _prev() {\n    this.currentIndex--, this._updateButtons(), this._emitCurrentPage();\n  }\n  _emitCurrentPage() {\n    this.dispatchEvent(\n      new CustomEvent(\"onChangePage\", {\n        detail: this.currentIndex,\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  _updateButtons() {\n    this._buttons = [];\n    const t = 1, i = Math.max(this.currentIndex - 1, 1), o = Math.min(this.currentIndex + 1, this._totalPages), e = i > 2, n = o < this._totalPages - 2, s = this._getButtons(t, t), a = this._getButtons(this._totalPages, this._totalPages), r = c`\n      <button class=\"pagination__item pagination__item--dot\" tabindex=\"-1\">\n        ...\n      </button>\n    `;\n    if (this._totalPages <= 6) {\n      this._buttons = this._getButtons(t, this._totalPages), this.requestUpdate();\n      return;\n    }\n    if (!e && n) {\n      const p = this._getButtons(t, 4);\n      this._buttons = [...p, r, a];\n    }\n    if (e && !n) {\n      const p = this._getButtons(this._totalPages - 3, this._totalPages);\n      this._buttons = [s, r, ...p];\n    }\n    if (e && n) {\n      const _ = this._getButtons(i + 1, o);\n      this._buttons = [s, r, ..._, r, a];\n    }\n    this.requestUpdate();\n  }\n  _getButtons(t, i) {\n    const o = i - t + 1;\n    return Array(o).fill(0).map((e, n) => {\n      const s = n + t, a = {\n        \"pagination__item--selected\": this.currentIndex === s,\n        \"pagination__item--large\": s >= 10\n      };\n      return c`\n          <button\n            class=\"pagination__item ${f(a)}\"\n            @click=${() => this._selectItem(s)}\n          >\n            ${s}\n          </button>\n        `;\n    });\n  }\n  _selectItem(t) {\n    this.currentIndex = t, this._updateButtons();\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._totalPages = Math.ceil(this.length / this.pageSize), this._updateButtons();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  willUpdate(t) {\n    const i = t.has(\"length\"), o = t.has(\"pageSize\");\n    (i || o) && (this._totalPages = Math.ceil(this.length / this.pageSize), this._updateButtons());\n  }\n  render() {\n    return P(this);\n  }\n}\nu([\n  h({ type: Number })\n], g.prototype, \"length\");\nu([\n  h({ type: Number })\n], g.prototype, \"pageSize\");\nu([\n  h({ type: Number })\n], g.prototype, \"currentIndex\");\nu([\n  h({ type: String })\n], g.prototype, \"size\");\nexport {\n  g as Pagination\n};\n//# sourceMappingURL=pagination.js.map\n","const o = ':host{display:block;width:auto;opacity:0;visibility:hidden;z-index:999}:host(.animation-enabled){transition:opacity var(--animation-delay) ease-out,visibility var(--animation-delay) ease-out}:host(.visible){opacity:1;visibility:visible}.dss-popover{display:flex;min-width:300px;width:-moz-max-content;width:max-content;max-width:500px}.dss-popover--open{opacity:1;visibility:visible}.dss-popover-box{position:relative;box-sizing:border-box;min-width:300px;width:-moz-fit-content;width:fit-content;max-width:500px;min-height:0;height:-moz-fit-content;height:fit-content;background-color:var(--color-white);border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md);font-size:14px;line-height:24px;color:var(--color-neutral-900);z-index:999;display:flex;flex-direction:column}.dss-popover:not(.dss-popover--remove-max-height):not(.dss-popover--filter) .dss-popover-box{max-height:480px}.dss-popover:not(.dss-popover--remove-max-height):not(.dss-popover--filter) .dss-popover-box .dss-popover-content{display:flex;flex-direction:column;overflow-y:auto}.dss-popover:not(.dss-popover--remove-max-height):not(.dss-popover--filter) .dss-popover-box .dss-popover-content ::slotted(dss-popover-body){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.dss-popover--filter,.dss-popover--full-width,.dss-popover--filter .dss-popover-box,.dss-popover--full-width .dss-popover-box{width:500px}.dss-popover-header{position:sticky;top:0;left:0;display:flex;align-items:center;padding:var(--dss-spacing-md) 0;gap:var(--dss-spacing-xs);width:100%;background-color:var(--color-white);z-index:200;border-top-left-radius:var(--dss-radius-sm);border-top-right-radius:var(--dss-radius-sm)}.dss-popover-header:after{content:\"\";position:absolute;bottom:0;left:var(--dss-spacing-md);right:var(--dss-spacing-md);height:var(--dss-border-width-sm);opacity:0;visibility:hidden;background-color:var(--color-neutral-100);transition:all var(--animation-delay) ease-out}.dss-popover-header.dss-popover-header--scrolled:after{opacity:1;visibility:visible}.dss-popover-header-box{display:flex;justify-content:space-between;align-items:center;padding:0 var(--dss-spacing-md);gap:var(--dss-spacing-md);width:100%}.dss-popover-header__title{flex:1;font-size:16px;line-height:24px;font-weight:var(--font-semibold);color:var(--color-neutral-900)}::slotted(*),::slotted(dss-popover-body),::slotted(dss-item-list){display:block}.dss-popover--header-empty .dss-popover-header{padding-bottom:0}.dss-popover-arrow{width:12px;height:12px;z-index:999}.dss-popover-arrow:before{content:\"\";width:12px;height:12px;position:absolute;background-color:var(--color-white);transform:rotate(45deg)}.dss-popover-arrow:after{content:\"\";width:14px;height:14px;position:absolute;transform:translate(-50%) rotate(45deg);background-color:#00000008;z-index:-1}.dss-popover[data-popper-placement^=top] .dss-popover-arrow{bottom:-6px}.dss-popover[data-popper-placement^=top] .dss-popover-arrow:before{bottom:1px;left:0}.dss-popover[data-popper-placement^=top] .dss-popover-arrow:after{bottom:-2px;left:50%}.dss-popover[data-popper-placement^=bottom] .dss-popover-arrow{top:-6px}.dss-popover[data-popper-placement^=bottom] .dss-popover-arrow:before{top:1px;left:0}.dss-popover[data-popper-placement^=bottom] .dss-popover-arrow:after{top:-2px;left:50%}.dss-popover[data-popper-placement^=left] .dss-popover-arrow{right:-6px}.dss-popover[data-popper-placement^=left] .dss-popover-arrow:before{right:2px;top:0}.dss-popover[data-popper-placement^=left] .dss-popover-arrow:after{right:-8px;top:0}.dss-popover[data-popper-placement^=right] .dss-popover-arrow{left:-6px}.dss-popover[data-popper-placement^=right] .dss-popover-arrow:before{left:2px;top:0}.dss-popover[data-popper-placement^=right] .dss-popover-arrow:after{left:6px;top:0}.dss-popover-footer-wrapper{position:sticky;bottom:0;left:0;z-index:200;padding:var(--dss-spacing-md);background-color:var(--color-white);border-bottom-left-radius:var(--dss-radius-sm);border-bottom-right-radius:var(--dss-radius-sm)}.dss-popover--max-height .dss-popover-footer-wrapper:after{content:\"\";position:absolute;top:0;left:var(--dss-spacing-md);right:var(--dss-spacing-md);height:var(--dss-border-width-sm);background-color:var(--color-neutral-100);opacity:0;visibility:hidden;transition:all var(--animation-delay) ease-out}.dss-popover--max-height .dss-popover-footer-wrapper--scrolled:after{opacity:1;visibility:visible}.dss-popover--hide-header .dss-popover-box{padding-top:var(--dss-spacing-md)}.dss-popover--empty-footer .dss-popover-box{padding-bottom:var(--dss-spacing-md)}.dss-popover--empty-footer .dss-popover-footer-wrapper{display:none}.dss-popover-content{flex:1 1 auto;min-height:0}.dss-popover-content--max-height{overflow-y:auto}.dss-popover--has-widget .dss-popover-header{padding-top:0}';\nexport {\n  o as default\n};\n//# sourceMappingURL=popover.style.css.js.map\n","import { nothing as r } from \"lit\";\nimport { classMap as o } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as d, literal as l, html as e } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as t } from \"../../api/custom-element-scope.js\";\nconst i = l`dss-icon-button${d(t())}`, $ = (s) => e`\n  <div\n    class=${o({\n  \"dss-popover\": !0,\n  \"dss-popover--filter\": s.variant === \"filter\",\n  \"dss-popover--open\": !!s.open,\n  \"dss-popover--has-widget\": s.hasWidget,\n  \"dss-popover--max-height\": s.hasMaxHeight,\n  \"dss-popover--hide-header\": s.hideHeader,\n  \"dss-popover--empty-footer\": !s._hasFooterSlot,\n  \"dss-popover--header-empty\": s.titleText === \"\" && !!s.hideCloseIcon,\n  \"dss-popover--remove-max-height\": s.removeMaxHeight,\n  \"dss-popover--full-width\": s.fullWidth,\n  [`dss-popover--${s.position}`]: !!s.position\n})}\n  >\n    <div class=\"dss-popover-box\">\n      ${s.hideHeader ? r : e`\n        <div class=\"dss-popover-header\">\n          <div class=\"dss-popover-header-box\">\n            <div class=\"dss-popover-header__title\">${s.titleText}</div>\n            ${s.actionIcon ? e`\n                  <${i}\n                    icon=\"${s.actionIcon}\"\n                    label=\"${s.actionLabel}\"\n                    size=\"md\"\n                    variant=\"primary\"\n                    ?tooltipFixed=${s.tooltipFixed}\n                    ?hideTooltip=${s.hideTooltip}\n                    tooltipPosition=\"${s.tooltipPosition}\"\n                    ?forceViewport=\"${s.forceViewport}\"\n                    @onClick=\"${s._handleAction}\"\n                  ></${i}>\n                ` : null}\n            ${s.hideCloseIcon ? null : e`\n                  <${i}\n                    icon=\"close\"\n                    label=\"Tancar\"\n                    size=\"md\"\n                    variant=\"default\"\n                    hideTooltip\n                    @onClick=\"${s._handleClose}\"\n                  ></${i}>\n                `}\n          </div>\n        </div>\n      `}\n      <div \n        class=${o({\n  \"dss-popover-content\": !0,\n  \"dss-popover-content--max-height\": s.hasMaxHeight\n})}\n      >\n        <slot name=\"body\" class=\"dss-scrollable-content\"></slot>\n        <slot name=\"item-list\"></slot>\n      </div>\n      ${s.variant === \"filter\" ? e`\n        <div class=\"dss-popover-footer-wrapper\">\n          <slot name=\"footer\"></slot>\n        </div>\n        ` : null}\n    </div>\n    <div class=\"dss-popover-arrow\" data-popper-arrow></div>\n  </div>\n`;\nexport {\n  $ as popoverTemplate\n};\n//# sourceMappingURL=popover.template.js.map\n","import { createPopper as u } from \"@popperjs/core\";\nimport { LitElement as v, unsafeCSS as h } from \"lit\";\nimport { property as n, state as c } from \"lit/decorators.js\";\nimport _ from \"../../foundations/icon/icon.style.css.js\";\nimport f from \"../../shared/reset.style.css.js\";\nimport m from \"../../shared/scrollbar.style.css.js\";\nimport { booleanType as a } from \"../../utils/property-types.js\";\nimport b from \"./popover.style.css.js\";\nimport { popoverTemplate as y } from \"./popover.template.js\";\nvar g = Object.defineProperty, o = (d, e, t, s) => {\n  for (var i = void 0, l = d.length - 1, p; l >= 0; l--)\n    (p = d[l]) && (i = p(e, t, i) || i);\n  return i && g(e, t, i), i;\n};\nclass r extends v {\n  constructor() {\n    super(), this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (e) => {\n      for (const t of e)\n        if (t.type === \"attributes\" && t.attributeName === \"data-popper-placement\") {\n          const s = this.getAttribute(\"data-popper-placement\");\n          s && this._propagatePlacement(s);\n        }\n    }, this.mutationObserver = new MutationObserver(this.callback), this.visibleObserver = new IntersectionObserver(\n      ([e]) => {\n        e.isIntersecting || this._closePopover();\n      },\n      {\n        root: null,\n        threshold: 0\n      }\n    ), this.maxHeightObserverTimeout = null, this.maxHeightObserver = new ResizeObserver(([e]) => {\n      this.maxHeightObserverTimeout && clearTimeout(this.maxHeightObserverTimeout), this.maxHeightObserverTimeout = window.setTimeout(() => {\n        const t = e.contentRect.height;\n        this._onHeightChange(t);\n      }, 100);\n    }), this._parentMousedownHandler = null, this._parentKeydownHandler = null, this.open = !1, this.variant = \"default\", this.hideCloseIcon = !1, this.disableParentClick = !1, this.title = \"\", this.titleText = \"\", this.actionIcon = void 0, this.actionLabel = void 0, this.position = \"top\", this.popoverFixed = !1, this.removeMaxHeight = !1, this.fullWidth = !1, this.hideHeader = !1, this.tooltipFixed = !1, this.hideTooltip = !1, this.forceViewport = !1, this.tooltipPosition = \"top\", this._popperInstance = null, this._parent = null, this._disableClickOutside = !0, this._isFirstUpdate = !0, this._hasFooterSlot = !1, this.availableHeight = void 0, this.hasMaxHeight = !1, this.hasWidget = !1, this._resizeObserver = null, this._scrollHandler = null, this._scrollContent = null, this._handleOutsideClick = this._handleOutsideClick.bind(this);\n  }\n  static get styles() {\n    return [h(f), h(m), h(_), h(b)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), this._handleConnectedCallback();\n  }\n  disconnectedCallback() {\n    this._removeDropdownListener(), this.mutationObserver.disconnect(), this.visibleObserver.disconnect(), this.maxHeightObserver.disconnect(), this._popperInstance && (this._popperInstance.destroy(), this._popperInstance = null), this._parent && (this._parentMousedownHandler && (this._parent.removeEventListener(\"mousedown\", this._parentMousedownHandler), this._parentMousedownHandler = null), this._parentKeydownHandler && (this._parent.removeEventListener(\"keydown\", this._parentKeydownHandler), this._parentKeydownHandler = null));\n  }\n  _addDropdownListener() {\n    document.addEventListener(\"mousedown\", this._handleOutsideClick);\n  }\n  _removeDropdownListener() {\n    document.removeEventListener(\"mousedown\", this._handleOutsideClick);\n  }\n  _handleOutsideClick(e) {\n    this._checkClickOutside(e);\n  }\n  _handleConnectedCallback() {\n    if (requestAnimationFrame(() => {\n      this.hasWidget = !!this.querySelector(\"dss-widget\");\n    }), this._isFirstUpdate) return;\n    const e = this.style.position;\n    e !== \"absolute\" && e !== \"fixed\" && e !== \"relative\" && (this._popperInstance ? this._popperInstance.update() : this._initPopover());\n  }\n  _handleAction() {\n    this.dispatchEvent(new CustomEvent(\"onAction\", { bubbles: !0, composed: !0 }));\n  }\n  _handleClose() {\n    this._closePopover();\n  }\n  _checkClickOutside(e) {\n    if (this.disableParentClick && this._disableClickOutside)\n      return;\n    const t = e.composedPath(), s = t.includes(this._parent);\n    !t.includes(this) && !s && this._closePopover();\n  }\n  _closePopover() {\n    setTimeout(() => {\n      this.classList.contains(\"visible\") && (this.classList.remove(\"visible\"), this.open = !1, this._removeScrollListener(), this._removeDropdownListener(), this.dispatchEvent(new CustomEvent(\"onClose\", { bubbles: !1, composed: !1 })));\n    }, 0);\n  }\n  createPopperInstance(e) {\n    var s;\n    this._parent = e;\n    const t = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-popover-arrow\");\n    this._popperInstance = u(e, this, {\n      placement: this.variant !== \"filter\" ? this.position : \"bottom\",\n      strategy: this.popoverFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"arrow\",\n          options: {\n            element: t\n          }\n        },\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 16]\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          options: {\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        },\n        {\n          name: \"flip\",\n          enabled: this.variant !== \"filter\"\n        }\n      ],\n      onFirstUpdate: (i) => {\n        this._propagatePlacement(i.placement);\n      }\n    }), this.visibleObserver.observe(e), this._parentMousedownHandler = () => {\n      this._popoverParentListener();\n    }, this._parentKeydownHandler = (i) => {\n      i.stopPropagation(), i.key === \"Enter\" || i.key === \" \" ? this._popoverParentListener() : i.key === \"Escape\" && this._closePopover();\n    }, this._parent.addEventListener(\"mousedown\", this._parentMousedownHandler), this._parent.addEventListener(\"keydown\", this._parentKeydownHandler);\n  }\n  _popoverParentListener() {\n    !this.open && !this.disableParentClick && (this.open = !0, this.classList.add(\"visible\"), this._disableClickOutside = !1, this._popperInstance && (this._popperInstance.update(), this._checkMaxHeight(), this._handleScroll()), this._addDropdownListener());\n  }\n  _propagatePlacement(e) {\n    const t = this.renderRoot.querySelector(\".dss-popover\");\n    t && t.setAttribute(\"data-popper-placement\", e);\n  }\n  _checkMaxHeight() {\n    var l, p;\n    if (this.variant !== \"filter\") return;\n    const e = (l = this.shadowRoot) == null ? void 0 : l.querySelector(\".dss-popover\");\n    if (!e) return;\n    const t = e.getBoundingClientRect();\n    let s = window.innerHeight - t.top;\n    s = s - 24, s < 180 && (s = 180);\n    const i = (p = this.shadowRoot) == null ? void 0 : p.querySelector(\".dss-popover-box\");\n    i && (i.style.maxHeight = `${s}px`, this.availableHeight = s);\n  }\n  _handleScroll() {\n    var t, s;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-popover-content\");\n    if (e && (this._scrollContent = e, this._scrollHandler = () => this._checkPopoverScroll(e), e.addEventListener(\"scroll\", this._scrollHandler), this._resizeObserver = new ResizeObserver(() => this._checkPopoverScroll(e)), this._resizeObserver.observe(e), e.scrollHeight > e.clientHeight && e.scrollTop === 0)) {\n      const i = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-popover-footer-wrapper\");\n      i == null || i.classList.add(\"dss-popover-footer-wrapper--scrolled\");\n    }\n  }\n  _removeScrollListener() {\n    var e;\n    this._scrollContent && this._scrollHandler && this._scrollContent.removeEventListener(\"scroll\", this._scrollHandler), this._scrollHandler = null, this._scrollContent = null, (e = this._resizeObserver) == null || e.disconnect(), this._resizeObserver = null;\n  }\n  _checkPopoverScroll(e) {\n    var i, l;\n    const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-popover-header\"), s = (l = this.shadowRoot) == null ? void 0 : l.querySelector(\".dss-popover-footer-wrapper\");\n    e.scrollTop > 0 ? t == null || t.classList.add(\"dss-popover-header--scrolled\") : t == null || t.classList.remove(\"dss-popover-header--scrolled\"), e.scrollHeight - e.scrollTop !== e.clientHeight ? s == null || s.classList.add(\"dss-popover-footer-wrapper--scrolled\") : s == null || s.classList.remove(\"dss-popover-footer-wrapper--scrolled\");\n  }\n  _initPopover() {\n    const e = this.assignedSlot;\n    this._parent = e ? e.parentElement : this.parentElement, this._parent && this.createPopperInstance(this._parent), this.mutationObserver.observe(this, this.observerConfig), this.maxHeightObserver.observe(this), setTimeout(() => {\n      this.open && (this.classList.add(\"visible\"), this._popperInstance.update(), this._checkMaxHeight(), this._handleScroll(), this.requestUpdate(), this._addDropdownListener());\n    }, 0);\n  }\n  async firstUpdated() {\n    var t;\n    await this.updateComplete, this.classList.add(\"animation-enabled\");\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"footer\"]');\n    if (e) {\n      const s = e.assignedElements({ flatten: !0 });\n      this._hasFooterSlot = s.length > 0;\n    }\n    this._initPopover(), this._isFirstUpdate = !1;\n  }\n  updated(e) {\n    super.updated(e), e.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"\" && (this.titleText = this.title);\n    }), e.has(\"position\") && this._popperInstance && this._popperInstance.setOptions({\n      placement: this.position\n    }), e.has(\"open\") && (this.open ? (this.classList.add(\"visible\"), this._popperInstance && this._popperInstance.update(), this._addDropdownListener(), this.disableParentClick && (this._checkMaxHeight(), this._handleScroll(), setTimeout(() => {\n      this._disableClickOutside = !1;\n    }, 100))) : (this.classList.remove(\"visible\"), this._removeDropdownListener(), this.disableParentClick && (this._disableClickOutside = !0)));\n  }\n  // Función que puedes definir si quieres manejar cambios de altura\n  _onHeightChange(e) {\n    this.availableHeight && (this.hasMaxHeight = e >= this.availableHeight);\n  }\n  render() {\n    return y(this);\n  }\n}\no([\n  n(a)\n], r.prototype, \"open\");\no([\n  n({ type: String })\n], r.prototype, \"variant\");\no([\n  n(a)\n], r.prototype, \"hideCloseIcon\");\no([\n  n(a)\n], r.prototype, \"disableParentClick\");\no([\n  n({ type: String })\n], r.prototype, \"title\");\no([\n  n({ type: String })\n], r.prototype, \"titleText\");\no([\n  n({ type: String })\n], r.prototype, \"actionIcon\");\no([\n  n({ type: String })\n], r.prototype, \"actionLabel\");\no([\n  n({ type: String })\n], r.prototype, \"position\");\no([\n  n(a)\n], r.prototype, \"popoverFixed\");\no([\n  n(a)\n], r.prototype, \"removeMaxHeight\");\no([\n  n(a)\n], r.prototype, \"fullWidth\");\no([\n  n(a)\n], r.prototype, \"hideHeader\");\no([\n  n(a)\n], r.prototype, \"tooltipFixed\");\no([\n  n(a)\n], r.prototype, \"hideTooltip\");\no([\n  n(a)\n], r.prototype, \"forceViewport\");\no([\n  n({ type: String })\n], r.prototype, \"tooltipPosition\");\no([\n  c()\n], r.prototype, \"availableHeight\");\no([\n  c()\n], r.prototype, \"hasMaxHeight\");\no([\n  c()\n], r.prototype, \"hasWidget\");\nexport {\n  r as Popover\n};\n//# sourceMappingURL=popover.js.map\n","import { LitElement as e, css as o, html as t } from \"lit\";\nclass l extends e {\n  static get styles() {\n    return [\n      o`\n        .dss-popover-body {\n          flex: 1 1 auto;\n          min-height: 0;\n          display: flex;\n          flex-direction: column;\n          padding: 0 var(--dss-spacing-md);\n          gap: var(--dss-spacing-xs);\n          font-size: 14px;\n          line-height: 24px;\n          font-weight: var(--font-regular);\n          color: var(--color-neutral-500);\n        }\n\n        ::slotted(p) {\n          font-size: 14px;\n          line-height: 24px;\n          font-weight: var(--font-regular);\n          color: var(--color-neutral-900);\n        }\n      `\n    ];\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    return t`\n      <div class=\"dss-popover-body\">\n        <slot></slot>\n      </div>\n    `;\n  }\n}\nexport {\n  l as PopoverBody\n};\n//# sourceMappingURL=popover-body.js.map\n","import { LitElement as e, css as s, html as t } from \"lit\";\nclass l extends e {\n  static get styles() {\n    return [\n      s`\n        .dss-popover-footer {\n          display: flex;\n          justify-content: flex-end;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n          background-color: var(--color-white);\n        }\n\n        ::slotted(div) {\n          display: flex;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n        }\n      `\n    ];\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    return t`\n      <div class=\"dss-popover-footer\">\n        <slot></slot>\n      </div>\n    `;\n  }\n}\nexport {\n  l as PopoverFooter\n};\n//# sourceMappingURL=popover-footer.js.map\n","const r = \":host{display:inline-block;width:100%;height:-moz-fit-content;height:fit-content}.dss-progress-indicator{display:flex;flex-direction:column;width:100%;font-family:var(--font-family)}.dss-progress-indicator .dss-progress-indicator__progress{background:var(--color-neutral-500)}.dss-progress-indicator.dss-progress-indicator--info .dss-progress-indicator__progress{background:var(--color-blue-500)}.dss-progress-indicator.dss-progress-indicator--success .dss-progress-indicator__progress{background:var(--color-green-600)}.dss-progress-indicator.dss-progress-indicator--success .dss-progress-indicator__description{color:var(--color-green-600)}.dss-progress-indicator.dss-progress-indicator--warning .dss-progress-indicator__progress{background:var(--color-yellow-500)}.dss-progress-indicator.dss-progress-indicator--error .dss-progress-indicator__progress{background:#b60000}.dss-progress-indicator.dss-progress-indicator--error .dss-progress-indicator__description{color:#b60000}.dss-progress-indicator__title{color:var(--color-neutral-700);font-size:var(--dss-font-size-md);font-weight:600;line-height:24px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dss-progress-indicator__bar-wrapper{display:flex;align-items:center;gap:8px;min-height:24px}.dss-progress-indicator__bar{flex:1;background:var(--color-neutral-200);border-radius:100px;height:4px}.dss-progress-indicator__percentage{width:35px;color:var(--color-neutral-700);font-size:var(--dss-font-size-sm);font-weight:var(--font-semibold)}.dss-progress-indicator__progress{height:100%;border-radius:100px;transition:all .3s}.dss-progress-indicator__content{display:flex;font-size:var(--dss-font-size-sm);line-height:var(--line-24);font-style:normal}.dss-progress-indicator__description{color:var(--color-neutral-500);font-weight:400;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .3s}\";\nexport {\n  r as default\n};\n//# sourceMappingURL=progress-indicator.style.css.js.map\n","import{noChange as R}from\"../lit-html.js\";import{directive as e,Directive as i,PartType as t}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const ee=\"important\",ie=\" !\"+ee,se=e(class extends i{constructor(e){if(super(e),e.type!==t.ATTRIBUTE||\"style\"!==e.name||e.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce(((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(t,[e]){const{style:r}=t.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(e)),this.render(e);for(const t of this.ft)null==e[t]&&(this.ft.delete(t),t.includes(\"-\")?r.removeProperty(t):r[t]=null);for(const t in e){const s=e[t];if(null!=s){this.ft.add(t);const e=\"string\"==typeof s&&s.endsWith(ie);t.includes(\"-\")||e?r.setProperty(t,e?s.slice(0,-11):s,e?ee:\"\"):r[t]=s}}return R}});export{se as styleMap};\n//# sourceMappingURL=style-map.js.map\n","import { nothing as a } from \"lit\";\nimport { classMap as t } from \"lit/directives/class-map.js\";\nimport { styleMap as d } from \"lit/directives/style-map.js\";\nimport { when as l } from \"lit/directives/when.js\";\nimport { html as r } from \"lit/static-html.js\";\nconst n = (s) => {\n  const i = {\n    \"dss-progress-indicator\": !0,\n    \"dss-progress-indicator--error\": s.hasFailed,\n    [`dss-progress-indicator--${s.state}`]: s.state !== \"default\"\n  }, e = {\n    width: `${s.percentage}%`\n  };\n  return r`\n    <div \n      class=\"${t(i)}\" \n      role=\"progressbar\"\n      aria-label=\"${s._label}\"\n      aria-valuemin=\"0\"\n      aria-valuemax=\"100\"\n      aria-valuenow=\"${s.percentage}\">\n    ${l(\n    s.title,\n    () => r`<h2 class=\"dss-progress-indicator__title\">${s.title}</h2>`,\n    () => a\n  )}\n    <div class=\"dss-progress-indicator__bar-wrapper\">\n      <div class=\"dss-progress-indicator__bar\">\n        <div\n          class=\"dss-progress-indicator__progress\"\n          style=\"${d(e)}\">\n        </div>\n      </div>\n      ${s.hidePercentage ? a : r` \n        <span class=\"dss-progress-indicator__percentage\">\n          ${s.percentage}%\n        </span>\n      `}\n    </div>\n    <div class=\"dss-progress-indicator__content\">\n      <span class=\"dss-progress-indicator__description\">\n        ${s.description}\n      </span>\n    </div>\n  </div>\n  `;\n};\nexport {\n  n as template\n};\n//# sourceMappingURL=progress-indicator.template.js.map\n","import { LitElement as d, unsafeCSS as g } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport y from \"./progress-indicator.style.css.js\";\nimport { template as _ } from \"./progress-indicator.template.js\";\nvar c = Object.defineProperty, f = Object.getOwnPropertyDescriptor, s = (a, t, e, p) => {\n  for (var r = p > 1 ? void 0 : p ? f(t, e) : t, l = a.length - 1, h; l >= 0; l--)\n    (h = a[l]) && (r = (p ? h(t, e, r) : h(r)) || r);\n  return p && r && c(t, e, r), r;\n};\nclass o extends d {\n  constructor() {\n    super(...arguments), this.description = \"\", this.state = \"default\", this.percentage = 0, this.hasFailed = !1, this.hidePercentage = !1, this._title = void 0, this._label = \"Barra de progrés\";\n  }\n  static get styles() {\n    return g(y);\n  }\n  set title(t) {\n    const e = this._title;\n    this._title = t, this._label = `Barra de progrés ${t}`, this.requestUpdate(\"title\", e);\n  }\n  get title() {\n    return this._title ?? \"\";\n  }\n  set titleText(t) {\n    const e = this._title;\n    this._title = t, this._label = `Barra de progrés ${t}`, this.requestUpdate(\"title\", e);\n  }\n  get titleText() {\n    return this._title ?? \"\";\n  }\n  updated(t) {\n    t.has(\"hasFailed\") && this.hasFailed && (this.state = \"error\");\n  }\n  render() {\n    return _(this);\n  }\n}\ns([\n  i({ type: String })\n], o.prototype, \"description\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"state\", 2);\ns([\n  i({ type: Number })\n], o.prototype, \"percentage\", 2);\ns([\n  i(n)\n], o.prototype, \"hasFailed\", 2);\ns([\n  i(n)\n], o.prototype, \"hidePercentage\", 2);\ns([\n  i({ type: String })\n], o.prototype, \"title\", 1);\ns([\n  i({ type: String })\n], o.prototype, \"titleText\", 1);\nexport {\n  o as ProgressIndicator\n};\n//# sourceMappingURL=progress-indicator.js.map\n","import { classMap as l } from \"lit/directives/class-map.js\";\nimport { html as t } from \"lit/static-html.js\";\nconst r = (s) => {\n  const a = {\n    \"dss-radio-wrapper--disabled\": s.disabled\n  };\n  return t`\n    <div class=\"dss-radio-wrapper ${l(a)}\">\n\t\t\t<div class=\"dss-radio-container\">\n        <slot name=\"input\" @click=\"${s.handleInput}\"></slot>\n      </div>\n      <slot name=\"label\"></slot>\n    </div>\n  `;\n};\nexport {\n  r as template\n};\n//# sourceMappingURL=radio-button.template.js.map\n","import { LitElement as c, unsafeCSS as d } from \"lit\";\nimport { property as o } from \"lit/decorators.js\";\nimport h from \"../../shared/reset.style.css.js\";\nimport { booleanType as p } from \"../../utils/property-types.js\";\nimport u from \"./radio-button.style.css.js\";\nimport { template as m } from \"./radio-button.template.js\";\nvar f = Object.defineProperty, s = (i, r, e, v) => {\n  for (var t = void 0, l = i.length - 1, n; l >= 0; l--)\n    (n = i[l]) && (t = n(r, e, t) || t);\n  return t && f(r, e, t), t;\n};\nclass a extends c {\n  constructor() {\n    super(...arguments), this.label = \"\", this.value = !1, this.checked = !1, this.disabled = !1;\n  }\n  static get styles() {\n    return [d(h), d(u)];\n  }\n  handleInput(r) {\n    const e = r.target;\n    this.checked = e.checked, this.value = e.checked, this.dispatchEvent(\n      new CustomEvent(\"onChange\", {\n        detail: { value: e.value, checked: this.checked },\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  render() {\n    return m(this);\n  }\n}\ns([\n  o({ type: String })\n], a.prototype, \"label\");\ns([\n  o(p)\n], a.prototype, \"value\");\ns([\n  o(p)\n], a.prototype, \"checked\");\ns([\n  o(p)\n], a.prototype, \"disabled\");\nexport {\n  a as RadioButton\n};\n//# sourceMappingURL=radio-button.js.map\n","const e = '.dss-icon--checked:before{content:\"done\";font-family:var(--icon-font);font-weight:400;color:var(--color-primary-500);font-size:24px;vertical-align:middle}.dss-selected.dss-disabled .dss-icon--checked:before{color:var(--color-neutral-500)}.dss-type--default.dss-selected:not(.dss-disabled):hover .dss-icon--checked:before,.dss-type--green.dss-selected:not(.dss-disabled):hover .dss-icon--checked:before{color:var(--color-white)}.dss-type--default.dss-selected.dss-disabled,.dss-type--green.dss-selected.dss-disabled{background-color:var(--color-neutral-50)}.dss-type--green.dss-selected:not(.dss-disabled) .dss-icon--checked:before{color:var(--color-green-500)}.list{width:auto;border-radius:8px;margin-top:1px;background-color:#fff;color:var(--color-neutral-900);box-shadow:0 0 0 .063rem #d8d8d8,0 0 0 .063rem #d8d8d8}.list .dss-form-field:first-child{border-radius:8px 8px 0 0}.list .dss-form-field:last-child{border-radius:0 0 8px 8px}.list *{cursor:pointer}.list .disabled,.list .disabled *{cursor:inherit!important;color:var(--color-neutral-500)}.dss-disabled{cursor:not-allowed;background-color:var(--color-neutral-50)}.hidden{opacity:0;position:absolute}.dss-checkbox,.dss-table .dss-table__checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.0625rem solid var(--color-primary-500);border-radius:.125rem;cursor:pointer;flex-shrink:0;height:1.25rem!important;margin:.125rem;overflow:hidden;position:relative;transition:all .3s linear;width:1.25rem!important}.dss-checkbox:hover{border:.0625rem solid var(--color-neutral-600);transition:all .3s linear}.dss-checkbox:checked{background-color:var(--color-primary-500);border:.0625rem solid var(--color-primary-500)}.dss-checkbox:checked:before{position:absolute;top:-4px;left:-2px;color:var(--color-white);content:\"check\";font-family:var(--icon-font);font-size:1.375rem;text-align:center}.dss-checkbox:checked:hover{background-color:var(--color-primary-600);border:.0625rem solid var(--color-primary-600);transition:all .3s linear}.dss-checkbox:indeterminate:before{color:var(--color-white);content:\"remove\";font-family:var(--icon-font);font-size:1.125rem}.dss-checkbox:disabled{cursor:not-allowed;color:var(--color-neutral-400);border-color:var(--color-neutral-400)}.dss-checkbox:checked:disabled{cursor:not-allowed;background-color:var(--color-neutral-100);border-color:var(--color-neutral-100)}.dss-checkbox:disabled:before{cursor:not-allowed;color:var(--color-neutral-400)}.dss-form-field__focus{outline:.25rem solid var(--color-blue-200);outline-offset:-4px;transition:none}.dss-radio:focus-visible:enabled,.dss-checkbox:focus-visible:enabled{outline:none}.dss-radio,.dss-table .dss-table__radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-white);border:.0625rem solid var(--color-primary-500);border-radius:50%;color:var(--color-primary-500);cursor:pointer;display:grid;flex-shrink:0;height:1.25rem;margin:4px .125rem 0;place-content:center;transform:translateY(-.075em);transition:all .3s linear;width:1.25rem}.dss-radio:before{background-color:var(--color-white);border-radius:50%;box-shadow:inset 1rem 1rem var(--color-primary-500);content:\"\";height:.625rem;transform:scale(0);transition:transform .3s ease-in-out;width:.625rem}.dss-radio:checked{border:.0625rem solid var(--color-primary-500)}.dss-radio:checked:before{box-shadow:inset 1rem 1rem var(--color-primary-500);transform:scale(1)}.dss-radio:checked:hover{border:.0625rem solid var(--color-primary-600);transition:all .3s linear}.dss-radio:checked:hover:before{box-shadow:inset 1rem 1rem var(--color-primary-600);transform:scale(1);transition:all .3s linear}.dss-radio:hover{border:.0625rem solid var(--color-primary-600);transition:all .3s linear}.dss-radio:disabled{cursor:not-allowed;background-color:var(--color-neutral-50);border-color:var(--color-neutral-400)}.dss-radio:checked:disabled{cursor:not-allowed;border-color:var(--color-neutral-400);color:var(--color-neutral-400)}.dss-radio:checked:disabled:before{box-shadow:inset 1rem 1rem var(--color-neutral-400)!important}.dss-form-field{align-items:center;display:flex;gap:8px;cursor:pointer;min-height:24px;min-width:136px;padding:8px 12px;position:relative;word-break:break-word}.dss-form-field.dss-ticked{justify-content:space-between}.dss-form-field.dss-selectAll{background-color:var(--color-white);border-bottom:.8px solid #b1b1b1;position:sticky;top:0;z-index:1}.dss-form-field--simple.dss-type--default.dss-form-field--match:not(.dss-disabled),.dss-form-field--simple.dss-type--default:not(.dss-disabled):hover{background-color:var(--color-primary-600)}.dss-form-field--simple.dss-type--default.dss-form-field--match:not(.dss-disabled) label,.dss-form-field--simple.dss-type--default:not(.dss-disabled):hover label{color:var(--color-white)}.dss-form-field--simple.dss-type--default:not(.dss-disabled):active{background-color:var(--color-primary-400)}.dss-form-field--no-tick.dss-type--default.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--multiple.dss-type--default.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--no-tick.dss-type--default:not(.dss-disabled):not(.dss-form-field--readonly):hover,.dss-form-field--multiple.dss-type--default:not(.dss-disabled):not(.dss-form-field--readonly):hover{box-shadow:inset 0 0 0 2px var(--color-primary-600)}.dss-form-field--simple.dss-type--green.dss-form-field--match:not(.dss-disabled),.dss-form-field--simple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover{background-color:var(--color-green-600)}.dss-form-field--simple.dss-type--green.dss-form-field--match:not(.dss-disabled) label,.dss-form-field--simple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover label{color:var(--color-white)}.dss-form-field--simple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):active{background-color:var(--color-green-400)}.dss-form-field--no-tick.dss-type--green.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--multiple.dss-type--green.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--no-tick.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover,.dss-form-field--multiple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover{box-shadow:inset 0 0 0 2px var(--color-green-600)}.dss-type--default.dss-disabled{cursor:not-allowed!important}.dss-form-field label{font-size:.875rem;line-height:var(--line-24)}.dss-form-field.dss-form-field--selected{background-color:var(--color-primary-50)}.dss-form-field:not(.dss-form-field--selected) label span.bold{font-weight:var(--font-bold)}.dss-form-field .dss-check-overlay{width:24px;height:24px;position:absolute}.dss-selector-list-wrapper{overflow-y:auto;margin-bottom:var(--dss-spacing-xxs);width:100%}.dss-selector-list-wrapper--box-shadow{box-shadow:var(--dss-elevation-md)}.dss-selector-empty{box-sizing:border-box;min-height:150px;width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;padding:var(--dss-spacing-xs);gap:var(--dss-spacing-xs)}.dss-selector-empty .text{font-size:14px;color:var(--color-blue-800)}.dss-form-field--readonly:not(.dss-form-field--selected){background-color:var(--color-red-500);display:none}';\nexport {\n  e as default\n};\n//# sourceMappingURL=selector.style.css.js.map\n","import { LitElement as C, unsafeCSS as k } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport { classMap as $ } from \"lit/directives/class-map.js\";\nimport { ifDefined as T } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as x, literal as I, html as n } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as O } from \"../../api/custom-element-scope.js\";\nimport R from \"../../foundations/icon/icon.style.css.js\";\nimport N from \"../../shared/scrollbar.style.css.js\";\nimport { booleanType as p, selectedType as P } from \"../../utils/property-types.js\";\nimport F from \"./selector.style.css.js\";\nimport { unsafeHTML as D } from \"lit/directives/unsafe-html.js\";\nimport { highlightTextMultiple as M, highlightText as j } from \"../../api/marker/marker.js\";\nimport z from \"../../api/marker/marker.style.css.js\";\nvar H = Object.defineProperty, B = Object.getOwnPropertyDescriptor, a = (E, e, t, l) => {\n  for (var s = l > 1 ? void 0 : l ? B(e, t) : e, i = E.length - 1, o; i >= 0; i--)\n    (o = E[i]) && (s = (l ? o(e, t, s) : o(s)) || s);\n  return l && s && H(e, t, s), s;\n};\nconst G = I`dss-spinner${x(O())}`;\nclass c extends C {\n  constructor() {\n    super(...arguments), this.isOpen = !1, this.readonly = !1, this.boxShadow = !1, this.advancedFilter = !1, this.searchThreshold = 1, this.isDisplayed = void 0, this._elementId = `dss-selector-${(/* @__PURE__ */ new Date()).getTime()}`, this._elements = null, this._elementSelectAll = [], this._selectedValue = null, this._multiple = !1, this._deselectable = !1, this._disabled = !1, this._tick = !0, this._type = \"default\", this._style = null, this._filtre = null, this._labelSelectAll = \"Seleccionar-ho tot\", this._labelDeselectAll = \"Deseleccionar-ho tot\", this._selectAll = !1, this._isAllSelected = !1, this._elementsSelected = 0, this._emptySelectorLabel = \"Sense resultats per\", this._emptyFilterLabel = \"Escriu per cercar.\", this._filterThreshold = 1, this._ariaLabel = void 0;\n  }\n  static get styles() {\n    return [k(R), k(N), k(z), k(F)];\n  }\n  set multiple(e) {\n    const t = this._multiple;\n    this._multiple = e, this.requestUpdate(\"multiple\", t);\n  }\n  get multiple() {\n    return this._multiple;\n  }\n  set tick(e) {\n    const t = this._tick;\n    this._tick = e, this.requestUpdate(\"tick\", t);\n  }\n  get tick() {\n    return this._tick;\n  }\n  set deselectable(e) {\n    const t = this._deselectable;\n    this._deselectable = e, this.requestUpdate(\"deselectable\", t);\n  }\n  get deselectable() {\n    return this._deselectable;\n  }\n  set disabled(e) {\n    const t = this._disabled;\n    this._disabled = e, this.requestUpdate(\"disabled\", t);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set elements(e) {\n    const t = this._elements;\n    this._elements = e, this.requestUpdate(\"elements\", t);\n  }\n  get elements() {\n    return this._elements || [];\n  }\n  set selectedValue(e) {\n    var s, i;\n    const t = this._selectedValue;\n    if (!e || e.length === 0) {\n      this._selectedValue = null, this.requestUpdate(\"selectedValue\", t);\n      return;\n    }\n    if (this._multiple) {\n      this._selectedValue = ((s = this._elements) == null ? void 0 : s.filter((o) => e.includes(o.value))) || null, this.requestUpdate(\"selectedValue\", t);\n      return;\n    }\n    const l = (i = this._elements) == null ? void 0 : i.find((o) => o.value === e[0]);\n    this._selectedValue = l ? [l] : null, this.requestUpdate(\"selectedValue\", t);\n  }\n  get selectedValue() {\n    var e;\n    return ((e = this._selectedValue) == null ? void 0 : e.map((t) => t.value)) || [];\n  }\n  set type(e) {\n    const t = this._type;\n    e === \"default\" || e === \"green\" ? this._type = e : this._type = \"default\", this.requestUpdate(\"type\", t);\n  }\n  get type() {\n    return this._type;\n  }\n  set boxStyle(e) {\n    const t = this._style;\n    this._style = e, this.requestUpdate(\"style\", t);\n  }\n  get boxStyle() {\n    return this._style || \"\";\n  }\n  set filtre(e) {\n    if (e) {\n      const t = this._filtre;\n      this._filtre = e.toLowerCase(), this.requestUpdate(\"filtre\", t);\n    } else e === \"\" && (this._filtre = null);\n    this._selectAll && this._areAllElementsSelected();\n  }\n  get filtre() {\n    return this._filtre || \"\";\n  }\n  set labelSelectAll(e) {\n    const t = this._labelSelectAll;\n    e !== \"\" && (this._labelSelectAll = e), this.requestUpdate(\"labelSelectAll\", t);\n  }\n  get labelSelectAll() {\n    return this._labelSelectAll;\n  }\n  set labelDeselectAll(e) {\n    const t = this._labelDeselectAll;\n    e !== \"\" && (this._labelDeselectAll = e), this.requestUpdate(\"labelDeselectAll\", t);\n  }\n  get labelDeselectAll() {\n    return this._labelDeselectAll;\n  }\n  set selectAll(e) {\n    const t = this._selectAll;\n    this._selectAll = e, this.requestUpdate(\"selectAll\", t);\n  }\n  get selectAll() {\n    return this._selectAll;\n  }\n  set filterThreshold(e) {\n    const t = this._filterThreshold;\n    this._filterThreshold = e, this.requestUpdate(\"filterThreshold\", t);\n  }\n  get filterThreshold() {\n    return this._filterThreshold;\n  }\n  set elementsSelected(e) {\n    const t = this._elementsSelected;\n    this._elementsSelected = e, this.requestUpdate(\"elementsSelected\", t);\n  }\n  get elementsSelected() {\n    return this._elementsSelected;\n  }\n  set ariaLabel(e) {\n    const t = this._ariaLabel;\n    this._ariaLabel = e, this.requestUpdate(\"ariaLabel\", t);\n  }\n  get ariaLabel() {\n    return this._ariaLabel || \"\";\n  }\n  _valueIsSelected(e) {\n    var t;\n    return ((t = this._selectedValue) == null ? void 0 : t.some((l) => l.value === e)) || !1;\n  }\n  _manuallySelect(e, t) {\n    if (e.preventDefault(), e.stopPropagation(), this._disabled || this.readonly) return;\n    const l = this._valueIsSelected(t);\n    if (!this._multiple && !this._deselectable && l) return;\n    const s = e.target, i = s.className.includes(\"dss-mark\") ? s.parentElement : s;\n    i && i.className.includes(\"dss-form-field\") ? i.querySelector(\"input\").checked = !l : i && (i.parentElement.querySelector(\"input\").checked = !l), this._returnSelectedValues(t), this._areAllElementsSelected();\n  }\n  _manuallySelectAll(e) {\n    if (e.preventDefault(), e.stopPropagation(), this._disabled || this.readonly || !this._multiple && !this._deselectable && this._isAllSelected) return;\n    const t = e.target;\n    t.className.includes(\"dss-form-field\") ? (t.querySelector(\"input\").checked = !t.querySelector(\"input\").checked, this._returnSelecteAllValues(t.querySelector(\"input\").checked)) : (t.parentElement.querySelector(\"input\").checked = !t.parentElement.querySelector(\"input\").checked, this._returnSelecteAllValues(t.parentElement.querySelector(\"input\").checked)), this._areAllElementsSelected();\n  }\n  _returnSelecteAllValues(e) {\n    var s, i;\n    e ? this._selectedValue = ((s = this._elements) == null ? void 0 : s.filter((o) => o.value)) || [] : this._selectedValue = [];\n    const l = {\n      detail: ((i = this._selectedValue) == null ? void 0 : i.map((o) => o.value)) || null,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onValueChange\", l)), this.requestUpdate();\n  }\n  _returnSelectedValues(e) {\n    var o, m;\n    const t = Array.from(((o = this.shadowRoot) == null ? void 0 : o.querySelectorAll(\"input:checked\")) || []).map((d) => d.getAttribute(\"value\")).filter((d) => d == null ? !1 : this._multiple ? !0 : d === e), l = t.indexOf(this._elementSelectAll[0]);\n    l !== -1 && t.splice(l, 1), this._selectedValue = ((m = this._elements) == null ? void 0 : m.filter((d) => t.includes(d.value))) || [];\n    let s;\n    this._multiple ? s = t : s = t[0] || null;\n    const i = {\n      detail: s,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onValueChange\", i)), this.requestUpdate();\n  }\n  _focusEvent(e) {\n    const l = e.target.closest(\".dss-form-field\");\n    l == null || l.classList.add(\"dss-form-field__focus\");\n  }\n  _blurEvent(e) {\n    const l = e.target.closest(\".dss-form-field\");\n    l == null || l.classList.remove(\"dss-form-field__focus\");\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._elementSelectAll = [this._labelSelectAll], this._areAllElementsSelected(), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  _areAllElementsSelected() {\n    if (!this._elements || !this._selectedValue) {\n      this._elementSelectAll = [this._labelSelectAll], this._isAllSelected = !1;\n      return;\n    }\n    const e = this._selectedValue.map((l) => l.value), t = this._elements.map((l) => l.value);\n    this._isAllSelected = e.length === t.length && e.every((l) => t.includes(l)), this._isAllSelected ? this._elementSelectAll = [this._labelDeselectAll] : this._elementSelectAll = [this._labelSelectAll], this.requestUpdate();\n  }\n  selectFirstMatch() {\n    var l;\n    const e = (l = this.shadowRoot) == null ? void 0 : l.querySelectorAll(\".dss-form-field\");\n    let t = null;\n    for (const s of e || []) {\n      const i = s.getAttribute(\"data-label\");\n      if (i && this._filtre && i.toLowerCase() === this._filtre.toLowerCase()) {\n        t = s;\n        break;\n      }\n    }\n    t && t.click();\n  }\n  moveFocus() {\n    var s;\n    const e = (s = this.shadowRoot) == null ? void 0 : s.querySelectorAll(\".dss-form-field\");\n    if (!e || e.length === 0) return;\n    const l = e[0].querySelector(\"input\");\n    l && l.focus();\n  }\n  generateListInputsElements() {\n    var t;\n    return (t = this._elements) == null ? void 0 : t.map((l, s) => {\n      var u;\n      const i = l.label.trim().replace(/\\s+/g, \"-\"), o = l.value.trim().replace(/\\s+/g, \"-\"), m = `selector-${i}-${o}`, d = this._valueIsSelected(l.value), y = this._tick && !this._multiple, h = $({\n        disabled: this._disabled,\n        \"dss-disabled\": this._disabled,\n        \"dss-form-field\": !0,\n        \"dss-form-field--simple\": this._tick && !this._multiple,\n        \"dss-form-field--multiple\": this._multiple,\n        \"dss-form-field--readonly\": this.readonly,\n        \"dss-form-field--no-tick\": !this._tick,\n        \"dss-type--default\": this._type === \"default\",\n        \"dss-type--green\": this._type === \"green\",\n        \"dss-ticked\": y,\n        \"dss-selected\": d && y,\n        \"dss-form-field--selected\": d,\n        \"dss-first-unselected\": s && s > 0 && s === this._elementsSelected,\n        \"dss-form-field--match\": l.label.toLowerCase() === ((u = this._filtre) == null ? void 0 : u.toLowerCase())\n      }), v = $({\n        \"dss-checkbox\": this._multiple,\n        \"dss-radio\": !this._multiple,\n        \"dss-disabled\": this._disabled,\n        hidden: y\n      }), A = n`\n        <input\n          id=\"${m}\"\n          name=\"${m}\"\n          type=\"checkbox\"\n          class=\"${v}\"\n          .value=\"${l.value}\"\n          .checked=\"${d}\"\n          @focus=\"${this._focusEvent}\"\n          @blur=\"${this._blurEvent}\"\n\t\t\t\t ?disabled=\"${this._disabled || this.readonly}\"\n        />\n        <div class=\"dss-check-overlay\"></div>\n      `, g = n`<span\n        class=\"dss-icon--checked\"\n        style=\"visibility: ${this.isOpen && y && d ? \"visible\" : \"hidden\"}\"\n      ></span>`;\n      return n`\n        <div\n          class=\"${h}\"\n          @keydown=\"${(_) => {\n        var q, w, L, U;\n        if (_.key === \"Enter\" || _.key === \" \")\n          this._manuallySelect(_, l.value);\n        else if (_.key === \"ArrowUp\") {\n          const b = _.target, S = (w = (q = b == null ? void 0 : b.closest(\".dss-form-field\")) == null ? void 0 : q.previousElementSibling) == null ? void 0 : w.querySelector(\"input\");\n          S == null || S.focus();\n        } else if (_.key === \"ArrowDown\") {\n          const b = _.target, S = (U = (L = b == null ? void 0 : b.closest(\".dss-form-field\")) == null ? void 0 : L.nextElementSibling) == null ? void 0 : U.querySelector(\"input\");\n          S == null || S.focus();\n        }\n      }}\"\n          @click=\"${(_) => {\n        this._manuallySelect(_, l.value);\n      }}\"\n          data-label=\"${l.label}\"\n        >\n          ${A}\n          <label for=${m}>\n\t\t\t\t\t\t${this.advancedFilter ? D(M(l.label, this._filtre || \"\", this.searchThreshold)) : D(j(l.label, this._filtre || \"\"))}\n          </label>\n          ${g}\n        </div>\n      `;\n    });\n  }\n  generatElementSelectAll() {\n    var t;\n    return (t = this._elementSelectAll) == null ? void 0 : t.map((l) => {\n      var y;\n      const s = $({\n        disabled: this._disabled || this.readonly,\n        \"dss-form-field\": !0,\n        \"dss-type--default\": this._type === \"default\",\n        \"dss-type--green\": this._type === \"green\",\n        \"dss-selectAll\": !0,\n        \"dss-disabled\": this._disabled || this.readonly,\n        \"dss-form-field--match\": l.toLowerCase() === ((y = this._filtre) == null ? void 0 : y.toLowerCase())\n      }), i = $({\n        \"dss-checkbox\": this._multiple\n      }), o = n`\n        <input\n          id=\"${this._elementId}\"\n          name=\"${this._elementId}\"\n          type=\"checkbox\"\n          class=\"${i}\"\n          .value=\"${l}\"\n          .checked=\"${this._isAllSelected}\"\n          @focus=\"${this._focusEvent}\"\n          @blur=\"${this._blurEvent}\"\n\t\t\t\t\t?disabled=\"${this._disabled || this.readonly}\"\n        />\n        <div class=\"dss-check-overlay\"></div>\n      `;\n      return n`\n        <div\n          class=\"${s}\"\n          @keydown=\"${(h) => {\n        var v, A, g, V;\n        if (h.key === \"Enter\" || h.key === \" \")\n          this._manuallySelectAll(h);\n        else if (h.key === \"ArrowUp\") {\n          const f = h.target, u = (A = (v = f == null ? void 0 : f.closest(\".dss-form-field\")) == null ? void 0 : v.previousElementSibling) == null ? void 0 : A.querySelector(\"input\");\n          u == null || u.focus();\n        } else if (h.key === \"ArrowDown\") {\n          const f = h.target, u = (V = (g = f == null ? void 0 : f.closest(\".dss-form-field\")) == null ? void 0 : g.nextElementSibling) == null ? void 0 : V.querySelector(\"input\");\n          u == null || u.focus();\n        }\n      }}\"\n          @click=\"${(h) => {\n        this._manuallySelectAll(h);\n      }}\"\n          data-label=\"${l}\"\n        >\n          ${o}\n          <label for=\"${this._elementId}\">${l}</label>\n        </div>\n      `;\n    });\n  }\n  render() {\n    let e = this.generateListInputsElements();\n    const t = this.generatElementSelectAll();\n    this._multiple && this._selectAll && (e == null || e.unshift(t[0]), e = (e == null ? void 0 : e.length) === 1 ? [] : e);\n    const l = (s) => {\n      (s.key === \"ArrowDown\" || s.key === \"ArrowUp\") && s.preventDefault();\n    };\n    return n`\n      ${this._elements && this._elements.length > 0 ? n`\n            <div\n              aria-label=\"${T(this._ariaLabel)}\"\n              part=\"selector\"\n              class=\"list dss-selector-list-wrapper ${this.boxShadow ? \"dss-selector-list-wrapper--box-shadow\" : \"\"}\"\n              @keydown=${l}\n              style=\"${this._style}\"\n            >\n              ${e}\n            </div>\n          ` : n`\n            <div\n              part=\"selector\"\n              class=\"list dss-selector-list-wrapper\"\n              @keydown=${l}\n              style=\"${this._style}\"\n            >\n              ${this._filtre && this._filtre.length >= this._filterThreshold ? n`\n                    <div class=\"dss-selector-empty\">\n                      <span class=\"dss-icon dss-icon--sm\">info</span>\n                      <span class=\"text\">\n                        ${this._filtre || this._filtre === \"\" ? n` ${this._emptySelectorLabel}: ${this._filtre} ` : n`${this._emptyFilterLabel}`}\n                      </span>\n                    </div>\n                  ` : n`\n                    <div class=\"dss-selector-empty\">\n\t\t\t\t\t\t\t\t\t\t\t<${G} size=\"md\"/>\n                    </div>\n                  `}\n            </div>\n          `}\n    `;\n  }\n}\na([\n  r(p)\n], c.prototype, \"isOpen\", 2);\na([\n  r(p)\n], c.prototype, \"readonly\", 2);\na([\n  r(p)\n], c.prototype, \"boxShadow\", 2);\na([\n  r(p)\n], c.prototype, \"advancedFilter\", 2);\na([\n  r({ type: Number })\n], c.prototype, \"searchThreshold\", 2);\na([\n  r(p)\n], c.prototype, \"multiple\", 1);\na([\n  r(p)\n], c.prototype, \"tick\", 1);\na([\n  r(p)\n], c.prototype, \"deselectable\", 1);\na([\n  r(p)\n], c.prototype, \"disabled\", 1);\na([\n  r({ type: Array })\n], c.prototype, \"elements\", 1);\na([\n  r(P)\n], c.prototype, \"selectedValue\", 1);\na([\n  r({ type: String })\n], c.prototype, \"type\", 1);\na([\n  r({ type: String })\n], c.prototype, \"boxStyle\", 1);\na([\n  r({ type: String })\n], c.prototype, \"filtre\", 1);\na([\n  r({ type: String })\n], c.prototype, \"labelSelectAll\", 1);\na([\n  r({ type: String })\n], c.prototype, \"labelDeselectAll\", 1);\na([\n  r(p)\n], c.prototype, \"selectAll\", 1);\na([\n  r({ type: Number })\n], c.prototype, \"filterThreshold\", 1);\na([\n  r({ type: Number })\n], c.prototype, \"elementsSelected\", 1);\na([\n  r({ type: String })\n], c.prototype, \"ariaLabel\", 1);\na([\n  r(p)\n], c.prototype, \"isDisplayed\", 2);\nexport {\n  c as Selector\n};\n//# sourceMappingURL=selector.js.map\n","const i = \":host{display:flex;width:100%}:host(.hidden){display:none}.dss-sidemenu-list-item{cursor:pointer;box-sizing:border-box;height:40px;width:40px;display:flex;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xs);background-color:var(--color-primary-700);border-radius:var(--dss-radius-sm);font-size:14px;line-height:24px;font-weight:var(--font-semibold);transition:background-color var(--animation-delay) ease-in-out}.dss-sidemenu-list-item:not(:disabled):not(.dss-sidemenu-list-item--disabled):hover{background-color:var(--color-primary-900)}.dss-sidemenu-list-item:not(:disabled):not(.dss-sidemenu-list-item--disabled):active{background-color:var(--color-primary-800)}.dss-sidemenu-list-item:not(.dss-sidemenu-list-item--disabled):focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-sidemenu-list-item:disabled{color:var(--color-primary-200);cursor:not-allowed}.dss-sidemenu-list-item--selected:not(.dss-sidemenu-list-item--disabled):not(:hover){box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-white)}.dss-sidemenu-list-item--disabled{cursor:not-allowed;color:var(--color-primary-200)}.dss-sidemenu-list-item--expanded{width:100%}.dss-sidemenu-list-item__icon{position:relative;display:flex;align-items:center;justify-content:center}.dss-sidemenu-list-item__notification{position:absolute;top:-4px;right:-4px;display:block;z-index:800}.dss-sidemenu-list-item__notification--expanded{top:-8px;right:-8px}.dss-sidemenu-list-item__label{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-in-out,visibility 0s linear var(--animation-delay)}.dss-sidemenu-list-item__label--expanded{opacity:1;visibility:visible;transition:opacity var(--animation-delay) ease-in-out,visibility 0s}.dss-sidemenu-list-item__tooltip{opacity:0;visibility:hidden;transition:opacity .5s ease-in,visibility .5s ease-in}.dss-sidemenu-list-item--collapsed:focus-visible .dss-sidemenu-list-item__tooltip,.dss-sidemenu-list-item--collapsed:hover .dss-sidemenu-list-item__tooltip{animation:show-tooltip 1s forwards}@keyframes show-tooltip{0%{opacity:0;visibility:hidden}99%{visibility:hidden}to{opacity:1;visibility:visible}}.dss-sidemenu-list-item--disabled ::slotted(dss-action-menu){display:none}.dss-sidemenu-list-item__nested-icon{opacity:0;visibility:hidden;transition:opacity var(--slide-delay) ease-in-out,visibility 0s linear var(--slide-delay)}.dss-sidemenu-list-item__nested-icon--expanded{opacity:1;visibility:visible;transition:opacity var(--slide-delay) ease-in-out,visibility 0s}\";\nexport {\n  i as default\n};\n//# sourceMappingURL=sidemenu-list-item.style.css.js.map\n","import { classMap as e } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as d, literal as l, html as t } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as a } from \"../../api/custom-element-scope.js\";\nconst i = l`dss-icon${d(a())}`, u = l`dss-tooltip${d(a())}`, _ = l`dss-notification-badge${d(a())}`, m = (s) => t`\n  <li\n    role=\"menuitem\"\n    aria-label=\"${s._label}\"\n    class=${e({\n  \"dss-sidemenu-list-item\": !0,\n  \"dss-sidemenu-list-item--expanded\": !!s._expanded,\n  \"dss-sidemenu-list-item--collapsed\": !s._expanded,\n  \"dss-sidemenu-list-item--selected\": !!s._selected,\n  \"dss-sidemenu-list-item--disabled\": !!s._disabled\n})}\n    tabindex=\"${s._focusEnabled ? \"0\" : \"-1\"}\"\n    ?disabled=${s._disabled}\n    @click=\"${s._handleClick}\"\n    @mouseenter=\"${s._handleMouseEnter}\"\n    @mouseleave=\"${s._handleMouseLeave}\"\n    @mousedown=\"${s._handleMouseDown}\"\n    @mouseup=\"${s._handleMouseUp}\"\n    @keydown=\"${s._handleKeyDown}\"\n    @focusout=\"${s._handleFocusout}\"\n  >\n    <span class=\"dss-sidemenu-list-item__icon\">\n      <${i} icon=\"${s._icon}\" size=\"md\"></${i}>\n      ${s._notifications && !s._showItemDropdown && !s._selected ? t`\n            <${_}\n              class=${e({\n  \"dss-sidemenu-list-item__notification\": !0,\n  \"dss-sidemenu-list-item__notification--expanded\": !0\n})}\n              value=\"${s._notifications}\"\n              state=\"succes\"\n              type=\"default\"\n              borderMenu\n            >\n            </${_}>\n          ` : null}\n    </span>\n\n    <span class=${e({\n  \"dss-sidemenu-list-item__label\": !0,\n  \"dss-sidemenu-list-item__label--expanded\": s._expanded\n})}>\n      ${s._label}\n    </span>\n\n    <${i} class=${e({\n  \"dss-sidemenu-list-item__nested-icon\": !0,\n  \"dss-sidemenu-list-item__nested-icon--expanded\": s._expanded && s._hasNestedMenu\n})}\n      icon=\"chevron_right\" \n      size=\"md\">\n    </${i}>\n\n    <${u} position=\"right\" class=\"dss-sidemenu-list-item__tooltip\">\n      <span>${s._label}</span>\n    </${u}>\n\n    <slot></slot>\n  </li>\n`;\nexport {\n  m as sidemenuListItemTemplate\n};\n//# sourceMappingURL=sidemenu-list-item.template.js.map\n","import { LitElement as u, unsafeCSS as h } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport { getCustomElementSuffix as p } from \"../../api/custom-element-scope.js\";\nimport _ from \"../../foundations/icon/icon.style.css.js\";\nimport f from \"../../shared/reset.style.css.js\";\nimport { booleanType as d } from \"../../utils/property-types.js\";\nimport m from \"./sidemenu-list-item.style.css.js\";\nimport { sidemenuListItemTemplate as b } from \"./sidemenu-list-item.template.js\";\nvar g = Object.defineProperty, w = Object.getOwnPropertyDescriptor, o = (a, t, e, l) => {\n  for (var s = w(t, e), r = a.length - 1, c; r >= 0; r--)\n    (c = a[r]) && (s = c(t, e, s) || s);\n  return s && g(t, e, s), s;\n};\nclass n extends u {\n  constructor() {\n    super(), this._label = \"Menu\", this._icon = \"add_box\", this._selected = !1, this._disabled = !1, this._expanded = !1, this._hasNestedMenu = !1, this._nestedMenuPosition = \"top\", this._notifications = 0, this._notificationsState = \"error\", this._isHover = !1, this._isActive = !1, this._showItemDropdown = !1, this._isFocused = !1, this._focusEnabled = !1, this._scrollContainerClass = \"dss-layout-sidebar\", this._tooltip = null, this._dropdown = null, this._handleDocumentClickBound = this._handleDocumentClick.bind(this), this._handleContainerScrollBound = this._handleContainerScroll.bind(this);\n  }\n  static get styles() {\n    return [h(f), h(_), h(m)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), document.addEventListener(\"mousedown\", this._handleDocumentClickBound);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), document.removeEventListener(\"mousedown\", this._handleDocumentClickBound), this._scrollContainer && this._scrollContainer.removeEventListener(\"scroll\", this._handleContainerScrollBound);\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  set icon(t) {\n    const e = this._icon;\n    this._icon = t, this.requestUpdate(\"icon\", e);\n  }\n  get icon() {\n    return this._icon || \"\";\n  }\n  set selected(t) {\n    const e = this._selected;\n    this._selected = t, this.requestUpdate(\"selected\", e);\n  }\n  get selected() {\n    return this._selected;\n  }\n  set disabled(t) {\n    const e = this._disabled;\n    this._disabled = t, this.requestUpdate(\"disabled\", e);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set hasNestedMenu(t) {\n    const e = this._hasNestedMenu;\n    this._hasNestedMenu = t, this.requestUpdate(\"hasNestedMenu\", e);\n  }\n  get hasNestedMenu() {\n    return this._hasNestedMenu;\n  }\n  set expanded(t) {\n    const e = this._expanded;\n    this._expanded = t, this.requestUpdate(\"expanded\", e);\n  }\n  get expanded() {\n    return this._expanded;\n  }\n  set notifications(t) {\n    const e = this._notifications;\n    this._notifications = t, this.requestUpdate(\"notifications\", e);\n  }\n  get notifications() {\n    return this._notifications;\n  }\n  set notificationsState(t) {\n    const e = this._notificationsState;\n    this._notificationsState = t, this.requestUpdate(\"notificationsState\", e);\n  }\n  get notificationsState() {\n    return this._notificationsState;\n  }\n  set nestedMenuPosition(t) {\n    const e = this._nestedMenuPosition;\n    this._nestedMenuPosition = t, this.requestUpdate(\"nestedMenuPosition\", e);\n  }\n  get nestedMenuPosition() {\n    return this._nestedMenuPosition;\n  }\n  set focusEnabled(t) {\n    const e = this._focusEnabled;\n    this._focusEnabled = t, this.requestUpdate(\"focusEnabled\", e);\n  }\n  get focusEnabled() {\n    return this._focusEnabled;\n  }\n  set scrollContainerClass(t) {\n    const e = this._scrollContainerClass;\n    this._scrollContainerClass = t, this.requestUpdate(\"scrollContainerClass\", e);\n  }\n  get scrollContainerClass() {\n    return this._scrollContainerClass;\n  }\n  get _notificationBadge() {\n    var t;\n    return ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\"dss-notification-badge\")) || void 0;\n  }\n  _clickedOutsideItem(t, e) {\n    e.composedPath().includes(t) || this._showItemDropdown && (this._showItemDropdown = !1, this.requestUpdate());\n  }\n  _handleDocumentClick(t) {\n    this._clickedOutsideItem(this, t);\n  }\n  _handleContainerScroll() {\n  }\n  _handleClick() {\n    this._disabled || (this._hasNestedMenu ? (this._showItemDropdown = !0, this._toggleTooltip(), this.requestUpdate()) : this.dispatchEvent(new CustomEvent(\"onClick\", { bubbles: !0, composed: !0 })), this.dispatchEvent(\n      new CustomEvent(\"updateItemFocus\", {\n        detail: !0,\n        bubbles: !0,\n        composed: !0\n      })\n    ));\n  }\n  _handleMouseEnter() {\n    this._notificationBadge && !this._disabled && this._notificationBadge.setAttribute(\"isHover\", \"true\");\n  }\n  _handleMouseLeave() {\n    this._notificationBadge && !this._disabled && this._notificationBadge.removeAttribute(\"isHover\");\n  }\n  _handleMouseDown() {\n    this._notificationBadge && !this._disabled && this._notificationBadge.setAttribute(\"isActive\", \"true\");\n  }\n  _handleMouseUp() {\n    this._notificationBadge && !this._disabled && this._notificationBadge.removeAttribute(\"isActive\");\n  }\n  _handleKeyDown(t) {\n    if (t.key === \"ArrowDown\" || t.key === \"ArrowUp\") {\n      const e = t.target, s = `dss-action-menu-item${p()}`;\n      if (e.tagName.toLowerCase() === s) return;\n      t.preventDefault(), this.dispatchEvent(\n        new CustomEvent(\"navigate\", {\n          detail: {\n            direction: t.key === \"ArrowDown\" ? \"next\" : \"previous\"\n          },\n          bubbles: !0,\n          composed: !0\n        })\n      );\n    }\n    if (t.key === \"Enter\" && t.target.click(), t.key === \"Escape\") {\n      this._closeItemDropdown();\n      const e = {\n        detail: this,\n        bubbles: !1,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"keydownEscape\", e));\n    }\n  }\n  _handleFocusout(t) {\n    const e = t.relatedTarget;\n    e === null && this._closeItemDropdown(), e && !this.contains(e) && this._closeItemDropdown();\n  }\n  _toggleTooltip() {\n    var t, e;\n    this._showItemDropdown ? (t = this._tooltip) == null || t.classList.add(\"force-hidden\") : (e = this._tooltip) == null || e.classList.remove(\"force-hidden\");\n  }\n  _closeItemDropdown() {\n    this._showItemDropdown && setTimeout(() => {\n      this._showItemDropdown = !1, this._toggleTooltip(), this.requestUpdate();\n    }, 0);\n  }\n  focusItem() {\n    var t, e;\n    this._isFocused = !0, (e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"li\")) == null || e.focus();\n  }\n  blurItem() {\n    var t, e;\n    this._isFocused = !1, (e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"li\")) == null || e.blur();\n  }\n  get _scrollContainer() {\n    return document.querySelector(`.${this._scrollContainerClass}`);\n  }\n  _getDropdownFixedPosition() {\n    const t = this.getBoundingClientRect();\n    this._dropdown && (this._dropdown.style.left = `${t.right + 8}px`, this._dropdown.classList.contains(\"dss-sidemenu-list-item__dropdown--top\") ? this._dropdown.style.top = `${t.top}px` : this._dropdown.style.top = `${t.bottom - this._dropdown.offsetHeight}px`);\n  }\n  _getTooltipFixedPosition() {\n    if (this._tooltip) {\n      const t = this.getBoundingClientRect();\n      this._tooltip.style.top = `${t.top + t.height / 2}px`, this._tooltip.style.left = `${t.right - 4}px`;\n    }\n  }\n  async firstUpdated() {\n    var e, l;\n    await this.updateComplete;\n    const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(\".dss-sidemenu-list-item__tooltip\");\n    if (t && (this._tooltip = t), this._hasNestedMenu) {\n      const s = (l = this.shadowRoot) == null ? void 0 : l.querySelector(\".dss-sidemenu-list-item__dropdown\");\n      s && (this._dropdown = s);\n    }\n    this._scrollContainer && this._scrollContainer.addEventListener(\"scroll\", this._handleContainerScrollBound);\n  }\n  updated(t) {\n    super.updated(t), t.has(\"expanded\");\n  }\n  render() {\n    return b(this);\n  }\n}\no([\n  i({ type: String })\n], n.prototype, \"label\");\no([\n  i({ type: String })\n], n.prototype, \"icon\");\no([\n  i(d)\n], n.prototype, \"selected\");\no([\n  i(d)\n], n.prototype, \"disabled\");\no([\n  i(d)\n], n.prototype, \"hasNestedMenu\");\no([\n  i(d)\n], n.prototype, \"expanded\");\no([\n  i({ type: Number })\n], n.prototype, \"notifications\");\no([\n  i({ type: String })\n], n.prototype, \"notificationsState\");\no([\n  i({ type: String })\n], n.prototype, \"nestedMenuPosition\");\no([\n  i(d)\n], n.prototype, \"focusEnabled\");\no([\n  i({ type: String })\n], n.prototype, \"scrollContainerClass\");\nexport {\n  n as SidemenuListItem\n};\n//# sourceMappingURL=sidemenu-list-item.js.map\n","const s = \":host{display:block;width:100%}.dss-sidemenu-list{display:flex;align-items:center;flex-direction:column;gap:var(--dss-spacing-xxs)}.dss-sidemenu-list--expanded{width:100%}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=sidemenu-list.style.css.js.map\n","import { html as s } from \"lit\";\nimport { classMap as t } from \"lit/directives/class-map.js\";\nconst d = (e) => s`\n  <ul\n    role=\"menu\"\n    class=${t({\n  \"dss-sidemenu-list\": !0,\n  \"dss-sidemenu-list--expanded\": !!e._expanded\n})}\n    @navigate=${e._handleNavigate}\n    @updateItemFocus=${e._handleItemFocus}\n  >\n    <slot></slot>\n  </ul>\n`;\nexport {\n  d as sidemenuListTemplate\n};\n//# sourceMappingURL=sidemenu-list.template.js.map\n","import { LitElement as p, unsafeCSS as d } from \"lit\";\nimport { property as u } from \"lit/decorators.js\";\nimport \"../../index.js\";\nimport h from \"../../foundations/icon/icon.style.css.js\";\nimport b from \"../../shared/reset.style.css.js\";\nimport { booleanType as f } from \"../../utils/property-types.js\";\nimport C from \"./sidemenu-list.style.css.js\";\nimport { sidemenuListTemplate as _ } from \"./sidemenu-list.template.js\";\nimport { getCustomElementSuffix as g } from \"../../api/custom-element-scope.js\";\nvar x = Object.defineProperty, E = Object.getOwnPropertyDescriptor, c = (l, e, s, r) => {\n  for (var n = E(e, s), t = l.length - 1, o; t >= 0; t--)\n    (o = l[t]) && (n = o(e, s, n) || n);\n  return n && x(e, s, n), n;\n};\nclass m extends p {\n  constructor() {\n    super(...arguments), this._disabled = !1, this._expanded = !1, this._scrollContainerClass = \"dss-layout-sidebar\";\n  }\n  static get styles() {\n    return [d(b), d(h), d(C)];\n  }\n  set expanded(e) {\n    const s = this._expanded;\n    this._expanded = e, this.requestUpdate(\"expanded\", s);\n  }\n  get expanded() {\n    return this._expanded;\n  }\n  set disabled(e) {\n    const s = this._disabled;\n    this._disabled = e, this.requestUpdate(\"disabled\", s);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set scrollContainerClass(e) {\n    const s = this._scrollContainerClass;\n    this._scrollContainerClass = e, this.requestUpdate(\"scrollContainerClass\", s);\n  }\n  get scrollContainerClass() {\n    return this._scrollContainerClass;\n  }\n  _propagateProperties() {\n    var s;\n    const e = (s = this.shadowRoot) == null ? void 0 : s.querySelectorAll(\"slot\");\n    e && e.forEach((r) => {\n      r.assignedElements().forEach((t) => {\n        this._expanded ? t.setAttribute(\"expanded\", \"true\") : t.removeAttribute(\"expanded\"), this._scrollContainerClass ? t.setAttribute(\"scrollContainerClass\", this._scrollContainerClass) : t.removeAttribute(\"scrollContainerClass\");\n      });\n    });\n  }\n  _handleItemFocus(e) {\n    var n;\n    const s = e.target, r = (n = this.shadowRoot) == null ? void 0 : n.querySelector(\"slot\");\n    if (r) {\n      const t = r.assignedElements({ flatten: !0 }).filter((i) => !i._disabled), o = t.findIndex((i) => i._focusEnabled);\n      t[o] !== s && (s.setAttribute(\"focusEnabled\", \"true\"), t[o].removeAttribute(\"focusEnabled\"));\n    }\n  }\n  _handleNavigate(e) {\n    var r;\n    const s = (r = this.shadowRoot) == null ? void 0 : r.querySelector(\"slot\");\n    if (s) {\n      const t = s.assignedElements({ flatten: !0 }).filter((a) => !a._disabled).filter((a) => !a.classList.contains(\"hidden\")), o = t.findIndex((a) => a._focusEnabled);\n      let i = o;\n      e.detail.direction === \"next\" ? i = (o + 1) % t.length : e.detail.direction === \"previous\" && (i = (o - 1 + t.length) % t.length), o !== i && (this._checkActionMenuClose(t[o]), t[o].blurItem(), t[o].removeAttribute(\"focusEnabled\"), t[i].focusItem(), t[i].setAttribute(\"focusEnabled\", \"true\"), this.dispatchEvent(new CustomEvent(\"onSlotFocus\", { bubbles: !0, composed: !0 })));\n    }\n  }\n  _checkActionMenuClose(e) {\n    var i;\n    const s = (i = e.shadowRoot) == null ? void 0 : i.querySelector(\"slot\");\n    if (!s) return;\n    const n = `dss-action-menu${g()}`, o = s.assignedElements({ flatten: !0 }).find((a) => a.tagName.toLowerCase() === n);\n    o && o.classList.contains(\"visible\") && o._closeMenu();\n  }\n  async firstUpdated() {\n    var s;\n    await this.updateComplete;\n    const e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\"slot\");\n    if (e) {\n      const n = e.assignedElements({ flatten: !0 }).find((t) => t.tagName.toLowerCase() === \"dss-sidemenu-list-item\");\n      n && n.setAttribute(\"focusEnabled\", \"true\"), this._propagateProperties();\n    }\n  }\n  updated(e) {\n    super.updated(e), (e.has(\"expanded\") || e.has(\"disabled\")) && this._propagateProperties();\n  }\n  render() {\n    return _(this);\n  }\n}\nc([\n  u(f)\n], m.prototype, \"expanded\");\nc([\n  u(f)\n], m.prototype, \"disabled\");\nc([\n  u({ type: String })\n], m.prototype, \"scrollContainerClass\");\nexport {\n  m as SidemenuList\n};\n//# sourceMappingURL=sidemenu-list.js.map\n","const e = '.dss-skeleton{display:inline-block;width:100%;height:2rem;position:relative;overflow:hidden;background-color:#d8d8d8;border-radius:var(--dss-spacing-xs)}.dss-skeleton:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}';\nexport {\n  e as default\n};\n//# sourceMappingURL=skeleton.style.css.js.map\n","import { classMap as a } from \"lit/directives/class-map.js\";\nimport { styleMap as r } from \"lit/directives/style-map.js\";\nimport { html as l } from \"lit/static-html.js\";\nconst h = (t) => {\n  const s = {\n    \"dss-skeleton\": !0\n  }, e = {\n    width: t.width,\n    height: t.height\n  };\n  return l`\n    <span class=\"${a(s)}\" style=\"${r(e)}\" aria-hidden=\"true\"></span>\n  `;\n};\nexport {\n  h as template\n};\n//# sourceMappingURL=skeleton.template.js.map\n","import { LitElement as d, unsafeCSS as n } from \"lit\";\nimport { property as p } from \"lit/decorators.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport y from \"./skeleton.style.css.js\";\nimport { template as c } from \"./skeleton.template.js\";\nvar g = Object.defineProperty, m = (t, i, o, l) => {\n  for (var r = void 0, e = t.length - 1, s; e >= 0; e--)\n    (s = t[e]) && (r = s(i, o, r) || r);\n  return r && g(i, o, r), r;\n};\nconst f = {\n  type: String,\n  converter: {\n    fromAttribute: (t) => t && (/^\\d+$/.test(t) ? `${t}%` : t),\n    toAttribute: (t) => t\n  }\n};\nclass h extends d {\n  constructor() {\n    super(...arguments), this.width = void 0, this.height = void 0;\n  }\n  static get styles() {\n    return [n(u), n(y)];\n  }\n  render() {\n    return c(this);\n  }\n}\nm([\n  p(f)\n], h.prototype, \"width\");\nm([\n  p(f)\n], h.prototype, \"height\");\nexport {\n  h as Skeleton\n};\n//# sourceMappingURL=skeleton.js.map\n","const r = '.dss-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;cursor:pointer;outline:none;border-radius:3px;height:4px;background:linear-gradient(to right,var(--color-primary-500) var(--progress),var(--color-neutral-100) var(--progress))}.dss-slider--vertical{transform:rotate(-90deg);transform-origin:center center}.dss-slider::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:20px;width:20px;background-color:var(--color-primary-500);border-radius:50%;border:var(--dss-border-width-md) solid var(--color-white);-moz-transition:.3s ease-in-out;transition:.3s ease-in-out;box-sizing:border-box}.dss-slider::-webkit-slider-thumb:hover{background-color:var(--color-primary-600);-webkit-transition:all .3s linear;transition:all .3s linear}.dss-slider::-moz-range-thumb:hover{background-color:var(--color-primary-600);-moz-transition:all .3s linear;transition:all .3s linear}.dss-slider:active::-webkit-slider-thumb{background-color:var(--color-primary-400);-webkit-transition:none;transition:none}.dss-slider:active::-moz-range-thumb{background-color:var(--color-primary-400);-moz-transition:none;transition:none}.dss-slider:focus-visible::-webkit-slider-thumb{background-color:var(--color-primary-500);border-color:var(--color-blue-200);outline:2px solid var(--color-blue-200);-webkit-transition:none;transition:none}.dss-slider:focus-visible::-moz-range-thumb{background-color:var(--color-primary-500);border-color:var(--color-blue-200);outline:2px solid var(--color-blue-200);-moz-transition:none;transition:none}.dss-slider:disabled{cursor:not-allowed;background:linear-gradient(to right,var(--color-neutral-400) var(--progress),var(--color-neutral-100) var(--progress))}.dss-slider:disabled::-webkit-slider-thumb{background-color:var(--color-neutral-500);-webkit-transition:none;transition:none}.dss-slider:disabled::-moz-range-thumb{background-color:var(--color-neutral-500);-moz-transition:none;transition:none}.dss-slider:disabled+.dss-slider-tooltip{display:none!important}.dss-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:20px;width:20px;background-color:var(--color-primary-500);border-radius:50%;border:var(--dss-border-width-md) solid var(--color-white);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;box-sizing:border-box}.dss-slider:hover+.dss-slider-tooltip{display:block}.dss-slider:focus-visible+.dss-slider-tooltip{display:block}.dss-slider-wrapper{min-width:200px;width:100%;position:relative}.dss-slider-tooltip{display:none;position:absolute;top:-50%}.dss-slider-tooltip--active{display:block}.dss-slider-tooltip .tooltip-wrapper{width:var(--dss-spacing-hg);height:var(--dss-spacing-hg);line-height:24px;text-align:center;background:var(--color-black);color:var(--color-white);font-size:16px;display:flex;align-items:center;justify-content:center;position:absolute;top:-45px;left:calc(50% + 1px);transform:translate(-50%);border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md)}.dss-slider-tooltip .tooltip-wrapper:before{content:\"\";position:absolute;width:0;height:0;border-top:24px solid var(--color-black);border-left:24px solid transparent;border-right:24px solid transparent;top:100%;left:50%;margin-left:-24px;margin-top:-15px}.dss-slider-info{position:absolute;top:calc(100% + 6px);font-size:12px;line-height:16px;color:var(--color-neutral-700)}.dss-slider-info--min{left:0}.dss-slider-info--medium{left:calc(50% - 5px)}.dss-slider-info--max{right:0}.dss-slider--vertical>.dss-slider-tooltip .tooltip-value{transform:rotate(90deg)}.dss-slider--vertical>.dss-slider-info{transform:rotate(90deg);transform-origin:center center;margin-right:-10px}';\nexport {\n  r as default\n};\n//# sourceMappingURL=slider.style.css.js.map\n","import { classMap as d } from \"lit/directives/class-map.js\";\nimport { html as a } from \"lit/static-html.js\";\nconst v = (s) => {\n  var i;\n  const l = {\n    \"dss-slider--vertical\": s._vertical\n  }, r = {\n    \"dss-slider-tooltip--active\": s._isTooltipTouched\n  };\n  return a`\n    <div class=\"dss-slider-wrapper ${d(l)}\">\n      <input\n        id=\"dss-slider-input\"\n        aria-label=\"${s._label}\"\n        type=\"range\"\n        class=\"dss-slider\"\n        min=${s._min}\n        max=${s._max}\n        .value=${(i = s._value) == null ? void 0 : i.toString()}\n        step=${s._step}\n        direction=\"${s._orient}\"\n        @input=\"${s._handleInput}\"\n        style=\"--progress: ${`${s._progress}%`}\"\n        ?disabled=\"${s._disabled}\"\n      />\n      <div\n        class=\"dss-slider-tooltip ${d(r)}\"\n        id=\"dss-slider-tooltip\"\n      ></div>\n      <div class=\"dss-slider-info dss-slider-info--min\">${s._min}</div>\n      <div class=\"dss-slider-info dss-slider-info--medium\">\n        ${Math.round((s._max + s._min) / 2)}\n      </div>\n      <div class=\"dss-slider-info dss-slider-info--max\">${s._max}</div>\n      <div></div>\n    </div>\n  `;\n};\nexport {\n  v as template\n};\n//# sourceMappingURL=slider.template.js.map\n","import { LitElement as p, unsafeCSS as _ } from \"lit\";\nimport { property as h } from \"lit/decorators.js\";\nimport { booleanType as c } from \"../../utils/property-types.js\";\nimport v from \"./slider.style.css.js\";\nimport { template as m } from \"./slider.template.js\";\nvar b = Object.defineProperty, E = Object.getOwnPropertyDescriptor, o = (u, t, e, r) => {\n  for (var s = E(t, e), i = u.length - 1, n; i >= 0; i--)\n    (n = u[i]) && (s = n(t, e, s) || s);\n  return s && b(t, e, s), s;\n};\nclass a extends p {\n  // _bubble = this.renderRoot.querySelector('#dssSliderValue')\n  constructor() {\n    super(), this._label = \"Input range\", this._min = 0, this._max = 0, this._step = 1, this._orient = \"horizontal\", this._vertical = !1, this._value = 0, this._progress = 0, this._disabled = !1, this._isTooltipTouched = !1, this._handleDomContentLoaded = this._updateTooltip.bind(this), this._handleInputEvent = this._updateTooltip.bind(this), this._handleMouseUp = this._dispatchValue.bind(this), this._handleKeyUp = this._dispatchValue.bind(this), this._handleTouchStartEvent = this._handleTouchStart.bind(this), this._handleTouchMoveEvent = this._handleTouchMove.bind(this), this._handleTouchEndEvent = this._handleTouchEnd.bind(this);\n  }\n  static get styles() {\n    return _(v);\n  }\n  get _input() {\n    var t;\n    return (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"input\");\n  }\n  get _tooltip() {\n    var t;\n    return (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"#dss-slider-tooltip\");\n  }\n  set min(t) {\n    const e = this._min;\n    this._min = t, this.requestUpdate(\"min\", e);\n  }\n  get min() {\n    return this._min;\n  }\n  set max(t) {\n    const e = this._max;\n    t >= this._value && (this._max = t, this._setProgress(), this.requestUpdate(\"max\", e));\n  }\n  get max() {\n    return this._max;\n  }\n  set step(t) {\n    const e = this._step;\n    this._step = t, this.requestUpdate(\"step\", e);\n  }\n  get step() {\n    return this._step;\n  }\n  set orient(t) {\n    const e = this._orient;\n    this._orient = t, t === \"vertical\" ? this._vertical = !0 : this._vertical = !1, this.requestUpdate(\"orient\", e);\n  }\n  get orient() {\n    return this._orient;\n  }\n  set value(t) {\n    const e = this._value;\n    this._max >= t && (this._value = t, this._setProgress(), this.requestUpdate(\"value\", e));\n  }\n  get value() {\n    return this._value;\n  }\n  set disabled(t) {\n    const e = this._disabled;\n    this._disabled = t, this.requestUpdate(\"disabled\", e);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._setProgress(), this.requestUpdate(), document.addEventListener(\"DOMContentLoaded\", this._handleDomContentLoaded), this._input.addEventListener(\"input\", this._handleInputEvent), this._input.addEventListener(\"mouseup\", this._handleMouseUp), this._input.addEventListener(\"keyup\", this._handleKeyUp), this._input.addEventListener(\"touchstart\", this._handleTouchStartEvent), this._input.addEventListener(\"touchmove\", this._handleTouchMoveEvent), this._input.addEventListener(\"touchend\", this._handleTouchEndEvent);\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  disconnectedCallback() {\n    var t, e, r, s, i, n;\n    super.disconnectedCallback(), document.removeEventListener(\"DOMContentLoaded\", this._handleDomContentLoaded), (t = this._input) == null || t.removeEventListener(\"input\", this._handleInputEvent), (e = this._input) == null || e.removeEventListener(\"mouseup\", this._handleMouseUp), (r = this._input) == null || r.removeEventListener(\"keyup\", this._handleKeyUp), (s = this._input) == null || s.removeEventListener(\"touchstart\", this._handleTouchStartEvent), (i = this._input) == null || i.removeEventListener(\"touchmove\", this._handleTouchMoveEvent), (n = this._input) == null || n.removeEventListener(\"touchend\", this._handleTouchEndEvent);\n  }\n  _handleTouchStart(t) {\n    this._vertical && t.preventDefault(), this._isTooltipTouched = !0;\n  }\n  _handleTouchEnd(t) {\n    this._vertical && t.preventDefault(), this._isTooltipTouched = !1, this.requestUpdate(), this._dispatchValue();\n  }\n  _handleTouchMove(t) {\n    if (this._vertical) {\n      if (!t.target) return;\n      const e = t.target, r = Number.parseInt(e.max, 10), s = Number.parseInt(e.min, 10), i = t.touches[0], n = e.getBoundingClientRect(), l = (i.clientY - n.top) / n.height, d = Math.round(l * (r - s) + s);\n      e.value = String(r - d + s), e.dispatchEvent(new Event(\"input\"));\n    }\n  }\n  _handleInput() {\n    if (this._input) {\n      const t = Number.parseFloat(this._input.value);\n      this._progress = Math.round((t - this._min) / (this._max - this._min) * 100), this.requestUpdate();\n    }\n  }\n  _setProgress() {\n    this._input && (this._input.value = this._value.toString()), this._progress = Math.round((this._value - this._min) / (this._max - this._min) * 100), this.requestUpdate();\n  }\n  _updateTooltip() {\n    if (this._tooltip) {\n      const t = Number((+this._input.value - +this._min) * 100 / (+this._max - +this._min)), e = 10 - t * 0.2;\n      this._tooltip.innerHTML = `<span class=\"tooltip-wrapper\"><span class=\"tooltip-value\">${this._input.value}</span></span>`, this._tooltip.style.left = `calc(${t}% + (${e}px))`;\n    }\n  }\n  _dispatchValue() {\n    const t = {\n      detail: this._input.value,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onDssSliderValueChange\", t));\n  }\n  render() {\n    return m(this);\n  }\n}\no([\n  h({ type: Number })\n], a.prototype, \"min\");\no([\n  h({ type: Number })\n], a.prototype, \"max\");\no([\n  h({ type: Number })\n], a.prototype, \"step\");\no([\n  h({ type: String })\n], a.prototype, \"orient\");\no([\n  h({ type: Number })\n], a.prototype, \"value\");\no([\n  h(c)\n], a.prototype, \"disabled\");\no([\n  h({ type: String })\n], a.prototype, \"label\");\nexport {\n  a as Slider\n};\n//# sourceMappingURL=slider.js.map\n","const t = \":host{display:inline-block;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.dss-spinner{width:48px;height:48px;animation:rotate-animation 1s linear infinite;position:relative}.dss-spinner__item{width:100%;height:100%;left:0;top:0;position:absolute;transform:rotate(-90deg)}.dss-spinner__item:nth-child(1) circle{stroke:#eff7ff;stroke-dasharray:1,300;stroke-dashoffset:0;animation:stroke-animation 4s .2s ease infinite;transform-origin:center center}.dss-spinner__item:nth-child(2) circle{stroke:#bfddfa;stroke-dasharray:1,300;stroke-dashoffset:0;animation:stroke-animation 4s .4s ease infinite;transform-origin:center center}.dss-spinner__item:nth-child(3) circle{stroke:#60a8f0;stroke-dasharray:1,300;stroke-dashoffset:0;animation:stroke-animation 4s calc(.2s * (3)) ease infinite;transform-origin:center center}.dss-spinner__item:nth-child(4) circle{stroke:#0073e6;stroke-dasharray:1,300;stroke-dashoffset:0;animation:stroke-animation 4s .8s ease infinite;transform-origin:center center}.dss-spinner__item circle{fill:none;stroke-linecap:round;stroke-width:8px}.dss-spinner.dss-spinner--sm{width:24px;height:24px}.dss-spinner.dss-spinner--md{width:48px;height:48px}.dss-spinner.dss-spinner--lg{width:72px;height:72px}@keyframes stroke-animation{0%{stroke-dasharray:1,300;stroke-dashoffset:0}50%{stroke-dasharray:120,300;stroke-dashoffset:-59}to{stroke-dasharray:120,300;stroke-dashoffset:-175}}@keyframes rotate-animation{to{transform:rotate(360deg)}}\";\nexport {\n  t as default\n};\n//# sourceMappingURL=spinner.style.css.js.map\n","import { html as c } from \"lit/static-html.js\";\nconst i = (s) => c`\n  <div class=\"dss-spinner dss-spinner--${s.size}\">\n      <svg\n        viewBox=\"0 0 66 66\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        class=\"dss-spinner__item\"\n      >\n        <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n      </svg>\n      <svg\n        viewBox=\"0 0 66 66\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        class=\"dss-spinner__item\"\n      >\n        <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n      </svg>\n      <svg\n        viewBox=\"0 0 66 66\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        class=\"dss-spinner__item\"\n      >\n        <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n      </svg>\n      <svg\n        viewBox=\"0 0 66 66\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        class=\"dss-spinner__item\"\n      >\n        <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n      </svg>\n    </div>\n`;\nexport {\n  i as template\n};\n//# sourceMappingURL=spinner.template.js.map\n","import { LitElement as o, unsafeCSS as p } from \"lit\";\nimport { property as m } from \"lit/decorators.js\";\nimport f from \"./spinner.style.css.js\";\nimport { template as a } from \"./spinner.template.js\";\nvar l = Object.defineProperty, u = (e, s, i, v) => {\n  for (var r = void 0, t = e.length - 1, n; t >= 0; t--)\n    (n = e[t]) && (r = n(s, i, r) || r);\n  return r && l(s, i, r), r;\n};\nclass d extends o {\n  constructor() {\n    super(...arguments), this.size = \"md\";\n  }\n  static get styles() {\n    return p(f);\n  }\n  render() {\n    return a(this);\n  }\n}\nu([\n  m({ type: String })\n], d.prototype, \"size\");\nexport {\n  d as Spinner\n};\n//# sourceMappingURL=spinner.js.map\n","const s = \".dss-split-button{display:flex;justify-content:center;align-items:center;width:-moz-fit-content;width:fit-content;font-family:var(--font-family)}.dss-split-button .dss-split-button-main:focus-visible,.dss-split-button .dss-split-button-icon:focus-visible{z-index:900}.dss-split-button-main{display:flex;align-items:center;gap:var(--dss-spacing-xxs);height:40px;padding-top:var(--dss-spacing-xs);padding-right:var(--dss-spacing-sm);padding-bottom:var(--dss-spacing-xs);padding-left:var(--dss-spacing-lg);box-sizing:border-box;border-radius:0;border-top-left-radius:var(--dss-radius-xl);border-bottom-left-radius:var(--dss-radius-xl);font-size:16px;line-height:24px;font-weight:var(--font-semibold)}.dss-split-button--primary .dss-split-button-main{border-right:var(--dss-border-width-sm) solid var(--color-white)}.dss-split-button--primary .dss-split-button-main:focus-visible{border-right:transparent}.dss-split-button--primary.dss-split-button--disabled .dss-split-button-main{border-right:var(--dss-border-width-sm) solid var(--color-neutral-500)}.dss-split-button-icon{height:40px;padding-top:var(--dss-spacing-xs);padding-right:var(--dss-spacing-md);padding-bottom:var(--dss-spacing-xs);padding-left:var(--dss-spacing-xs);box-sizing:border-box;border-radius:0;border-top-right-radius:var(--dss-radius-xl);border-bottom-right-radius:var(--dss-radius-xl);border-left:0}.dss-split-button-icon:hover:enabled{border-left:0}.dss-split-button--open.dss-split-button--primary .dss-split-button-icon:not(:disabled){background-color:var(--color-primary-700)}.dss-split-button--open.dss-split-button--secondary .dss-split-button-icon:not(:disabled){background-color:var(--color-primary-100)}.dss-split-button--md .dss-split-button-main{height:32px;font-size:14px;padding:var(--dds-spacing-xxs, 4px) var(--dds-spacing-xs, 8px) var(--dds-spacing-xxs, 4px) var(--dds-spacing-md, 16px)}.dss-split-button--md .dss-split-button-icon{height:32px;padding:var(--dds-spacing-xxs, 4px) var(--dds-spacing-xs, 8px) var(--dds-spacing-xxs, 4px) var(--dds-spacing-xxs, 4px)}.dss-split-button--sm .dss-split-button-main{height:24px;font-size:12px;padding:var(--dds-spacing-xxs, 4px) var(--dds-spacing-xs, 8px) var(--dds-spacing-xxs, 4px) var(--dds-spacing-sm, 12px);line-height:16px}.dss-split-button--sm .dss-split-button-icon{height:24px;padding:0px var(--dds-spacing-xxs, 4px) 0px var(--dss-spacing-tiny, 2px)}.dss-split-button-icon:disabled .dss-icon{color:var(--color-neutral-500)}.dss-split-button .dss-split-button__tooltip{white-space:wrap;opacity:0;visibility:hidden}.dss-split-button[data-truncated=true]:hover .dss-split-button__tooltip{opacity:1;visibility:visible}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=split-button.style.css.js.map\n","import { classMap as i } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as r, literal as u, html as l } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst t = u`dss-icon${r(e())}`, d = u`dss-tooltip${r(e())}`, _ = (s) => {\n  const b = {\n    \"dss-split-button--primary\": s._variant === \"primary\",\n    \"dss-split-button--secondary\": s._variant === \"secondary\",\n    \"dss-split-button--open\": s._isOpen,\n    \"dss-split-button--disabled\": s._disabled,\n    [`dss-split-button--${s._size}`]: !!s._size\n  }, a = {\n    \"dss-button--primary\": s._variant === \"primary\",\n    \"dss-button--secondary\": s._variant === \"secondary\"\n  };\n  return l`\n    <div class=\"dss-split-button ${i(b)}\" @mouseenter=${s.checkTextTruncate}>\n      <button\n        type=\"button\"\n        class=\"dss-button ${i(a)} dss-split-button-main\"\n        ?disabled=${s._disabled}\n        @click=\"${s._dispatchMainClick}\"\n      >\n        ${s.icon ? l`\n              <${t}\n                size=${s._iconSize}\n                icon=${s.icon}\n                ?fill=${s.iconFill}\n                >${s.icon}</${t}>\n            ` : null}\n        <span class=\"dss-button-text\">\n          ${s._text}\n\t\t\t\t</span>\n      </button>\n      <div class=\"dss-split-button-action\" data-expanded=\"${s._isOpen}\">\n        <button\n          aria-label=\"${s._isOpen ? s.secondaryLabelClose : s.secondaryLabelOpen}\"\n          type=\"button\" \n          class=\"dss-button ${i(a)} dss-button--only-icon dss-split-button-icon\"\n          ?disabled=${s._disabled}\n          @click=\"${s._dispatchIconClick}\"\n        >\n          <${t} \n            icon=\"${s._isOpen ? s._iconOpen : s._iconClose}\"\n            size=\"md\">\n          </${t}>\n        </button>\n        <slot name=\"menu\"></slot>\n      </div>\n      <${d} ?tooltipFixed=\"${s.tooltipFixed}\" class=\"dss-split-button__tooltip\" aria-hidden=\"true\">\n        ${s._text}\n      </${d}>\n    </div>\n  `;\n};\nexport {\n  _ as splitButtonTemplate\n};\n//# sourceMappingURL=split-button.template.js.map\n","import { LitElement as c, unsafeCSS as h } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport { booleanType as a } from \"../../utils/property-types.js\";\nimport u from \"../../foundations/icon/icon.style.css.js\";\nimport _ from \"../button/button.style.css.js\";\nimport m from \"./split-button.style.css.js\";\nimport { splitButtonTemplate as y } from \"./split-button.template.js\";\nvar f = Object.defineProperty, b = Object.getOwnPropertyDescriptor, i = (l, t, e, r) => {\n  for (var n = r > 1 ? void 0 : r ? b(t, e) : t, p = l.length - 1, d; p >= 0; p--)\n    (d = l[p]) && (n = (r ? d(t, e, n) : d(n)) || n);\n  return r && n && f(t, e, n), n;\n};\nclass o extends c {\n  // private _handleActionMenuClickBound: (event: Event) => void;\n  constructor() {\n    super(), this.secondaryLabelOpen = \"Obrir\", this.secondaryLabelClose = \"Tamcar\", this.icon = void 0, this.iconFill = !1, this.tooltipFixed = !1, this._iconSize = \"md\", this._size = \"lg\", this._iconClose = \"expand_more\", this._iconOpen = \"expand_less\", this._variant = \"primary\", this._text = \"\", this._disabled = !1, this._isOpen = !1, this._dropdownPosition = \"bottom-right\", this._hasMenu = !1, this._handleDocumentClickBound = this._handleDocumentClick.bind(this);\n  }\n  static get styles() {\n    return [h(u), h(_), h(m)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), document.addEventListener(\"mousedown\", this._handleDocumentClickBound);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), document.removeEventListener(\"mousedown\", this._handleDocumentClickBound);\n  }\n  get _actionMenu() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"menu\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set iconClose(t) {\n    const e = this._iconClose;\n    this._iconClose = t, this.requestUpdate(\"iconClose\", e);\n  }\n  get iconClose() {\n    return this._iconClose;\n  }\n  set iconOpen(t) {\n    const e = this._iconOpen;\n    this._iconOpen = t, this.requestUpdate(\"iconOpen\", e);\n  }\n  get iconOpen() {\n    return this._iconOpen;\n  }\n  set variant(t) {\n    const e = this._variant;\n    this._variant = t, this.requestUpdate(\"variant\", e);\n  }\n  get variant() {\n    return this._variant;\n  }\n  set text(t) {\n    const e = this._text;\n    this._text = t, this.requestUpdate(\"text\", e);\n  }\n  get text() {\n    return this._text;\n  }\n  set disabled(t) {\n    const e = this._disabled;\n    this._disabled = t, this.requestUpdate(\"disabled\", e);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set isOpen(t) {\n    const e = this._isOpen;\n    this._isOpen = t, this.requestUpdate(\"disabled\", e);\n  }\n  get isOpen() {\n    return this._isOpen;\n  }\n  set size(t) {\n    const e = this._size;\n    t === \"md\" || t === \"sm\" ? this._size = t : this._size = \"lg\", this.requestUpdate(\"size\", e);\n  }\n  get size() {\n    return this._size;\n  }\n  set dropdownPosition(t) {\n    const e = this._dropdownPosition;\n    this._dropdownPosition = t, this.requestUpdate(\"dropdownPosition\", e);\n  }\n  get dropdownPosition() {\n    return this._dropdownPosition;\n  }\n  set hasMenu(t) {\n    const e = this._hasMenu;\n    this._hasMenu = t, this.requestUpdate(\"hasMenu\", e);\n  }\n  get hasMenu() {\n    return this._hasMenu;\n  }\n  _dispatchMainClick() {\n    const t = {\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onClick\", t));\n  }\n  _dispatchIconClick() {\n    this._hasMenu && this._toggleMenu();\n    const t = {\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onSecondaryClick\", t));\n  }\n  _toggleMenu() {\n    this._isOpen = !this._isOpen, this.requestUpdate();\n  }\n  _handleActionMenuClosed() {\n    this._isOpen = !1, this._actionMenu && !this._isOpen && this._actionMenu._closeMenu();\n  }\n  _handleDocumentClick(t) {\n    this._clickedOutsideItem(this, t);\n  }\n  checkTextTruncate(t) {\n    if (!t) return;\n    const e = t.target, r = e.querySelector(\".dss-button-text\"), n = r.scrollWidth > r.offsetWidth;\n    e.setAttribute(\"data-truncated\", n.toString());\n  }\n  _clickedOutsideItem(t, e) {\n    e.composedPath().includes(t) || this._isOpen && (this._isOpen = !1, this.requestUpdate());\n  }\n  async firstUpdated() {\n    await this.updateComplete, this._actionMenu && this._actionMenu.addEventListener(\"onCloseActionMenu\", () => {\n      this._handleActionMenuClosed();\n    });\n  }\n  willUpdate(t) {\n    t.has(\"size\") && (this._iconSize = this.size === \"lg\" ? \"md\" : \"sm\");\n  }\n  render() {\n    return y(this);\n  }\n}\ni([\n  s({ type: String })\n], o.prototype, \"iconClose\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"iconOpen\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"variant\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"text\", 1);\ni([\n  s(a)\n], o.prototype, \"disabled\", 1);\ni([\n  s(a)\n], o.prototype, \"isOpen\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"size\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"dropdownPosition\", 1);\ni([\n  s(a)\n], o.prototype, \"hasMenu\", 1);\ni([\n  s({ type: String })\n], o.prototype, \"secondaryLabelOpen\", 2);\ni([\n  s({ type: String })\n], o.prototype, \"secondaryLabelClose\", 2);\ni([\n  s({ type: String })\n], o.prototype, \"icon\", 2);\ni([\n  s(a)\n], o.prototype, \"iconFill\", 2);\ni([\n  s(a)\n], o.prototype, \"tooltipFixed\", 2);\nexport {\n  o as SplitButton\n};\n//# sourceMappingURL=split-button.js.map\n","const r = ':host{display:inline-block;height:100%;width:100%;--circle: 32px;--circle-md: 24px;--circle-sm: 16px;--default-background: var(--color-white);--default-border-color: var(--color-neutral-500);--default-font-color: var(--color-neutral-900);--default-background-hover: var(--color-neutral-50);--default-font-color-active: var(--color-neutral-500);--active-background: var(--color-primary-500);--active-border-color: var(--color-primary-500);--active-font-color: var(--color-white);--completed-background: var(--color-primary-50);--disabled-background: var(--color-neutral-100);--disabled-border-color: var(--color-neutral-100);--disabled-font-color: var(--color-neutral-600);--line-width: 2px;--font-size: 18px;--font-size-md: 16px;--font-size-sm: 16px}.dss-circular-stepper{display:flex;gap:16px;align-items:center}.dss-circular-stepper__item{width:3rem;height:3rem;position:relative}.dss-circular-stepper__item svg{width:3rem;height:3rem;transform:rotate(-90deg)}.dss-circular-stepper__counter{position:absolute;font-size:.9rem;line-height:24px;left:0;top:0;width:3rem;height:3rem;display:flex;justify-content:center;align-items:center}.dss-circular-stepper__label,.dss-circular-stepper__counter b{font-weight:600;color:var(--color-neutral-700);font-size:.9rem;transition:.3s all ease-in;line-height:24px}.dss-circular-stepper circle{stroke:var(--color-neutral-200);stroke-dashoffset:0;fill:none;stroke-linecap:round;stroke-width:6px;stroke-dasharray:100,100;transition:.3s all ease-in}.dss-circular-stepper circle:last-of-type{stroke:var(--color-primary-500);stroke-dasharray:var(--percent),100;stroke-dashoffset:0}.dss-stepper{display:flex;list-style:none;justify-content:space-between;background:linear-gradient(var(--default-border-color) 0 0) no-repeat 50% calc((var(--circle) - var(--line-width)) / 2) / 100% var(--line-width);margin:var(--dss-spacing-xxs) 0 var(--dss-spacing-xl);padding:0;counter-reset:step}.dss-stepper--md{background:linear-gradient(var(--default-border-color) 0 0) no-repeat 50% calc((var(--circle-md) - var(--line-width)) / 2) / 100% var(--line-width)}.dss-stepper--sm{background:linear-gradient(var(--default-border-color) 0 0) no-repeat 50% calc((var(--circle-sm) - var(--line-width)) / 2) / 100% var(--line-width)}.dss-bubble{display:grid;place-items:center;gap:0;position:relative;border-radius:50%;transition:.3s outline ease-in}.dss-bubble:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-bubble:before{cursor:pointer;content:counter(step) \" \";counter-increment:step;display:grid;place-content:center;aspect-ratio:1;height:var(--circle);box-sizing:border-box;border-radius:50%;font-size:var(--font-size);font-weight:var(--font-semibold);font-family:var(--font-family);z-index:100;background-color:var(--default-background);border:var(--line-width) solid var(--active-border-color);color:var(--default-font-color);transition:.3s all ease-in}.dss-bubble:not(.dss-bubble--active):not(:active):hover:before{background-color:var(--completed-background)}.dss-stepper--md .dss-bubble:before{height:var(--circle-md);font-size:var(--font-size-md)}.dss-stepper--sm .dss-bubble:before{content:\"\";height:var(--circle-sm);font-size:var(--font-size-sm);height:16px;width:16px}.dss-bubble--active:before{background-color:var(--active-background);border-color:var(--active-border-color);color:var(--active-font-color)}.dss-bubble--active~.dss-bubble:before{background-color:var(--default-background);border-color:var(--default-border-color);color:var(--default-font-color)}.dss-bubble--active~.dss-bubble:not(.dss-bubble--active):hover:before{background-color:var(--default-background-hover)}.dss-bubble--active~.dss-bubble:active:before{background-color:var(--default-background);color:var(--default-font-color-active)}.dss-bubble--icon:before{content:attr(icon);font-family:var(--icon-font);font-weight:400}.dss-bubble--checked:before{content:\"done\";font-family:var(--icon-font);font-weight:400;font-size:24px;color:var(--color-primary-500)!important}.dss-stepper--sm .dss-bubble--checked:before{content:\"check_circle\";background-color:var(--color-primary-500);color:var(--color-white)!important;border-width:1px!important}.dss-stepper--sm .dss-bubble--checked:hover:before{border-color:var(--color-white);color:var(--color-primary-500)!important}.dss-bubble--checked:active:before{background-color:var(--color-white);color:var(--color-primary-300)!important;border-color:var(--color-primary-500)!important}.dss-stepper--sm .dss-bubble--checked:active:before{border-color:var(--color-white)!important;color:var(--color-primary-300)!important}.dss-bubble--info:before,.dss-bubble--active~.dss-bubble.dss-bubble--info:before{content:\"info_i\";font-family:var(--icon-font);font-weight:400;background-color:var(--color-white);color:var(--color-blue-500);border-color:var(--color-blue-500)}.dss-bubble--info:hover:before,.dss-bubble--active~.dss-bubble.dss-bubble--info:hover:before{background-color:var(--color-blue-50)!important}.dss-bubble--info:active:before,.dss-bubble--active~.dss-bubble.dss-bubble--info:not(.dss-bubble--active):active:before{color:var(--color-blue-300)!important;background-color:var(--color-white)!important}.dss-stepper--sm .dss-bubble--info:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--info:before{content:\"info\";background-color:var(--color-blue-500);border-color:var(--color-blue-500);color:var(--color-white)!important;border-width:1px!important}.dss-stepper--sm .dss-bubble--info:hover:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--info:hover:before{background-color:var(--color-blue-50)!important;border-color:var(--color-white);color:var(--color-blue-500)!important}.dss-stepper--sm .dss-bubble--info:active:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--info:active:before{background-color:var(--color-white)!important;border-color:var(--color-white)!important;color:var(--color-blue-300)!important}.dss-bubble--alert:before,.dss-bubble--active~.dss-bubble.dss-bubble--alert:before{content:\"priority_high\";font-family:var(--icon-font);font-weight:400;background-color:var(--color-white);color:var(--color-yellow-800);border-color:var(--color-yellow-800)}.dss-bubble--alert:not(:active):hover:before{background-color:var(--color-yellow-50)!important}.dss-bubble--alert:active:before,.dss-bubble--active~.dss-bubble.dss-bubble--alert:active:before{color:var(--color-yellow-700)!important;background-color:var(--color-white)}.dss-stepper--sm .dss-bubble--alert:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--alert:before{content:\"error\";background-color:var(--color-yellow-800);border-color:var(--color-yellow-800);color:var(--color-white)!important;border-width:1px!important}.dss-stepper--sm .dss-bubble--alert:hover:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--alert:hover:before{background-color:var(--color-yellow-50)!important;border-color:var(--color-white);color:var(--color-yellow-800)!important}.dss-stepper--sm .dss-bubble--alert:active:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--alert:active:before{background-color:var(--color-white)!important;border-color:var(--color-white)!important;color:var(--color-yellow-700)!important}.dss-bubble--error:before,.dss-bubble--active~.dss-bubble.dss-bubble--error:before{content:\"close\";font-family:var(--icon-font);font-weight:400;background-color:var(--color-white);color:var(--color-red-500);border-color:var(--color-red-500)}.dss-bubble--error:active:before,.dss-bubble--active~.dss-bubble.dss-bubble--error:active:before{color:var(--color-red-300)!important;background-color:var(--color-white)}.dss-stepper--sm .dss-bubble--error:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--error:before{content:\"cancel\";background-color:var(--color-red-500);border-color:var(--color-red-500);color:var(--color-white)!important;border-width:1px!important}.dss-stepper--sm .dss-bubble--error:hover:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--error:hover:before{background-color:var(--color-red-50)!important;border-color:var(--color-white);color:var(--color-red-500)!important}.dss-stepper--sm .dss-bubble--error:active:before,.dss-stepper--sm .dss-bubble--active~.dss-bubble.dss-bubble--error:active:before{background-color:var(--color-white)!important;border-color:var(--color-white)!important;color:var(--color-red-300)!important}.dss-bubble--disabled:before{cursor:not-allowed;background-color:var(--disabled-background)!important;border-color:var(--disabled-border-color)!important;color:var(--disabled-font-color)!important}.dss-stepper--vertical .dss-bubble:not(:first-child){margin-top:var(--dss-spacing-lg)}.dss-bubble--error:not(:active):hover:before{background-color:var(--color-red-50)!important}.dss-bubble--error:active:before{color:var(--color-red-300)!important}.dss-stepper--sm .dss-bubble--error:before{content:\"cancel\";background-color:var(--color-red-500);border-color:var(--color-red-500);color:var(--color-white)!important;border-width:1px!important}.dss-stepper--sm .dss-bubble--error:hover:before{background-color:var(--color-red-50)!important;border-color:var(--color-white);color:var(--color-red-500)!important}.dss-stepper--sm .dss-bubble--error:active:before{background-color:var(--color-white)!important;border-color:var(--color-white)!important;color:var(--color-red-300)!important}.dss-bubble--disabled:before{cursor:not-allowed;background:var(--disabled-background)!important;border-color:var(--disabled-border-color)!important;color:var(--disabled-font-color)!important}.dss-bubble--completed:not(:first-child):after{content:\"\";position:absolute;height:var(--line-width);right:0;top:calc((var(--circle) - var(--line-width)) / 2);width:var(--active-bar-width);background:var(--active-background)}.dss-bubble--active:not(:first-child):after{content:\"\";position:absolute;height:var(--line-width);right:0;top:calc((var(--circle) - var(--line-width)) / 2);width:var(--active-bar-width);background:var(--active-background);animation:animate .3s}.dss-stepper--md .dss-bubble--completed:not(:first-child):after{top:calc((var(--circle-md) - var(--line-width)) / 2)}.dss-stepper--md .dss-bubble--active:not(:first-child):after{top:calc((var(--circle-md) - var(--line-width)) / 2)}.dss-stepper--sm .dss-bubble--completed:not(:first-child):after{top:calc((var(--circle-sm) - var(--line-width)) / 2)}.dss-stepper--sm .dss-bubble--active:not(:first-child):after{top:calc((var(--circle-sm) - var(--line-width)) / 2)}.dss-stepper--vertical{height:100%;flex-direction:column;gap:0;background:linear-gradient(var(--default-border-color) 0 0) no-repeat calc((var(--circle) - var(--line-width)) / 2) 50% / var(--line-width) 100%}.dss-stepper--vertical .dss-bubble{display:flex;width:-moz-fit-content;width:fit-content}.dss-stepper--vertical .dss-bubble--completed:not(:first-child):after{content:\"\";position:absolute;width:var(--line-width);bottom:0;left:calc((var(--circle) - var(--line-width)) / 2);top:auto;right:auto;height:var(--active-bar-width);background:var(--active-background)}.dss-stepper--vertical .dss-bubble--active:not(:first-child):after{content:\"\";position:absolute;width:var(--line-width);bottom:0;left:calc((var(--circle) - var(--line-width)) / 2);top:auto;right:auto;height:var(--active-bar-width);background:var(--active-background);animation:column-animate .5s}.dss-stepper--md.dss-stepper--vertical{background:linear-gradient(var(--default-border-color) 0 0) no-repeat calc((var(--circle-md) - var(--line-width)) / 2) 50% / var(--line-width) 100%}.dss-stepper--sm.dss-stepper--vertical{background:linear-gradient(var(--default-border-color) 0 0) no-repeat calc((var(--circle-sm) - var(--line-width)) / 2) 50% / var(--line-width) 100%}.dss-stepper--md.dss-stepper--vertical .dss-bubble--completed:not(:first-child):after{left:calc((var(--circle-md) - var(--line-width)) / 2)}.dss-stepper--sm.dss-stepper--vertical .dss-bubble--completed:not(:first-child):after{left:calc((var(--circle-sm) - var(--line-width)) / 2)}.dss-stepper--md.dss-stepper--vertical .dss-bubble--active:not(:first-child):after{left:calc((var(--circle-md) - var(--line-width)) / 2)}.dss-stepper--sm.dss-stepper--vertical .dss-bubble--active:not(:first-child):after{left:calc((var(--circle-sm) - var(--line-width)) / 2)}.dss-stepper:not(.dss-stepper--vertical) .dss-bubble-label{position:absolute;top:calc(100% + var(--dss-spacing-xxs));left:50%;transform:translate(-50%)}.dss-bubble-label{width:-moz-max-content;width:max-content;font-weight:var(--font-regular);font-size:14px;color:var(--color-neutral-700)}.dss-bubble-label--disabled{color:var(--color-neutral-500)}.dss-bubble--active .dss-bubble-label{color:var(--color-neutral-700);font-weight:var(--font-semibold)}.dss-stepper--vertical .dss-bubble-label{position:absolute;left:calc(100% + var(--dss-spacing-xs));top:50%;transform:translateY(-50%)}.dss-bubble-label.hide-label{display:none}@keyframes animate{0%{width:0}to{width:100%}}@keyframes column-animate{0%{height:0}to{height:100%}}';\nexport {\n  r as default\n};\n//# sourceMappingURL=stepper.style.css.js.map\n","import { LitElement, unsafeCSS, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { booleanType } from \"../../utils/property-types.js\";\nimport styles from \"./stepper.style.css.js\";\nvar __defProp = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = (t, s, r, l) => {\n  for (var i = __getOwnPropDesc(s, r), e = t.length - 1, c; e >= 0; e--)\n    (c = t[e]) && (i = c(s, r, i) || i);\n  return i && __defProp(s, r, i), i;\n};\nclass Stepper extends LitElement {\n  constructor() {\n    super(...arguments), this._steps = [], this._currentStep = 1, this._column = !1, this._circular = !1, this._hideLabel = !1, this._size = \"md\", this._activeBarWidth = \"0\", this._isFirstUpdate = !0;\n  }\n  static get styles() {\n    return unsafeCSS(styles);\n  }\n  set steps(steps) {\n    const oldValue = this._steps;\n    this._steps = steps, typeof steps == \"string\" && (this._steps = eval(`(${steps})`)), this.requestUpdate(\"steps\", oldValue);\n  }\n  get steps() {\n    return this._steps;\n  }\n  set currentStep(t) {\n    const s = this._currentStep;\n    this._currentStep = t, this.requestUpdate(\"currentStep\", s);\n  }\n  get currentStep() {\n    return this._currentStep;\n  }\n  set column(t) {\n    const s = this._column;\n    this._column = t, this.requestUpdate(\"column\", s);\n  }\n  get column() {\n    return this._column;\n  }\n  set circular(t) {\n    const s = this._circular;\n    this._circular = t, this.requestUpdate(\"circular\", s);\n  }\n  get circular() {\n    return this._circular;\n  }\n  set hideLabel(t) {\n    const s = this._hideLabel;\n    this._hideLabel = t, this.requestUpdate(\"hideLabel\", s);\n  }\n  get hideLabel() {\n    return this._hideLabel;\n  }\n  set size(t) {\n    const s = this._size;\n    this._size = t, this.requestUpdate(\"size\", s);\n  }\n  get size() {\n    return this._size;\n  }\n  async firstUpdated() {\n    await this.updateComplete, this._setActiveBarWidth(), this._isFirstUpdate = !1, this.requestUpdate();\n  }\n  willUpdate(t) {\n    this._isFirstUpdate || (t.has(\"currentStep\") || t.has(\"steps\") || t.has(\"column\")) && (this._setActiveBarWidth(), this.requestUpdate());\n  }\n  _setActiveBarWidth() {\n    var i;\n    const t = this._steps.length, s = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-stepper\"), r = s == null ? void 0 : s.getBoundingClientRect(), l = this._column ? r == null ? void 0 : r.height : r == null ? void 0 : r.width;\n    if (l) {\n      const e = Math.floor(l / (t - 1));\n      this._activeBarWidth = `${e}px`;\n    }\n  }\n  _onStepClick(t, s) {\n    if (!(t.state === \"disabled\")) {\n      const l = {\n        detail: { step: t, stepNumber: s },\n        bubbles: !0,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"onStepClick\", l));\n    }\n  }\n  render() {\n    var l, i;\n    const t = (l = this._steps) == null ? void 0 : l.length, s = Math.round(this._currentStep / t * 100), r = {\n      \"dss-stepper--vertical\": this._column,\n      \"dss-stepper--sm\": this._size === \"sm\",\n      \"dss-stepper--md\": this._size === \"md\"\n    };\n    return html`\n      ${this._circular ? html`\n            <div class=\"dss-circular-stepper\">\n              <div class=\"dss-circular-stepper__item\">\n                <svg viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n                  <circle cx=\"33\" cy=\"33\" r=\"28\" pathLength=\"100\"></circle>\n                  <circle\n                    cx=\"33\"\n                    cy=\"33\"\n                    r=\"28\"\n                    style=\"--percent: ${s}\"\n                    pathLength=\"100\"\n                  ></circle>\n                </svg>\n                <span class=\"dss-circular-stepper__counter\">\n                  <b>${this._currentStep}</b>/${t}\n                </span>\n              </div>\n              <span class=\"dss-circular-stepper__label\">\n                ${this._steps[this._currentStep - 1].label}\n              </span>\n            </div>\n          ` : html`\n            <style>\n              :host {\n                --active-bar-width: ${this._activeBarWidth};\n              }\n            </style>\n            <ol class=\"dss-stepper ${classMap(r)}\">\n              ${(i = this._steps) == null ? void 0 : i.map((e, c) => {\n      const a = c + 1, p = (d) => {\n        d.key === \"Enter\" && this._onStepClick(e, a);\n      }, o = e.state === \"disabled\", n = {\n        \"dss-bubble--active\": a === this._currentStep,\n        \"dss-bubble--completed\": a < this._currentStep,\n        \"dss-bubble--checked\": e.state === \"checked\" && a !== this._currentStep,\n        \"dss-bubble--error\": e.state === \"error\" && a !== this._currentStep,\n        \"dss-bubble--info\": e.state === \"info\" && a !== this._currentStep,\n        \"dss-bubble--alert\": e.state === \"alert\" && a !== this._currentStep,\n        \"dss-bubble--disabled\": e.state === \"disabled\",\n        \"dss-bubble--icon\": !!(e != null && e.icon) && this._size !== \"sm\"\n      }, h = {\n        \"dss-bubble-label--disabled\": e.state === \"disabled\",\n        \"hide-label\": this._hideLabel\n      };\n      return html`\n                  <li\n                    class=\"dss-bubble ${classMap(n)}\"\n                    icon=\"${(e == null ? void 0 : e.icon) || \"\"}\"\n                    tabindex=\"${o ? -1 : 0}\"\n                    aria-label=\"Step ${e == null ? void 0 : e.state}\"\n                    @click=${() => this._onStepClick(e, a)}\n                    @keydown=${p}\n                  >\n                    <span class=\"dss-bubble-label ${classMap(h)}\"\n                      >${unsafeHTML(e.label)}</span\n                    >\n                  </li>\n                `;\n    })}\n            </ol>\n          `}\n    `;\n  }\n}\n__decorateClass([\n  property({ type: [] })\n], Stepper.prototype, \"steps\");\n__decorateClass([\n  property({ type: Number })\n], Stepper.prototype, \"currentStep\");\n__decorateClass([\n  property(booleanType)\n], Stepper.prototype, \"column\");\n__decorateClass([\n  property(booleanType)\n], Stepper.prototype, \"circular\");\n__decorateClass([\n  property(booleanType)\n], Stepper.prototype, \"hideLabel\");\n__decorateClass([\n  property({ type: String })\n], Stepper.prototype, \"size\");\nexport {\n  Stepper\n};\n//# sourceMappingURL=stepper.js.map\n","const n = \":host{width:100%;display:flex;justify-content:flex-end;height:-moz-fit-content;height:fit-content;font-family:var(--font-family);font-style:normal;border-top:2px solid var(--color-neutral-700)}.pagination__container{display:flex;align-items:center;padding:.5rem .75rem;gap:1rem}.pagination__results{font-weight:600;font-size:.875rem;line-height:1.5rem;color:#0073e6}.pagination__divider{height:1rem;border-left:1px solid rgb(216,216,216)}.pagination__text{font-weight:400;font-size:12px;line-height:1rem;color:#656565}.pagination__button{color:#0073e6;font-size:1.5rem;padding:0;align-items:center;background-color:transparent;border:none;border-radius:100%;cursor:pointer;display:flex;height:-moz-fit-content;height:fit-content;justify-content:center;transition:all .3s ease-in;width:-moz-fit-content;width:fit-content;font-family:var(--icon-font);width:2rem;height:2rem}.pagination__button:hover:enabled{background-color:#bfddfa}.pagination__button:focus-visible:enabled{outline:.25rem solid #8fc2f5;transition:none}.pagination__button:active:enabled{background-color:#eff7ff;transition:none}.pagination__button:disabled{transition:none;opacity:.4;cursor:not-allowed}.pagination__row-page{display:flex;align-items:center;gap:1rem}.pagination__buttons{display:flex;align-items:center}.pagination__select{background:#eff7ff;border-radius:4px;position:relative}.pagination__select select{border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;padding:7px 32px 7px 12px;color:#00356a;font-weight:400;font-size:12px;line-height:1rem;position:inherit;z-index:1;font-family:var(--font-family)}.pagination__select select:active,.pagination__select select:focus-visible{outline:none}.pagination__arrow-down{position:absolute;height:100%;display:flex;align-items:center;top:0;right:12px;color:#00356a}.pagination-select-options:disabled{background-color:var(--color-neutral-50);color:var(--color-neutral-500);cursor:not-allowed}\";\nexport {\n  n as default\n};\n//# sourceMappingURL=table-pagination.style.css.js.map\n","import { LitElement as l, unsafeCSS as d, html as h } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport u from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as g } from \"../../utils/property-types.js\";\nimport c from \"./table-pagination.style.css.js\";\nvar x = Object.defineProperty, S = Object.getOwnPropertyDescriptor, n = (_, t, e, o) => {\n  for (var s = S(t, e), r = _.length - 1, p; r >= 0; r--)\n    (p = _[r]) && (s = p(t, e, s) || s);\n  return s && x(t, e, s), s;\n};\nclass a extends l {\n  constructor() {\n    super(...arguments), this._length = 0, this._pageSizeOptions = [], this._pageSize = 10, this._totalPages = 0, this._currentIndex = 1, this._startIndex = 1, this._endIndex = this._pageSize, this._rowsPerPageText = \"Files per pàgina\", this._resultsText = \"Resultats\", this._pageSizeOptionsDisabled = !1, this._hidePaginationResults = !1;\n  }\n  static get styles() {\n    return [d(u), d(c)];\n  }\n  set length(t) {\n    const e = this._length;\n    this._length = t, this.requestUpdate(\"length\", e);\n  }\n  get length() {\n    return this._length;\n  }\n  set pageSize(t) {\n    const e = this._pageSize;\n    this._pageSize = t, this.requestUpdate(\"pageSize\", e);\n  }\n  get pageSize() {\n    return this._pageSize;\n  }\n  set pageSizeOptions(t) {\n    const e = this._pageSizeOptions;\n    this._pageSizeOptions = t, this.requestUpdate(\"pageSizeOptions\", e);\n  }\n  get pageSizeOptions() {\n    return this._pageSizeOptions;\n  }\n  set pageSizeOptionsDisabled(t) {\n    const e = this._pageSizeOptionsDisabled;\n    this._pageSizeOptionsDisabled = t, this.requestUpdate(\"pageSizeOptionsDisabled\", e);\n  }\n  get pageSizeOptionsDisabled() {\n    return this._pageSizeOptionsDisabled;\n  }\n  set currentIndex(t) {\n    const e = this._currentIndex;\n    this._currentIndex = t, this.requestUpdate(\"currentIndex\", e);\n  }\n  get currentIndex() {\n    return this._currentIndex;\n  }\n  set rowsPerPageText(t) {\n    const e = this._rowsPerPageText;\n    this._rowsPerPageText = t, this.requestUpdate(\"rowsPerPageText\", e);\n  }\n  get rowsPerPageText() {\n    return this._rowsPerPageText;\n  }\n  set resultsText(t) {\n    const e = this._resultsText;\n    this._resultsText = t, this.requestUpdate(\"resultsText\", e);\n  }\n  get resultsText() {\n    return this._resultsText;\n  }\n  set hidePaginationResults(t) {\n    const e = this._hidePaginationResults;\n    this._hidePaginationResults = t, this.requestUpdate(\"hidePaginationResults\", e);\n  }\n  get hidePaginationResults() {\n    return this._hidePaginationResults;\n  }\n  _next() {\n    this._currentIndex++, this._startIndex += this._pageSize, this._endIndex += this._pageSize, this._currentIndex === this._totalPages && (this._endIndex = this._length), this._emitCurrentPage(), this.requestUpdate();\n  }\n  _prev() {\n    const t = Math.abs(this._startIndex - this._endIndex) + 1;\n    this._startIndex -= this._pageSize, this._endIndex -= this._currentIndex === this._totalPages ? t : this._pageSize, this._currentIndex--, this._emitCurrentPage(), this.requestUpdate();\n  }\n  _handleChange() {\n    var e;\n    const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(\"#pagination-select\");\n    this._pageSize = Number(t.value), this._reload(this._startIndex), this._emitCurrentPage(), this.requestUpdate();\n  }\n  _emitCurrentPage() {\n    this.dispatchEvent(\n      new CustomEvent(\"onChangePage\", {\n        detail: {\n          currentIndex: this._currentIndex,\n          startIndex: this._startIndex,\n          endIndex: this._endIndex,\n          pageSize: this._pageSize\n        },\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  _reload(t) {\n    this._currentIndex = Math.ceil(t / this._pageSize), this._reset(!0);\n  }\n  _reset(t) {\n    this._totalPages = Math.ceil(this._length / this._pageSize), t || (this._currentIndex < 1 ? this._currentIndex = 1 : this._currentIndex > this._totalPages && (this._currentIndex = this._totalPages)), this._startIndex = (this._currentIndex - 1) * this._pageSize + 1, this._endIndex = this._startIndex - 1 + this._pageSize, this._endIndex > this._length && (this._endIndex = this._length);\n  }\n  _getDefaultPageSize() {\n    var e;\n    const t = this._pageSizeOptions.includes(this._pageSize);\n    return (e = this._pageSizeOptions) != null && e.length ? t ? this._pageSize : this._pageSizeOptions[0] : this._pageSize;\n  }\n  _printStartIndex() {\n    return this._startIndex <= 0 || this._length <= 0 ? \"0\" : this._startIndex.toString();\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._pageSize = this._getDefaultPageSize(), this._reset(), this._emitCurrentPage(), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  willUpdate(t) {\n    const e = t.has(\"length\"), o = t.has(\"pageSize\"), s = t.has(\"pageSizeOptions\"), r = t.has(\"currentIndex\");\n    (e || o || s || r) && (this._pageSize = this._getDefaultPageSize(), this._reset(), r && this._emitCurrentPage(), this.requestUpdate());\n  }\n  render() {\n    var t;\n    return h`\n      <div class=\"pagination__container\">\n        ${this._hidePaginationResults ? null : h`\n              <span class=\"pagination__results\"\n                >${this._length} ${this._resultsText}</span\n              >\n              <div class=\"pagination__divider\"></div>\n            `}\n        ${(t = this._pageSizeOptions) != null && t.length ? h`\n              <div class=\"pagination__row-page\">\n                <span class=\"pagination__text\">${this._rowsPerPageText}</span>\n                <div class=\"pagination__select\">\n                  <select\n                    id=\"pagination-select\"\n                    class=\"pagination-select-options\"\n                    @change=${this._handleChange}\n                    aria-label=\"Seleccionar la mida de la pàgina\"\n                    ?disabled=${this._pageSizeOptionsDisabled}\n                  >\n                    ${this._pageSizeOptions.map(\n      (e) => h`\n                          <option\n                            value=\"${e}\"\n                            .selected=${this._pageSize === e}\n                          >\n                            ${e}\n                          </option>\n                        `\n    )}\n                  </select>\n                  <span class=\"material-symbols-rounded pagination__arrow-down\">\n                    keyboard_arrow_down\n                  </span>\n                </div>\n              </div>\n              <span class=\"pagination__text\">\n                ${this._printStartIndex()}-${this._endIndex.toString()} de\n                ${this._length}\n              </span>\n              <div class=\"pagination__buttons\">\n                <button\n                  type=\"button\"\n                  class=\"pagination__button ${this._currentIndex}\"\n                  @click=${this._prev}\n                  ?disabled=${+this._currentIndex == 1 || +this._length <= 0}\n                >\n                  <span>keyboard_arrow_left</span>\n                </button>\n                <button\n                  type=\"button\"\n                  class=\"pagination__button\"\n                  @click=${this._next}\n                  ?disabled=${+this._currentIndex == +this._totalPages || +this._length <= 0}\n                >\n                  <span>keyboard_arrow_right</span>\n                </button>\n              </div>\n            ` : h`\n              <button\n                type=\"button\"\n                class=\"pagination__button\"\n                @click=${this._prev}\n                ?disabled=${+this._currentIndex == 1 || +this._length <= 0}\n              >\n                <span>keyboard_arrow_left</span>\n              </button>\n              <span class=\"pagination__text\">\n                ${this._printStartIndex()} - ${this._endIndex.toString()} de\n                ${this._length.toString()}\n              </span>\n              <button\n                type=\"button\"\n                class=\"pagination__button\"\n                @click=${this._next}\n                ?disabled=${+this._currentIndex === this._totalPages || +this._length <= 0}\n              >\n                <span>keyboard_arrow_right</span>\n              </button>\n            `}\n      </div>\n    `;\n  }\n}\nn([\n  i({ type: Number })\n], a.prototype, \"length\");\nn([\n  i({ type: Number })\n], a.prototype, \"pageSize\");\nn([\n  i({ type: Array })\n], a.prototype, \"pageSizeOptions\");\nn([\n  i(g)\n], a.prototype, \"pageSizeOptionsDisabled\");\nn([\n  i({ type: Number })\n], a.prototype, \"currentIndex\");\nn([\n  i({ type: String })\n], a.prototype, \"rowsPerPageText\");\nn([\n  i({ type: String })\n], a.prototype, \"resultsText\");\nn([\n  i(g)\n], a.prototype, \"hidePaginationResults\");\nexport {\n  a as TablePagination\n};\n//# sourceMappingURL=table-pagination.js.map\n","const s = ':host{width:100%;height:-moz-fit-content;height:fit-content}:host(.full-height){height:100%}:not(:defined){display:none}.dss-tabs{width:100%;height:-moz-fit-content;height:fit-content}.dss-tabs-header{display:flex;align-items:center;position:relative;width:100%;overflow:hidden}.dss-tabs-scroll-button{all:unset;cursor:pointer;display:none;position:absolute;top:0;bottom:0;padding:0 var(--dss-spacing-sm);z-index:900}.dss-tabs-scroll-button:before{content:\"\";display:block;position:absolute;top:0;bottom:2px;width:220px;z-index:-1;pointer-events:none}.dss-tabs-scroll-button--prev{left:0;padding-right:var(--dss-spacing-lg)}.dss-tabs-scroll-button.dss-tabs-scroll-button--prev:before{left:0;background:linear-gradient(to right,white,transparent)}.dss-tabs-scroll-button--next{right:0;padding-left:var(--dss-spacing-lg)}.dss-tabs-scroll-button.dss-tabs-scroll-button--next:before{right:0;background:linear-gradient(to left,white,transparent)}.dss-tabs-menu{box-sizing:border-box;min-height:32px;min-width:100%;display:flex;overflow-x:auto;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;overflow-y:hidden}.dss-tabs-menu:before{position:absolute;content:\"\";display:block;width:100%;height:var(--dss-border-width-sm);background-color:var(--color-neutral-100);left:0;bottom:0;z-index:50}.dss-tabs-menu::-webkit-scrollbar{display:none}.dss-tabs-item{position:relative;white-space:nowrap;box-sizing:border-box;height:32px;display:flex;align-items:center;padding:0 var(--dss-spacing-xs);gap:var(--dss-spacing-xs);color:var(--color-neutral-700)}.dss-tabs-item--focused{box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-primary-200);border-radius:var(--dss-radius-xs)}.dss-tabs-item--disabled{color:var(--color-neutral-500)}.dss-tabs-item:before{position:absolute;content:\"\";display:block;width:100%;height:var(--dss-border-width-md);background-color:transparent;left:0;bottom:0;transition:background-color .3s ease-in-out;border-radius:var(--dss-border-width-md);z-index:100}.dss-tabs-item.dss-tabs-item--selected:before{background-color:var(--color-primary-500)}.dss-tabs-button{margin:0}.dss-tabs-item__button{all:unset;font-family:var(--font-family);font-size:14px;font-weight:600;line-height:24px;background-color:transparent;border:0;cursor:pointer;transition:color .3s ease-in-out}.dss-tabs-item:not(.dss-tabs-item--selected) .dss-tabs-item__button:not(:disabled):hover{color:var(--color-primary-600)}.dss-tabs-item__button:active{color:var(--color-primary-700)}.dss-tabs-item__button:disabled{color:var(--color-neutral-500);cursor:not-allowed}::slotted(dss-icon-badge),::slotted(dss-notification-badge),::slotted(dss-badge),.dss-tabs-item ::slotted(*){display:inline}.dss-tabs.dss-tabs--full-height{height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.dss-tabs.dss-tabs--full-height .dss-tabs-header{overflow:unset}.dss-tabs.dss-tabs--full-height .dss-tabs-body{flex:1;overflow-y:auto}.dss-tabs-item__input{border-radius:var(--dss-radius-xs);border:var(--dss-border-width-md) solid var(--color-neutral-100);padding:0 var(--dss-spacing-tiny)}.dss-tabs-item__input:focus{outline:none;border-color:var(--color-blue-200)}.dss-tabs-item.dragging{opacity:.5;transform:scale(1.05);cursor:grabbing}.dss-tabs-item.over-left{border-left:var(--dss-border-width-lg) solid var(--color-primary-500)}.dss-tabs-item.over-right{border-right:var(--dss-border-width-lg) solid var(--color-primary-500)}.dss-tabs-item--add-tab{padding-left:var(--dss-spacing-xs)}';\nexport {\n  s as default\n};\n//# sourceMappingURL=tabs-list.style.css.js.map\n","import { nothing as c } from \"lit\";\nimport { classMap as b } from \"lit/directives/class-map.js\";\nimport { ifDefined as $ } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as r, literal as o, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as n } from \"../../api/custom-element-scope.js\";\nconst l = o`dss-icon${r(n())}`, u = o`dss-button${r(n())}`, a = o`dss-icon-button${r(n())}`, E = (e) => i`\n  <div class=\"dss-tabs\">\n    <div class=\"dss-tabs-header\">\n      <button\n        class=\"dss-tabs-scroll-button dss-tabs-scroll-button--prev\"\n        @click=${() => e._scrollMenu(-1)}\n      >\n        <${l} icon=\"chevron_left\" size=\"md\"></${l}>\n      </button>\n\n      <div\n        role=\"tablist\"\n        aria-label=\"${e._label}\"\n        class=\"dss-tabs-menu\"\n      >\n        ${e._tabs.map(\n  (s, t) => i`\n            \n              <div\n                id=\"${s.id}\"\n                class=\"${b({\n    \"dss-tabs-item\": !0,\n    \"dss-tabs-item--selected\": !!s.selected,\n    \"dss-tabs-item--disabled\": !!s.disabled,\n    \"dss-tabs-item--focused\": t === e._focusedIndex\n  })}\"\n                role=\"presentation\"\n                draggable=\"${e.canOrder}\"\n                @dragstart=${(d) => e.onDragStart(d, t)}\n                @dragend=${(d) => e.onDragEnd(d)}\n                @dragover=${(d) => e.onDragOver(d)}\n                @dragleave=${(d) => e.onDragLeave(d)}\n                @drop=${(d) => e.onDrop(d, t)}\n              >\n                ${e.canOrder ? i`\n                    <${l} icon=\"drag_indicator\" label=\"Moure\" size=\"sm\"></${l}>\n                  ` : c}\n\n                <slot name=\"badge-${s.id}\" class=\"tab-badge\"></slot>\n\n                ${s.icon ? i`\n                    <${l} icon=\"${s.icon}\" size=\"md\"></${l}>\n                  ` : c}\n\n                ${s.isEditing ? i`\n                    <input \n                      id=\"${s.id}-edit\" \n                      type=\"text\" \n                      class=\"dss-tabs-item__input\" \n                      aria-label=\"Títol de la pestanya\" \n                      value=\"${s.text}\"\n                      size=${s.text.length || 1}\n                      @focusout=${(d) => e._handleInputFocusout(d, s)}\n                      @keydown=${(d) => e._handleEditKeydown(d, s)}\n                      />\n\n                    <${a} \n                      class=\"save-edit\" \n                      variant=\"success\" \n                      icon=\"check\" \n                      label=\"Confirma\" \n                      hideTooltip\n                      size=\"sm\" \n                      @click=\"${() => e._handleEditSave(s)}\"\n                    ></${a}>\n                    \n                    <${a} \n                      class=\"cancel-edit\" \n                      variant=\"danger\" \n                      icon=\"close\" \n                      label=\"Cancel·la\"\n                      hideTooltip\n                      size=\"sm\"\n                      @keydown=\"${(d) => e._handleEditCancelKeydown(d, s)}\"\n                      @mousedown=\"${(d) => e._handleEditCancel(d, s)}\"\n                      @focusout=${(d) => e._handleEditCancelFocusout(d, s)}\n                    ></${a}>\n                  ` : i`\n\n                  <button\n                    id=\"${s.id}\"\n                    class=\"dss-tabs-item__button ${$(s.selected ? \"dss-tabs-item__button--selected\" : \"\")}\"\n                    type=\"button\"\n                    role=\"tab\"\n                    aria-selected=\"${$(s.selected ? s.selected : \"false\")}\"\n                    tabindex=\"${$(s.selected ? 0 : -1)}\"\n                    @click=${() => e.changeTab(s)}\n                    ?disabled=${s.disabled}\n                    @focusin=${() => e.onItemFocus(t)}\n                    @focusout=${() => e.onItemBlur(t)}\n                  >\n                    <span class=\"tab-text focus\"> ${s.text} </span>\n                  </button>\n\n                  ${e.canEdit ? i`\n                      <${a} \n                        icon=\"edit\"\n                        label=\"Edita\"\n                        hideTooltip\n                        size=\"sm\" \n                        ?disabled=${s.disabled || s.disableEdit}\n                        ?disableTabindex=${!s.selected}\n                        @click=\"${() => e._handleEdit(s)}\"\n                      ></${a}>\n                    ` : c}\n\n                  ${e.canDelete ? i`\n                      <${a} \n                        variant=\"danger\" \n                        icon=\"delete\" \n                        label=\"Eliminar\"\n                        hideTooltip \n                        size=\"sm\" \n                        ?disabled=${s.disabled || s.disableDelete}\n                        ?disableTabindex=${!s.selected}\n                        @click=${() => e._handleDelete(s)}\n                      ></${a}>\n                    ` : c}\n                  \n                  `}\n\n              </div>\n            `\n)}\n        ${e._addTabEnabled ? i`\n              <div class=\"dss-tabs-item dss-tabs-item--add-tab\">\n                <${u}\n                  size=\"sm\"\n                  variant=\"secondary\"\n                  icon=\"add\"\n                  label=\"${e._addTabText}\"\n                  @onClick=\"${e.addNewTab}\"\n                ></${u}>\n              </div>\n            ` : null}\n      </div>\n\n      <button\n        class=\"dss-tabs-scroll-button dss-tabs-scroll-button--next\"\n        @click=${() => e._scrollMenu(1)}\n      >\n        <${l} icon=\"chevron_right\" size=\"md\"></${l}>\n      </button>\n    </div>\n\n    <div class=\"dss-tabs-body\">\n      <slot></slot>\n    </div>\n  </div>\n`;\nexport {\n  E as tabsListTemplate\n};\n//# sourceMappingURL=tabs-list.template.js.map\n","import { LitElement as _, unsafeCSS as u } from \"lit\";\nimport { property as l, state as f } from \"lit/decorators.js\";\nimport m from \"../../foundations/icon/icon.style.css.js\";\nimport g from \"../../shared/reset.style.css.js\";\nimport v from \"../../shared/scrollbar.style.css.js\";\nimport { booleanType as c } from \"../../utils/property-types.js\";\nimport T from \"./tabs-list.style.css.js\";\nimport { tabsListTemplate as E } from \"./tabs-list.template.js\";\nvar w = Object.defineProperty, y = Object.getOwnPropertyDescriptor, o = (b, t, e, s) => {\n  for (var i = s > 1 ? void 0 : s ? y(t, e) : t, a = b.length - 1, r; a >= 0; a--)\n    (r = b[a]) && (i = (s ? r(t, e, i) : r(i)) || i);\n  return s && i && w(t, e, i), i;\n};\nclass n extends _ {\n  constructor() {\n    super(), this.canOrder = !1, this.canEdit = !1, this.canDelete = !1, this.fullHeight = !1, this._isEditing = !1, this._focusedIndex = null, this._dssTabsId = \"\", this._label = \"Tabs component name\", this._tabs = [], this._tabsElements = window.document.querySelectorAll(\"[role='tab']\"), this._firstTab = document.createElement(\"div\"), this._lastTab = document.createElement(\"div\"), this._addTabEnabled = !1, this._addTabText = \"Afegir Tab\", this._ignoreInputFocusout = !1, this.draggedIndex = null, this._lastOverEl = null, this._handleUpdateArrowsBound = this._updateArrows.bind(this), this._tabKeydownHandler = (t) => {\n      this._handleKeydown(t);\n    }, this._tabMouseDownHandler = (t) => {\n      this.setSelectedTab(t.currentTarget);\n    };\n  }\n  static get styles() {\n    return [u(g), u(v), u(m), u(T)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), window.addEventListener(\"resize\", this._handleUpdateArrowsBound);\n  }\n  disconnectedCallback() {\n    var t;\n    super.disconnectedCallback(), (t = this._menu) == null || t.removeEventListener(\"scroll\", this._handleUpdateArrowsBound), window.removeEventListener(\"resize\", this._handleUpdateArrowsBound), this._removeTabListeners();\n  }\n  set dssTabsId(t) {\n    const e = this._dssTabsId;\n    this._dssTabsId = t, this.requestUpdate(\"dssTabsId\", e);\n  }\n  get dssTabsId() {\n    return this._dssTabsId;\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  set tabs(t) {\n    const e = this._tabs;\n    this._tabs = t, this.requestUpdate(\"tabs\", e);\n  }\n  get tabs() {\n    return this._tabs;\n  }\n  set addTabText(t) {\n    const e = this._addTabText;\n    this._addTabText = t, this.requestUpdate(\"addTabText\", e);\n  }\n  get addTabText() {\n    return this._addTabText;\n  }\n  set addTabEnabled(t) {\n    const e = this._addTabEnabled;\n    this._addTabEnabled = t, this.requestUpdate(\"addTabEnabled\", e);\n  }\n  get addTabEnabled() {\n    return this._addTabEnabled;\n  }\n  // menuContainer\n  get _wrapper() {\n    var t;\n    return ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-tabs\")) || void 0;\n  }\n  get _header() {\n    var t;\n    return ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-tabs-header\")) || void 0;\n  }\n  // menu\n  get _menu() {\n    var t;\n    return ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-tabs-menu\")) || void 0;\n  }\n  // leftArrow\n  get _prevScroll() {\n    var t;\n    return ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-tabs-scroll-button--prev\")) || void 0;\n  }\n  // rightArrow\n  get _nextScroll() {\n    var t;\n    return ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-tabs-scroll-button--next\")) || void 0;\n  }\n  updated(t) {\n    var e, s;\n    t.has(\"tabs\") && this.changeTabWatch(), t.has(\"fullHeight\") && (this.fullHeight ? (this.classList.add(\"full-height\"), (e = this._wrapper) == null || e.classList.add(\"dss-tabs--full-height\")) : (this.classList.remove(\"full-height\"), (s = this._wrapper) == null || s.classList.remove(\"dss-tabs--full-height\")));\n  }\n  async changeTabWatch() {\n    this._removeTabListeners(), this._tabsElements = this.renderRoot.querySelectorAll(\"[role='tab']\"), this._tabsElements.forEach((t) => {\n      t.addEventListener(\"keydown\", this._tabKeydownHandler), t.addEventListener(\"mousedown\", this._tabMouseDownHandler);\n    }), this.setFirstAndLastTabs();\n  }\n  _removeTabListeners() {\n    this._tabsElements.forEach((t) => {\n      t.removeEventListener(\"keydown\", this._tabKeydownHandler), t.removeEventListener(\"mousedown\", this._tabMouseDownHandler);\n    });\n  }\n  setFirstAndLastTabs() {\n    let t = !1;\n    this._tabsElements.forEach((e) => {\n      t || (this._firstTab = e, t = !0), this._lastTab = e;\n    });\n  }\n  changeTab(t) {\n    const e = {\n      detail: { selectedPanel: t.panel },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onChangeDssTab\", e)), this.dispatchEvent(new CustomEvent(\"onChange\", e)), this.updateTabs(t.id), this.updatePanels(t.panel);\n  }\n  updateTabs(t) {\n    this.tabs = this.tabs.map(\n      (e) => e.id === t ? { ...e, selected: !0 } : { ...e, selected: !1 }\n    );\n  }\n  updatePanels(t) {\n    window.document.querySelectorAll(\"dss-tabs-panel\").forEach((s) => {\n      const i = s.getAttribute(\"panelId\");\n      s.getAttribute(\"linkedTo\") === this._dssTabsId && (i === t ? s.setAttribute(\"selected\", \"true\") : s.removeAttribute(\"selected\"));\n    });\n  }\n  _handleKeydown(t) {\n    const e = t, s = t.currentTarget;\n    let i = !1;\n    switch (e.key) {\n      case \"ArrowLeft\":\n        this.moveFocusToPreviousTab(s), i = !0;\n        break;\n      case \"ArrowRight\":\n        this.moveFocusToNextTab(s), i = !0;\n        break;\n      case \"Home\":\n        this.moveFocusToTab(this._firstTab), i = !0;\n        break;\n      case \"End\":\n        this.moveFocusToTab(this._lastTab), i = !0;\n        break;\n    }\n    i && (t.stopPropagation(), t.preventDefault());\n  }\n  moveFocusToTab(t) {\n    t && t.focus();\n  }\n  moveFocusToPreviousTab(t) {\n    let e = 0;\n    t === this._firstTab ? this.moveFocusToTab(this._lastTab) : (this._tabsElements.forEach((s, i) => {\n      s === t && (e = i);\n    }), this.moveFocusToTab(this._tabsElements[e - 1]));\n  }\n  moveFocusToNextTab(t) {\n    let e = 0;\n    t === this._lastTab ? this.moveFocusToTab(this._firstTab) : (this._tabsElements.forEach((s, i) => {\n      s === t && (e = i);\n    }), this.moveFocusToTab(this._tabsElements[e + 1]));\n  }\n  setSelectedTab(t) {\n    for (let e = 0; e < this._tabsElements.length; e += 1) {\n      const s = this._tabsElements[e];\n      t === s ? (s.setAttribute(\"aria-selected\", \"true\"), s.removeAttribute(\"tabindex\"), s.classList.add(\"dss-tabs-item--selected\"), this._centerTabIntoScroll(s)) : (s.setAttribute(\"aria-selected\", \"false\"), s.setAttribute(\"tabindex\", \"-1\"), s.classList.remove(\"dss-tabs-item--selected\"));\n    }\n  }\n  selectTab(t) {\n    const e = this.renderRoot.querySelector(`[role='tab'][id='${t}']`);\n    e && this.setSelectedTab(e);\n  }\n  _centerTabIntoScroll(t) {\n    if (!t || !this._menu) return;\n    const e = t.getBoundingClientRect(), s = this._menu.getBoundingClientRect(), i = e.left + e.width / 2, a = s.left + s.width / 2, r = i - a;\n    this._menu.scrollBy({ left: r, behavior: \"smooth\" });\n  }\n  addNewTab() {\n    const t = {\n      detail: {},\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onAddDssTab\", t));\n  }\n  // Scroll behavior\n  _updateArrows() {\n    if (this._menu && this._prevScroll && this._nextScroll) {\n      const t = Math.ceil(this._menu.scrollLeft), e = Math.ceil(this._menu.scrollWidth - this._menu.clientWidth);\n      this._prevScroll.style.display = t > 0 ? \"block\" : \"none\", this._nextScroll.style.display = t < e ? \"block\" : \"none\";\n    }\n  }\n  _scrollMenu(t) {\n    this._menu && this._menu.scrollBy({\n      left: t * 160,\n      behavior: \"smooth\"\n    });\n  }\n  async firstUpdated() {\n    await this.updateComplete, this._menu && this._menu.addEventListener(\"scroll\", this._handleUpdateArrowsBound), this._updateArrows();\n  }\n  render() {\n    return E(this);\n  }\n  /* Edit and Delete handlers */\n  _handleEdit(t) {\n    this.tabs = this.tabs.map(\n      (e) => e.id === t.id ? { ...e, isEditing: !0 } : { ...e, isEditing: !1 }\n    ), setTimeout(() => {\n      var i;\n      this._ignoreInputFocusout = !1;\n      const e = (i = this.shadowRoot) == null ? void 0 : i.querySelector(`#${t.id}-edit`);\n      e.focus();\n      const s = e.value.length;\n      e.setSelectionRange(s, s);\n    }, 50);\n  }\n  _handleDelete(t) {\n    const e = {\n      detail: { tab: t },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onDelete\", e));\n  }\n  _closeInputEdit(t) {\n    this.tabs = this.tabs.map((e) => e.id === t.id ? { ...e, isEditing: !1 } : e);\n  }\n  _handleEditSave(t) {\n    var s;\n    this._ignoreInputFocusout = !0;\n    const e = ((s = this.shadowRoot) == null ? void 0 : s.querySelector(`#${t.id}-edit`)).value;\n    this._closeInputEdit(t), e && e.trim() !== \"\" && e !== t.text && (this.tabs = this.tabs.map((i) => i.id === t.id ? { ...i, text: e } : i), this._dispatchEditTabs());\n  }\n  _handleEditCancel(t, e) {\n    t.preventDefault(), t.stopPropagation(), this._ignoreInputFocusout = !0, this._closeInputEdit(e);\n  }\n  _handleInputFocusout(t, e) {\n    if (this._ignoreInputFocusout) {\n      this._ignoreInputFocusout = !1;\n      return;\n    }\n    const s = t.relatedTarget;\n    s != null && s.classList.contains(\"save-edit\") || s != null && s.classList.contains(\"cancel-edit\") || this._handleEditSave(e);\n  }\n  _handleEditCancelFocusout(t, e) {\n    var a;\n    const s = t.relatedTarget;\n    if (s != null && s.classList.contains(\"save-edit\") || s != null && s.classList.contains(\"cancel-edit\")) return;\n    const i = (a = t.currentTarget) == null ? void 0 : a.closest(\".dss-tabs-item\");\n    (!s || !(i != null && i.contains(s))) && this._handleEditSave(e);\n  }\n  _handleEditCancelKeydown(t, e) {\n    t.key === \"Enter\" && this._handleEditCancel(t, e);\n  }\n  _handleEditKeydown(t, e) {\n    (t.key === \"Enter\" || t.key === \"Escape\") && this._handleEditSave(e);\n  }\n  _dispatchEditTabs() {\n    const t = {\n      detail: { tabs: this.tabs },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onEdit\", t));\n  }\n  onDragStart(t, e) {\n    var i;\n    this.draggedIndex = e, t.currentTarget.classList.add(\"dragging\");\n    try {\n      (i = t.dataTransfer) == null || i.setData(\"text/plain\", \"\");\n    } catch {\n    }\n    t.dataTransfer && (t.dataTransfer.effectAllowed = \"move\", t.dataTransfer.dropEffect = \"move\");\n  }\n  onDragEnd(t) {\n    t.currentTarget.classList.remove(\"dragging\"), this._lastOverEl && (this._lastOverEl.classList.remove(\"over-left\", \"over-right\"), this._lastOverEl = null), this.draggedIndex = null;\n  }\n  onDragOver(t) {\n    t.preventDefault();\n    const e = t.currentTarget;\n    this._lastOverEl && this._lastOverEl !== e && this._lastOverEl.classList.remove(\"over-left\", \"over-right\"), this._lastOverEl = e;\n    const s = e.getBoundingClientRect(), i = s.left + s.width / 2, a = (t.clientX ?? 0) < i;\n    e.classList.toggle(\"over-left\", a), e.classList.toggle(\"over-right\", !a), t.dataTransfer && (t.dataTransfer.dropEffect = \"move\");\n  }\n  onDragLeave(t) {\n    const e = t.currentTarget;\n    e.classList.remove(\"over-left\", \"over-right\"), this._lastOverEl === e && (this._lastOverEl = null);\n  }\n  onDrop(t, e) {\n    t.preventDefault();\n    const s = t.currentTarget;\n    if (s.classList.remove(\"over-left\", \"over-right\"), this._lastOverEl === s && (this._lastOverEl = null), this.draggedIndex === null) return;\n    const i = s.getBoundingClientRect(), a = i.left + i.width / 2, r = (t.clientX ?? 0) >= a;\n    let d = e + (r ? 1 : 0);\n    const h = [...this.tabs], [p] = h.splice(this.draggedIndex, 1);\n    this.draggedIndex < d && d--, d < 0 && (d = 0), d > h.length && (d = h.length), h.splice(d, 0, p), this.tabs = h, this.draggedIndex = null, this.dispatchOrder();\n  }\n  dispatchOrder() {\n    const t = {\n      detail: { tabs: this.tabs },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onOrder\", t));\n  }\n  onItemFocus(t) {\n    var s;\n    const e = (s = this.shadowRoot) == null ? void 0 : s.activeElement;\n    e != null && e.matches(\":focus-visible\") && (this._focusedIndex = t);\n  }\n  onItemBlur(t) {\n    this._focusedIndex === t && (this._focusedIndex = null);\n  }\n}\no([\n  l({ type: String })\n], n.prototype, \"dssTabsId\", 1);\no([\n  l({ type: String })\n], n.prototype, \"label\", 1);\no([\n  l({ type: Array })\n], n.prototype, \"tabs\", 1);\no([\n  l({ type: String })\n], n.prototype, \"addTabText\", 1);\no([\n  l(c)\n], n.prototype, \"addTabEnabled\", 1);\no([\n  l(c)\n], n.prototype, \"canOrder\", 2);\no([\n  l(c)\n], n.prototype, \"canEdit\", 2);\no([\n  l(c)\n], n.prototype, \"canDelete\", 2);\no([\n  l(c)\n], n.prototype, \"fullHeight\", 2);\no([\n  f()\n], n.prototype, \"_isEditing\", 2);\no([\n  f()\n], n.prototype, \"_focusedIndex\", 2);\no([\n  f()\n], n.prototype, \"draggedIndex\", 2);\nexport {\n  n as TabsList\n};\n//# sourceMappingURL=tabs-list.js.map\n","const e = \":host{width:100%;height:-moz-fit-content;height:fit-content}:host(.visible-full-height){display:flex;flex-direction:column;height:100%}:host(.visible-full-height) [role=tabpanel].selected{display:flex;flex-direction:column;height:100%}:not(:defined){display:none}[role=tabpanel]{width:100%;display:none}[role=tabpanel].has-scroll{overflow:auto}[role=tabpanel].selected{display:block}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=tabs-panel.style.css.js.map\n","import { html as e } from \"lit\";\nimport { classMap as s } from \"lit/directives/class-map.js\";\nconst i = (l) => {\n  const a = {\n    selected: l._selected,\n    \"is-hidden\": !l._selected,\n    \"has-scroll\": l._hasScroll\n  };\n  return e`\n    <div\n      id=\"${l._panelId}\"\n      role=\"tabpanel\"\n      aria-label=\"${l._label}\"\n      linkedTo=\"${l._linkedTo}\"\n      class=\"${s(a)}\"\n    >\n      <slot></slot>\n    </div>\n  `;\n};\nexport {\n  i as tabsPanelTemplate\n};\n//# sourceMappingURL=tabs-panel.template.js.map\n","import { LitElement as d, unsafeCSS as c } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport u from \"./tabs-panel.style.css.js\";\nimport { tabsPanelTemplate as _ } from \"./tabs-panel.template.js\";\nvar f = Object.defineProperty, b = Object.getOwnPropertyDescriptor, r = (a, e, t, o) => {\n  for (var l = o > 1 ? void 0 : o ? b(e, t) : e, h = a.length - 1, p; h >= 0; h--)\n    (p = a[h]) && (l = (o ? p(e, t, l) : p(l)) || l);\n  return o && l && f(e, t, l), l;\n};\nclass i extends d {\n  constructor() {\n    super(...arguments), this._panelId = \"\", this._label = \"\", this._linkedTo = \"\", this._selected = !1, this._hasScroll = !1, this.fullHeight = !1;\n  }\n  static get styles() {\n    return c(u);\n  }\n  set panelId(e) {\n    const t = this._panelId;\n    this._panelId = e, this.requestUpdate(\"panelId\", t);\n  }\n  get panelId() {\n    return this._panelId;\n  }\n  set label(e) {\n    const t = this._label;\n    this._label = e, this.requestUpdate(\"label\", t);\n  }\n  get label() {\n    return this._label;\n  }\n  set linkedTo(e) {\n    const t = this._linkedTo;\n    this._linkedTo = e, this.requestUpdate(\"linkedTo\", t);\n  }\n  get linkedTo() {\n    return this._linkedTo;\n  }\n  set selected(e) {\n    const t = this._selected;\n    this._selected = e, this.requestUpdate(\"selected\", t);\n  }\n  get selected() {\n    return this._selected;\n  }\n  set hasScroll(e) {\n    const t = this._hasScroll;\n    this._hasScroll = e, this.requestUpdate(\"hasScroll\", t);\n  }\n  get hasScroll() {\n    return this._hasScroll;\n  }\n  updated(e) {\n    e.has(\"selected\") && this.fullHeight && (this.selected ? this.classList.add(\"visible-full-height\") : this.classList.remove(\"visible-full-height\"));\n  }\n  render() {\n    return _(this);\n  }\n}\nr([\n  s({ type: String })\n], i.prototype, \"panelId\", 1);\nr([\n  s({ type: String })\n], i.prototype, \"label\", 1);\nr([\n  s({ type: String })\n], i.prototype, \"linkedTo\", 1);\nr([\n  s(n)\n], i.prototype, \"selected\", 1);\nr([\n  s(n)\n], i.prototype, \"hasScroll\", 1);\nr([\n  s(n)\n], i.prototype, \"fullHeight\", 2);\nexport {\n  i as TabsPanel\n};\n//# sourceMappingURL=tabs-panel.js.map\n","const e = '.dss-textarea__group ::slotted(label){font-style:normal;font-weight:400;font-size:14px;line-height:24px;cursor:text;position:absolute;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:calc(100% - 24px)}.dss-textarea-label ::slotted(label){font-style:normal;font-weight:600;font-size:14px;line-height:24px;cursor:text;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-neutral-500)}::slotted(textarea){resize:vertical;outline:none;border:0;font-size:14px;line-height:24px;font-style:normal;color:var(--color-neutral-900);width:100%;text-overflow:ellipsis;font-family:var(--font-family);min-height:24px;box-sizing:border-box;padding-right:var(--dss-spacing-xs)!important}::slotted(textarea)::-moz-placeholder{color:var(--color-neutral-700)}::slotted(textarea)::placeholder{color:var(--color-neutral-700)}.dss-textarea{display:flex;flex-direction:column;color:var(--color-neutral-500);gap:4px}.dss-textarea--sm{gap:var(--dss-spacing-tiny)}.dss-textarea--disabled .dss-textarea__group:after{background:var(--color-neutral-50)}.dss-textarea__content{display:flex;flex:1}.dss-textarea--disabled .dss-textarea__group,.dss-textarea--disabled ::slotted(textarea){background-color:var(--color-neutral-50);cursor:not-allowed}.dss-textarea--disabled ::slotted(label),.dss-textarea--disabled ::slotted(textarea){cursor:not-allowed;color:var(--color-neutral-500)}.dss-textarea__group{position:relative;background:var(--color-white);box-sizing:border-box;border:var(--dss-border-width-sm) solid var(--color-neutral-100);border-radius:8px;padding:12px 4px 4px 12px;display:flex;gap:8px;min-height:48px}.dss-textarea__group:after{pointer-events:none;content:\"height\";font-family:var(--icon-font);font-size:0px;position:absolute;height:0px;width:0px;text-align:center;bottom:4px;right:3px;z-index:2;border-radius:8px;background:transparent}.dss-textarea--required .dss-textarea-label ::slotted(label):before,.dss-textarea__group--required ::slotted(label):before{content:\"*\"}.dss-textarea__group:focus-visible,.dss-textarea__group--focused-visible,.dss-textarea--invalid .dss-textarea__group:focus-visible{border-color:var(--color-blue-200);outline:var(--dss-border-width-lg) solid var(--color-blue-200);box-shadow:none;background-color:var(--color-white)}.dss-textarea__group--readOnly{border-top:0;border-left:0;border-right:0;border-radius:0}.dss-textarea__group--focused-visible.dss-textarea__group--readOnly{outline:0}.dss-textarea__group--focused-visible.dss-textarea__group--readOnly:before{pointer-events:none;content:\"\";position:absolute;top:100%;left:0;right:0;height:var(--dss-border-width-lg);background-color:var(--color-blue-200)}.dss-textarea--invalid .dss-textarea__group:focus-visible ::slotted(textarea){background-color:var(--color-white)}.dss-textarea__group--focused{padding-top:2px;padding-bottom:4px}.dss-textarea__group--focused.dss-textarea__group--read-only-empty:not(.dss-textarea__group--sm){padding:12px}.dss-textarea__group--focused:not(.dss-textarea__group--read-only-empty) .dss-textarea__content ::slotted(label){font-size:12px;line-height:16px;transition:.3s;top:4px}.dss-textarea__group--focused.dss-textarea__group--has-label:not(.dss-textarea__group--read-only-empty):not(.dss-textarea__group--sm) .dss-textarea__content ::slotted(textarea){margin-top:16px!important}.dss-textarea--invalid ::slotted(textarea){background-color:var(--color-red-50);color:var(--color-neutral-900)}.dss-textarea--invalid ::slotted(textarea)::-moz-placeholder{color:var(--color-neutral-700)}.dss-textarea--invalid ::slotted(textarea)::placeholder{color:var(--color-neutral-700)}.dss-textarea--invalid .dss-textarea__group{border-color:var(--color-red-500)}.dss-textarea--invalid .dss-textarea__group,.dss-textarea--invalid .dss-textarea__group:after{background-color:var(--color-red-50);color:var(--color-red-500)}.dss-textarea__help{font-style:normal;font-weight:400;font-size:12px;line-height:16px;display:flex;padding:0 12px;gap:8px;color:var(--color-neutral-700)}.dss-textarea__help .dss-textarea__description{flex:1}.dss-textarea--invalid .dss-textarea__help,.dss-textarea--invalid .dss-textarea__help:after{color:var(--color-red-500)}.dss-textarea--auto-height .dss-textarea__content ::slotted(textarea){resize:none;overflow:hidden}.dss-textarea__group--readOnly ::slotted(textarea){resize:none}.dss-textarea__group.dss-textarea__group--md{min-height:40px}.dss-textarea__group.dss-textarea__group--focused.dss-textarea__group--md{padding-top:0;padding-bottom:0}.dss-textarea__group.dss-textarea__group--md ::slotted(label){line-height:16px}.dss-textarea__group.dss-textarea__group--md ::slotted(textarea),.dss-textarea__group.dss-textarea__group--sm ::slotted(textarea){min-height:22px;line-height:22px}.dss-textarea__group.dss-textarea__group--sm{gap:var(--dss-spacing-xxs);padding-top:4px;padding-left:var(--dss-spacing-xs);min-height:30px}.dss-textarea--empty-description .dss-textarea__help{display:none}.dss-textarea-icon{align-self:flex-start}.dss-textarea__group.dss-textarea__group--lg.dss-textarea__group--focused .dss-textarea-icon{margin-top:10px}.dss-textarea__group.dss-textarea__group--md:not(.dss-textarea__group--focused) .dss-textarea-icon{margin-top:-4px}.dss-textarea__group.dss-textarea__group--md.dss-textarea__group--focused .dss-textarea-icon{margin-top:8px}.dss-textarea--invalid .dss-textarea__group--focused-visible{background-color:var(--color-white)}.dss-textarea--invalid .dss-textarea__group--focused-visible ::slotted(textarea){background-color:var(--color-white)}.dss-textarea--invalid .dss-textarea-label ::slotted(label){color:var(--color-red-500)}.dss-textarea--sm .dss-textarea__help{padding:0 var(--dss-spacing-xs)}';\nexport {\n  e as default\n};\n//# sourceMappingURL=textarea.style.css.js.map\n","import { nothing as e } from \"lit\";\nimport { classMap as $ } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as y, literal as c, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as q } from \"../../api/custom-element-scope.js\";\nconst f = c`dss-icon${y(q())}`, o = (a) => {\n  var t, r, d, i, l, _, x, u, g, h, v;\n  const b = {\n    \"dss-textarea--invalid\": a._showError,\n    \"dss-textarea--auto-height\": a.autoHeight,\n    \"dss-textarea--disabled\": (t = a._textarea) == null ? void 0 : t.disabled,\n    \"dss-textarea--gap\": a._maxLength || !!a._description || a.size !== \"sm\",\n    \"dss-textarea--gap-sm\": a.size === \"sm\",\n    \"dss-textarea--required\": (r = a._textarea) == null ? void 0 : r.required,\n    \"dss-textarea--empty-description\": !a._maxLength && !a._description,\n    [`dss-textarea--${a.size}`]: !!a.size\n  }, z = {\n    \"dss-textarea__group--focused\": ((d = a._textarea) == null ? void 0 : d.value) || a._isTextareaFocused || ((i = a._textarea) == null ? void 0 : i.placeholder),\n    // 'dss-textarea__group--focused-visible': true,\n    \"dss-textarea__group--focused-visible\": a._isGroupFocusedVisible,\n    [`dss-textarea__group--${a.size}`]: !!a.size,\n    \"dss-textarea__group--has-label\": !!a._label,\n    \"dss-textarea__group--required\": (l = a._textarea) == null ? void 0 : l.required,\n    \"dss-textarea__group--readOnly\": (_ = a._textarea) == null ? void 0 : _.readOnly,\n    \"dss-textarea__group--read-only-empty\": ((x = a._textarea) == null ? void 0 : x.readOnly) && ((u = a._textarea) == null ? void 0 : u.placeholder) === \"\" && !((g = a._textarea) != null && g.value)\n  };\n  return s`\n     \n    <div class=\"dss-textarea ${$(b)}\">\n      ${a.size === \"sm\" ? s`\n          <div class=\"dss-textarea-label\">\n            <slot name=\"label\"></slot>\n          </div>\n        ` : e}\n\n      <div class=\"dss-textarea__group ${$(z)}\">\n        ${a.icon ? s`\n            <${f} icon=\"${a.icon}\" class=\"dss-textarea-icon\"></${f}>\n          ` : e}\n        <div class=\"dss-textarea__content\">\n          ${a.size !== \"sm\" ? s`\n            <slot name=\"label\"></slot>\n            ` : e}\n          <slot\n            name=\"textarea\"\n            @focusin=${a._handleFocus}\n            @focusout=${a._handleFocusOut}\n          ></slot>\n        </div>\n      </div>\n      <div class=\"dss-textarea__help\">\n        <div class=\"dss-textarea__description\">\n          <slot\n            name=\"description\"\n            @slotchange=${a._handleSlotChange}\n          ></slot>\n        </div>\n        ${a._maxLength ? s`<span\n              >${(v = (h = a._textarea) == null ? void 0 : h.value) == null ? void 0 : v.length}/${a._maxLength}</span\n            >` : null}\n      </div>\n    </div>\n  `;\n};\nexport {\n  o as template\n};\n//# sourceMappingURL=textarea.template.js.map\n","import { LitElement as l, unsafeCSS as _ } from \"lit\";\nimport { property as a } from \"lit/decorators.js\";\nimport { booleanType as d } from \"../../utils/property-types.js\";\nimport c from \"./textarea.style.css.js\";\nimport { template as p } from \"./textarea.template.js\";\nvar v = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (u, e, t, i) => {\n  for (var s = i > 1 ? void 0 : i ? b(e, t) : e, r = u.length - 1, h; r >= 0; r--)\n    (h = u[r]) && (s = (i ? h(e, t, s) : h(s)) || s);\n  return i && s && v(e, t, s), s;\n};\nclass n extends l {\n  constructor() {\n    super(), this.autoHeight = !1, this.size = \"lg\", this.icon = void 0, this._maxLength = 0, this._isTextareaFocused = !1, this._isGroupFocusedVisible = !1, this._showError = !1, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (e) => {\n      for (const t of e)\n        t.type === \"attributes\" && this._checkAttributes();\n      this.requestUpdate();\n    }, this.observer = new MutationObserver(this.callback), this._handleInputBound = this._handleInput.bind(this), this._handleFocusBound = this._handleFocus.bind(this), this._handleFocusOutBound = this._handleFocusOut.bind(this), this._handleBlurBound = this._handleBlur.bind(this), this._handleLabelClickBound = this._handelLabelClick.bind(this), this._handleKeyupBound = this._handleKeyup.bind(this);\n  }\n  static get styles() {\n    return _(c);\n  }\n  set value(e) {\n    e !== void 0 && this.requestUpdate();\n  }\n  get value() {\n    return this._textarea ? this._textarea.value : \"\";\n  }\n  set showError(e) {\n    const t = this._showError;\n    this._showError = e, this.requestUpdate(\"showError\", t);\n  }\n  get showError() {\n    return this._showError;\n  }\n  get _label() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"label\"]')) || void 0;\n    return e == null ? void 0 : e.assignedElements()[0];\n  }\n  get _textarea() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"textarea\"]')) || void 0;\n    return e == null ? void 0 : e.assignedElements()[0];\n  }\n  get _description() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"description\"]')) || void 0;\n    return e == null ? void 0 : e.assignedElements()[0];\n  }\n  disconnectedCallback() {\n    var e, t, i, s, r, h;\n    this.observer.disconnect(), (e = this._textarea) == null || e.removeEventListener(\"input\", this._handleInputBound), (t = this._textarea) == null || t.removeEventListener(\"focus\", this._handleFocusBound), (i = this._textarea) == null || i.removeEventListener(\"focusout\", this._handleFocusOutBound), (s = this._textarea) == null || s.removeEventListener(\"blur\", this._handleBlurBound), (r = this._textarea) == null || r.removeEventListener(\"keyup\", this._handleKeyupBound), (h = this._label) == null || h.removeEventListener(\"click\", this._handleLabelClickBound);\n  }\n  _checkAttributes() {\n    if (this._textarea) {\n      const { maxLength: e } = this._textarea;\n      this._maxLength = e > 0 ? e : 0;\n    }\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._checkAttributes(), this._addEventListeners(), this.autoHeight && this._updateHeight(), this.requestUpdate(), this.observer.observe(this._textarea, this.observerConfig);\n    } catch (e) {\n      console.error(\"ERROR OCURRED\", e);\n    }\n  }\n  _addEventListeners() {\n    var e;\n    this._textarea.addEventListener(\"input\", this._handleInputBound), this._textarea.addEventListener(\"focus\", this._handleFocusBound), this._textarea.addEventListener(\"focusout\", this._handleFocusOutBound), this._textarea.addEventListener(\"blur\", this._handleBlurBound), (e = this._label) == null || e.addEventListener(\"click\", this._handleLabelClickBound), this._textarea.addEventListener(\"keyup\", this._handleKeyupBound);\n  }\n  _updateHeight() {\n    this._textarea.style.height = \"auto\", this._textarea.style.height = `${this._textarea.scrollHeight}px`;\n  }\n  _handleInput() {\n    this.autoHeight && this._updateHeight(), this._showError = !this._textarea.checkValidity(), this.requestUpdate();\n  }\n  _handleKeyup(e) {\n    (e.keyCode ? e.keyCode : e.which) === 9 && this._handleFocus();\n  }\n  _handleFocus() {\n    this._isGroupFocusedVisible = !0, this._isTextareaFocused = !0, this.requestUpdate();\n  }\n  _handleFocusOut() {\n    this._handleBlur(), this._isGroupFocusedVisible = !1, this._isTextareaFocused = !1, this.requestUpdate();\n  }\n  _handleBlur() {\n    this._isTextareaFocused = !1, this.requestUpdate();\n  }\n  _handelLabelClick() {\n    this._textarea.focus(), this.requestUpdate();\n  }\n  _handleSlotChange() {\n    this.requestUpdate();\n  }\n  render() {\n    return p(this);\n  }\n}\no([\n  a({ type: String })\n], n.prototype, \"value\", 1);\no([\n  a(d)\n], n.prototype, \"showError\", 1);\no([\n  a(d)\n], n.prototype, \"autoHeight\", 2);\no([\n  a({ type: String })\n], n.prototype, \"size\", 2);\no([\n  a({ type: String })\n], n.prototype, \"icon\", 2);\nexport {\n  n as Textarea\n};\n//# sourceMappingURL=textarea.js.map\n","const t = \":host{display:block;height:-moz-fit-content;height:fit-content;min-width:240px;width:100%}.dss-tile{box-sizing:border-box;height:96px;width:100%;background-color:var(--color-white);border-radius:var(--dss-radius-md);padding:var(--dss-spacing-sm);display:flex;align-items:center;justify-content:flex-start;gap:var(--dss-spacing-sm);border:var(--dss-border-width-sm) solid var(--color-neutral-100);transition:background-color .3s ease-in}.dss-tile-logo{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:48px;width:48px;height:48px;margin:0;padding:0;overflow:hidden;border-radius:var(--dss-radius-xs)}.dss-tile-logo__image{width:100%;max-width:100%;margin:0;padding:0}.dss-tile-content{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--dss-spacing-md);flex:1 1 100%;min-width:0}.dss-tile-content .dss-tile-content__text{overflow:hidden}.dss-tile-title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-height:24px;line-height:24px;font-size:14px;font-weight:var(--font-semibold);color:var(--color-neutral-900);margin:0;overflow:hidden}.dss-tile--disabled .dss-tile-title{color:var(--color-neutral-600)}.dss-tile-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;line-height:24px;font-size:14px;color:var(--color-neutral-600);margin:0}.dss-tile--button:not(.dss-tile--disabled){cursor:pointer;border-color:var(--color-primary-500)}.dss-tile--button:not(.dss-tile--disabled):hover{box-shadow:inset 0 0 0 var(--dss-border-width-md) var(--color-primary-600);border-color:transparent}.dss-tile--selected:not(.dss-tile--disabled),.dss-tile--selector:not(.dss-tile--disabled):hover{cursor:pointer;box-shadow:inset 0 0 0 var(--dss-border-width-md) var(--color-primary-500);border-color:transparent}.dss-tile--button:not(.dss-tile--disabled):active,.dss-tile--selector:not(.dss-tile--disabled):active{box-shadow:inset 0 0 0 var(--dss-border-width-md) var(--color-primary-400);border-color:transparent}.dss-tile--button:not(.dss-tile--disabled):focus-visible,.dss-tile--selector:not(.dss-tile--disabled):focus-visible{border-color:transparent;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-tile--disabled{cursor:not-allowed;background-color:var(--color-neutral-50)}.dss-tile--disabled .dss-tile__title{color:var(--color-neutral-500)}::slotted(.dss-tile-action-group){display:flex;justify-content:center;align-items:center;gap:var(--dss-spacing-md)}.dss-tile--height-auto{height:auto}.dss-tile--widget{margin-top:var(--dss-spacing-xs)}\";\nexport {\n  t as default\n};\n//# sourceMappingURL=tile.style.css.js.map\n","import { classMap as r } from \"lit/directives/class-map.js\";\nimport { unsafeHTML as g } from \"lit/directives/unsafe-html.js\";\nimport { unsafeStatic as c, literal as o, html as t } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as h } from \"../../api/custom-element-scope.js\";\nimport { highlightText as u } from \"../../api/marker/marker.js\";\nconst $ = o`dss-decorative-icon${c(h())}`, _ = (s) => {\n  const e = {\n    \"dss-tile--button\": s.type === \"button\",\n    \"dss-tile--selector\": s.type === \"selector\",\n    \"dss-tile--selected\": s.type === \"selector\" && s.selected,\n    \"dss-tile--action\": s.type === \"action\",\n    \"dss-tile--disabled\": s.disabled,\n    \"dss-tile--height-auto\": s.heightAuto,\n    \"dss-tile--widget\": s.widget\n  }, l = () => t`\n      <${$} \n        icon=\"${s.icon}\" \n        state=\"default\" \n        size=\"xl\"\n        ?disabled=${s.disabled}\n      ></${$}>\n    `, d = () => t`\n      <div class=\"dss-tile-logo\">\n        <img\n          class=\"dss-tile-logo__image\"\n          src=\"${s.logoURL}\"\n          alt=\"Tile Logo\"\n        />\n      </div>\n    `, a = () => t`\n      <div class=\"dss-tile-content\">\n        <div class=\"dss-tile-content__text\">\n          <h4 class=\"dss-tile-title\">\n            ${g(u(s.tileTitle, s.marker))}\n          </h4>\n          <p class=\"dss-tile-description\">\n            ${g(u(s.description, s.marker))}\n          </p>\n        </div>\n        ${s.type === \"action\" ? t` <slot name=\"action\"></slot> ` : null}\n      </div>\n    `;\n  let i = t``;\n  return s.type === \"button\" || s.type === \"selector\" ? i = t`\n      <div\n        class=\"dss-tile ${r(e)}\"\n        tabindex=\"${s.disabled ? -1 : 0}\"\n        role=\"button\"\n        @click=${s._onClick}\n      >\n        ${s.icon && !s.hasLogo ? l() : null}\n        ${s.hasLogo ? d() : null}\n        ${a()}\n      </div>\n    ` : i = t`\n      <div class=\"dss-tile ${r(e)}\">\n        ${s.icon && !s.hasLogo ? l() : null}\n        ${s.hasLogo ? d() : null}\n        ${a()}\n      </div>\n    `, i;\n};\nexport {\n  _ as template\n};\n//# sourceMappingURL=tile.template.js.map\n","import { LitElement as h, unsafeCSS as p } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport d from \"../../api/marker/marker.style.css.js\";\nimport m from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as r } from \"../../utils/property-types.js\";\nimport c from \"../decorative-icon/decorative-icon.style.css.js\";\nimport f from \"./tile.style.css.js\";\nimport { template as g } from \"./tile.template.js\";\nvar u = Object.defineProperty, e = (l, s, y, S) => {\n  for (var i = void 0, n = l.length - 1, a; n >= 0; n--)\n    (a = l[n]) && (i = a(s, y, i) || i);\n  return i && u(s, y, i), i;\n};\nclass o extends h {\n  constructor() {\n    super(...arguments), this.type = \"default\", this.icon = \"\", this.tileTitle = \"\", this.description = \"\", this.selected = !1, this.disabled = !1, this.hasLogo = !1, this.logoURL = \"\", this.heightAuto = !1, this.widget = !1, this.marker = void 0;\n  }\n  static get styles() {\n    return [p(m), p(c), p(d), p(f)];\n  }\n  _onClick() {\n    this.type === \"selector\" && (this.selected = !this.selected, this.requestUpdate());\n    const s = {\n      detail: { title: this.tileTitle },\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onTileClick\", s));\n  }\n  render() {\n    return g(this);\n  }\n}\ne([\n  t({ type: String })\n], o.prototype, \"type\");\ne([\n  t({ type: String })\n], o.prototype, \"icon\");\ne([\n  t({ type: String })\n], o.prototype, \"tileTitle\");\ne([\n  t({ type: String })\n], o.prototype, \"description\");\ne([\n  t(r)\n], o.prototype, \"selected\");\ne([\n  t(r)\n], o.prototype, \"disabled\");\ne([\n  t(r)\n], o.prototype, \"hasLogo\");\ne([\n  t({ type: String })\n], o.prototype, \"logoURL\");\ne([\n  t(r)\n], o.prototype, \"heightAuto\");\ne([\n  t(r)\n], o.prototype, \"widget\");\ne([\n  t({ type: String })\n], o.prototype, \"marker\");\nexport {\n  o as Tile\n};\n//# sourceMappingURL=tile.js.map\n","import { nothing as r } from \"lit\";\nimport { classMap as d } from \"lit/directives/class-map.js\";\nimport { ifDefined as b } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as l, literal as a, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as p } from \"../../api/custom-element-scope.js\";\nconst n = a`dss-icon${l(p())}`, e = a`dss-button${l(p())}`, _ = a`dss-tooltip${l(p())}`, S = (i) => {\n  var u;\n  const w = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": i._required,\n    [`dss-input-wrapper--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-wrapper--no-label\": !i._label\n  }, $ = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${i.inputSize}`]: !!i.inputSize,\n    \"dss-input-group--invalid\": i._invalid || !i._inputValidity,\n    \"dss-input-group--required\": i._required,\n    \"dss-input-group--disabled\": i._disabled,\n    \"dss-input-group--focused\": ((u = i._input) == null ? void 0 : u.value) || i._placeholder,\n    \"dss-input-group--read-only\": i._readonly,\n    \"dss-input-group--no-label\": !i._label\n  }, c = {\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": i._invalid,\n    \"dss-input-help--disabled\": i._disabled\n  }, v = {\n    \"dss-timepicker-dropdown--open\": i._showDropdown,\n    \"dss-timepicker-dropdown--lg\": i.inputSize === \"lg\",\n    \"dss-timepicker-dropdown--md\": i.inputSize !== \"lg\",\n    \"dss-timepicker-dropdown--list--visible\": i._showDropdown && i._dropdown === \"list\"\n  }, k = {\n    \"dss-timepicker-dropdown--open\": i._showDropdown,\n    \"dss-timepicker-dropdown--lg\": i.inputSize === \"lg\",\n    \"dss-timepicker-dropdown--md\": i.inputSize !== \"lg\",\n    \"dss-timepicker-dropdown--manual--visible\": i._showDropdown && i._dropdown === \"manual\"\n  }, t = () => {\n    var o;\n    return s`\n      <div class=\"${d($)}\">\n        ${i.icon && i.icon !== \"\" ? s`\n          <${n} icon=\"${i.icon}\" class=\"dss-input-icon\"></${n}>\n          ` : r}\n        <div class=\"dss-input-field\">\n          ${i.inputSize !== \"sm\" ? s`\n            <slot name=\"label\" @click=${i._focusInput}></slot>\n            ` : r}\n          <slot name=\"input\"\n            @click=${i._handleClick}\n            @input=${i._handleInput}\n            @focusin=${i._handleFocus}\n            @focusout=${i._handleBlur}\n            @keydown=${i._handleKeyDown}\n          ></slot>\n\n          ${!i._showDropdown && i._isTruncated ? s`\n              <${_}>${(o = i._input) == null ? void 0 : o.value}</${_}>\n            ` : null}\n        </div>\n      </div>\n      `;\n  };\n  return s`\n  \n      <div class=\"${d(w)}\">\n  \n        ${i.inputSize === \"sm\" ? s`\n          <div class=\"${d({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": i._invalid\n  })}\"\n          >\n            <slot name=\"label\" @click=${i._focusInput}></slot>\n          </div>\n          ` : r}\n\n        ${i._dropdown === \"\" ? s`\n            ${t()}\n          ` : s`\n            <div class=\"dss-input-dropdown-wrapper\"\n              role=\"combobox\"\n              aria-controls=\"timepicker-options\"\n              aria-expanded=${b(i._showDropdown)}\n            >\n              ${t()}\n      \n              <div\n                id=\"timepicker-options\"\n                class=\"dss-timepicker-dropdown dss-timepicker-dropdown--list ${d(v)}\"\n                role=\"listbox\"\n                aria-label=\"Timepicker Options\"\n              >\n                <div class=\"dss-timepicker-dropdown__container\">\n                  ${s`${i._generateTimeListOptionsHTML(i._timeListOptions, i._customTimeListOptions)}`}\n                </div>\n              </div>\n\n              <div\n                id=\"timepicker-options\"\n                class=\"dss-timepicker-dropdown dss-timepicker-dropdown--manual ${d(k)}\"\n                role=\"listbox\"\n                aria-label=\"Timepicker Options\"\n              >\n                <div class=\"dss-timepicker-dropdown__manual\">\n                  <div\n                    class=\"dss-timepicker-dropdown__items dss-timepicker-dropdown__items--hour\"\n                  >\n                    ${i._generateTimeManualOptionsHTML(\"timepickerManualHour\", i._timeManualHourOptions)}\n                  </div>\n                  <div\n                    class=\"dss-timepicker-dropdown__items dss-timepicker-dropdown__items--minute\"\n                  >\n                    ${i._generateTimeManualOptionsHTML(\"timepickerManualMinutes\", i._timeManualMinutesOptions)}\n                  </div>\n                </div>\n                <div class=\"dss-timepicker-dropdown__actions\">\n                  <${e} \n                    label=\"Cancel-lar\"\n                    size=\"md\"\n                    variant=\"secondary\"\n                    @onClick=${i._timeManualSelectorCancel}\n                  ></${e}>\n                  <${e}\n                    label=\"Seleccionar\"\n                    size=\"md\"\n                    variant=\"primary\"\n                    ?disabled=${i._checkDisableTimeManualSelector()}\n                    @onClick=${i._timeManualSelectorAccept}\n                  ></${e}>\n                </div>\n              </div>\n      \n            </div>\n          `}\n\n        ${i._helpText ? s`\n              <div class=\"${d(c)}\">\n                <span>${i._helpText}</span>\n              </div>\n            ` : null}\n  \n      </div>\n    `;\n};\nexport {\n  S as template\n};\n//# sourceMappingURL=timepicker.template.js.map\n","const o = \".dss-timepicker-help{font-family:var(--font-family)}.dss-timepicker-help{font-family:inherit;font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-timepicker-help--disabled{color:var(--color-neutral-500)}.dss-timepicker-help--invalid{color:var(--color-red-500)}.dss-timepicker-dropdown{background-color:var(--color-white);width:-moz-fit-content;width:fit-content;border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md);z-index:999;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-out}.dss-timepicker-dropdown--list--visible,.dss-timepicker-dropdown--manual--visible{opacity:1;visibility:visible}.dss-input-group--dropdown input,.dss-timepicker-dropdown--manual{min-width:289px}.dss-timepicker-dropdown__container{overflow:auto;min-height:70px;max-height:280px;width:100%}.dss-timepicker-dropdown__option{cursor:pointer;position:relative;width:100%}.dss-timepicker-dropdown__label{width:100%;height:40px;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:var(--dss-spacing-xs) var(--dss-spacing-sm);font-size:14px;color:var(--color-neutral-900);cursor:pointer;background-color:var(--color-white)}.dss-timepicker-dropdown__label:hover{background-color:var(--color-primary-600);color:var(--color-white)}.dss-timepicker-dropdown__label:active{background-color:var(--color-primary-400);color:var(--color-white);transition:background-color .3s}.option--busy .dss-timepicker-dropdown__label{background-color:var(--color-red-50)}.option--busy .dss-timepicker-dropdown__label:hover{background-color:var(--color-red-600)}.option--busy .dss-timepicker-dropdown__label:active{background-color:var(--color-red-400)}.option--busy .dss-timepicker-dropdown__label .dss-timepicker-dropdown__icon{color:var(--color-neutral-900)}.dss-timepicker-dropdown__label:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-timepicker-dropdown__label:disabled{background-color:var(--color-neutral-50);color:var(--color-neutral-500);cursor:not-allowed}.dss-timepicker-dropdown__input-radio{display:none}.dss-timepicker-dropdown__input-radio:checked+.dss-timepicker-dropdown__icon{display:flex}.dss-timepicker-dropdown__icon{display:none;color:var(--color-primary-500)}.dss-timepicker-dropdown__label:hover .dss-timepicker-dropdown__icon{color:var(--color-white)}.dss-timepicker-dropdown__label:focus-visible{box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-primary-200);border-radius:var(--dss-radius-xs);outline:none}.dss-timepicker-dropdown__manual{width:100%;height:calc(220px - var(--dss-spacing-xs) - var(--dss-spacing-xs));display:flex;justify-content:center;gap:var(--dss-spacing-xs);overflow:hidden;padding:var(--dss-spacing-xs) 0}.dss-timepicker-dropdown__items{box-sizing:border-box;height:100%;width:55px;overflow-y:auto;scrollbar-width:none}.dss-timepicker-dropdown__items:hover{scrollbar-width:thin}.dss-timepicker-dropdown__actions{display:flex;justify-content:center;align-items:center;height:64px;gap:17px;border-top:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-timepicker-manual-item__label{display:flex;justify-content:center;align-items:center;height:40px;width:40px;font-weight:var(--font-semibold);font-size:16px;color:var(--color-neutral-900);border-radius:var(--dss-radius-xs);background-color:var(--color-white);cursor:pointer}.dss-timepicker-manual-item__label:focus-visible{box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-primary-200);border-radius:var(--dss-radius-xs);outline:none}.dss-timepicker-manual-item__label:hover{color:var(--color-white);background-color:var(--color-primary-600)}.dss-timepicker-manual-item__label:active{color:var(--color-white);background-color:var(--color-primary-400);transition:background-color .3s}.dss-timepicker-manual-item__input-radio{display:none}.dss-timepicker-manual-item__input-radio:checked+.dss-timepicker-manual-item__label{color:var(--color-white);background-color:var(--color-primary-500)}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=timepicker.style.css.js.map\n","import { createPopper as M } from \"@popperjs/core\";\nimport { LitElement as D, unsafeCSS as x } from \"lit\";\nimport { property as d } from \"lit/decorators.js\";\nimport { classMap as H } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as V, literal as F, html as q } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as R } from \"../../api/custom-element-scope.js\";\nimport { booleanType as S } from \"../../utils/property-types.js\";\nimport { template as U } from \"./timepicker.template.js\";\nimport I from \"../../shared/scrollbar.style.css.js\";\nimport A from \"../input/input.style.css.js\";\nimport $ from \"./timepicker.style.css.js\";\nvar C = Object.defineProperty, E = Object.getOwnPropertyDescriptor, c = (y, t, e, i) => {\n  for (var s = i > 1 ? void 0 : i ? E(t, e) : t, o = y.length - 1, l; o >= 0; o--)\n    (l = y[o]) && (s = (i ? l(t, e, s) : l(s)) || s);\n  return i && s && C(t, e, s), s;\n};\nconst L = F`dss-icon${V(R())}`;\nclass _ extends D {\n  constructor() {\n    super(), this.inputSize = \"lg\", this.icon = \"schedule\", this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this._value = \"\", this._placeholder = \"\", this._inputSize = \"lg\", this._dropdown = \"\", this._required = !1, this._disabled = !1, this._readonly = !1, this._invalid = !1, this._showDropdown = !1, this._helpText = \"\", this._oldHelpText = \"\", this._errorTimeFormatText = \"Format d'hora no vàlid\", this._errorTimeOptionText = \"Opció de temps no disponible\", this._manualHourSelector = \"\", this._manualMinuteSelector = \"\", this._minutesRange = 1, this._minHour = 0, this._maxHour = 24, this._timeListOptions = [], this._customTimeListOptions = [], this._timeManualHourOptions = [], this._timeManualMinutesOptions = [], this._inputValidity = !0, this._isFirstUpdated = !0, this._popperInstanceList = null, this._popperInstanceManual = null, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (t) => {\n      for (const e of t)\n        e.type === \"attributes\" && (this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback), this.visibleObserver = new IntersectionObserver(\n      ([t]) => {\n        t.isIntersecting || this._showDropdown && this._closeDropdown();\n      },\n      {\n        root: null,\n        threshold: 0\n      }\n    ), this._timePattern = /^\\d{0,4}$/g, this._timeSeparator = \":\", this._timeInputOldValue = \"\", this._isTruncated = !1, this._handleOutsideClick = this._handleOutsideClick.bind(this), this._handleFocusOut = this._handleFocusOut.bind(this);\n  }\n  static get styles() {\n    return [x(A), x(I), x($)];\n  }\n  get _input() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  get _label() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"label\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set value(t) {\n    const e = this._value;\n    this._value = t, this._input && (this._input.value = t), this.requestUpdate(\"value\", e);\n  }\n  get value() {\n    return this._value;\n  }\n  set invalid(t) {\n    const e = this._invalid;\n    this._invalid = t, this.requestUpdate(\"invalid\", e);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  set helpText(t) {\n    const e = this._helpText;\n    this._helpText = t, this._oldHelpText = t, this.requestUpdate(\"helpText\", e);\n  }\n  get helpText() {\n    return this._helpText;\n  }\n  set errorTimeFormatText(t) {\n    const e = this._errorTimeFormatText;\n    this._errorTimeFormatText = t, this.requestUpdate(\"errorTimeFormatText\", e);\n  }\n  get errorTimeFormatText() {\n    return this._errorTimeFormatText;\n  }\n  set errorTimeOptionText(t) {\n    const e = this._errorTimeOptionText;\n    this._errorTimeOptionText = t, this.requestUpdate(\"errorTimeOptionText\", e);\n  }\n  get errorTimeOptionText() {\n    return this._errorTimeOptionText;\n  }\n  set dropdown(t) {\n    const e = this._dropdown;\n    this._dropdown = t, this.requestUpdate(\"dropdown\", e);\n  }\n  get dropdown() {\n    return this._dropdown;\n  }\n  set showDropdown(t) {\n    const e = this._showDropdown;\n    this._showDropdown = t, this.requestUpdate(\"showDropdown\", e);\n  }\n  get showDropdown() {\n    return this._showDropdown;\n  }\n  set minutesRange(t) {\n    const e = this._minutesRange;\n    this._minutesRange = t, this._isFirstUpdated || this._updateTimeOptions(), this.requestUpdate(\"minutesRange\", e);\n  }\n  get minutesRange() {\n    return this._minutesRange;\n  }\n  set minHour(t) {\n    const e = this._minHour;\n    this._minHour = t, this._isFirstUpdated || this._updateTimeOptions(), this.requestUpdate(\"minHour\", e);\n  }\n  get minHour() {\n    return this._minHour;\n  }\n  set maxHour(t) {\n    const e = this._maxHour;\n    this._maxHour = t, this._isFirstUpdated || this._updateTimeOptions(), this.requestUpdate(\"maxHour\", e);\n  }\n  get maxHour() {\n    return this._maxHour;\n  }\n  set customTimeListOptions(t) {\n    const e = this._customTimeListOptions;\n    this._customTimeListOptions = t, this.requestUpdate(\"customTimeListOptions\", e);\n  }\n  get customTimeListOptions() {\n    return this._customTimeListOptions;\n  }\n  disconnectedCallback() {\n    this._removeDropdownListener(), this.observer.disconnect(), this.visibleObserver.disconnect();\n  }\n  _addDropdownListener() {\n    document.addEventListener(\"mousedown\", this._handleOutsideClick), this.addEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _removeDropdownListener() {\n    document.removeEventListener(\"mousedown\", this._handleOutsideClick), this.removeEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _handleOutsideClick(t) {\n    this._checkClickOutside(t);\n  }\n  _handleFocusOut(t) {\n    this._checkFocusOut(t);\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._createPopperList(), this._createPopperManual(), this._input && (this._input.classList.add(\"dss-input-skip-native\"), this._checkInputAttributes(), this.observer.observe(this._input, this.observerConfig), this.visibleObserver.observe(this._input)), this._updateTimeOptions(), this._isFirstUpdated = !1, this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  _createPopperList() {\n    var i, s;\n    const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-input-group\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-timepicker-dropdown--list\");\n    t && e && (this._popperInstanceList = M(t, e, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"flip\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            rootBoundary: \"viewport\"\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        },\n        {\n          name: \"matchWidth\",\n          enabled: !0,\n          phase: \"write\",\n          fn({ state: o }) {\n            o.elements.popper.style.width = `${t.offsetWidth}px`;\n          },\n          effect: ({ state: o }) => {\n            o.elements.popper.style.width = `${t.offsetWidth}px`;\n          }\n        }\n      ]\n    }));\n  }\n  _createPopperManual() {\n    var i, s;\n    const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-input-group\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-timepicker-dropdown--manual\");\n    t && e && (this._popperInstanceManual = M(t, e, {\n      placement: \"bottom\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"flip\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            rootBoundary: \"viewport\"\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        }\n      ]\n    }));\n  }\n  _updateTimeOptions() {\n    this._dropdown && (this._timeListOptions = this._generateTimeListOptions(), this._timeManualHourOptions = this._generateTimeManualHoursOptions(), this._timeManualMinutesOptions = this._generateTimeManualMinutesOptions());\n  }\n  _checkInputAttributes() {\n    var l, p, v, m, f, g, b;\n    const t = (l = this._input) == null ? void 0 : l.getAttribute(\"placeholder\");\n    t && (this._placeholder = t), ((p = this._input) == null ? void 0 : p.getAttribute(\"readonly\")) !== null && (this._readonly = !0), ((v = this._input) == null ? void 0 : v.getAttribute(\"disabled\")) !== null && (this._disabled = !0), ((m = this._input) == null ? void 0 : m.getAttribute(\"required\")) !== null && (this._required = !0);\n    const o = (f = this._input) == null ? void 0 : f.getAttribute(\"value\");\n    o !== null && (this._value = o), (g = this._input) != null && g.value && ((b = this._input) == null ? void 0 : b.value) !== \"\" && this._handleValidity(), this.requestUpdate();\n  }\n  _handleValidity() {\n    var e;\n    const t = (e = this._input) == null ? void 0 : e.checkValidity();\n    t !== void 0 && (this._inputValidity = t);\n  }\n  _checkClickOutside(t) {\n    t.composedPath().includes(this) || this._showDropdown && this._closeDropdown();\n  }\n  _checkFocusOut(t) {\n    const e = t.relatedTarget;\n    e !== null && e !== this && e !== this._input && e !== this._label && (this._showDropdown && this._closeDropdown(), this.requestUpdate());\n  }\n  _closeDropdown() {\n    var t;\n    this._removeDropdownListener(), this._showDropdown = !1, (t = this._input) == null || t.blur(), this.requestUpdate();\n  }\n  _timeMask(t, e, i) {\n    const s = [];\n    for (let o = 0; o < t.length; o += 1)\n      o !== 0 && o % e === 0 && s.push(i), s.push(t[o]);\n    return s.join(\"\");\n  }\n  _timeUnmask(t) {\n    return t.replace(/[^\\d]/g, \"\");\n  }\n  _timeValidate(t) {\n    const e = t.slice(0, 2), i = t.slice(3, 5);\n    this._input && +e >= 0 && +e <= 23 && +i >= 0 && +i <= 59 ? (this._invalid = !1, this._helpText = this._oldHelpText, this._dropdown && this._dropdown === \"list\" && !this._timeListOptions.includes(this._input.value) ? (this._helpText = this._errorTimeOptionText, this._invalid = !0) : this._dropdown && this._dropdown === \"manual\" && (!this._timeManualHourOptions.includes(e) || !this._timeManualMinutesOptions.includes(i)) ? (this._helpText = this._errorTimeOptionText, this._invalid = !0) : this._closeDropdown()) : (this._helpText = this._errorTimeFormatText, this._invalid = !0), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _dispatchValueChange() {\n    if (this._input) {\n      const t = {\n        detail: {\n          value: this._input.value,\n          status: this._invalid ? \"INVALID\" : \"VALID\"\n        },\n        bubbles: !0,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"onTimepickerChange\", t));\n    }\n  }\n  _handleClick() {\n    if (this._showDropdown = !0, this._addDropdownListener(), this._popperInstanceList && this._popperInstanceList.update(), this._popperInstanceManual && this._popperInstanceManual.update(), this._value && (this._dropdown && this._dropdown === \"list\" && this._timeListOptionsScrollTo(), this._dropdown && this._dropdown === \"manual\")) {\n      const t = this._value.slice(0, 2);\n      this._timeManualOptionsScrollTo(t), setTimeout(() => {\n        this._timeManualOptionsScrollTo();\n      }, 500);\n    }\n    this.requestUpdate();\n  }\n  _handleInput() {\n    if (this._input) {\n      let t = this._input.value;\n      t = this._timeUnmask(t), t.match(this._timePattern) ? (t = this._timeMask(t, 2, this._timeSeparator), this._input.value = t) : this._input.value = this._timeInputOldValue, this._input.value.length === 5 && (this._timeValidate(this._input.value), this._handleValidity()), this._dropdown && this._dropdown === \"list\" && this._timeListOptionsScrollTo(), this._dropdown && this._dropdown === \"manual\" && this._timeManualOptionsScrollTo();\n    }\n  }\n  _handleKeyDown(t) {\n    this._input && (this._timeInputOldValue = this._input.value, (t == null ? void 0 : t.key) === \"Enter\" || (t == null ? void 0 : t.key) === \" \" ? (this._showDropdown = !0, this._addDropdownListener(), this._popperInstanceList && this._popperInstanceList.update(), this._popperInstanceManual && this._popperInstanceManual.update(), this.requestUpdate()) : (t == null ? void 0 : t.key) === \"Escape\" && this._closeDropdown());\n  }\n  _handleFocus() {\n    this._placeholder = \"00:00\", this._input && this._input.setAttribute(\"placeholder\", this._placeholder), this.requestUpdate();\n  }\n  _handleBlur() {\n    this._placeholder = \"\", this._input && this._input.removeAttribute(\"placeholder\"), this._checkInputOverflow(), this.requestUpdate();\n  }\n  _focusInput() {\n    var t;\n    this._disabled || ((t = this._input) == null || t.focus(), this._handleClick());\n  }\n  _generateTimeListOptions() {\n    const t = [];\n    for (let e = this._minHour; e < this._maxHour; e += 1)\n      for (let i = 0; i < 60; i += this._minutesRange) {\n        const s = e.toString().padStart(2, \"0\"), o = i.toString().padStart(2, \"0\");\n        t.push(`${s}:${o}`);\n      }\n    return t;\n  }\n  _generateTimeListOptionsHTML(t, e) {\n    let i = !0;\n    const s = e && e.length > 0;\n    return (s ? e : t).map((p) => {\n      const v = (u) => {\n        u && u.focus();\n      }, m = (u) => {\n        let r = 0;\n        const a = this.renderRoot.querySelectorAll(\".dss-timepicker-dropdown__label\"), n = a.length - 1;\n        u === a[0] ? v(a[n]) : (a.forEach((h, w) => {\n          h === u && (r = w);\n        }), v(a[r - 1]));\n      }, f = (u) => {\n        let r = 0;\n        const a = this.renderRoot.querySelectorAll(\".dss-timepicker-dropdown__label\"), n = a.length - 1;\n        u === a[n] ? v(a[0]) : (a.forEach((h, w) => {\n          h === u && (r = w);\n        }), v(a[r + 1]));\n      }, g = (u) => {\n        if (this._input) {\n          const r = u.target.getAttribute(\"value\");\n          r && (this._input.value = r, this._helpText = this._oldHelpText, this._invalid = !1, this._handleValidity(), this._closeDropdown(), this._dispatchValueChange());\n        }\n      }, b = (u) => {\n        const r = u.currentTarget, a = u;\n        let n = !1;\n        switch (a.key) {\n          case \"ArrowUp\":\n            m(r), n = !0;\n            break;\n          case \"ArrowDown\":\n            f(r), n = !0;\n            break;\n          case \"Enter\": {\n            const h = u.target.querySelector(\"input\"), w = this.renderRoot.querySelector('.dss-timepicker-dropdown__label[tabindex=\"0\"]');\n            w == null || w.setAttribute(\"tabindex\", \"-1\"), u.target.setAttribute(\"tabindex\", \"0\"), h == null || h.click(), n = !0;\n            break;\n          }\n        }\n        n && (u.stopPropagation(), u.preventDefault());\n      }, T = {\n        \"option--busy\": typeof p == \"object\" && p.state === \"ocupat\"\n      }, O = q`\n        <div class=\"dss-timepicker-dropdown__option ${H(T)}\">\n          <label\n            class=\"dss-timepicker-dropdown__label\"\n            tabindex=\"${i ? 0 : -1}\"\n            @keydown=${b}\n          >\n            ${s && typeof p == \"object\" ? p.value : p}\n\n            <input\n              class=\"dss-timepicker-dropdown__input-radio\"\n              name=\"timeList\"\n              type=\"radio\"\n              @click=\"${g}\"\n              .value=\"${s && typeof p == \"object\" ? p.value : p}\"\n            />\n\t\t\t\t\t\t<${L} class=\"dss-timepicker-dropdown__icon\" size=\"md\" icon=\"check\"></${L}>\n          </label>\n        </div>\n      `;\n      return i = !1, O;\n    });\n  }\n  _generateTimeManualHoursOptions() {\n    const t = [];\n    for (let e = this._minHour; e < this._maxHour; e += 1) {\n      const i = e.toString().padStart(2, \"0\");\n      t.push(i);\n    }\n    return t;\n  }\n  _generateTimeManualMinutesOptions() {\n    const t = [];\n    for (let e = 0; e < 60; e += this._minutesRange) {\n      const i = e.toString().padStart(2, \"0\");\n      t.push(i);\n    }\n    return t;\n  }\n  _generateTimeManualOptionsHTML(t, e) {\n    let i = !0;\n    return e.map((o) => {\n      const l = (m) => {\n        const f = m.target.getAttribute(\"value\");\n        f && (t === \"timepickerManualHour\" ? this._manualHourSelector = f : t === \"timepickerManualMinutes\" && (this._manualMinuteSelector = f), this.requestUpdate());\n      }, p = (m) => {\n        const f = m.currentTarget, g = m;\n        let b = !1;\n        const T = (r) => {\n          r && r.focus();\n        }, O = (r) => {\n          let a = 0;\n          const n = this.renderRoot.querySelectorAll(`.dss-timepicker-manual-item__label.${t}`), h = n.length - 1;\n          r === n[0] ? T(n[h]) : (n.forEach((w, k) => {\n            w === r && (a = k);\n          }), T(n[a - 1]));\n        }, u = (r) => {\n          let a = 0;\n          const n = this.renderRoot.querySelectorAll(`.dss-timepicker-manual-item__label.${t}`), h = n.length - 1;\n          r === n[h] ? T(n[0]) : (n.forEach((w, k) => {\n            w === r && (a = k);\n          }), T(n[a + 1]));\n        };\n        switch (g.key) {\n          case \"ArrowUp\":\n            O(f), b = !0;\n            break;\n          case \"ArrowDown\":\n            u(f), b = !0;\n            break;\n          case \"Enter\": {\n            const r = m.target.parentElement, a = r == null ? void 0 : r.querySelector(\"input\"), n = this.renderRoot.querySelector(\n              `.dss-timepicker-manual-item__label[tabindex=\"0\"].${t}`\n            );\n            if (n == null || n.setAttribute(\"tabindex\", \"-1\"), m.target.setAttribute(\"tabindex\", \"0\"), a == null || a.click(), t === \"timepickerManualHour\") {\n              const h = this.renderRoot.querySelector(\n                '.dss-timepicker-manual-item__label[tabindex=\"0\"].timepickerManualMinutes'\n              );\n              T(h);\n            } else if (t === \"timepickerManualMinutes\") {\n              const h = this.renderRoot.querySelector(\".dss-timepicker-dropdown__actions-select\");\n              setTimeout(() => {\n                h.focus();\n              }, 0);\n            }\n            b = !0;\n            break;\n          }\n        }\n        b && (m.stopPropagation(), m.preventDefault());\n      }, v = q`\n        <div class=\"dss-timepicker-manual-item\">\n          <input\n            id=\"${t + o}\"\n            class=\"dss-timepicker-manual-item__input-radio\"\n            name=\"${t}\"\n            type=\"radio\"\n            @click=\"${l}\"\n            .value=\"${o}\"\n          />\n          <label\n            for=\"${t + o}\"\n            class=\"dss-timepicker-manual-item__label ${t}\"\n            tabindex=\"${i ? 0 : -1}\"\n            @keydown=${p}\n          >\n            ${o}\n          </label>\n        </div>\n      `;\n      return i = !1, v;\n    });\n  }\n  _checkDisableTimeManualSelector() {\n    return this._manualHourSelector === \"\" || this._manualMinuteSelector === \"\";\n  }\n  /* eslint no-param-reassign: \"off\" */\n  _timeManualSelectorCancel() {\n    const t = this.renderRoot.querySelectorAll(\".dss-timepicker-manual-item__input-radio:checked\");\n    t.length && t.forEach((e) => {\n      e.checked = !1;\n    }), this._manualHourSelector = \"\", this._manualMinuteSelector = \"\", this._handleValidity(), this._closeDropdown();\n  }\n  _timeManualSelectorAccept() {\n    this._input && (this._input.value = `${this._manualHourSelector}:${this._manualMinuteSelector}`, this._helpText = this._oldHelpText, this._invalid = !1, this._handleValidity(), this._closeDropdown(), this._dispatchValueChange());\n  }\n  /* eslint no-param-reassign: \"off\" */\n  _timeListOptionsScrollTo() {\n    if (this._input) {\n      const t = this._input.value.trim(), e = this.renderRoot.querySelectorAll(\".dss-timepicker-dropdown__input-radio\");\n      let i = !1;\n      e.forEach((s) => {\n        const o = s.value;\n        if (!i && o.startsWith(t)) {\n          const l = s.closest(\"label\");\n          i = !0, l && (setTimeout(() => {\n            l.scrollIntoView({\n              behavior: \"smooth\",\n              block: \"center\",\n              inline: \"nearest\"\n            });\n          }, 0), o === t && (s.checked = !0));\n        }\n      });\n    }\n  }\n  _timeManualOptionsScrollTo(t) {\n    if (this._input) {\n      const e = t ? t.trim() : this._input.value.trim();\n      if (e.length <= 2) {\n        const i = this.renderRoot.querySelectorAll(\n          \".dss-timepicker-dropdown__items--hour .dss-timepicker-manual-item__label\"\n        );\n        let s = !1;\n        i.forEach((o) => {\n          const l = o.innerHTML.replace(/<!--[\\s\\S]*?-->/g, \"\").trim();\n          !s && l.startsWith(e) && (s = !0, setTimeout(() => {\n            o.scrollIntoView({\n              behavior: \"smooth\",\n              block: \"center\",\n              inline: \"nearest\"\n            });\n          }, 0), l === e && o.click());\n        });\n      } else {\n        const i = e.slice(3), s = this.renderRoot.querySelectorAll(\n          \".dss-timepicker-dropdown__items--minute .dss-timepicker-manual-item__label\"\n        );\n        let o = !1;\n        s.forEach((l) => {\n          const p = l.innerHTML.replace(/<!--[\\s\\S]*?-->/g, \"\").trim();\n          !o && p.startsWith(i) && (o = !0, l.scrollIntoView({\n            behavior: \"smooth\",\n            block: \"center\",\n            inline: \"nearest\"\n          }), p === i && l.click());\n        });\n      }\n    }\n  }\n  _checkInputOverflow() {\n    if (!this._input || !this._input.value) return;\n    const t = window.getComputedStyle(this._input), e = `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, s = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!s) return;\n    s.font = e;\n    const o = s.measureText(this._input.value).width;\n    this._isTruncated = o > this._input.offsetWidth;\n  }\n  render() {\n    return U(this);\n  }\n}\nc([\n  d({ type: String, attribute: !0 })\n], _.prototype, \"value\", 1);\nc([\n  d(S)\n], _.prototype, \"invalid\", 1);\nc([\n  d({ type: String })\n], _.prototype, \"helpText\", 1);\nc([\n  d({ type: String })\n], _.prototype, \"errorTimeFormatText\", 1);\nc([\n  d({ type: String })\n], _.prototype, \"errorTimeOptionText\", 1);\nc([\n  d({ type: String })\n], _.prototype, \"dropdown\", 1);\nc([\n  d(S)\n], _.prototype, \"showDropdown\", 1);\nc([\n  d({ type: Number })\n], _.prototype, \"minutesRange\", 1);\nc([\n  d({ type: Number })\n], _.prototype, \"minHour\", 1);\nc([\n  d({ type: Number })\n], _.prototype, \"maxHour\", 1);\nc([\n  d({ type: Array })\n], _.prototype, \"customTimeListOptions\", 1);\nc([\n  d({ type: String })\n], _.prototype, \"inputSize\", 2);\nc([\n  d({ type: String })\n], _.prototype, \"icon\", 2);\nc([\n  d({ type: String })\n], _.prototype, \"dropdownPlacement\", 2);\nc([\n  d(S)\n], _.prototype, \"dropdownFixed\", 2);\nexport {\n  _ as Timepicker\n};\n//# sourceMappingURL=timepicker.js.map\n","const t = ':host{position:absolute;z-index:999}:host([data-position=\"top-left\"]){top:var(--dss-spacing-xxs);left:var(--dss-spacing-xxs)}:host([data-position=\"top-right\"]){top:var(--dss-spacing-xxs);right:var(--dss-spacing-xxs)}:host([data-position=\"bottom-left\"]){bottom:var(--dss-spacing-xxs);left:var(--dss-spacing-xxs)}:host([data-position=\"bottom-right\"]){bottom:var(--dss-spacing-xxs);right:var(--dss-spacing-xxs)}:host([data-animation=\"show\"]){display:block}:host([data-animation=\"hide\"]){display:none}:host([data-animation=\"show\"][data-position=\"top-left\"]),:host([data-animation=\"show\"][data-position=\"bottom-left\"]){animation:openFromLeft .5s cubic-bezier(.68,-.55,.25,1.35) forwards}:host([data-animation=\"show\"][data-position=\"top-right\"]),:host([data-animation=\"show\"][data-position=\"bottom-right\"]){animation:openFromRight .5s cubic-bezier(.68,-.55,.25,1.35) forwards}:host([data-animation=\"hide\"][data-position=\"top-left\"]),:host([data-animation=\"hide\"][data-position=\"bottom-left\"]){animation:closeLeft .5s cubic-bezier(.68,-.55,.25,1.35) forwards}:host([data-animation=\"hide\"][data-position=\"top-right\"]),:host([data-animation=\"hide\"][data-position=\"bottom-right\"]){animation:closeRight .5s cubic-bezier(.68,-.55,.25,1.35) forwards}.dss-toast{width:-moz-fit-content;width:fit-content;max-width:540px;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-md);box-shadow:var(--dss-elevation-md)}.dss-toast .dss-toast__content{font-weight:var(--font-semibold);font-size:14px;line-height:var(--line-24);display:flex;justify-content:space-between;gap:var(--dss-spacing-xs)}.dss-toast .dss-toast__icon,.dss-toast .dss-toast__close-icon,.dss-toast .dss-toast__button{align-self:self-start}.dss-toast__info{background-color:var(--color-blue-500);color:var(--color-white)}.dss-toast__success{background-color:var(--color-green-500);color:var(--color-white)}.dss-toast__warning{background-color:var(--color-yellow-500);color:var(--color-neutral-700)}.dss-toast__error{background-color:var(--color-red-500);color:var(--color-white)}@keyframes openFromLeft{0%{display:none;transform:translate(calc(-100% - var(--dss-spacing-xxs)))}to{display:block;transform:translate(0)}}@keyframes closeLeft{0%{display:block;transform:translate(0)}to{display:none;transform:translate(calc(-100% - var(--dss-spacing-xxs)))}}@keyframes openFromRight{0%{display:none;transform:translate(calc(100% + var(--dss-spacing-xxs)))}to{display:block;transform:translate(0)}}@keyframes closeRight{0%{display:block;transform:translate(0)}to{display:none;transform:translate(calc(100% + var(--dss-spacing-xxs)))}}';\nexport {\n  t as default\n};\n//# sourceMappingURL=toast.style.css.js.map\n","import { nothing as a } from \"lit\";\nimport { classMap as v } from \"lit/directives/class-map.js\";\nimport { when as i } from \"lit/directives/when.js\";\nimport { unsafeStatic as o, literal as r, html as t } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst f = r`dss-icon${o(e())}`, g = r`dss-button${o(e())}`, b = r`dss-icon-button${o(e())}`, S = (s) => {\n  const l = {\n    \"dss-toast\": !0,\n    \"dss-toast__icon-button-close\": s.hasButtonClose,\n    \"dss-toast__animation\": s._firstTimeRendered_ || s.isShow,\n    [`dss-toast__${s.position}`]: !0,\n    [`dss-toast__${s.state}`]: !0,\n    \"dss-toast__show\": s.isShow,\n    \"dss-toast__hide\": !s.isShow\n  }, n = {\n    info: \"info\",\n    success: \"check_circle\",\n    warning: \"warning_amber\",\n    error: \"cancel\"\n  }, d = {\n    info: \"alternative-light\",\n    success: \"alternative-light\",\n    warning: \"alternative-dark\",\n    error: \"alternative-light\"\n  }, c = {\n    info: \"ghost\",\n    success: \"ghost\",\n    warning: \"neutral\",\n    error: \"ghost\"\n  }, u = t`\n    <div class=\"dss-toast__icon\">\n      <${f} icon=\"${s.icon || n[s.state]}\"/>\n    </div>\n  `, _ = t`\n    <div class=\"dss-toast__button\">\n      <${g}\n        variant=\"${d[s.state]}\"\n        label=\"${s.buttonLabel}\"\n        size=\"sm\"\n        @onClick=\"${s.handleClickButton}\"\n      />\n    </div>\n  `, h = t`\n    <div class=\"dss-toast__close-icon\">\n      <${b}\n\t\t\t\tvariant=\"${c[s.state]}\"\n        icon=\"close\"\n\t\t\t\tlabel=\"Tancar\"\n\t\t\t\thideTooltip\n        @onClick=\"${s.handleClose}\"\n      />\n    </div>\n  `;\n  return t`\n    <div class=\"${v(l)}\"\n    role=${s.state === \"error\" ? \"alert\" : \"status\"}\n    aria-live=${s.state === \"error\" ? \"assertive\" : \"polite\"}\n    aria-atomic=${!0}>\n      <div class=\"dss-toast__content\">\n      ${i(\n    s.hasIcon,\n    () => u,\n    () => a\n  )}\n      <span class=\"dss-toast__text\">${s.getText().map(($) => t`<p>${$}</p>`)}</span>\n      ${i(\n    s.hasButton && !s.hasButtonClose,\n    () => _,\n    () => a\n  )}\n      ${i(\n    s.hasButtonClose && !s.hasButton,\n    () => h,\n    () => a\n  )}\n    </div>\n  </div>`;\n};\nexport {\n  S as template\n};\n//# sourceMappingURL=toast.template.js.map\n","import { LitElement as p, unsafeCSS as d } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport m from \"../../foundations/icon/icon.style.css.js\";\nimport l from \"../../shared/reset.style.css.js\";\nimport { booleanType as a } from \"../../utils/property-types.js\";\nimport f from \"./toast.style.css.js\";\nimport { template as y } from \"./toast.template.js\";\nvar b = Object.defineProperty, e = (h, t, n, c) => {\n  for (var s = void 0, r = h.length - 1, u; r >= 0; r--)\n    (u = h[r]) && (s = u(t, n, s) || s);\n  return s && b(t, n, s), s;\n};\nclass o extends p {\n  constructor() {\n    super(), this.isShow = !1, this.text = void 0, this.state = \"info\", this.position = \"bottom-left\", this.icon = void 0, this.hasIcon = !0, this.buttonLabel = \"Button\", this.hasButton = !1, this.hasButtonClose = !1, this.duration = 4e3, this._firstTimeRendered_ = !1, this.handleAnimationEnd = this.handleAnimationEnd.bind(this), this.onKeyDown = this.onKeyDown.bind(this);\n  }\n  static get styles() {\n    return [d(l), d(f), d(m)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), window.addEventListener(\"keydown\", this.onKeyDown);\n  }\n  update(t) {\n    t.has(\"isShow\") && this.addEventListener(\"animationend\", this.handleAnimationEnd), super.update(t);\n  }\n  updated(t) {\n    this._firstTimeRendered_ || (this._firstTimeRendered_ = !0), t.has(\"isShow\") && (this.isShow && this.duration > 0 && this._timeoutId_ === void 0 ? this._timeoutId_ = window.setTimeout(() => this.handleClose(), this.duration) : !this.isShow && this.duration > 0 && this._timeoutId_ !== void 0 && (clearTimeout(this._timeoutId_), this._timeoutId_ = void 0)), (t.has(\"isShow\") || t.has(\"position\")) && this.updateHostAttributes(), super.updated(t);\n  }\n  updateHostAttributes() {\n    this.removeAttribute(\"data-position\"), this.removeAttribute(\"data-animation\"), this.isShow ? this.setAttribute(\"data-animation\", \"show\") : this.setAttribute(\"data-animation\", \"hide\"), this.setAttribute(\"data-position\", this.position);\n  }\n  handleAnimationEnd() {\n    this.isShow || (this.dispatchEvent(new CustomEvent(\"onClose\", { bubbles: !0, composed: !0 })), this.remove()), this.removeEventListener(\"animationend\", this.handleAnimationEnd);\n  }\n  handleClickButton() {\n    this.dispatchEvent(new CustomEvent(\"onClickButton\", { bubbles: !0, composed: !0 }));\n  }\n  handleClose() {\n    this.isShow = !1;\n  }\n  getText() {\n    var t;\n    return ((t = this.text) == null ? void 0 : t.split(/\\\\n|\\n/).map((n) => n.trim())) || [];\n  }\n  onKeyDown(t) {\n    (t.code === \"Enter\" || t.code === \"NumpadEnter\") && this.isShow && this.handleClose();\n  }\n  render() {\n    return y(this);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this._timeoutId_ !== void 0 && clearTimeout(this._timeoutId_), this.removeEventListener(\"animationend\", this.handleAnimationEnd), window.removeEventListener(\"keydown\", this.onKeyDown);\n  }\n}\ne([\n  i(a)\n], o.prototype, \"isShow\");\ne([\n  i({ type: String })\n], o.prototype, \"text\");\ne([\n  i({ type: String })\n], o.prototype, \"state\");\ne([\n  i({ type: String })\n], o.prototype, \"position\");\ne([\n  i({ type: String })\n], o.prototype, \"icon\");\ne([\n  i(a)\n], o.prototype, \"hasIcon\");\ne([\n  i({ type: String })\n], o.prototype, \"buttonLabel\");\ne([\n  i(a)\n], o.prototype, \"hasButton\");\ne([\n  i(a)\n], o.prototype, \"hasButtonClose\");\ne([\n  i({ type: Number })\n], o.prototype, \"duration\");\nexport {\n  o as Toast\n};\n//# sourceMappingURL=toast.js.map\n","const t = \":host{opacity:0;visibility:hidden;z-index:999}:host(.visible){opacity:1;visibility:visible;transition:opacity var(--animation-delay) ease-out,visibility var(--animation-delay) ease-out}:host(.force-hidden){opacity:0!important;visibility:hidden!important}.dss-tooltip{max-width:264px;box-sizing:border-box;width:-moz-max-content;width:max-content;height:-moz-fit-content;height:fit-content;padding:var(--dss-spacing-tiny) var(--dss-spacing-xs);background-color:var(--color-neutral-800);border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md);font-size:14px;font-weight:var(--font-regular);color:var(--color-white);white-space:normal;word-wrap:break-word}.dss-tooltip--align-left{text-align:left}.dss-tooltip--align-right{text-align:right}.dss-tooltip--align-center{text-align:center}.dss-tooltip--align-justify{text-align:justify}.dss-tooltip--no-height-limit{max-height:-moz-max-content;max-height:max-content}.dss-tooltip--hidden{display:none}\";\nexport {\n  t as default\n};\n//# sourceMappingURL=tooltip.style.css.js.map\n","import { classMap as t } from \"lit/directives/class-map.js\";\nimport { html as o } from \"lit/static-html.js\";\nconst e = (i) => {\n  const s = {\n    \"dss-tooltip\": !0,\n    [`dss-tooltip--${i.position}`]: !!i.position,\n    [`dss-tooltip--align-${i.align}`]: !!i.align,\n    \"dss-tooltip--hidden\": i.hide,\n    \"dss-tooltip--no-height-limit\": i.noHeightLimit\n  };\n  return o`\n    <div \n\t\t\trole=\"tooltip\"\n\t\t\tclass=\"${t(s)}\"\n\t\t\t@mouseenter=\"${i._onMouseEnter}\"\n\t\t\t@mouseleave=\"${i._onMouseLeave}\"\n\t\t\taria-hidden=\"${i.ariaHidden || \"false\"}\"\n\t\t>\n      <slot></slot>\n    </div>\n  `;\n};\nexport {\n  e as template\n};\n//# sourceMappingURL=tooltip.template.js.map\n","import { createPopper as c } from \"@popperjs/core\";\nimport { LitElement as d, unsafeCSS as h } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport _ from \"../../foundations/icon/icon.style.css.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport f from \"./tooltip.style.css.js\";\nimport { template as m } from \"./tooltip.template.js\";\nvar v = Object.defineProperty, s = (a, e, t, p) => {\n  for (var r = void 0, l = a.length - 1, u; l >= 0; l--)\n    (u = a[l]) && (r = u(e, t, r) || r);\n  return r && v(e, t, r), r;\n};\nclass o extends d {\n  constructor() {\n    super(...arguments), this._parent = null, this._parentMouseEnterHandler = null, this._parentMouseLeaveHandler = null, this._parentFocusInHandler = null, this._parentFocusOutHandler = null, this._closeTimeoutId = null, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (e) => {\n      for (const t of e)\n        if (t.type === \"attributes\" && t.attributeName === \"data-popper-placement\") {\n          const p = this.getAttribute(\"data-popper-placement\");\n          p && this._propagatePlacement(p);\n        }\n    }, this.observer = new MutationObserver(this.callback), this.position = \"top\", this.align = \"left\", this.hide = !1, this.noHeightLimit = !1, this.tooltipFixed = !1, this.interactive = !1, this.forceViewport = !1, this._popperInstance = null;\n  }\n  static get styles() {\n    return [h(_), h(f)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), this._parent = this.parentElement, this._parent && this.createPopperInstance(this._parent);\n  }\n  disconnectedCallback() {\n    this.observer.disconnect(), this._clearCloseTimeout(), this._parent && (this._parentMouseEnterHandler && this._parent.removeEventListener(\"mouseenter\", this._parentMouseEnterHandler), this._parentMouseLeaveHandler && this._parent.removeEventListener(\"mouseleave\", this._parentMouseLeaveHandler), this._parentFocusInHandler && this._parent.removeEventListener(\"focusin\", this._parentFocusInHandler), this._parentFocusOutHandler && this._parent.removeEventListener(\"focusout\", this._parentFocusOutHandler), this._parentMouseEnterHandler = null, this._parentMouseLeaveHandler = null, this._parentFocusInHandler = null, this._parentFocusOutHandler = null, this._parent = null), this._popperInstance && (this._popperInstance.destroy(), this._popperInstance = null);\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this.observer.observe(this, this.observerConfig);\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  updated(e) {\n    super.updated(e), e.has(\"position\") && this._popperInstance && this._popperInstance.setOptions({\n      placement: this.position\n    });\n  }\n  _getPopperStrategy() {\n    return this.tooltipFixed ? \"fixed\" : \"absolute\";\n  }\n  _getPopperModifiers() {\n    const e = [\n      {\n        name: \"offset\",\n        options: {\n          offset: [0, 8]\n        }\n      }\n    ];\n    return this.forceViewport ? [\n      ...e,\n      {\n        name: \"preventOverflow\",\n        options: {\n          boundary: \"viewport\",\n          rootBoundary: \"viewport\",\n          altBoundary: !0,\n          padding: { top: 8, bottom: 8, left: 16, right: 16 }\n        }\n      },\n      {\n        name: \"flip\",\n        options: {\n          boundary: \"viewport\",\n          rootBoundary: \"viewport\",\n          altBoundary: !0\n        }\n      }\n    ] : [\n      ...e,\n      {\n        name: \"preventOverflow\",\n        options: {\n          padding: { top: 8, bottom: 8, left: 16, right: 16 }\n        }\n      }\n    ];\n  }\n  createPopperInstance(e) {\n    this._popperInstance = c(e, this, {\n      placement: this.position,\n      strategy: this._getPopperStrategy(),\n      modifiers: this._getPopperModifiers(),\n      onFirstUpdate: (t) => {\n        this._propagatePlacement(t.placement);\n      }\n    }), this._parentMouseEnterHandler = () => {\n      this._openTooltip();\n    }, this._parentMouseLeaveHandler = () => {\n      if (this.interactive) {\n        this._scheduleClose();\n        return;\n      }\n      this._closeTooltip();\n    }, this._parentFocusInHandler = () => {\n      this.classList.contains(\"visible\") || this._openTooltip();\n    }, this._parentFocusOutHandler = () => {\n      this.classList.contains(\"visible\") && this._closeTooltip();\n    }, e.addEventListener(\"mouseenter\", this._parentMouseEnterHandler), e.addEventListener(\"mouseleave\", this._parentMouseLeaveHandler), e.addEventListener(\"focusin\", this._parentFocusInHandler), e.addEventListener(\"focusout\", this._parentFocusOutHandler);\n  }\n  _onMouseEnter(e) {\n    if (!this.interactive) {\n      e.stopPropagation(), e.preventDefault(), this._closeTooltip(), this.style.pointerEvents = \"none\";\n      return;\n    }\n    this._clearCloseTimeout();\n  }\n  _onMouseLeave() {\n    this.interactive && this._scheduleClose();\n  }\n  _openTooltip() {\n    var e;\n    this._clearCloseTimeout(), (e = this._popperInstance) == null || e.update(), this.classList.add(\"visible\");\n  }\n  _closeTooltip() {\n    this.classList.remove(\"visible\");\n  }\n  _scheduleClose() {\n    this._clearCloseTimeout(), this._closeTimeoutId = window.setTimeout(() => {\n      this._closeTimeoutId = null, this._closeTooltip();\n    }, 150);\n  }\n  _clearCloseTimeout() {\n    this._closeTimeoutId !== null && (window.clearTimeout(this._closeTimeoutId), this._closeTimeoutId = null);\n  }\n  _propagatePlacement(e) {\n    const t = this.renderRoot.querySelector(\".dss-tooltip-box\");\n    t && t.setAttribute(\"data-popper-placement\", e);\n  }\n  updateTooltip() {\n    this._popperInstance.update();\n  }\n  render() {\n    return m(this);\n  }\n}\ns([\n  i({ type: String })\n], o.prototype, \"position\");\ns([\n  i({ type: String })\n], o.prototype, \"align\");\ns([\n  i(n)\n], o.prototype, \"hide\");\ns([\n  i(n)\n], o.prototype, \"noHeightLimit\");\ns([\n  i(n)\n], o.prototype, \"tooltipFixed\");\ns([\n  i(n)\n], o.prototype, \"interactive\");\ns([\n  i(n)\n], o.prototype, \"forceViewport\");\nexport {\n  o as Tooltip\n};\n//# sourceMappingURL=tooltip.js.map\n","const o = ':host{display:grid;min-width:320px;width:100%;gap:var(--dss-spacing-xs)}.upload-box-wrapper{display:grid;gap:var(--dss-spacing-xxs)}.upload-box-help{font-size:12px;line-height:16px;font-weight:var(--font-regular);color:var(--color-neutral-700);padding:0 var(--dss-spacing-md)}.upload-box-help--disabled{color:var(--color-neutral-500)}.upload-box-help--error{color:var(--color-red-500)}.upload-box{display:flex;justify-content:space-between;align-items:center;gap:var(--dss-spacing-md);border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-md);border:var(--dss-border-width-sm) dashed var(--color-neutral-100);transition:all .25s ease-in-out}.upload-box.dragover{background-color:var(--color-primary-50);border-color:var(--color-prim-salut)}::slotted(input),input[type=file]{display:none}.dss-decorative-icon{transition:all .25s ease-in-out}.upload-box-cta{flex:1;display:grid;gap:var(--dss-spacing-xs)}.upload-box-cta__message{font-size:16px;line-height:24px;color:var(--color-neutral-900)}.upload-box-cta__message .action{color:var(--color-primary-500);font-weight:var(--font-semibold);cursor:pointer}.upload-box-cta__requirements,.upload-box-message{font-size:12px;line-height:16px;color:var(--color-neutral-600)}.upload-box-message{padding:0 var(--dss-spacing-sm)}.upload-box-files .file-list{display:grid;gap:var(--dss-spacing-xs)}.upload-box--has-files .upload-box-files .file-list{width:100%}.upload-box-files .file{display:flex;min-height:40px;box-sizing:border-box;gap:var(--dss-spacing-sm);justify-content:space-between;align-items:center;border-radius:var(--dss-radius-sm);border:var(--dss-border-width-sm) solid var(--color-neutral-100);padding:0 var(--dss-spacing-sm);padding-top:0;padding-bottom:0;padding-left:var(--dss-spacing-xs);padding-right:var(--dss-spacing-sm);width:100%;max-width:100%;overflow:hidden}.upload-box-files .file-actions{display:flex;gap:var(--dss-spacing-xs)}.upload-box-files .file-description{flex:1;min-width:0;padding-top:var(--dss-spacing-xs);padding-bottom:var(--dss-spacing-xs)}.upload-box-files .file-description__name{height:24px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:24px;color:var(--color-neutral-900)}.file-description__error{font-size:12px;line-height:16px;color:var(--color-red-500)}.upload-box-button{text-wrap:nowrap}.upload-box--md{display:flex;justify-content:space-between;padding:var(--dss-spacing-xs) var(--dss-spacing-sm);min-height:56px}.upload-box--md .upload-box-cta{display:flex;justify-content:flex-start;align-items:center;height:100%}.upload-box--md .upload-box-cta__message{font-size:14px}.upload-box--md .upload-box-button{margin-top:var(--dss-spacing-xxs)}.upload-box--error{border-color:var(--color-red-500)}.upload-box--error .upload-box-cta__message .action,.upload-box--error .upload-box-cta__requirements,.upload-box-message--error{color:var(--color-red-500)}.upload-box--md .upload-box-files{padding:var(--dss-spacing-xxs) 0}.upload-box--md .upload-box-files .file-list{display:grid;gap:var(--dss-spacing-xs)}.upload-box--md.upload-box--has-files .upload-box-files .file-list{grid-template-columns:1fr}.upload-box--md .upload-box-files .file{display:flex;justify-content:flex-start;align-items:center}.upload-box--disabled{cursor:not-allowed;background-color:var(--color-neutral-50)}.upload-box--disabled .upload-box-cta__requirements,.upload-box--disabled .upload-box-message{color:var(--color-neutral-500)!important}.upload-box--disabled .upload-box-cta__message,.upload-box--disabled .upload-box-cta__message .action{color:var(--color-neutral-400)!important;cursor:not-allowed}.upload-box__file-link{cursor:pointer;font-size:14px;font-weight:400;line-height:24px;text-decoration:underline;text-decoration-style:solid;color:var(--color-primary-500)}.upload-box__file-link:hover{color:var(--color-primary-600)}.upload-box__file-link:active{color:var(--color-primary-400)}.file-description__name .file-description__tooltip{opacity:0;visibility:hidden}.file-description__name[data-truncated=true]:hover .file-description__tooltip{opacity:1;visibility:visible}.dot-flashing{display:inline-block;position:relative;width:4px;height:4px;border-radius:50%;background-color:var(--color-neutral-900);color:var(--color-neutral-900);animation:dot-flashing 1s infinite linear alternate;animation-delay:.5s;margin-left:var(--dss-spacing-xs)}.dot-flashing:before,.dot-flashing:after{content:\"\";display:inline-block;position:absolute;top:0}.dot-flashing:before{left:-6px;width:4px;height:4px;border-radius:50%;background-color:var(--color-neutral-900);color:var(--color-neutral-900);animation:dot-flashing 1s infinite alternate;animation-delay:0s}.dot-flashing:after{left:6px;width:4px;height:4px;border-radius:50%;background-color:var(--color-neutral-900);color:var(--color-neutral-900);animation:dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes dot-flashing{0%{background-color:var(--color-neutral-900)}50%,to{background-color:var(--color-neutral-50)}}';\nexport {\n  o as default\n};\n//# sourceMappingURL=upload-box.style.css.js.map\n","import { classMap as t } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as e, literal as d, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as o } from \"../../api/custom-element-scope.js\";\nimport { checkTextTruncate as u } from \"../../utils/helpers.js\";\nconst r = d`dss-decorative-icon${e(o())}`, i = d`dss-icon-button${e(o())}`, $ = d`dss-tooltip${e(o())}`, h = (a) => {\n  const c = {\n    dragover: a._dragOver,\n    \"upload-box--disabled\": a._disabled,\n    \"upload-box--error\": a._hasMaxUploadFilesError\n    // 'upload-box--error': component._fileFormatError,\n    // 'upload-box--has-files': component._files.length >= 2,\n  }, p = {\n    dragover: a._dragOver,\n    \"upload-box-help--disabled\": a._disabled,\n    \"upload-box-help--error\": a._hasMaxUploadFilesError\n    // 'upload-box--error': component._fileFormatError,\n    // 'upload-box--has-files': component._files.length >= 2,\n  };\n  return s`\n      <div class=\"upload-box-wrapper\">\n        <div\n          class=\"upload-box ${t(c)}\"\n          @dragover=\"${a._onDragOver}\"\n          @dragleave=\"${a._onDragLeave}\"\n          @drop=\"${a._onDrop}\"\n        >\n          <${r} icon=${a.dragAndDropIcon} size=\"lg\" state=\"${a._hasMaxUploadFilesError ? \"error\" : \"default\"}\" disabled=${a._disabled}></${r}>\n          <div class=\"upload-box-cta\">\n            <div class=\"upload-box-cta__message\">\n              <span class=\"action\" @click=${a._onClick}>\n                ${a.fileExplorerMessage}\n              </span>\n              ${a.dragAndDropMessage}\n            </div>\n            <div class=\"upload-box-cta__requirements\">\n              ${a.filesFormatMessage}\n            </div>\n          </div>\n          <slot name=\"input\"></slot>\n        </div>\n\n        ${a.helpText || a._hasMaxUploadFilesError ? s`\n            <div class=\"upload-box-help ${t(p)}\">\n              ${a._hasMaxUploadFilesError ? s`${a.maxUploadFilesMessage}` : s`${a.helpText}`}\n            </div>\n          ` : null}\n        \n      </div>\n\n      <div class=\"upload-box-files\">\n        <ul class=\"file-list\">\n          ${a._files.map(\n    (l, _) => s`\n              <li class=\"file\">\n                ${a._fileErrors[l.name] ? s`\n                      <${r} icon=\"error_outline\" size=\"sm\" state=\"error\"></${r}>\n                    ` : l.status === \"loading\" ? s`\n                      <${r} icon=\"downloading\" size=\"sm\" state=\"info\"></${r}>\n                    ` : s`\n                      <${r} icon=\"check\" size=\"sm\" state=\"success\"></${r}>\n                    `}\n                <div class=\"file-description\">\n                  <p class=\"file-description__name\" @mouseenter=${u}>\n\n                    ${a._fileErrors[l.name] ? s`\n                        ${l.name}\n                      ` : l.status === \"loading\" ? s`${l.name} <span class=\"dot-flashing\"></span>` : a.disableOpenFile ? s`\n                            ${l.name}\n                          ` : s`\n                            <span class=\"upload-box__file-link\" @click=\"${() => a._dispatchOpenFile(l)}\">\n                              ${l.name}\n                            </span>\n                          `}\n\n                    <${$} class=\"file-description__tooltip\" aria-hidden=\"true\">\n                      ${l.name}\n                    </${$}>\n\n                   \n                  </p>\n                  ${a._fileErrors[l.name] ? s`\n                        <p class=\"file-description__error\">\n                          ${a._fileErrors[l.name]}\n                        </p>\n                      ` : \"\"}\n                </div>\n                <div class=\"file-actions\">\n                  ${l.status === \"loading\" ? s`\n                        <${i}\n                        size=\"sm\"\n                        icon=\"block\"\n                        variant=\"danger\"\n                        label=\"Cancel·lar\"\n                        hideTooltip\n                        ></${i}>\n                      ` : s`\n                        ${l.status === \"error\" ? s`\n                              <${i}\n                              size=\"sm\"\n                              label=\"Recarregar\"\n                              icon=\"restart_alt\"\n                              variant=\"primary\"\n                              hideTooltip\n                              @click=\"${() => a._reloadFile(l)}\"\n                              ></${i}>\n                            ` : s``}\n                        <${i}\n                        size=\"sm\"\n                        icon=\"delete\"\n                        label=\"Eliminar\"\n                        variant=\"danger\"\n                        hideTooltip\n                        @click=\"${() => a._removeFile(_)}\"\n                        ></${i}>\n                      `}\n                </div>\n              </li>\n            `\n  )}\n        </ul>\n      </div>\n  `;\n};\nexport {\n  h as template\n};\n//# sourceMappingURL=upload-box.template.js.map\n","import { LitElement as p, unsafeCSS as o } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport u from \"../../foundations/icon/icon.style.css.js\";\nimport _ from \"../../shared/reset.style.css.js\";\nimport f from \"../button/button.style.css.js\";\nimport m from \"../decorative-icon/decorative-icon.style.css.js\";\nimport c from \"./upload-box.style.css.js\";\nimport { booleanType as g } from \"../../utils/property-types.js\";\nimport { template as F } from \"./upload-box.template.js\";\nvar b = Object.defineProperty, a = (n, e, t, i) => {\n  for (var s = void 0, h = n.length - 1, d; h >= 0; h--)\n    (d = n[h]) && (s = d(e, t, s) || s);\n  return s && b(e, t, s), s;\n};\nclass l extends p {\n  constructor() {\n    super(...arguments), this._inputChangeHandler = null, this.fileExplorerMessage = \"Clica \", this.dragAndDropMessage = \"o arrossega arxius aquí\", this.dragAndDropIcon = \"file_upload\", this.filesFormatMessage = \"PDF, JPEG o PNG de menys de 5MB\", this.buttonLabel = \"Buscar arxius\", this.filesFormat = [\"pdf\", \"jpeg\", \"png\"], this.maxFileSize = 5242880, this.disableOpenFile = !1, this.helpText = void 0, this.maxUploadFiles = void 0, this.maxUploadFilesMessage = \"\", this._dragOver = !1, this._files = [], this._disabled = !1, this._hasMaxUploadFilesError = !1, this._fileFormatErrorMessage = \"Format d’arxiu incorrecte\", this._fileSizeErrorMessage = \"Mida d’arxiu incorrecte\", this._fileFormatAndSizeErrorMessage = \"Format i mida d’arxiu incorrecte\", this._fileErrors = {}, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (e) => {\n      for (const t of e)\n        t.type === \"attributes\" && (this._input && this._checkInputAttributes(), this.requestUpdate());\n    }, this.observer = new MutationObserver(this.callback);\n  }\n  static get styles() {\n    return [\n      o(_),\n      o(u),\n      o(f),\n      o(m),\n      o(c)\n    ];\n  }\n  get _input() {\n    var t;\n    const e = ((t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), e == null ? void 0 : e.assignedElements()[0];\n  }\n  disconnectedCallback() {\n    this.observer.disconnect(), this._input && this._inputChangeHandler && this._input.removeEventListener(\"change\", this._inputChangeHandler);\n  }\n  _checkInputAttributes() {\n    var t;\n    const e = (t = this._input) == null ? void 0 : t.getAttribute(\"disabled\");\n    this._disabled = e !== null, this.requestUpdate();\n  }\n  /* METHODS */\n  _onDragOver(e) {\n    e.preventDefault(), !this._dragOver && !this._disabled && (this._dragOver = !0, this.requestUpdate());\n  }\n  _onDragLeave(e) {\n    e.preventDefault(), this._dragOver && !this._disabled && (this._dragOver = !1, this.requestUpdate());\n  }\n  _onDrop(e) {\n    var t;\n    if (e.preventDefault(), !this._disabled) {\n      this._dragOver && (this._dragOver = !1, this.requestUpdate());\n      const i = (t = e.dataTransfer) == null ? void 0 : t.files;\n      if (!i) return;\n      this._handleUploadedFiles(i);\n    }\n  }\n  _onClick() {\n    this._input && !this._disabled && this._input.click();\n  }\n  _onSlotInputChange() {\n    this._input && (this._inputChangeHandler || (this._inputChangeHandler = this._handleInputFileChange.bind(this)), this._input.addEventListener(\"change\", this._inputChangeHandler));\n  }\n  _checkMaxUploadFiles(e) {\n    if (!this.maxUploadFiles)\n      return this._hasMaxUploadFilesError = !1, !0;\n    const t = this._files.length + e;\n    this._hasMaxUploadFilesError = t > this.maxUploadFiles, this.requestUpdate();\n  }\n  _isValidFileFormat(e) {\n    var i;\n    const t = (i = e.name.split(\".\").pop()) == null ? void 0 : i.toLowerCase();\n    return this.filesFormat.includes(t || \"\");\n  }\n  _isValidFileSize(e) {\n    return e.size <= this.maxFileSize;\n  }\n  _validateFile(e) {\n    let t = !0, i = \"\";\n    return !this._isValidFileSize(e) && !this._isValidFileFormat(e) ? (t = !1, i = this._fileFormatAndSizeErrorMessage) : this._isValidFileSize(e) && !this._isValidFileFormat(e) ? (t = !1, i = this._fileFormatErrorMessage) : !this._isValidFileSize(e) && this._isValidFileFormat(e) && (t = !1, i = this._fileSizeErrorMessage), t || (this._fileErrors[e.name] = i), t;\n  }\n  _isAlreadyUploaded(e) {\n    return this._files.some((t) => t.name === e.name);\n  }\n  _handleInputFileChange(e) {\n    const t = e.target;\n    t.files && this._handleUploadedFiles(t.files);\n  }\n  _handleUploadedFiles(e) {\n    if (e && e.length > 0) {\n      if (this._checkMaxUploadFiles(e.length), this._hasMaxUploadFilesError) return;\n      for (const t of Array.from(e))\n        if (!this._isAlreadyUploaded(t)) {\n          const i = this._validateFile(t), s = t;\n          s.status = i ? \"loading\" : \"invalid\", this._files.push(s), this.requestUpdate(), this._readFile(t, i);\n        }\n    }\n  }\n  _readFile(e, t) {\n    const i = new FileReader();\n    i.onload = () => {\n      this._files.find((s) => s.name === e.name).status = t ? \"ready\" : \"invalid\", this.requestUpdate(), this._dispatchUploadFiles();\n    }, i.onerror = () => {\n      this._files.find((s) => s.name === e.name).status = \"error\", i.error && (this._fileErrors[e.name] = i.error.message), this.requestUpdate();\n    }, i.readAsDataURL(e);\n  }\n  _removeFile(e) {\n    this._files.splice(e, 1), this._dispatchUploadFiles(), this._input && (this._input.value = \"\"), this._checkMaxUploadFiles(0), this.requestUpdate();\n  }\n  _reloadFile(e) {\n    this._files.find((t) => t.name === e.name).status = \"loading\", this._fileErrors[e.name] = \"\", this.requestUpdate(), this._readFile(e);\n  }\n  /* PUBLIC METHODS */\n  resetFiles() {\n    this._files = [], this.requestUpdate();\n  }\n  /* EVENTS */\n  _dispatchUploadFiles() {\n    const e = {\n      detail: this._files,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onUploadFiles\", e));\n  }\n  _dispatchOpenFile(e) {\n    const t = {\n      detail: { file: e },\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onOpenFile\", t));\n  }\n  /* LIT LIFECYCLE */\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this.maxUploadFiles && this.maxUploadFilesMessage === \"\" && (this.maxUploadFilesMessage = `S'ha superat el límit d'arxius. S'hi admet un màxim de ${this.maxUploadFiles} arxius`), this._input && (this.observer.observe(this._input, this.observerConfig), this._checkInputAttributes(), this._onSlotInputChange());\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    return F(this);\n  }\n}\na([\n  r({ type: String })\n], l.prototype, \"fileExplorerMessage\");\na([\n  r({ type: String })\n], l.prototype, \"dragAndDropMessage\");\na([\n  r({ type: String })\n], l.prototype, \"dragAndDropIcon\");\na([\n  r({ type: String })\n], l.prototype, \"filesFormatMessage\");\na([\n  r({ type: String })\n], l.prototype, \"buttonLabel\");\na([\n  r({ type: Array })\n], l.prototype, \"filesFormat\");\na([\n  r({ type: Number })\n], l.prototype, \"maxFileSize\");\na([\n  r(g)\n], l.prototype, \"disableOpenFile\");\na([\n  r({ type: String })\n], l.prototype, \"helpText\");\na([\n  r({ type: Number })\n], l.prototype, \"maxUploadFiles\");\na([\n  r({ type: String })\n], l.prototype, \"maxUploadFilesMessage\");\nexport {\n  l as UploadBox\n};\n//# sourceMappingURL=upload-box.js.map\n","const e = \":host{display:block;width:-moz-fit-content;width:fit-content}.dss-user-feedback{display:flex;align-items:center;flex-direction:column;gap:var(--dss-spacing-md);min-width:220px;width:-moz-fit-content;width:fit-content;max-width:100%;text-align:center}.dss-user-feedback--horizontal{flex-direction:row;text-align:left}.dss-user-feedback--horizontal.dss-user-feedback--lg{gap:var(--dss-spacing-xl)}.dss-user-feedback--horizontal.dss-user-feedback--md{gap:var(--dss-spacing-lg)}.dss-user-feedback__image{width:100%;max-width:220px;margin:auto;text-align:center}.dss-user-feedback--md .dss-user-feedback__image{max-width:143px}.dss-user-feedback--sm .dss-user-feedback__image{max-width:107px}.dss-user-feedback__body{display:flex;flex-direction:column;gap:var(--dss-spacing-xxs);max-width:220px}.dss-user-feedback__title{color:var(--color-neutral-900);font-weight:var(--font-bold);font-size:20px;line-height:var(--line-30)}.dss-user-feedback--sm .dss-user-feedback__title{font-weight:var(--font-semibold);font-size:16px;line-height:var(--line-24)}.dss-user-feedback__description{font-size:14px;line-height:var(--line-24)}.dss-user-feedback--sm .dss-user-feedback__description{font-size:12px;line-height:var(--line-16)}.dss-user-feedback__button-group{display:flex;align-items:center;justify-content:center;gap:var(--dss-spacing-xs)}.dss-user-feedback__details-action{text-align:center}.dss-user-feedback__details-button{all:unset;display:inline-flex;align-items:center;gap:var(--dss-spacing-xxs);font-size:14px;line-height:24px;font-weight:var(--font-semibold);color:var(--color-primary-500);text-decoration:none;border-radius:var(--dss-radius-xs);transition:.2s all ease-in;vertical-align:middle;cursor:pointer}.dss-user-feedback__details-button:hover{color:var(--color-primary-600)}.dss-user-feedback__details-button:active{color:var(--color-primary-400)}.dss-user-feedback__details-button:focus-visible{outline:var(--dss-border-width-md) solid var(--color-blue-200)}.dss-user-feedback__details-button:disabled{cursor:not-allowed;color:var(--color-neutral-500)!important}.dss-user-feedback__details-button-text{text-decoration:underline}.dss-user-feedback__details-content ::slotted(div){font-size:14px;line-height:var(--line-24)}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=user-feedback.style.css.js.map\n","const C = \"data:image/svg+xml,%3csvg%20width='215'%20height='150'%20viewBox='0%200%20215%20150'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20opacity='0.9'%20d='M80.7613%2068.3647C118.407%2077.8313%20131.747%20152.777%20187.322%20111.883C226.755%2082.8673%20202.597%2012.1103%20153.12%2020.3255C123.175%2025.3161%20127.796%2025.8257%20102.44%2012.3576C76.7232%20-1.26699%2048.4073%20-8.13478%2020.9361%2016.0463C6.7237%2028.5607%201.14881%2059.0596%2014.9416%2074.8439C32.2331%2094.5895%2057.7533%2062.5717%2080.7613%2068.3647Z'%20fill='%23EFF7FF'/%3e%3cellipse%20cx='105.5'%20cy='146.5'%20rx='73.5'%20ry='3.5'%20fill='%23F5F5F5'/%3e%3cpath%20d='M82.9552%2053.3895L70.3628%20118.13L68.7144%20126.605L152.779%20126.19C156.551%20126.172%20159.895%20122.822%20161.108%20117.845L176.015%2056.7234C176.936%2052.9454%20174.914%2049.0158%20172.051%2049.0186L86.9678%2049.1084C85.0893%2049.1102%2083.4466%2050.8629%2082.9552%2053.3895Z'%20fill='%23656565'/%3e%3cpath%20d='M144.766%20113.845L135.866%2042.1219C135.501%2039.1833%20133.16%2036.9911%20130.396%2037L110.879%2037.0641C109.434%2037.0688%20108.05%2037.6827%20107.023%2038.7735L97.7558%2048.6252L43.4754%2048.9083C40.1583%2048.9254%2037.61%2052.0642%2038.0494%2055.5907L46.3133%20121.881C46.6794%20124.816%2049.0158%20127.005%2051.776%20127L146.375%20126.813C155%20126.5%20155.5%20125.5%20155.5%20125.5C146%20125.5%20144.767%20113.853%20144.766%20113.845Z'%20fill='%237BACFC'/%3e%3cpath%20d='M85.5221%2079.7012C84.16%2079.1223%2083.5811%2077.4367%2084.3983%2076.2108C86.0499%2073.759%2088.8082%2071.9712%2092.4519%2071.9712C96.4531%2071.9712%2099.1944%2073.793%20100.591%2076.0746C101.782%2078.0326%20102.48%2081.6933%20100.642%2084.4176C98.5984%2087.4313%2096.6404%2088.3507%2095.5847%2090.2917C95.3293%2090.7514%2095.1761%2091.126%2095.0739%2091.8922C94.9207%2093.1351%2093.8991%2094.1056%2092.6392%2094.1056C91.1579%2094.1056%2089.949%2092.8286%2090.1192%2091.3473C90.2214%2090.479%2090.4257%2089.5766%2090.9025%2088.7253C92.2135%2086.3586%2094.7334%2084.9624%2096.1977%2082.8681C97.7471%2080.6717%2096.8788%2076.5683%2092.4859%2076.5683C90.4938%2076.5683%2089.1998%2077.607%2088.3996%2078.8499C87.8036%2079.8204%2086.5607%2080.1269%2085.5221%2079.7012ZM95.8742%20100.916C95.8742%20102.789%2094.3418%20104.322%2092.4689%20104.322C90.596%20104.322%2089.0636%20102.789%2089.0636%20100.916C89.0636%2099.0433%2090.596%2097.5109%2092.4689%2097.5109C94.3418%2097.5109%2095.8742%2099.0433%2095.8742%20100.916Z'%20fill='%23BFDDFA'/%3e%3c/svg%3e\";\nexport {\n  C as default\n};\n//# sourceMappingURL=feedback-empty.svg.js.map\n","const C = \"data:image/svg+xml,%3csvg%20width='215'%20height='150'%20viewBox='0%200%20215%20150'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M132.567%20147.925C107.663%20137.604%2098.7018%20141.859%2073.5817%20144.094C53.0605%20145.899%2028.8192%20138.451%2013.3757%20118.871C-27.3088%2067.293%2034.5441%2014.0839%2069.5091%202.68275C94.145%20-5.32822%20109.688%205.00477%20126.605%2028.3004C133.183%2037.3621%20138.613%2048.3337%20146.353%2055.9441C154.667%2064.106%20164.606%2063.9667%20172.441%2070.7586C210.442%20103.691%20165.801%20161.689%20132.567%20147.925Z'%20fill='%23EFF7FF'/%3e%3cpath%20d='M100.714%20124.222C100.714%20124.335%20100.714%20124.448%20100.714%20124.561C100.703%20125.212%20100.443%20125.832%2099.9909%20126.288C99.5388%20126.745%2098.9306%20127%2098.297%20127L37.3382%20126.232C36.7472%20126.217%2036.1824%20125.979%2035.7523%20125.562C35.3223%20125.145%2035.0575%20124.579%2035.0089%20123.974C34.997%20123.869%2034.997%20123.763%2035.0089%20123.658C35.0218%20123.158%2035.1821%20122.675%2035.4687%20122.272C35.7552%20121.868%2036.1543%20121.564%2036.6131%20121.399C36.8615%20121.318%2037.1214%20121.28%2037.3822%20121.286L98.341%20122.032C98.7724%20122.017%2099.1984%20122.134%2099.5657%20122.367C99.9331%20122.6%20100.226%20122.939%20100.407%20123.341C100.568%20123.61%20100.673%20123.91%20100.714%20124.222Z'%20fill='%23656565'/%3e%3cpath%20opacity='0.5'%20d='M95.9608%20127L204.061%20126.226C204.373%20126.226%20204.683%20126.162%20204.972%20126.037C205.261%20125.912%20205.523%20125.728%20205.743%20125.498C205.963%20125.267%20206.137%20124.993%20206.254%20124.692C206.372%20124.391%20206.431%20124.069%20206.428%20123.744C206.417%20123.092%20206.161%20122.47%20205.715%20122.011C205.268%20121.552%20204.667%20121.291%20204.039%20121.286L95.9389%20122.06C95.3108%20122.072%2094.7119%20122.338%2094.2697%20122.801C93.8275%20123.264%2093.5769%20123.889%2093.5713%20124.541C93.5827%20125.194%2093.8388%20125.815%2094.2851%20126.275C94.7314%20126.734%2095.3326%20126.994%2095.9608%20127Z'%20fill='%2300356A'/%3e%3cpath%20d='M212.109%2054.5398L207.23%20114.387C207.064%20116.104%20206.378%20117.729%20205.262%20119.044C204.147%20120.36%20202.656%20121.303%20200.989%20121.747C200.446%20121.91%20199.885%20122.006%20199.318%20122.033H199.033L99.2345%20122.714H99.0147C98.0548%20122.719%2097.1045%20122.522%2096.2259%20122.136C95.3472%20121.749%2094.5598%20121.182%2093.915%20120.471C93.2702%20119.76%2092.7825%20118.921%2092.4835%20118.009C92.1845%20117.098%2092.0811%20116.133%2092.1798%20115.178L97.0588%2055.3307C97.2569%2053.278%2098.2004%2051.3689%2099.7108%2049.9642C101.221%2048.5595%20103.194%2047.7565%20105.256%2047.707H106.773L205.055%2047.0039C206.032%2046.9708%20207.005%2047.1471%20207.908%2047.5208C208.812%2047.8946%20209.625%2048.4572%20210.293%2049.1709C210.961%2049.8846%20211.469%2050.7329%20211.782%2051.6589C212.095%2052.5849%20212.207%2053.5672%20212.109%2054.5398Z'%20fill='%237BACFC'/%3e%3cpath%20opacity='0.2'%20d='M208.156%2047.0002L109.387%2047.6899C108.732%2047.6984%20108.081%2047.7926%20107.451%2047.97C105.803%2048.4018%20104.328%2049.3229%20103.224%2050.6096C102.12%2051.8962%20101.439%2053.4868%20101.274%2055.1677L96.4673%20113.891C96.3645%20114.839%2096.4677%20115.798%2096.7699%20116.703C97.0721%20117.609%2097.5665%20118.439%2098.2196%20119.139C98.8728%20119.84%2099.6696%20120.393%20100.557%20120.763C101.444%20121.133%20102.4%20121.31%20103.362%20121.283L200.609%20120.593H202.11C204.152%20120.549%20206.107%20119.763%20207.603%20118.385C209.099%20117.006%20210.031%20115.131%20210.223%20113.116L214.964%2054.4134C215.062%2053.4725%20214.959%2052.5216%20214.66%2051.6231C214.362%2050.7245%20213.876%2049.8983%20213.233%2049.1986C212.591%2048.499%20211.806%2047.9415%20210.932%2047.5627C210.057%2047.1839%20209.111%2046.9922%20208.156%2047.0002Z'%20fill='white'/%3e%3ccircle%20cx='33'%20cy='31'%20r='20'%20fill='%23B60000'/%3e%3cpath%20d='M41.4%2022.6133C40.88%2022.0933%2040.04%2022.0933%2039.52%2022.6133L33%2029.12L26.48%2022.6C25.96%2022.08%2025.12%2022.08%2024.6%2022.6C24.08%2023.12%2024.08%2023.96%2024.6%2024.48L31.12%2031L24.6%2037.52C24.08%2038.04%2024.08%2038.88%2024.6%2039.4C25.12%2039.92%2025.96%2039.92%2026.48%2039.4L33%2032.88L39.52%2039.4C40.04%2039.92%2040.88%2039.92%2041.4%2039.4C41.92%2038.88%2041.92%2038.04%2041.4%2037.52L34.88%2031L41.4%2024.48C41.9066%2023.9733%2041.9066%2023.12%2041.4%2022.6133Z'%20fill='white'/%3e%3c/svg%3e\";\nexport {\n  C as default\n};\n//# sourceMappingURL=feedback-error.svg.js.map\n","const C = \"data:image/svg+xml,%3csvg%20width='215'%20height='150'%20viewBox='0%200%20215%20150'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20opacity='0.9'%20d='M135.132%2057.43C96.9221%2047.658%2083.3815%20-29.7048%2026.9734%2012.5083C-13.0511%2042.4595%2011.4691%20115.499%2061.6878%20107.019C92.0822%20101.867%2087.3917%20101.341%20113.129%20115.244C139.231%20129.308%20167.972%20136.397%20195.855%20111.436C210.28%2098.5179%20215.939%2067.0352%20201.939%2050.7417C184.388%2030.3592%20158.485%2063.4098%20135.132%2057.43Z'%20fill='%23EFF7FF'/%3e%3cellipse%20cx='120.5'%20cy='143.5'%20rx='52.5'%20ry='3.5'%20fill='%23F5F5F5'/%3e%3cpath%20d='M121.387%2080.2184C121.995%2079.5948%20122.563%2078.953%20123.09%2078.2959L134.396%2089.3383C135.09%2090.0177%20134.851%2091.389%20133.861%2092.4024C132.872%2093.4159%20131.505%2093.6888%20130.811%2093.0094L119.505%2081.967C120.148%2081.424%20120.777%2080.8407%20121.385%2080.2171L121.387%2080.2184Z'%20fill='%231D1D1D'/%3e%3cpath%20opacity='0.6'%20d='M121.127%2079.9896C132.157%2068.6986%20131.888%2050.5485%20120.527%2039.4502C109.166%2028.3519%2091.0149%2028.5081%2079.9849%2039.799C68.955%2051.09%2069.2233%2069.2401%2080.5843%2080.3385C91.9453%2091.4368%20110.097%2091.2806%20121.127%2079.9896Z'%20fill='%238FC2F5'/%3e%3cpath%20d='M78.0382%2083.0622C90.8729%2095.6382%20111.378%2095.4578%20123.835%2082.6609C136.293%2069.8625%20135.986%2049.2932%20123.15%2036.7173C110.316%2024.1413%2089.8107%2024.3217%2077.3538%2037.1186C64.8956%2049.9169%2065.2022%2070.4862%2078.0382%2083.0622ZM80.642%2080.387C69.289%2069.264%2069.0172%2051.0692%2080.037%2039.749C91.0569%2028.4288%20109.194%2028.2694%20120.547%2039.3938C131.9%2050.5182%20132.171%2068.713%20121.152%2080.0332C110.132%2091.3534%2091.9949%2091.5128%2080.642%2080.3884V80.387Z'%20fill='%237BACFC'/%3e%3cpath%20d='M169.953%20128.522L171.714%20126.696C173.474%20124.871%20173.421%20121.964%20171.595%20120.205L135.013%2084.9265C133.187%2083.1661%20130.281%2083.2205%20128.522%2085.0451L126.761%2086.8711C125.001%2088.6957%20125.055%2091.6028%20126.88%2093.3619L163.462%20128.64C165.287%20130.401%20168.194%20130.346%20169.953%20128.522Z'%20fill='%23656565'/%3e%3cpath%20opacity='0.35'%20d='M88.8399%2071.2315C96.506%2079.2245%20101.258%2078.1642%20100.757%2082.4547C100.256%2086.7452%2091.398%2085.7448%2082.7698%2076.0396C74.1415%2066.3344%2075.0893%2054.9166%2079.8491%2055.2485C84.6089%2055.5803%2080.129%2062.1492%2088.8399%2071.2315Z'%20fill='white'/%3e%3c/svg%3e\";\nexport {\n  C as default\n};\n//# sourceMappingURL=feedback-not_found.svg.js.map\n","const C = \"data:image/svg+xml,%3csvg%20width='215'%20height='150'%20viewBox='0%200%20215%20150'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M132.567%20147.925C107.663%20137.604%2098.7018%20141.859%2073.5817%20144.094C53.0605%20145.899%2028.8192%20138.451%2013.3757%20118.871C-27.3088%2067.293%2034.5441%2014.0839%2069.5091%202.68275C94.145%20-5.32822%20109.688%205.00477%20126.605%2028.3004C133.183%2037.3621%20138.613%2048.3337%20146.353%2055.9441C154.667%2064.106%20164.606%2063.9667%20172.441%2070.7586C210.442%20103.691%20165.801%20161.689%20132.567%20147.925Z'%20fill='%23EFF7FF'/%3e%3cpath%20d='M100.714%20124.222C100.714%20124.335%20100.714%20124.448%20100.714%20124.561C100.703%20125.212%20100.443%20125.832%2099.9909%20126.288C99.5388%20126.745%2098.9306%20127%2098.297%20127L37.3382%20126.232C36.7472%20126.217%2036.1824%20125.979%2035.7523%20125.562C35.3223%20125.145%2035.0575%20124.579%2035.0089%20123.974C34.997%20123.869%2034.997%20123.763%2035.0089%20123.658C35.0218%20123.158%2035.1821%20122.675%2035.4687%20122.272C35.7552%20121.868%2036.1543%20121.564%2036.6131%20121.399C36.8615%20121.318%2037.1214%20121.28%2037.3822%20121.286L98.341%20122.032C98.7724%20122.017%2099.1984%20122.134%2099.5657%20122.367C99.9331%20122.6%20100.226%20122.939%20100.407%20123.341C100.568%20123.61%20100.673%20123.91%20100.714%20124.222Z'%20fill='%23656565'/%3e%3cpath%20opacity='0.5'%20d='M95.9606%20127L204.06%20126.226C204.373%20126.226%20204.683%20126.162%20204.972%20126.037C205.26%20125.912%20205.522%20125.728%20205.742%20125.498C205.963%20125.267%20206.137%20124.993%20206.254%20124.692C206.372%20124.391%20206.431%20124.069%20206.428%20123.744C206.417%20123.092%20206.161%20122.47%20205.714%20122.011C205.268%20121.552%20204.667%20121.291%20204.039%20121.286L95.9387%20122.06C95.3105%20122.072%2094.7116%20122.338%2094.2694%20122.801C93.8272%20123.264%2093.5767%20123.889%2093.571%20124.541C93.5824%20125.194%2093.8385%20125.815%2094.2848%20126.275C94.7311%20126.734%2095.3324%20126.994%2095.9606%20127Z'%20fill='%231D1D1D'/%3e%3cpath%20d='M212.109%2054.5398L207.23%20114.387C207.064%20116.104%20206.378%20117.729%20205.262%20119.044C204.146%20120.36%20202.655%20121.303%20200.988%20121.747C200.445%20121.91%20199.885%20122.006%20199.318%20122.033H199.033L99.2343%20122.714H99.0145C98.0546%20122.719%2097.1043%20122.522%2096.2256%20122.136C95.347%20121.749%2094.5596%20121.182%2093.9148%20120.471C93.27%20119.76%2092.7822%20118.921%2092.4833%20118.009C92.1843%20117.098%2092.0808%20116.133%2092.1796%20115.178L97.0585%2055.3307C97.2567%2053.278%2098.2001%2051.3689%2099.7105%2049.9642C101.221%2048.5595%20103.194%2047.7565%20105.256%2047.707H106.772L205.054%2047.0039C206.032%2046.9708%20207.005%2047.1471%20207.908%2047.5208C208.812%2047.8946%20209.625%2048.4572%20210.293%2049.1709C210.961%2049.8846%20211.469%2050.7329%20211.782%2051.6589C212.095%2052.5849%20212.207%2053.5672%20212.109%2054.5398Z'%20fill='%237BACFC'/%3e%3cpath%20opacity='0.2'%20d='M208.157%2047.0002L109.387%2047.6899C108.732%2047.6984%20108.082%2047.7926%20107.452%2047.97C105.804%2048.4018%20104.329%2049.3229%20103.224%2050.6096C102.12%2051.8962%20101.44%2053.4868%20101.274%2055.1677L96.4676%20113.891C96.3647%20114.839%2096.4679%20115.798%2096.7701%20116.703C97.0724%20117.609%2097.5667%20118.439%2098.2199%20119.139C98.873%20119.84%2099.6699%20120.393%20100.557%20120.763C101.444%20121.133%20102.401%20121.31%20103.362%20121.283L200.609%20120.593H202.11C204.152%20120.549%20206.107%20119.763%20207.603%20118.385C209.099%20117.006%20210.031%20115.131%20210.223%20113.116L214.965%2054.4134C215.063%2053.4725%20214.959%2052.5216%20214.661%2051.6231C214.362%2050.7245%20213.876%2049.8983%20213.234%2049.1986C212.591%2048.499%20211.807%2047.9415%20210.932%2047.5627C210.057%2047.1839%20209.111%2046.9922%20208.157%2047.0002Z'%20fill='white'/%3e%3ccircle%20cx='33'%20cy='31'%20r='20'%20fill='%2300893D'/%3e%3cpath%20d='M28.7267%2036.1667L24.1001%2031.54C23.5801%2031.02%2022.7401%2031.02%2022.2201%2031.54C21.7001%2032.06%2021.7001%2032.9%2022.2201%2033.42L27.7934%2038.9934C28.3134%2039.5134%2029.1534%2039.5134%2029.6734%2038.9934L43.7801%2024.8867C44.3001%2024.3667%2044.3001%2023.5267%2043.7801%2023.0067C43.2601%2022.4867%2042.4201%2022.4867%2041.9001%2023.0067L28.7267%2036.1667Z'%20fill='white'/%3e%3c/svg%3e\";\nexport {\n  C as default\n};\n//# sourceMappingURL=feedback-success.svg.js.map\n","const C = \"data:image/svg+xml,%3csvg%20width='215'%20height='150'%20viewBox='0%200%20215%20150'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M132.567%20147.925C107.663%20137.604%2098.7018%20141.859%2073.5817%20144.094C53.0605%20145.899%2028.8192%20138.451%2013.3757%20118.871C-27.3088%2067.293%2034.5441%2014.0839%2069.5091%202.68275C94.145%20-5.32822%20109.688%205.00477%20126.605%2028.3004C133.183%2037.3621%20138.613%2048.3337%20146.353%2055.9441C154.667%2064.106%20164.606%2063.9667%20172.441%2070.7586C210.442%20103.691%20165.801%20161.689%20132.567%20147.925Z'%20fill='%23EFF7FF'/%3e%3cpath%20d='M100.714%20124.222C100.714%20124.335%20100.714%20124.448%20100.714%20124.561C100.703%20125.212%20100.443%20125.832%2099.9909%20126.288C99.5388%20126.745%2098.9306%20127%2098.297%20127L37.3382%20126.232C36.7472%20126.217%2036.1824%20125.979%2035.7523%20125.562C35.3223%20125.145%2035.0575%20124.579%2035.0089%20123.974C34.997%20123.869%2034.997%20123.763%2035.0089%20123.658C35.0218%20123.158%2035.1821%20122.675%2035.4687%20122.272C35.7552%20121.868%2036.1543%20121.564%2036.6131%20121.399C36.8615%20121.318%2037.1214%20121.28%2037.3822%20121.286L98.341%20122.032C98.7724%20122.017%2099.1984%20122.134%2099.5657%20122.367C99.9331%20122.6%20100.226%20122.939%20100.407%20123.342C100.568%20123.61%20100.673%20123.91%20100.714%20124.222Z'%20fill='%23656565'/%3e%3cpath%20opacity='0.5'%20d='M95.9606%20127L204.061%20126.226C204.373%20126.226%20204.683%20126.161%20204.972%20126.036C205.26%20125.911%20205.522%20125.728%20205.742%20125.498C205.963%20125.267%20206.137%20124.993%20206.254%20124.692C206.372%20124.391%20206.431%20124.069%20206.428%20123.744C206.417%20123.092%20206.161%20122.47%20205.714%20122.011C205.268%20121.552%20204.667%20121.291%20204.039%20121.286L95.9387%20122.06C95.3106%20122.071%2094.7117%20122.337%2094.2695%20122.801C93.8273%20123.264%2093.5767%20123.889%2093.5711%20124.541C93.5825%20125.193%2093.8386%20125.815%2094.2849%20126.275C94.7312%20126.734%2095.3324%20126.994%2095.9606%20127Z'%20fill='%231D1D1D'/%3e%3cpath%20d='M212.109%2054.5398L207.23%20114.387C207.064%20116.104%20206.378%20117.729%20205.262%20119.044C204.146%20120.36%20202.655%20121.303%20200.989%20121.747C200.445%20121.91%20199.885%20122.006%20199.318%20122.033H199.033L99.2343%20122.714H99.0145C98.0546%20122.719%2097.1043%20122.522%2096.2256%20122.136C95.347%20121.749%2094.5596%20121.182%2093.9148%20120.471C93.27%20119.76%2092.7822%20118.921%2092.4833%20118.009C92.1843%20117.098%2092.0808%20116.133%2092.1796%20115.178L97.0585%2055.3307C97.2567%2053.278%2098.2002%2051.3689%2099.7106%2049.9642C101.221%2048.5595%20103.194%2047.7565%20105.256%2047.707H106.772L205.054%2047.0039C206.032%2046.9708%20207.005%2047.1471%20207.908%2047.5208C208.812%2047.8946%20209.625%2048.4572%20210.293%2049.1709C210.961%2049.8846%20211.469%2050.7329%20211.782%2051.6589C212.095%2052.5849%20212.207%2053.5672%20212.109%2054.5398Z'%20fill='%236AAAE4'/%3e%3cpath%20opacity='0.2'%20d='M208.157%2047.0002L109.387%2047.6899C108.732%2047.6984%20108.082%2047.7926%20107.452%2047.97C105.804%2048.4018%20104.328%2049.3229%20103.224%2050.6096C102.12%2051.8962%20101.44%2053.4868%20101.274%2055.1677L96.4675%20113.891C96.3647%20114.839%2096.4678%20115.798%2096.7701%20116.703C97.0723%20117.609%2097.5666%20118.439%2098.2198%20119.139C98.8729%20119.84%2099.6698%20120.393%20100.557%20120.763C101.444%20121.133%20102.4%20121.31%20103.362%20121.283L200.609%20120.593H202.11C204.152%20120.549%20206.107%20119.763%20207.603%20118.385C209.099%20117.006%20210.031%20115.131%20210.223%20113.116L214.964%2054.4134C215.062%2053.4725%20214.959%2052.5216%20214.661%2051.6231C214.362%2050.7245%20213.876%2049.8983%20213.233%2049.1986C212.591%2048.499%20211.807%2047.9415%20210.932%2047.5627C210.057%2047.1839%20209.111%2046.9922%20208.157%2047.0002Z'%20fill='white'/%3e%3ccircle%20cx='33'%20cy='31'%20r='20'%20fill='%23FFDD2C'/%3e%3cpath%20d='M33%2040C34.1046%2040%2035%2039.1046%2035%2038C35%2036.8954%2034.1046%2036%2033%2036C31.8954%2036%2031%2036.8954%2031%2038C31%2039.1046%2031.8954%2040%2033%2040Z'%20fill='%23483D09'/%3e%3cpath%20d='M33%2022C31.9%2022%2031%2022.9%2031%2024V32C31%2033.1%2031.9%2034%2033%2034C34.1%2034%2035%2033.1%2035%2032V24C35%2022.9%2034.1%2022%2033%2022Z'%20fill='%23483D09'/%3e%3c/svg%3e\";\nexport {\n  C as default\n};\n//# sourceMappingURL=feedback-warning.svg.js.map\n","const l = \"data:image/svg+xml,%3csvg%20width='215'%20height='150'%20viewBox='0%200%20215%20150'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_179_8531)'%3e%3cpath%20d='M62.5834%20129.188C91.2167%20120.174%20101.519%20123.89%20130.401%20125.842C153.995%20127.419%20181.866%20120.914%20199.621%20103.814C246.398%2058.7692%20175.283%2012.2999%20135.083%202.34293C106.758%20-4.65332%2088.8876%204.37083%2069.4377%2024.7157C61.8756%2032.6296%2055.6323%2042.2114%2046.7332%2048.8578C37.1746%2055.9859%2025.7467%2055.8642%2016.7387%2061.7958C-26.9523%2090.5565%2024.3735%20141.208%2062.5834%20129.188Z'%20fill='%23EFF7FF'/%3e%3cpath%20d='M12.4431%20146.19C12.4431%20145.137%2013.2962%20144.284%2014.3485%20144.284H48.6456C49.698%20144.284%2050.551%20145.137%2050.551%20146.19V148.095C50.551%20149.147%2049.698%20150%2048.6456%20150H14.3485C13.2962%20150%2012.4431%20149.147%2012.4431%20148.095V146.19Z'%20fill='%237BACFC'/%3e%3cpath%20d='M28.1417%20114.933C29.3379%20111.542%2034.1328%20111.542%2035.329%20114.933L45.8259%20144.683C46.7006%20147.163%2044.8613%20149.762%2042.2322%20149.762H21.2385C18.6094%20149.762%2016.7701%20147.163%2017.6449%20144.683L28.1417%20114.933Z'%20fill='%23BFDDFA'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M35.329%20114.933C34.1328%20111.542%2029.3379%20111.542%2028.1417%20114.933L27.7017%20116.179H35.769L35.329%20114.933ZM37.6177%20121.419H25.853L24.3404%20125.706H39.1304L37.6177%20121.419ZM20.811%20135.71L22.4916%20130.946H40.9791L42.6598%20135.71H20.811ZM44.5085%20140.95H18.9622L17.6449%20144.683C16.7701%20147.163%2018.6094%20149.762%2021.2385%20149.762H42.2322C44.8613%20149.762%2046.7006%20147.163%2045.8259%20144.683L44.5085%20140.95Z'%20fill='%237BACFC'/%3e%3cellipse%20cx='58.0476'%20cy='137.896'%20rx='9.25633'%20ry='1.66139'%20fill='%23F5F5F5'/%3e%3cellipse%20cx='192.383'%20cy='137.896'%20rx='9.25633'%20ry='1.66139'%20fill='%23F5F5F5'/%3e%3cpath%20d='M56.0781%2023.7677C56.0781%2022.7154%2056.9312%2021.8623%2057.9835%2021.8623H58.9362C59.9885%2021.8623%2060.8416%2022.7154%2060.8416%2023.7677V136.186C60.8416%20137.238%2059.9885%20138.091%2058.9362%20138.091H57.9835C56.9312%20138.091%2056.0781%20137.238%2056.0781%20136.186V23.7677Z'%20fill='%23656565'/%3e%3cpath%20d='M190.408%2023.7677C190.408%2022.7154%20191.262%2021.8623%20192.314%2021.8623H193.267C194.319%2021.8623%20195.172%2022.7154%20195.172%2023.7677V136.186C195.172%20137.238%20194.319%20138.091%20193.267%20138.091H192.314C191.262%20138.091%20190.408%20137.238%20190.408%20136.186V23.7677Z'%20fill='%23656565'/%3e%3cpath%20d='M46.0747%2040.8108C46.0747%2038.7062%2047.7809%2037%2049.8855%2037H202.317C204.422%2037%20206.128%2038.7062%20206.128%2040.8108V57.483C206.128%2059.5877%20204.422%2061.2938%20202.317%2061.2938H49.8855C47.7809%2061.2938%2046.0747%2059.5877%2046.0747%2057.483V40.8108Z'%20fill='%237BACFC'/%3e%3cpath%20d='M46.0747%2075.8108C46.0747%2073.7062%2047.7809%2072%2049.8855%2072H202.317C204.422%2072%20206.128%2073.7062%20206.128%2075.8108V92.483C206.128%2094.5877%20204.422%2096.2938%20202.317%2096.2938H49.8855C47.7809%2096.2938%2046.0747%2094.5877%2046.0747%2092.483V75.8108Z'%20fill='%237BACFC'/%3e%3cpath%20d='M64.6522%2020.4333C64.6522%2023.8533%2061.8797%2026.6258%2058.4596%2026.6258C55.0396%2026.6258%2052.2671%2023.8533%2052.2671%2020.4333C52.2671%2017.0132%2055.0396%2014.2407%2058.4596%2014.2407C61.8797%2014.2407%2064.6522%2017.0132%2064.6522%2020.4333Z'%20fill='%23D8D8D8'/%3e%3cpath%20d='M61.7944%2020.4331C61.7944%2022.2746%2060.3015%2023.7675%2058.4599%2023.7675C56.6184%2023.7675%2055.1255%2022.2746%2055.1255%2020.4331C55.1255%2018.5915%2056.6184%2017.0986%2058.4599%2017.0986C60.3015%2017.0986%2061.7944%2018.5915%2061.7944%2020.4331Z'%20fill='%23BBBBBB'/%3e%3cpath%20d='M198.983%2020.4333C198.983%2023.8533%20196.21%2026.6258%20192.79%2026.6258C189.37%2026.6258%20186.598%2023.8533%20186.598%2020.4333C186.598%2017.0132%20189.37%2014.2407%20192.79%2014.2407C196.21%2014.2407%20198.983%2017.0132%20198.983%2020.4333Z'%20fill='%23D8D8D8'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M59.5324%2061.2938L76.0847%2037H92.637L76.0847%2061.2938H59.5324ZM92.8769%2061.2938L109.429%2037H125.981L109.429%2061.2938H92.8769ZM126.221%2061.2938H142.774L159.326%2037H142.774L126.221%2061.2938ZM176.118%2061.2938H159.566L176.118%2037H192.67L176.118%2061.2938ZM192.91%2061.2938H202.317C204.422%2061.2938%20206.128%2059.5877%20206.128%2057.483V41.894L192.91%2061.2938ZM46.0747%2056.3998L59.2925%2037H49.8855C47.7809%2037%2046.0747%2038.7062%2046.0747%2040.8108V56.3998Z'%20fill='%23BFDDFA'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M59.5324%2096.2938L76.0847%2072H92.637L76.0847%2096.2938H59.5324ZM92.8769%2096.2938L109.429%2072H125.981L109.429%2096.2938H92.8769ZM126.221%2096.2938H142.774L159.326%2072H142.774L126.221%2096.2938ZM176.118%2096.2938H159.566L176.118%2072H192.67L176.118%2096.2938ZM192.91%2096.2938H202.317C204.422%2096.2938%20206.128%2094.5877%20206.128%2092.483V76.894L192.91%2096.2938ZM46.0747%2091.3998L59.2925%2072H49.8855C47.7809%2072%2046.0747%2073.7062%2046.0747%2075.8108V91.3998Z'%20fill='%23BFDDFA'/%3e%3cpath%20d='M196.125%2020.4331C196.125%2022.2746%20194.632%2023.7675%20192.79%2023.7675C190.949%2023.7675%20189.456%2022.2746%20189.456%2020.4331C189.456%2018.5915%20190.949%2017.0986%20192.79%2017.0986C194.632%2017.0986%20196.125%2018.5915%20196.125%2020.4331Z'%20fill='%23BBBBBB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_179_8531'%3e%3crect%20width='215'%20height='150'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\";\nexport {\n  l as default\n};\n//# sourceMappingURL=feedback-work_in_progress.svg.js.map\n","import { classMap as t } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as l, literal as c, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nimport b from \"../../assets/img/feedback-empty.svg.js\";\nimport r from \"../../assets/img/feedback-error.svg.js\";\nimport f from \"../../assets/img/feedback-not_found.svg.js\";\nimport k from \"../../assets/img/feedback-success.svg.js\";\nimport m from \"../../assets/img/feedback-warning.svg.js\";\nimport _ from \"../../assets/img/feedback-work_in_progress.svg.js\";\nconst i = c`dss-icon${l(u())}`, E = (s) => {\n  const d = {\n    \"dss-user-feedback\": !0,\n    [`dss-user-feedback--${s.size}`]: s.size,\n    [`dss-user-feedback--${s.variant}`]: s.variant\n  };\n  let e;\n  if (s.imageSrc)\n    e = s.imageSrc;\n  else\n    switch (s.status) {\n      case \"error\":\n        e = r;\n        break;\n      case \"success\":\n        e = k;\n        break;\n      case \"warning\":\n        e = m;\n        break;\n      case \"empty\":\n        e = b;\n        break;\n      case \"work-in-progress\":\n        e = _;\n        break;\n      case \"not-found\":\n        e = f;\n        break;\n      default:\n        e = r;\n    }\n  return a`\n    <div class=\"${t(d)}\">\n      <img\n        class=\"dss-user-feedback__image\"\n        src=\"${e}\"\n        alt=\"${s.imageSrc ? s.imageAlt : s.status}\"\n      />\n      <div class=\"dss-user-feedback__body\">\n        <h4 class=\"dss-user-feedback__title\">${s.titleText}</h4>\n        <p class=\"dss-user-feedback__description\">${s.description}</p>\n        ${s.hasDetails ? a`\n              <div class=\"dss-user-feedback__details-action\">\n                <button\n                  class=\"dss-user-feedback__details-button\"\n                  @click=\"${s._handleDetailsClick}\"\n                >\n                  <span class=\"dss-user-feedback__details-button-text\">\n                    ${s.detailsLabel}\n                  </span>\n                  <${i} icon=\"${s._detailsExpanded ? \"expand_less\" : \"expand_more\"}\" size=\"sm\"></${i}>\n                </button>\n              </div>\n\n              ${s._detailsExpanded ? a`\n                    <div class=\"dss-user-feedback__details-content\">\n                      <slot name=\"details\"></slot>\n                    </div>\n                  ` : null}\n            ` : null}\n      </div>\n      ${s.hideFooter ? null : a`\n            <div class=\"dss-user-feedback__button-group\">\n              <slot></slot>\n            </div>\n          `}\n    </div>\n  `;\n};\nexport {\n  E as userFeedbackTemplate\n};\n//# sourceMappingURL=user-feedback.template.js.map\n","import { LitElement as y, unsafeCSS as a } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport h from \"../../foundations/icon/icon.style.css.js\";\nimport m from \"../../shared/reset.style.css.js\";\nimport { booleanType as d } from \"../../utils/property-types.js\";\nimport u from \"./user-feedback.style.css.js\";\nimport { userFeedbackTemplate as f } from \"./user-feedback.template.js\";\nvar S = Object.defineProperty, e = (p, s, l, g) => {\n  for (var r = void 0, o = p.length - 1, n; o >= 0; o--)\n    (n = p[o]) && (r = n(s, l, r) || r);\n  return r && S(s, l, r), r;\n};\nclass i extends y {\n  constructor() {\n    super(...arguments), this.variant = \"default\", this.size = \"lg\", this.imageSrc = \"\", this.imageAlt = \"\", this.title = \"\", this.titleText = \"\", this.description = \"\", this.hasDetails = !1, this.detailsLabel = \"Veure detalls\", this.hideFooter = !1, this.status = \"error\", this._detailsExpanded = !1;\n  }\n  static get styles() {\n    return [a(m), a(h), a(u)];\n  }\n  _handleDetailsClick() {\n    this._detailsExpanded = !this._detailsExpanded, this.requestUpdate();\n  }\n  updated(s) {\n    super.updated(s), s.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"\" && (this.titleText = this.title);\n    });\n  }\n  render() {\n    return f(this);\n  }\n}\ne([\n  t({ type: String })\n], i.prototype, \"variant\");\ne([\n  t({ type: String })\n], i.prototype, \"size\");\ne([\n  t({ type: String })\n], i.prototype, \"imageSrc\");\ne([\n  t({ type: String })\n], i.prototype, \"imageAlt\");\ne([\n  t({ type: String })\n], i.prototype, \"title\");\ne([\n  t({ type: String })\n], i.prototype, \"titleText\");\ne([\n  t({ type: String })\n], i.prototype, \"description\");\ne([\n  t(d)\n], i.prototype, \"hasDetails\");\ne([\n  t({ type: String })\n], i.prototype, \"detailsLabel\");\ne([\n  t(d)\n], i.prototype, \"hideFooter\");\ne([\n  t({ type: String })\n], i.prototype, \"status\");\nexport {\n  i as UserFeedback\n};\n//# sourceMappingURL=user-feedback.js.map\n","const s = ':host{width:100%}.dss-search{position:relative}.dss-search-bar{position:relative;display:grid;grid-template-columns:30px 1fr;min-height:48px;height:auto;width:100%;box-sizing:border-box;padding:var(--dss-spacing-sm);padding-right:calc((var(--dss-spacing-sm) * 2) + var(--icon-size-md));background-color:var(--color-white);border-radius:var(--dss-radius-sm);box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-neutral-100);font-size:14px;font-family:inherit}.dss-search-bar--md{min-height:40px;padding-top:0;padding-bottom:0}.dss-search-bar--focused:not(.dss-search-bar--read-only){box-shadow:none;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-search-bar--focused.dss-search-bar--inner-focus{border-color:transparent;outline:0;box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-blue-200)}.dss-search-bar--read-only{border-top:0;border-left:0;border-right:0;border-radius:0;box-shadow:none;border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-search-bar--focused.dss-search-bar--read-only:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:var(--dss-border-width-lg);background-color:var(--color-blue-200)}.dss-search-bar--invalid{background-color:var(--color-red-50);border-color:var(--color-red-500)}.dss-search-bar--disabled{cursor:not-allowed;background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-search-bar__icon{color:var(--color-neutral-700);box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center}.dss-search-bar--default .dss-search-bar__container{display:block}.dss-search-bar--md.dss-search-bar--default .dss-search-bar__container ::slotted(input){min-height:40px}.dss-search-bar--multiple .dss-search-bar__container{display:grid;grid-template-columns:auto minmax(min-content,1fr);gap:var(--dss-spacing-xs)}.dss-search-bar--multiple .dss-search-bar__chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dss-spacing-xs)}.dss-search-bar__chips .dss-chip{display:inline-flex}.dss-search-bar__input{min-width:200px}::slotted(label){display:none;visibility:hidden;width:0}::slotted(input){height:100%;width:100%;margin:0;border:0;border-radius:0;color:var(--color-neutral-900);box-sizing:border-box;background-color:transparent}::slotted(input:focus-visible){outline:0}.dss-search-bar__clear{display:none;position:absolute;top:0;right:var(--dss-spacing-sm);height:100%;justify-content:center;align-items:center;box-sizing:border-box}.dss-search-bar--has-value:not(.dss-search-bar--disabled):not(.dss-search-bar--read-only) .dss-search-bar__clear{display:flex}.dss-search-help{display:flex;justify-content:space-between;font-family:var(--font-family);font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-search-bar--invalid+.dss-search-help{color:var(--color-red-500)}.dss-search-dropdown{margin-top:8px;position:absolute;top:52px;left:0;background-color:var(--color-white);width:100%;border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md);z-index:800;overflow:hidden}.dss-search-catalog--empty{height:150px;display:flex;justify-content:center;align-items:center;gap:var(--dss-spacing-xs);color:var(--color-blue-800)}.dss-search-catalog--empty .text{font-size:14px}.dss-catalog-item{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;padding:var(--dss-spacing-sm) var(--dss-spacing-md);gap:var(--dss-spacing-xs);cursor:pointer}.dss-catalog-item:hover{background-color:var(--color-neutral-50)}.dss-catalog-item--selected{background-color:var(--color-primary-50)}.dss-catalog-item:focus-visible{border:var(--dss-border-width-lg) solid var(--color-blue-200);outline:0}.dss-search-title{padding:var(--dss-spacing-sm) var(--dss-spacing-md) 0;font-weight:var(--font-semibold);font-size:14px;color:var(--color-black)}.dss-catalog-item__icon{color:var(--color-neutral-900)}.dss-catalog-item__text{color:var(--color-neutral-900);font-size:16px}.dss-search-bar:not(.dss-search-bar--show-chips) .dss-search-bar__chips dss-chip.dss-chip--hide{display:none}.dss-search-bar__chips .dss-chip__counter{cursor:pointer;position:relative;box-sizing:border-box;font-weight:var(--font-semibold);border-radius:var(--dss-radius-xl);border:var(--dss-border-width-sm) solid var(--color-primary-700);box-shadow:none;background-color:var(--color-primary-100);transition:.3s all ease-in;height:24px;font-size:12px;padding:var(--dss-spacing-xxs) var(--dss-spacing-xs);line-height:var(--line-16)}.dss-search-bar__chips .dss-chip__counter:hover{background-color:var(--color-primary-50)}.dss-chip__tooltip{display:none}.dss-chip__tooltip-item{margin-right:var(--dss-spacing-xxs)}.dss-chip__tooltip-item:not(:last-child):after{content:\",\"}.dss-search-bar__chips .dss-chip__counter:hover .dss-chip__tooltip{display:block}';\nexport {\n  s as default\n};\n//# sourceMappingURL=search-bar.style.css.js.map\n","import { classMap as d } from \"lit/directives/class-map.js\";\nimport { ifDefined as $ } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as i, literal as r, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst l = r`dss-icon${i(e())}`, w = r`dss-spinner${i(e())}`, v = r`dss-tooltip${i(e())}`, b = r`dss-icon-button${i(e())}`, T = (s) => {\n  var c, h, t, _, u;\n  const g = {\n    \"dss-search-bar--invalid\": s._invalid || !s._inputValidity,\n    \"dss-search-bar--disabled\": (c = s._input) == null ? void 0 : c.disabled,\n    \"dss-search-bar--required\": (h = s._input) == null ? void 0 : h.required,\n    \"dss-search-bar--read-only\": (t = s._input) == null ? void 0 : t.readOnly,\n    \"dss-search-bar--focused\": s._isFocused,\n    \"dss-search-bar--default\": !s._multiple,\n    \"dss-search-bar--multiple\": s._multiple,\n    \"dss-search-bar--show-chips\": s._showAllChips,\n    \"dss-search-bar--md\": s._inputSize === \"md\",\n    \"dss-search-bar--inner-focus\": s.innerFocus,\n    \"dss-search-bar--has-value\": s._showClearButton || ((_ = s._input) == null ? void 0 : _.value) || s._searchTerms.length > 0\n  }, f = {}, p = {};\n  return a`\n    <div class=\"dss-search\">\n        <div\n          class=\"dss-search-bar ${d(g)}\"\n          role=\"combobox\"\n          aria-controls=\"search-catalog\"\n          aria-expanded=${$(s._showDropdown)}\n        >\n          <div class=\"dss-search-bar__icon\">\n            <${l} size=\"md\" icon=\"${s._icon}\"  @click=${s._focusInput}></${l}>\n          </div>\n\n          <div class=\"dss-search-bar__container\">\n            ${s._multiple ? a`\n                  <div class=\"dss-search-bar__chips\">\n                    ${a`${s._generateSearchChips()}`}\n                    ${!s._showAllChips && s._searchTerms.length > 5 ? a`\n                          <div class=\"dss-chip__counter\">\n                            +${s._searchTerms.length - 5}\n                            <${v}\n                              class=\"dss-chip__tooltip\"\n                              position=\"bottom\"\n                              align=\"left\"\n                              noHeightLimit\n                            >\n                              ${s._searchTerms.slice(5, s._searchTerms.length).map(\n    (o) => a`<span class=\"dss-chip__tooltip-item\">\n                                        ${o}\n                                      </span>`\n  )}\n                            </${v}>\n                          </div>\n                        ` : null}\n                  </div>\n                ` : null}\n\n            <div class=\"dss-search-bar__input\">\n              <slot name=\"label\" @click=${s._focusInput}></slot>\n              <slot\n                name=\"input\"\n                @click=${s._handleClick}\n                @input=${s._handleInput}\n                @keydown=${s._handleKeyDown}\n                @focusin=${s._handleFocusIn}\n                @focusout=${s._handleFocusOut}\n              ></slot>\n            </div>\n          </div>\n\n          <div class=\"dss-search-bar__clear\">\n            <${b} \n              icon=\"cancel\" \n              variant=\"primary\" \n              size=\"md\" \n              @click=${s._clearSearch}\n              hideTooltip\n              label=\"Esborra la cerca\"\n            >\n            </${b}>\n          </div>\n        </div>\n\n        ${s._helpText ? a`\n              <div class=\"dss-search-help ${d(f)}\">\n                <span>${s._helpText}</span>\n              </div>\n            ` : null}\n        ${s._showDropdown && ((u = s._catalog) == null ? void 0 : u.length) > 0 && s._input.value.length >= s._threshold ? a`\n              <div\n                id=\"search-catalog\"\n                class=\"dss-search-dropdown ${d(p)}\"\n                style=${$(s._searchboxStyle)}\n                role=\"listbox\"\n                aria-label=\"Search Catalog\"\n              >\n                ${s._isCatalogLoading ? a`\n                      <div class=\"dss-search-catalog--empty\">\n\t\t\t\t\t\t\t\t\t\t\t  <${w} size=\"md\"/>\n                      </div>\n                    ` : a`\n                      ${s._filteredCatalog.length > 0 ? a`\n                            ${s._recentSearches ? a`\n                                  <div class=\"dss-search-title\">\n                                    ${s._recentSearchesText}\n                                  </div>\n                                ` : null}\n                            <div class=\"dss-search-catalog\">\n                              ${a`${s._generateFilterCatalog()}`}\n                            </div>\n                          ` : a`\n                            <div\n                              class=\"dss-search-catalog dss-search-catalog--empty\"\n                            >\n                              <${l} size=\"sm\" icon=\"info\"></${l}>\n                              <span class=\"text\">\n                                ${s._emptyDropdownText}: ${s._input.value}\n                              </span>\n                            </div>\n                          `}\n                    `}\n              </div>\n            ` : null}\n      </div>\n  `;\n};\nexport {\n  T as template\n};\n//# sourceMappingURL=search-bar.template.js.map\n","import { LitElement as E, unsafeCSS as b } from \"lit\";\nimport { state as O, property as n } from \"lit/decorators.js\";\nimport { classMap as x } from \"lit/directives/class-map.js\";\nimport { unsafeHTML as C } from \"lit/directives/unsafe-html.js\";\nimport { unsafeStatic as U, literal as F, html as T } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as $ } from \"../../api/custom-element-scope.js\";\nimport { highlightTextMultiple as k, highlightText as V } from \"../../api/marker/marker.js\";\nimport A from \"../../api/marker/marker.style.css.js\";\nimport { normalizeText as m } from \"../../utils/helpers.js\";\nimport { booleanType as _ } from \"../../utils/property-types.js\";\nimport L from \"./search-bar.style.css.js\";\nimport { template as z } from \"./search-bar.template.js\";\nvar B = Object.defineProperty, R = Object.getOwnPropertyDescriptor, a = (w, t, e, s) => {\n  for (var l = s > 1 ? void 0 : s ? R(t, e) : t, c = w.length - 1, u; c >= 0; c--)\n    (u = w[c]) && (l = (s ? u(t, e, l) : u(l)) || l);\n  return s && l && B(t, e, l), l;\n};\nconst q = F`dss-icon${U($())}`, D = F`dss-chip${U($())}`;\nclass h extends E {\n  constructor() {\n    super(...arguments), this._filter = \"\", this.innerFocus = !1, this.advancedFilter = !1, this._multiple = !1, this._icon = \"search\", this._placeholder = \"Escriu per cercar\", this._inputSize = \"lg\", this._invalid = !1, this._helpText = \"\", this._isFocused = !1, this._showClearButton = !1, this._threshold = 3, this._searchTerms = [], this._catalog = [], this._filteredCatalog = [], this._showDropdown = !1, this._isCatalogLoading = !1, this._emptyDropdownText = \"Sense resultats per\", this._recentSearches = !1, this._recentSearchesText = \"Últimes cerques\", this._dropdownStyle = \"\", this._searchboxStyle = \"\", this._showAllChips = !1, this.observerConfig = { attributes: !0, childList: !0, subtree: !0 }, this.callback = (t) => {\n      for (const e of t)\n        e.type === \"attributes\" && this.requestUpdate();\n    }, this.observer = new MutationObserver(this.callback);\n  }\n  static get styles() {\n    return [b(A), b(L)];\n  }\n  get _input() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector('slot[name=\"input\"]')) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements()[0];\n  }\n  set multiple(t) {\n    const e = this._multiple;\n    this._multiple = t, this.requestUpdate(\"multiple\", e);\n  }\n  get multiple() {\n    return this._multiple;\n  }\n  set icon(t) {\n    const e = this._icon;\n    this._icon = t, this.requestUpdate(\"icon\", e);\n  }\n  get icon() {\n    return this._icon;\n  }\n  set inputSize(t) {\n    const e = this._inputSize;\n    t === \"md\" ? this._inputSize = t : this._inputSize = \"lg\", this.requestUpdate(\"inputSize\", e);\n  }\n  get inputSize() {\n    return this._inputSize;\n  }\n  set helpText(t) {\n    const e = this._helpText;\n    this._helpText = t, this.requestUpdate(\"helpText\", e);\n  }\n  get helpText() {\n    return this._helpText;\n  }\n  set invalid(t) {\n    const e = this._invalid;\n    t ? this._invalid = t : this._invalid = this._inputValidity ? t : !0, this.requestUpdate(\"invalid\", e);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  set threshold(t) {\n    const e = this._threshold;\n    this._threshold = t, this.requestUpdate(\"threshold\", e);\n  }\n  get threshold() {\n    return this._threshold;\n  }\n  set searchTerms(t) {\n    const e = this._searchTerms;\n    this._searchTerms = t, this.requestUpdate(\"searchTerms\", e);\n  }\n  get searchTerms() {\n    return this._searchTerms;\n  }\n  set catalog(t) {\n    const e = this._catalog;\n    this._catalog = t, this.requestUpdate(\"catalog\", e);\n  }\n  get catalog() {\n    return this._catalog;\n  }\n  set emptyDropdownText(t) {\n    const e = this._emptyDropdownText;\n    this._emptyDropdownText = t, this.requestUpdate(\"emptyDropdownText\", e);\n  }\n  get emptyDropdownText() {\n    return this._emptyDropdownText;\n  }\n  set recentSearchesText(t) {\n    const e = this._recentSearchesText;\n    this._recentSearchesText = t, this.requestUpdate(\"recentSearchesText\", e);\n  }\n  get recentSearchesText() {\n    return this._recentSearchesText;\n  }\n  set recentSearches(t) {\n    const e = this._recentSearches;\n    this._recentSearches = t, this.requestUpdate(\"recentSearches\", e);\n  }\n  get recentSearches() {\n    return this._recentSearches;\n  }\n  set isCatalogLoading(t) {\n    const e = this._isCatalogLoading;\n    this._isCatalogLoading = t, this.requestUpdate(\"isCatalogLoading\", e);\n  }\n  get isCatalogLoading() {\n    return this._isCatalogLoading;\n  }\n  set dropdownStyle(t) {\n    const e = this._dropdownStyle;\n    this._dropdownStyle = t, this.requestUpdate(\"dropdownStyle\", e);\n  }\n  get dropdownStyle() {\n    return this._dropdownStyle;\n  }\n  _getSearchStyle() {\n    return `top: ${this.renderRoot.querySelectorAll(\".dss-search-bar\")[0].offsetHeight + 4}px; ${this._dropdownStyle}`;\n  }\n  get _inputValidity() {\n    var t;\n    return this._input && this._input.value !== \"\" ? (t = this._input) == null ? void 0 : t.checkValidity() : !0;\n  }\n  _handleClick() {\n    this.requestUpdate();\n  }\n  _handleInput() {\n    this._filter = this._input.value;\n    let t = this._input.value;\n    t.length >= this._threshold ? (this._showDropdown = !0, this._filteredCatalog = this._getFilterCatalog(t), this._multiple && t.endsWith(\",\") && (t = t.slice(0, -1), this._searchTerms.push(t), this._input.value = \"\", this._searchTerms.length && this._dispatchSearchChange()), this._searchboxStyle = this._getSearchStyle(), this.requestUpdate()) : this._hideDropdown(), this._dispatchOnInput(), this.requestUpdate();\n  }\n  _handleFocusIn() {\n    this._isFocused = !0, this._showClearButton = !0, this.requestUpdate();\n  }\n  _handleFocusOut() {\n    this._isFocused = !1, this._showClearButton = !1, this.requestUpdate();\n  }\n  _handleKeyDown(t) {\n    (t == null ? void 0 : t.key) === \"Enter\" ? (this._showDropdown = !0, !this._multiple && this._input.value !== \"\" && (this._searchTerms = [], this._searchTerms.push(this._input.value), this._dispatchSearchChange(), this._showDropdown = !1), this._searchboxStyle = this._getSearchStyle()) : (t == null ? void 0 : t.key) === \"Escape\" && (this._showDropdown = !1), this.requestUpdate();\n  }\n  _focusInput() {\n    var t;\n    (t = this._input) == null || t.focus();\n  }\n  _clearSearch() {\n    this._input && (this._input.value = \"\", this._input.focus()), this._searchTerms = [], this._dispatchSearchChange(), this._hideDropdown(), this.requestUpdate();\n  }\n  _hideDropdown() {\n    this._showDropdown = !1, this._filteredCatalog = [];\n  }\n  _getFilterCatalog(t) {\n    return this.advancedFilter ? this._applyAdvancedFilter(t) : this._applyDefaultFilter(t);\n  }\n  _applyDefaultFilter(t) {\n    const e = m(t);\n    return this._catalog.filter((s) => m(s.value).includes(e));\n  }\n  _applyAdvancedFilter(t) {\n    if (!m(t.trim())) return this.catalog;\n    const s = m(t).split(/\\s+/).filter((l) => l.length >= this._threshold);\n    return s.length === 0 ? this.catalog : this.catalog.filter((l) => {\n      const c = m(l.value);\n      return s.every((u) => c.includes(u));\n    });\n  }\n  _generateSearchChips() {\n    let t = 0;\n    return this._searchTerms.map((s) => {\n      var f, y, S, v, i;\n      const l = (r) => {\n        const o = r.detail.text;\n        this._searchTerms = this._searchTerms.filter((p) => p !== o), this._dispatchSearchChange(), this.requestUpdate();\n      };\n      t += 1;\n      const c = {\n        disabled: ((f = this._input) == null ? void 0 : f.disabled) || ((y = this._input) == null ? void 0 : y.readOnly),\n        \"dss-chip--selected\": !((S = this._input) != null && S.disabled) && !((v = this._input) != null && v.readOnly),\n        \"dss-chip--hide\": t > 5\n      };\n      return T`\n\t\t\t\t<${D}\n \t\t\t\t\tclass=\"${x(c)}\"\n\t\t\t\t\tsize=\"sm\" \n\t\t\t\t\tlabel=\"${s}\" \n\t\t\t\t\tselected \n\t\t\t\t\tdisableSelect\n\t\t\t\t\thasdelete \n\t\t\t\t\t?disabled=${(i = this._input) == null ? void 0 : i.disabled}\n\t\t\t\t\t@onDelete=\"${l}\">\n\t\t\t\t</${D}>\n      `;\n    });\n  }\n  _generateFilterCatalog() {\n    let t = !0;\n    return this._filteredCatalog.map((s) => {\n      const l = (i) => {\n        const r = i.target.getAttribute(\"value\");\n        r && (this._multiple ? this._searchTerms.includes(r) ? this._searchTerms = this._searchTerms.filter((p) => p !== r) : this._searchTerms.push(r) : (this._input.value = r, this._showDropdown = !1, this._searchTerms = [], this._searchTerms.push(r)), this.requestUpdate(), this._dispatchSearchChange());\n      }, c = (i) => {\n        i && i.focus();\n      }, u = (i) => {\n        let r = 0;\n        const o = this.renderRoot.querySelectorAll(\".dss-catalog-item\"), p = o.length - 1;\n        i === o[0] ? c(o[p]) : (o.forEach((g, d) => {\n          g === i && (r = d);\n        }), c(o[r - 1]));\n      }, f = (i) => {\n        let r = 0;\n        const o = this.renderRoot.querySelectorAll(\".dss-catalog-item\"), p = o.length - 1;\n        i === o[p] ? c(o[0]) : (o.forEach((g, d) => {\n          g === i && (r = d);\n        }), c(o[r + 1]));\n      }, y = (i) => {\n        const r = i.currentTarget, o = i;\n        let p = !1;\n        switch (o.key) {\n          case \"ArrowUp\":\n            u(r), p = !0;\n            break;\n          case \"ArrowDown\":\n            f(r), p = !0;\n            break;\n          case \"Enter\": {\n            const g = i.target, d = this.renderRoot.querySelector('.dss-catalog-item[tabindex=\"0\"]');\n            d == null || d.setAttribute(\"tabindex\", \"-1\"), i.target.setAttribute(\"tabindex\", \"0\"), g.click(), p = !0;\n            break;\n          }\n        }\n        p && (i.stopPropagation(), i.preventDefault());\n      }, S = {\n        \"dss-catalog-item--selected\": this._searchTerms.includes(s.value)\n        // 'disabled': this._input?.disabled,\n        // 'dss-chip--selected': !this._input?.disabled,\n      }, v = T`\n        <div\n          class=\"dss-catalog-item ${x(S)}\"\n          value=\"${s.value}\"\n          tabindex=\"${t ? 0 : -1}\"\n          @click=\"${l}\"\n          @keydown=${y}\n        >\n          ${s.icon ? T`\n\t\t\t\t\t\t\t\t<${q}\n\t\t\t\t\t\t\t\t\tclass=\"dss-catalog-item__icon\"\n\t\t\t\t\t\t\t\t\ticon=\"${s.icon}\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tvalue=\"${s.value}\"\n\t\t\t\t\t\t\t\t></${q}>\n              ` : null}\n          <div class=\"dss-catalog-item__text\" value=\"${s.value}\">\n            ${this.advancedFilter ? C(k(s.value, this._filter, this._threshold)) : C(V(s.value, this._filter))}\n\t\t\t\t\t</div>\n        </div>\n      `;\n      return t = !1, v;\n    });\n  }\n  _dispatchSearchChange() {\n    const t = {\n      detail: this._searchTerms,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onSearchChange\", t));\n  }\n  _dispatchOnInput() {\n    if (!this._input || this._multiple) return;\n    const t = {\n      detail: this._input.value,\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onInput\", t));\n  }\n  _closeDropdown() {\n    document.addEventListener(\"mousedown\", (t) => {\n      t.target !== this && t.target !== this._input && (this._showDropdown = !1, this.requestUpdate());\n    }), document.addEventListener(\"focusout\", (t) => {\n      const e = t.relatedTarget;\n      e !== null && e !== this && e !== this._input && (this._showDropdown = !1, this.requestUpdate());\n    });\n  }\n  disconnectedCallback() {\n    this.observer.disconnect();\n  }\n  async firstUpdated() {\n    var t, e;\n    try {\n      await this.updateComplete, this._input && (this.observer.observe(this._input, this.observerConfig), (t = this._input) != null && t.getAttribute(\"placeholder\") || (e = this._input) == null || e.setAttribute(\"placeholder\", this._placeholder), this._closeDropdown(), this._searchboxStyle = this._getSearchStyle(), this.requestUpdate());\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    return z(this);\n  }\n}\na([\n  O()\n], h.prototype, \"_filter\", 2);\na([\n  n(_)\n], h.prototype, \"innerFocus\", 2);\na([\n  n(_)\n], h.prototype, \"multiple\", 1);\na([\n  n({ type: String })\n], h.prototype, \"icon\", 1);\na([\n  n({ type: String })\n], h.prototype, \"inputSize\", 1);\na([\n  n({ type: String })\n], h.prototype, \"helpText\", 1);\na([\n  n(_)\n], h.prototype, \"invalid\", 1);\na([\n  n({ type: Number })\n], h.prototype, \"threshold\", 1);\na([\n  n({ type: Array })\n], h.prototype, \"searchTerms\", 1);\na([\n  n({ type: Array })\n], h.prototype, \"catalog\", 1);\na([\n  n({ type: String })\n], h.prototype, \"emptyDropdownText\", 1);\na([\n  n({ type: String })\n], h.prototype, \"recentSearchesText\", 1);\na([\n  n(_)\n], h.prototype, \"recentSearches\", 1);\na([\n  n(_)\n], h.prototype, \"isCatalogLoading\", 1);\na([\n  n({ type: String })\n], h.prototype, \"dropdownStyle\", 1);\na([\n  n(_)\n], h.prototype, \"advancedFilter\", 2);\nexport {\n  h as SearchBar\n};\n//# sourceMappingURL=search-bar.js.map\n","const r = \":host{display:block;width:100%}.dss-card{display:flex;flex-direction:column;gap:var(--dss-spacing-xs);background-color:var(--color-white);border:var(--dss-border-width-sm) solid var(--color-neutral-100);border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-md);transition:all .3s ease-in-out}.dss-card:hover:not(.dss-card--dragged):not(.dss-card--deleted):not(.dss-card--disabled){border-color:var(--color-primary-500)}.dss-card:active:not(.dss-card--dragged):not(.dss-card--deleted):not(.dss-card--disabled){background-color:var(--color-primary-50)}.dss-card:focus-visible{border-color:var(--color-blue-200);outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-card--selected{border-color:var(--color-primary-500);border-width:var(--dss-border-width-md)}.dss-card--dragged{border-color:transparent!important;box-shadow:var(--dss-elevation-lg)}.dss-card--deleted{border-color:var(--color-red-500);border-width:var(--dss-border-width-md)}.dss-card--disabled{background-color:var(--color-neutral-50)}.dss-card-top{display:flex;align-items:center;gap:var(--dss-spacing-xs);padding-bottom:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-card-top__details{display:grid;grid-template-columns:auto minmax(min-content,1fr);align-items:center;gap:var(--dss-spacing-lg);flex:1}\";\nexport {\n  r as default\n};\n//# sourceMappingURL=card.style.css.js.map\n","import { nothing as a } from \"lit\";\nimport { classMap as t } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as e, literal as i, html as d } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as o } from \"../../api/custom-element-scope.js\";\nconst l = i`dss-icon-button${e(o())}`, h = (s) => d`\n  <div class=\"dss-card ${t({\n  \"dss-card--selected\": s.selected,\n  \"dss-card--dragged\": s.dragged,\n  \"dss-card--deleted\": s.deleted,\n  \"dss-card--disabled\": s.disabled\n})}\" \n  tabindex=\"0\">\n    ${s.hasClose || s.hasDetails ? d`\n          <div class=\"dss-card-top\">\n            <div class=\"dss-card-top__details\">\n              <slot name=\"tags\"></slot>\n              <slot name=\"info\"></slot>\n            </div>\n            ${s.hasClose ? d`\n                  <div class=\"dss-card-top__close\">\n                    <${l}\n                      size=\"md\"\n                      label=\"Tancar\"\n                      icon=\"close\"\n                      variant=\"default\"\n                      hideTooltip\n                      ?disabled=${s.disabled}\n                      @onClick=${s._dispatchClose}\n                    ></${l}>\n                  </div>\n                ` : a}\n          </div>\n        ` : a}\n    <slot name=\"header\"></slot>\n    <slot name=\"form\"></slot>\n    <slot name=\"image\"></slot>\n    <slot name=\"body\"></slot>\n    <slot name=\"highlights\"></slot>\n    <slot name=\"footer\"></slot>\n  </div>\n`;\nexport {\n  h as template\n};\n//# sourceMappingURL=card.template.js.map\n","import { LitElement as m, unsafeCSS as p } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport h from \"../../foundations/icon/icon.style.css.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport { booleanType as o } from \"../../utils/property-types.js\";\nimport b from \"./card.style.css.js\";\nimport { template as y } from \"./card.template.js\";\nvar c = Object.defineProperty, i = (d, e, a, f) => {\n  for (var s = void 0, t = d.length - 1, n; t >= 0; t--)\n    (n = d[t]) && (s = n(e, a, s) || s);\n  return s && c(e, a, s), s;\n};\nclass l extends m {\n  constructor() {\n    super(...arguments), this.selected = !1, this.dragged = !1, this.deleted = !1, this.disabled = !1, this.hasClose = !1, this.hasDetails = !1;\n  }\n  static get styles() {\n    return [p(u), p(h), p(b)];\n  }\n  /* METHODS */\n  _propagateProperties() {\n    var a;\n    const e = (a = this.shadowRoot) == null ? void 0 : a.querySelectorAll(\"slot\");\n    e && e.forEach((f) => {\n      f.assignedElements().forEach((t) => {\n        this.deleted ? t.setAttribute(\"deleted\", \"true\") : t.removeAttribute(\"deleted\"), this.disabled ? t.setAttribute(\"disabled\", \"true\") : t.removeAttribute(\"disabled\");\n      });\n    });\n  }\n  /* EVENTS */\n  _dispatchClose() {\n    this.dispatchEvent(new CustomEvent(\"onClose\", { bubbles: !0 }));\n  }\n  /* LIT LIFECYCLE */\n  updated(e) {\n    super.updated(e), (e.has(\"deleted\") || e.has(\"disabled\")) && this._propagateProperties();\n  }\n  render() {\n    return y(this);\n  }\n}\ni([\n  r(o)\n], l.prototype, \"selected\");\ni([\n  r(o)\n], l.prototype, \"dragged\");\ni([\n  r(o)\n], l.prototype, \"deleted\");\ni([\n  r(o)\n], l.prototype, \"disabled\");\ni([\n  r(o)\n], l.prototype, \"hasClose\");\ni([\n  r(o)\n], l.prototype, \"hasDetails\");\nexport {\n  l as Card\n};\n//# sourceMappingURL=card.js.map\n","import { LitElement as f, unsafeCSS as u, css as m, html as b } from \"lit\";\nimport { property as l } from \"lit/decorators.js\";\nimport { booleanType as a } from \"../../../utils/property-types.js\";\nimport c from \"../../../foundations/icon/icon.style.css.js\";\nvar h = Object.defineProperty, p = (d, e, r, o) => {\n  for (var s = void 0, t = d.length - 1, i; t >= 0; t--)\n    (i = d[t]) && (s = i(e, r, s) || s);\n  return s && h(e, r, s), s;\n};\nclass n extends f {\n  constructor() {\n    super(...arguments), this.deleted = !1, this.disabled = !1;\n  }\n  static get styles() {\n    return [\n      u(c),\n      m`\n        :host {\n          display: flex;\n          flex-direction: column;\n          gap: var(--dss-spacing-xxs);\n        }\n      `\n    ];\n  }\n  _propagateProperties() {\n    var r;\n    const e = (r = this.shadowRoot) == null ? void 0 : r.querySelectorAll(\"slot\");\n    e && e.forEach((o) => {\n      o.assignedElements().forEach((t) => {\n        this.deleted ? t.setAttribute(\"deleted\", \"true\") : t.removeAttribute(\"deleted\"), this.disabled ? t.setAttribute(\"disabled\", \"true\") : t.removeAttribute(\"disabled\");\n      });\n    });\n  }\n  /* LIT LIFECYCLE */\n  updated(e) {\n    super.updated(e), (e.has(\"deleted\") || e.has(\"disabled\")) && this._propagateProperties();\n  }\n  render() {\n    return b` <slot></slot> `;\n  }\n}\np([\n  l(a)\n], n.prototype, \"deleted\");\np([\n  l(a)\n], n.prototype, \"disabled\");\nexport {\n  n as CardBody\n};\n//# sourceMappingURL=card-body.js.map\n","import { LitElement as n, unsafeCSS as c, css as f, html as m } from \"lit\";\nimport { property as l } from \"lit/decorators.js\";\nimport { classMap as u } from \"lit/directives/class-map.js\";\nimport { booleanType as i } from \"../../../utils/property-types.js\";\nimport h from \"../../../shared/reset.style.css.js\";\nvar v = Object.defineProperty, a = (t, r, o, b) => {\n  for (var e = void 0, s = t.length - 1, d; s >= 0; s--)\n    (d = t[s]) && (e = d(r, o, e) || e);\n  return e && v(r, o, e), e;\n};\nclass p extends n {\n  constructor() {\n    super(...arguments), this.deleted = !1, this.disabled = !1;\n  }\n  static get styles() {\n    return [\n      c(h),\n      f`\n        .dss-card-description {\n          font-size: 14px;\n          line-height: 24px;\n          color: var(--color-neutral-600);\n        }\n\n        .dss-card-description.deleted {\n          color: var(--color-red-500);\n        }\n      `\n    ];\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    const r = {\n      deleted: this.deleted,\n      disabled: this.disabled\n    };\n    return m`\n      <p class=\"dss-card-description ${u(r)}\">\n        <slot></slot>\n      </p>\n    `;\n  }\n}\na([\n  l(i)\n], p.prototype, \"deleted\");\na([\n  l(i)\n], p.prototype, \"disabled\");\nexport {\n  p as CardDescription\n};\n//# sourceMappingURL=card-description.js.map\n","import { LitElement as p, css as u, html as f } from \"lit\";\nimport { property as d } from \"lit/decorators.js\";\nimport { booleanType as a } from \"../../../utils/property-types.js\";\nvar m = Object.defineProperty, n = (r, t, s, c) => {\n  for (var e = void 0, o = r.length - 1, i; o >= 0; o--)\n    (i = r[o]) && (e = i(t, s, e) || e);\n  return e && m(t, s, e), e;\n};\nclass l extends p {\n  constructor() {\n    super(...arguments), this.deleted = !1, this.disabled = !1;\n  }\n  static get styles() {\n    return u`\n      :host {\n        display: flex;\n        justify-content: flex-end;\n        align-items: center;\n        width: 100%;\n        gap: var(--dss-spacing-sm);\n        padding-top: var(--dss-spacing-sm) !important;\n        border-top: var(--dss-border-width-sm) solid var(--color-neutral-100);\n      }\n    `;\n  }\n  get _footerContent() {\n    var s;\n    const t = ((s = this.shadowRoot) == null ? void 0 : s.querySelector(\"slot\")) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements();\n  }\n  _propagateProperties() {\n    if (this._footerContent)\n      for (const t of this._footerContent)\n        this.disabled ? t.setAttribute(\"disabled\", \"true\") : t.removeAttribute(\"disabled\"), this.deleted ? t.classList.contains(\"dss-button--primary\") && (t.classList.remove(\"dss-button--primary\"), t.classList.add(\"dss-button--error\")) : t.classList.contains(\"dss-button--error\") && (t.classList.add(\"dss-button--primary\"), t.classList.remove(\"dss-button--error\"));\n  }\n  /* LIT LIFECYCLE */\n  updated(t) {\n    super.updated(t), (t.has(\"deleted\") || t.has(\"disabled\")) && this._propagateProperties();\n  }\n  render() {\n    return f` <slot></slot> `;\n  }\n}\nn([\n  d(a)\n], l.prototype, \"deleted\");\nn([\n  d(a)\n], l.prototype, \"disabled\");\nexport {\n  l as CardFooter\n};\n//# sourceMappingURL=card-footer.js.map\n","import { LitElement as a, unsafeCSS as d, css as n, html as p } from \"lit\";\nimport { property as f } from \"lit/decorators.js\";\nimport { booleanType as u } from \"../../../utils/property-types.js\";\nimport m from \"../../../foundations/icon/icon.style.css.js\";\nvar c = Object.defineProperty, h = (r, t, e, o) => {\n  for (var s = void 0, i = r.length - 1, l; i >= 0; i--)\n    (l = r[i]) && (s = l(t, e, s) || s);\n  return s && c(t, e, s), s;\n};\nclass b extends a {\n  constructor() {\n    super(...arguments), this.disabled = !1;\n  }\n  static get styles() {\n    return [\n      d(m),\n      n`\n        :host {\n          display: flex;\n          flex-direction: column;\n\t\t\t\t\talign-items: flex-start;\n          gap: var(--dss-spacing-xxs);\n\t\t\t\t\twidth: 100%;\n        }\n\n\t\t\t\t::slotted(*) {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n      `\n    ];\n  }\n  get _formContent() {\n    var e;\n    const t = ((e = this.shadowRoot) == null ? void 0 : e.querySelector(\"slot\")) || void 0;\n    return this.requestUpdate(), t == null ? void 0 : t.assignedElements();\n  }\n  _propagateProperties() {\n    if (this._formContent)\n      for (const t of this._formContent)\n        t.querySelectorAll(\"input\").forEach((o) => {\n          this.disabled ? o.setAttribute(\"disabled\", \"true\") : o.removeAttribute(\"disabled\");\n        });\n  }\n  /* LIT LIFECYCLE */\n  updated(t) {\n    super.updated(t), t.has(\"disabled\") && this._propagateProperties();\n  }\n  render() {\n    return p` <slot></slot> `;\n  }\n}\nh([\n  f(u)\n], b.prototype, \"disabled\");\nexport {\n  b as CardForm\n};\n//# sourceMappingURL=card-form.js.map\n","import { LitElement as m, unsafeCSS as p, css as u } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport { classMap as g } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as b, literal as v, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as y } from \"../../../api/custom-element-scope.js\";\nimport _ from \"../../../foundations/icon/icon.style.css.js\";\nimport S from \"../../../shared/reset.style.css.js\";\nimport { booleanType as i } from \"../../../utils/property-types.js\";\nvar x = Object.defineProperty, l = (n, e, d, c) => {\n  for (var t = void 0, s = n.length - 1, f; s >= 0; s--)\n    (f = n[s]) && (t = f(e, d, t) || t);\n  return t && x(e, d, t), t;\n};\nconst h = v`dss-icon${b(y())}`;\nclass o extends m {\n  constructor() {\n    super(...arguments), this.flag = !1, this.hasMenu = !1, this.deleted = !1, this.disabled = !1;\n  }\n  static get styles() {\n    return [\n      p(S),\n      p(_),\n      // actionMenuStyles,\n      u`\n        .dss-card-header {\n          display: flex;\n          justify-content: space-between;\n          align-items: center;\n          gap: var(--dss-spacing-lg);\n\t\t\t\t\twidth: 100%;\n        }\n\n        .dss-card-header-title {\n          flex: 1;\n        }\n\n        .dss-card-header-actions {\n          display: flex;\n          justify-content: space-between;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n        }\n\n        .dss-card-header-actions__flag {\n          color: var(--color-red-500);\n        }\n      `\n    ];\n  }\n  /* METHODS */\n  _propagateProperties() {\n    var d;\n    const e = (d = this.shadowRoot) == null ? void 0 : d.querySelectorAll(\"slot\");\n    e && e.forEach((c) => {\n      c.assignedElements().forEach((s) => {\n        this.deleted ? s.setAttribute(\"deleted\", \"true\") : s.removeAttribute(\"deleted\"), this.disabled ? s.setAttribute(\"disabled\", \"true\") : s.removeAttribute(\"disabled\");\n      });\n    });\n  }\n  /* LIT LIFECYCLE */\n  updated(e) {\n    super.updated(e), (e.has(\"deleted\") || e.has(\"disabled\")) && this._propagateProperties();\n  }\n  render() {\n    const e = {\n      deleted: this.deleted,\n      disabled: this.disabled\n    };\n    return a`\n      <div class=\"dss-card-header\">\n        <div class=\"dss-card-header-title ${g(e)}\">\n          <slot name=\"title\"></slot>\n        </div>\n        ${this.flag || this.hasMenu ? a`\n              <div class=\"dss-card-header-actions\">\n                ${this.flag ? a`<${h} icon=\"flag\" size=\"md\" fill class=\"dss-card-header-actions__flag\"></${h}>` : \"\"}\n                ${this.hasMenu ? a` <slot name=\"menu\"></slot> ` : a``}\n              </div>\n            ` : a``}\n      </div>\n    `;\n  }\n}\nl([\n  r(i)\n], o.prototype, \"flag\");\nl([\n  r(i)\n], o.prototype, \"hasMenu\");\nl([\n  r(i)\n], o.prototype, \"deleted\");\nl([\n  r(i)\n], o.prototype, \"disabled\");\nexport {\n  o as CardHeader\n};\n//# sourceMappingURL=card-header.js.map\n","import { LitElement as m, css as u, html as f } from \"lit\";\nimport { property as o } from \"lit/decorators.js\";\nimport { booleanType as l } from \"../../../utils/property-types.js\";\nvar h = Object.defineProperty, p = (d, e, r, i) => {\n  for (var s = void 0, t = d.length - 1, a; t >= 0; t--)\n    (a = d[t]) && (s = a(e, r, s) || s);\n  return s && h(e, r, s), s;\n};\nclass n extends m {\n  constructor() {\n    super(...arguments), this.deleted = !1, this.disabled = !1;\n  }\n  static get styles() {\n    return u`\n      :host {\n        display: grid;\n        grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));\n        gap: var(--dss-spacing-sm);\n      }\n    `;\n  }\n  _propagateProperties() {\n    var r;\n    const e = (r = this.shadowRoot) == null ? void 0 : r.querySelectorAll(\"slot\");\n    e && e.forEach((i) => {\n      i.assignedElements().forEach((t) => {\n        this.deleted ? t.setAttribute(\"deleted\", \"true\") : t.removeAttribute(\"deleted\"), this.disabled ? t.setAttribute(\"disabled\", \"true\") : t.removeAttribute(\"disabled\");\n      });\n    });\n  }\n  /* LIT LIFECYCLE */\n  updated(e) {\n    super.updated(e), (e.has(\"deleted\") || e.has(\"disabled\")) && this._propagateProperties();\n  }\n  render() {\n    return f` <slot></slot> `;\n  }\n}\np([\n  o(l)\n], n.prototype, \"deleted\");\np([\n  o(l)\n], n.prototype, \"disabled\");\nexport {\n  n as CardHighlights\n};\n//# sourceMappingURL=card-highlights.js.map\n","import { LitElement as p, unsafeCSS as a, css as m } from \"lit\";\nimport { property as e } from \"lit/decorators.js\";\nimport { classMap as u } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as f, literal as x, html as c } from \"lit/static-html.js\";\nimport _ from \"../../../foundations/icon/icon.style.css.js\";\nimport v from \"../../../shared/reset.style.css.js\";\nimport { booleanType as n } from \"../../../utils/property-types.js\";\nimport { getCustomElementSuffix as b } from \"../../../api/custom-element-scope.js\";\nvar y = Object.defineProperty, s = (d, t, o, S) => {\n  for (var i = void 0, l = d.length - 1, h; l >= 0; l--)\n    (h = d[l]) && (i = h(t, o, i) || i);\n  return i && y(t, o, i), i;\n};\nconst g = x`dss-icon${f(b())}`;\nclass r extends p {\n  constructor() {\n    super(...arguments), this.deleted = !1, this.disabled = !1, this.icon = \"\", this.title = \"Title\", this.titleText = \"Title\", this.text = \"Item\";\n  }\n  static get styles() {\n    return [\n      a(v),\n      a(_),\n      m`\n        .dss-card-highligth {\n\t\t\t\t\twidth: 100%;\n          background-color: var(--color-blue-50);\n          padding: var(--dss-spacing-xxs) var(--dss-spacing-xs);\n          border-radius: var(--dss-radius-sm);\n        }\n\n        .dss-card-highligth__title {\n          font-size: 14px;\n          line-height: 24px;\n          font-weight: var(--font-semibold);\n          color: var(--color-blue-700);\n        }\n\n        .dss-card-highligth__item {\n          display: flex;\n          align-items: center;\n          gap: var(--dss-spacing-xxs);\n          font-size: 14px;\n          line-height: 24px;\n          color: var(--color-blue-700);\n        }\n\n        .dss-card-highligth.deleted {\n          background-color: var(--color-red-50);\n        }\n\n        .dss-card-highligth.deleted .dss-card-highligth__title,\n        .dss-card-highligth.deleted .dss-card-highligth__item {\n          color: var(--color-red-700);\n        }\n\n        .dss-card-highligth.disabled {\n          background-color: var(--color-neutral-50);\n        }\n\n        .dss-card-highligth.disabled .dss-card-highligth__title,\n        .dss-card-highligth.disabled .dss-card-highligth__item {\n          color: var(--color-neutral-700);\n        }\n      `\n    ];\n  }\n  updated(t) {\n    super.updated(t), t.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"Title\" && (this.titleText = this.title);\n    });\n  }\n  render() {\n    const t = {\n      deleted: this.deleted,\n      disabled: this.disabled\n    };\n    return c`\n      <div class=\"dss-card-highligth ${u(t)}\">\n        <h5 class=\"dss-card-highligth__title\">${this.titleText}</h5>\n        <p class=\"dss-card-highligth__item\">\n          ${this.icon ? c`\n            <${g} size=\"sm\" icon=\"${this.icon}\"></${g}>\n            ` : \"\"}\n          ${this.text}\n        </p>\n      </div>\n    `;\n  }\n}\ns([\n  e(n)\n], r.prototype, \"deleted\");\ns([\n  e(n)\n], r.prototype, \"disabled\");\ns([\n  e({ type: String })\n], r.prototype, \"icon\");\ns([\n  e({ type: String })\n], r.prototype, \"title\");\ns([\n  e({ type: String })\n], r.prototype, \"titleText\");\ns([\n  e({ type: String })\n], r.prototype, \"text\");\nexport {\n  r as CardHighlightsItem\n};\n//# sourceMappingURL=card-highlights-item.js.map\n","import { LitElement as p, css as c, html as l } from \"lit\";\nimport { property as a } from \"lit/decorators.js\";\nvar m = Object.defineProperty, n = (r, s, i, u) => {\n  for (var t = void 0, e = r.length - 1, o; e >= 0; e--)\n    (o = r[e]) && (t = o(s, i, t) || t);\n  return t && m(s, i, t), t;\n};\nclass d extends p {\n  constructor() {\n    super(...arguments), this.source = \"\", this.alt = \"\";\n  }\n  static get styles() {\n    return [\n      c`\n        :host {\n          display: flex;\n          justify-content: center;\n          align-items: center;\n          max-height: 124px;\n          overflow: hidden;\n          border-radius: var(--dss-radius-sm);\n        }\n\n        img {\n          width: 100%;\n          max-width: 100%;\n          height: 100%;\n          object-fit: cover;\n          object-position: center;\n          border-radius: var(--dss-radius-sm);\n        }\n      `\n    ];\n  }\n  render() {\n    return l` <img src=\"${this.source}\" alt=\"${this.alt}\" /> `;\n  }\n}\nn([\n  a({ type: String })\n], d.prototype, \"source\");\nn([\n  a({ type: String })\n], d.prototype, \"alt\");\nexport {\n  d as CardImage\n};\n//# sourceMappingURL=card-image.js.map\n","import { LitElement as t, css as e, html as s } from \"lit\";\nclass i extends t {\n  static get styles() {\n    return e`\n      :host {\n        display: flex;\n        justify-content: flex-end;\n        align-items: center;\n        width: 100%;\n        gap: var(--dss-spacing-sm);\n        flex-wrap: wrap;\n        min-width: 150px;\n      }\n    `;\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    return s` <slot></slot> `;\n  }\n}\nexport {\n  i as CardInfo\n};\n//# sourceMappingURL=card-info.js.map\n","import { LitElement as l, unsafeCSS as m, css as d } from \"lit\";\nimport { property as e } from \"lit/decorators.js\";\nimport { classMap as h } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as u, literal as y, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as g } from \"../../../api/custom-element-scope.js\";\nimport v from \"../../../foundations/icon/icon.style.css.js\";\nimport { booleanType as x } from \"../../../utils/property-types.js\";\nvar S = Object.defineProperty, s = (o, i, c, $) => {\n  for (var t = void 0, r = o.length - 1, p; r >= 0; r--)\n    (p = o[r]) && (t = p(i, c, t) || t);\n  return t && S(i, c, t), t;\n};\nconst f = y`dss-icon${u(g())}`;\nclass n extends l {\n  constructor() {\n    super(...arguments), this.icon = \"add_box\", this.text = \"Info\", this.critic = !1;\n  }\n  static get styles() {\n    return [\n      m(v),\n      d`\n        :host {\n          display: inline-block;\n        }\n\n        .info {\n          display: flex;\n          align-items: center;\n          gap: var(--dss-spacing-tiny);\n          font-size: 12px;\n          line-height: 16px;\n          font-weight: var(--font-regular);\n        }\n\n        .info--critic {\n          color: var(--color-red-500);\n        }\n      `\n    ];\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    const i = {\n      \"info--critic\": this.critic\n    };\n    return a`\n      <div class=\"info ${h(i)}\">\n        ${this.icon ? a`\n           <${f} size=\"sm\" icon=\"${this.icon}\"></${f}>\n          ` : \"\"}\n        <span>${this.text}</span>\n      </div>\n    `;\n  }\n}\ns([\n  e({ type: String })\n], n.prototype, \"icon\");\ns([\n  e({ type: String })\n], n.prototype, \"text\");\ns([\n  e(x)\n], n.prototype, \"critic\");\nexport {\n  n as CardInfoItem\n};\n//# sourceMappingURL=card-info-item.js.map\n","import { LitElement as d, unsafeCSS as o, css as f } from \"lit\";\nimport { property as m } from \"lit/decorators.js\";\nimport { unsafeStatic as u, literal as c, html as y } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as b } from \"../../../api/custom-element-scope.js\";\nimport v from \"../../../components/icon-button/icon-button.style.css.js\";\nimport h from \"../../../foundations/icon/icon.style.css.js\";\nimport S from \"../../../shared/reset.style.css.js\";\nimport { booleanType as g } from \"../../../utils/property-types.js\";\nvar _ = Object.defineProperty, p = (e, s, i, C) => {\n  for (var t = void 0, r = e.length - 1, n; r >= 0; r--)\n    (n = e[r]) && (t = n(s, i, t) || t);\n  return t && _(s, i, t), t;\n};\nconst l = c`dss-icon-button${u(b())}`;\nclass a extends d {\n  constructor() {\n    super(...arguments), this.position = \"right\", this.disabled = !1;\n  }\n  static get styles() {\n    return [\n      o(S),\n      o(h),\n      o(v),\n      f`\n        :host {\n          display: block;\n        }\n      `\n    ];\n  }\n  render() {\n    return y`\n      <div class=\"dss-card-menu\">\n\t\t\t\t<${l}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tlabel=\"Menú\"\n\t\t\t\t\ticon=\"more_vert\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\thideTooltip\n\t\t\t\t></${l}>\n\t\t\t\t<slot></slot>\n      </div>\n    `;\n  }\n}\np([\n  m({ type: String })\n], a.prototype, \"position\");\np([\n  m(g)\n], a.prototype, \"disabled\");\nexport {\n  a as CardMenu\n};\n//# sourceMappingURL=card-menu.js.map\n","import { LitElement as h, unsafeCSS as p, css as m } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport { classMap as u } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as v, literal as b, html as i } from \"lit/static-html.js\";\nimport y from \"../../../foundations/icon/icon.style.css.js\";\nimport g from \"../../../shared/reset.style.css.js\";\nimport { booleanType as l } from \"../../../utils/property-types.js\";\nimport { getCustomElementSuffix as S } from \"../../../api/custom-element-scope.js\";\nvar k = Object.defineProperty, e = (a, o, n, x) => {\n  for (var t = void 0, d = a.length - 1, c; d >= 0; d--)\n    (c = a[d]) && (t = c(o, n, t) || t);\n  return t && k(o, n, t), t;\n};\nconst f = b`dss-icon${v(S())}`;\nclass r extends h {\n  constructor() {\n    super(...arguments), this.deleted = !1, this.disabled = !1, this.hasLink = !1, this.hasIcon = !1, this.linkHref = \"#\", this.icon = \"add_box\";\n  }\n  static get styles() {\n    return [\n      p(g),\n      p(y),\n      m`\n        :host {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tdisplay: block;\n        }\n        .dss-card-subtitle {\n          display: flex;\n          align-items: center;\n          font-size: 14px;\n          line-height: 24px;\n          font-weight: var(--font-semibold);\n          color: var(--color-neutral-900);\n          gap: var(--dss-spacing-xxs);\n        }\n\n        .dss-card-subtitle.deleted {\n          color: var(--color-red-500);\n        }\n\n        .dss-card-subtitle__link {\n          color: var(--color-primary-500);\n\n          &:visited {\n            color: var(--color-purple-700);\n          }\n\n          &:hover {\n            color: var(--color-primary-600);\n          }\n\n          &:active {\n            color: var(--color-primary-400);\n          }\n\n          &:focus-visible {\n            outline: var(--dss-border-width-md) solid var(--color-blue-200);\n          }\n        }\n      `\n    ];\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    const o = {\n      deleted: this.deleted,\n      disabled: this.disabled\n    };\n    return i`\n      <h4 class=\"dss-card-subtitle ${u(o)}\">\n        ${this.hasIcon ? i`\n          <${f} size=\"sm\" icon=\"${this.icon}\"></${f}>\n          ` : null}\n        ${this.hasLink ? i`\n              <a class=\"dss-card-subtitle__link\" href=\"${this.linkHref}\">\n                <slot></slot>\n              </a>\n            ` : i` <slot></slot> `}\n      </h4>\n    `;\n  }\n}\ne([\n  s(l)\n], r.prototype, \"deleted\");\ne([\n  s(l)\n], r.prototype, \"disabled\");\ne([\n  s(l)\n], r.prototype, \"hasLink\");\ne([\n  s(l)\n], r.prototype, \"hasIcon\");\ne([\n  s({ type: String })\n], r.prototype, \"linkHref\");\ne([\n  s({ type: String })\n], r.prototype, \"icon\");\nexport {\n  r as CardSubitle\n};\n//# sourceMappingURL=card-subtitle.js.map\n","import { LitElement as t, css as s, html as e } from \"lit\";\nclass i extends t {\n  static get styles() {\n    return s`\n      :host {\n        display: flex;\n        align-items: center;\n        width: 100%;\n        gap: var(--dss-spacing-xxs);\n        flex-wrap: wrap;\n        min-width: 150px;\n      }\n    `;\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    return e` <slot></slot> `;\n  }\n}\nexport {\n  i as CardTags\n};\n//# sourceMappingURL=card-tags.js.map\n","import { LitElement as n, unsafeCSS as c, css as f, html as m } from \"lit\";\nimport { property as d } from \"lit/decorators.js\";\nimport { classMap as h } from \"lit/directives/class-map.js\";\nimport u from \"../../../shared/reset.style.css.js\";\nimport { booleanType as a } from \"../../../utils/property-types.js\";\nvar b = Object.defineProperty, i = (r, t, o, v) => {\n  for (var e = void 0, s = r.length - 1, l; s >= 0; s--)\n    (l = r[s]) && (e = l(t, o, e) || e);\n  return e && b(t, o, e), e;\n};\nclass p extends n {\n  constructor() {\n    super(...arguments), this.deleted = !1, this.disabled = !1;\n  }\n  static get styles() {\n    return [\n      c(u),\n      f`\n        :host {\n          display: block;\n        }\n        .dss-card-title {\n          font-size: 18px;\n          line-height: 24px;\n          font-weight: var(--font-semibold);\n          color: var(--color-neutral-900);\n        }\n\n        .dss-card-title.deleted {\n          color: var(--color-red-500);\n        }\n      `\n    ];\n  }\n  /* LIT LIFECYCLE */\n  render() {\n    const t = {\n      deleted: this.deleted,\n      disabled: this.disabled\n    };\n    return m`\n      <h3 class=\"dss-card-title ${h(t)}\">\n        <slot></slot>\n      </h3>\n    `;\n  }\n}\ni([\n  d(a)\n], p.prototype, \"deleted\");\ni([\n  d(a)\n], p.prototype, \"disabled\");\nexport {\n  p as CardTitle\n};\n//# sourceMappingURL=card-title.js.map\n","const e = ':host{display:block}.dss-header{height:64px;display:flex;justify-content:space-between;align-items:center;gap:var(--dss-spacing-md);flex-shrink:0;background-color:var(--color-white);padding:var(--dss-spacing-xs) var(--dss-spacing-lg);box-shadow:var(--dss-elevation-sm);position:relative;z-index:301}.dss-header-left{display:flex;align-items:center;gap:var(--dss-spacing-md);position:unset}.dss-header-right{display:flex;justify-content:flex-end;align-items:center;gap:var(--dss-spacing-md);position:unset}.dss-header-brand{display:flex;align-items:center;gap:var(--dss-spacing-md)}.dss-header-title{display:flex;align-items:center;gap:var(--dss-spacing-md);font-family:var(--font-family);font-size:20px;font-style:normal;font-weight:700;line-height:30px;color:var(--color-neutral-900);max-width:360px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-header-title--full-width{max-width:100%}.dss-header-title__area{position:relative}.dss-header-title__area:after{position:absolute;content:\"\";height:var(--dss-spacing-md);width:var(--dss-border-width-sm);background-color:var(--color-neutral-900);top:50%;right:calc(var(--dss-spacing-xs) * -1);transform:translateY(-50%)}.dss-header-title__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-header-section{position:relative;height:48px;display:flex;align-items:center}.dss-header-divider{display:none;width:1px;height:40px;background-color:var(--color-neutral-100)}.dss-header-logo{height:24px}.dss-header-actions{display:flex;align-items:center;gap:var(--dss-spacing-xs)}';\nexport {\n  e as default\n};\n//# sourceMappingURL=header.style.css.js.map\n","const C = \"data:image/svg+xml,%3csvg%20width='199'%20height='60'%20viewBox='0%200%20199%2060'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.28848%2058.7078H0L20.5656%201.29666H26.8529L6.28848%2058.7078Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M50.3934%2060C42.9237%2060%2037.0929%2058.3045%2032.901%2054.9147C28.7091%2051.5237%2026.5824%2046.4764%2026.5235%2039.773H33.5424C33.7031%2049.1844%2039.3189%2053.8907%2050.3934%2053.8907C55.0719%2053.8907%2058.6617%2052.9753%2061.1605%2051.1469C63.6604%2049.3173%2064.9109%2046.6452%2064.9109%2043.1305C65.0184%2040.6063%2063.8499%2038.1977%2061.8031%2036.7184C59.7354%2035.1858%2056.1225%2033.8567%2050.9632%2032.7275L45.8779%2031.5972C40.0702%2030.2484%2035.7187%2028.301%2032.8201%2025.7548C29.9226%2023.2076%2028.4825%2019.6235%2028.501%2015.004C28.375%2010.7034%2030.3733%206.61658%2033.8452%204.07622C37.3599%201.3625%2042.1101%200.00566499%2048.0958%200.00566499C51.644%20-0.0590576%2055.1806%200.430991%2058.5785%201.45731C61.2044%202.21433%2063.6015%203.61392%2065.5524%205.52786C67.145%207.15517%2068.3932%209.08762%2069.2208%2011.2096C70.024%2013.3813%2070.4493%2015.6731%2070.4771%2017.9881H63.539C63.2189%2013.8967%2061.8886%2010.8987%2059.5493%208.9917C57.2089%207.08585%2053.3915%206.13351%2048.0958%206.13351C44.0576%206.13351%2040.952%206.9148%2038.7792%208.47624C36.6433%209.94867%2035.4113%2012.4116%2035.5095%2015.004C35.3732%2017.4958%2036.4029%2019.909%2038.2984%2021.5328C40.121%2023.0943%2043.6831%2024.4662%2048.9857%2025.6473L54.0722%2026.7788C60.4127%2028.1796%2064.9814%2030.1802%2067.7784%2032.7818C70.5753%2035.3823%2071.9703%2038.8381%2071.9645%2043.149C71.9645%2048.3615%2070.0587%2052.4737%2066.247%2055.4845C62.4341%2058.4941%2057.15%2060%2050.3934%2060'%20fill='%236AAAE4'/%3e%3cpath%20d='M91.7361%2054.1923C95.0242%2054.2443%2098.2234%2053.1301%20100.768%2051.0486C103.339%2049.0063%20104.629%2046.0753%20104.634%2042.2579V37.3413C102.999%2038.4115%20101.108%2039.0264%2099.1561%2039.1235L93.1092%2039.8446C89.6084%2040.2804%2087.1235%2041.0825%2085.6452%2042.2671C84.1393%2043.5096%2083.3152%2045.3946%2083.4273%2047.3432C83.328%2049.256%2084.1%2051.1098%2085.5297%2052.3846C86.9455%2053.5866%2089.0651%2054.1923%2091.7361%2054.1923V54.1923ZM113.21%2053.4445H115.544V58.6905C114.365%2058.8592%20113.173%2058.939%20111.982%2058.9309C107.624%2058.9309%20105.286%2056.9418%20104.973%2052.9637C102.086%2057.4411%2097.5761%2059.6787%2091.4437%2059.6787C86.8657%2059.6787%2083.2852%2058.6107%2080.6755%2056.4911C78.0658%2054.3714%2076.7655%2051.3687%2076.7655%2047.5039C76.7655%2039.9695%2081.8983%2035.6666%2092.1649%2034.5987L98.1321%2033.9572C102.484%2033.4706%20104.66%2031.5613%20104.66%2028.2304C104.66%2025.9143%20103.948%2024.2465%20102.523%2023.2248C101.098%2022.2089%2098.6926%2021.6935%2095.3086%2021.6935C91.7454%2021.6935%2089.0744%2022.2991%2087.5245%2023.4745C85.9746%2024.6499%2085.0396%2026.8227%2084.8524%2029.8867H78.3778C78.9118%2020.6949%2084.5531%2016.0996%2095.2993%2016.0996C105.727%2016.0996%20110.94%2020.132%20110.94%2028.1946V51.4496C110.948%2052.7938%20111.705%2053.4445%20113.21%2053.4445'%20fill='%236AAAE4'/%3e%3cpath%20d='M127.238%2058.7078H120.79V1.29666H127.238V58.7078Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M164.334%2040.6456V17.097H170.782V58.7078H164.654V52.4736C161.484%2057.277%20157.129%2059.6787%20151.589%2059.6787C146.969%2059.6787%20143.367%2058.4142%20140.785%2055.8854C138.202%2053.3555%20136.91%2049.7934%20136.91%2045.197V17.097H143.395V44.6006C143.395%2050.7816%20146.565%2053.8721%20152.907%2053.8721C155.929%2053.8825%20158.826%2052.6574%20160.923%2050.4788C163.197%2048.2286%20164.334%2044.9508%20164.334%2040.6456'%20fill='%236AAAE4'/%3e%3cpath%20d='M198.677%2017.097V22.7441H190.136V49.7577C190.136%2052.127%20191.721%2053.3197%20194.892%2053.3197H198.677V58.7264C196.896%2058.887%20195.365%2058.9668%20194.081%2058.9668C187.152%2058.9668%20183.687%2056.0901%20183.687%2050.3367V22.7268H176.829V17.097H183.687V5.34989H190.136V17.097H198.677'%20fill='%236AAAE4'/%3e%3c/svg%3e\";\nexport {\n  C as default\n};\n//# sourceMappingURL=salut-logotip-default.svg.js.map\n","import { classMap as e } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as a, literal as l, html as d } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as t } from \"../../api/custom-element-scope.js\";\nimport r from \"../../assets/img/salut-logotip-default.svg.js\";\nconst i = l`dss-button${a(t())}`, n = (s) => d`\n  <header\n    class=${e({\n  \"dss-header\": !0\n})}\n  >\n    <div class=\"dss-header-left\">\n      <div class=\"dss-header-brand\">\n        <img\n          class=\"dss-header-logo\"\n          src=\"${s.logoSrc ? s.logoSrc : r}\"\n          alt=\"Salut logotip\"\n        />\n        ${s.titleText ? d`\n              <div  class=${e({\n  \"dss-header-title\": !0,\n  \"dss-header-title--full-width\": s.titleFullWidth\n})}\n              >\n                ${s.area ? d`\n                      <span class=\"dss-header-title__area\"\n                        >${s.area}</span\n                      >\n                    ` : null}\n                <span class=\"dss-header-title__name\">${s.titleText}</span>\n              </div>\n            ` : null}\n      </div>\n      <div class=\"dss-header-divider\"></div>\n      <slot name=\"patient-menu\"></slot>\n      <div class=\"dss-header-divider\"></div>\n      <slot name=\"allergies\"></slot>\n      <div class=\"dss-header-divider\"></div>\n      <slot name=\"situation-marks\"></slot>\n    </div>\n    <div class=\"dss-header-right\">\n        \n      ${s.showEndVisit ? d`\n        <${i} \n          class=\"dss-header-end-visit\"\n          ?onlyIcon=\"${s._isBreakpointSm}\"\n          size=\"md\"\n          variant=\"secondary\"\n          icon=\"check\"\n          label=${s.endVisitLabel} \n          @click=${s._handleEndVisit}\n        >\n        </${i}>\n        ${s.hideEndVisitDivider ? null : d`<div class=\"dss-header-divider\" style=\"display: block;\"></div>`}\n      ` : null}\n      <div class=\"dss-header-actions\">\n        <slot name=\"notifications\"></slot>\n        <slot name=\"links\"></slot>\n      </div>\n      <div class=\"dss-header-divider\"></div>\n      <slot name=\"professional-menu\"></slot>\n    </div>\n  </header>\n`;\nexport {\n  n as headerTemplate\n};\n//# sourceMappingURL=header.template.js.map\n","import { LitElement as f, unsafeCSS as c } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport m from \"../../foundations/icon/icon.style.css.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport { booleanType as p } from \"../../utils/property-types.js\";\nimport v from \"./header.style.css.js\";\nimport { headerTemplate as _ } from \"./header.template.js\";\nvar E = Object.defineProperty, s = (h, e, t, d) => {\n  for (var o = void 0, n = h.length - 1, a; n >= 0; n--)\n    (a = h[n]) && (o = a(e, t, o) || o);\n  return o && E(e, t, o), o;\n};\nclass r extends f {\n  constructor() {\n    super(), this.title = \"\", this.titleText = \"\", this.titleFullWidth = !1, this.area = void 0, this.logoSrc = void 0, this.jcef = !1, this.showEndVisit = !1, this.hideEndVisitDivider = !1, this.endVisitLabel = \"Finalitzar visita\", this._isBreakpointSm = !1, this._resizeTimer = null, this._handleResizeBound = this._handleResize.bind(this);\n  }\n  static get styles() {\n    return [c(y), c(m), c(v)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), window.addEventListener(\"resize\", this._handleResizeBound), this._handleResize();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), window.removeEventListener(\"resize\", this._handleResizeBound);\n  }\n  _propagateProperties() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelectorAll(\"slot\");\n    e && e.forEach((d) => {\n      d.assignedElements().forEach((n) => {\n        this.jcef ? n.setAttribute(\"jcef\", \"true\") : n.removeAttribute(\"jcef\");\n      });\n    });\n  }\n  _updateSlotsDivider() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelectorAll(\"slot\");\n    e && e.forEach((d) => {\n      const n = d.assignedNodes({ flatten: !0 }).filter((l) => {\n        var u;\n        return !(l.nodeType === Node.TEXT_NODE && ((u = l == null ? void 0 : l.textContent) == null ? void 0 : u.trim()) === \"\");\n      }).length > 0, a = d.previousElementSibling;\n      a && a.classList.contains(\"dss-header-divider\") && (a.style.display = n ? \"block\" : \"none\");\n    });\n  }\n  _handleEndVisit() {\n    this.dispatchEvent(new CustomEvent(\"end-visit\", { bubbles: !0, composed: !0 }));\n  }\n  _handleResize() {\n    this._resizeTimer && clearTimeout(this._resizeTimer), this._resizeTimer = setTimeout(() => {\n      const e = window.innerWidth, t = this.jcef ? 1418 : 1439;\n      this._isBreakpointSm = e <= t, this.requestUpdate();\n    }, 250);\n  }\n  async firstUpdated() {\n    await this.updateComplete, this._propagateProperties(), this._updateSlotsDivider();\n  }\n  updated(e) {\n    super.updated(e), e.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"\" && (this.titleText = this.title);\n    });\n  }\n  render() {\n    return _(this);\n  }\n}\ns([\n  i({ type: String })\n], r.prototype, \"title\");\ns([\n  i({ type: String })\n], r.prototype, \"titleText\");\ns([\n  i(p)\n], r.prototype, \"titleFullWidth\");\ns([\n  i({ type: String })\n], r.prototype, \"area\");\ns([\n  i({ type: String })\n], r.prototype, \"logoSrc\");\ns([\n  i(p)\n], r.prototype, \"jcef\");\ns([\n  i(p)\n], r.prototype, \"showEndVisit\");\ns([\n  i(p)\n], r.prototype, \"hideEndVisitDivider\");\ns([\n  i({ type: String })\n], r.prototype, \"endVisitLabel\");\nexport {\n  r as Header\n};\n//# sourceMappingURL=header.js.map\n","const e = \".dss-predefined-texts-wrapper{display:flex;flex-direction:column;gap:var(--dss-spacing-md);flex:1;max-height:100%;overflow-y:auto;font-family:var(--font-family)}.dss-predefined-texts-header{display:flex;align-items:center;gap:var(--dss-spacing-md);padding-left:var(--dss-spacing-lg);padding-right:var(--dss-spacing-lg)}.dss-predefined-texts-searchbar{flex:1}.dss-predefined-texts-content{flex:1;max-height:100%;overflow-y:hidden;display:flex;gap:var(--dss-spacing-md);padding-left:var(--dss-spacing-lg);padding-right:var(--dss-spacing-lg);border-top:var(--dss-border-width-sm) solid var(--color-white)}.dss-predefined-texts-content--scrolled-top{border-top-color:var(--color-neutral-100)}.dss-predefined-texts-content--scrolled-bottom{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-predefined-texts-options{width:260px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--dss-spacing-xs);padding-top:var(--dss-spacing-xxs)}.dss-predefined-texts-value{flex:1;display:flex;flex-direction:column;padding-top:var(--dss-spacing-xxs);max-height:100%;overflow-y:auto;gap:var(--dss-spacing-xxs)}.dss-predefined-texts-value .preset-text{box-sizing:border-box;border:var(--dss-border-width-sm) solid var(--color-neutral-100);border-radius:var(--dss-radius-sm);background-color:var(--color-neutral-50);padding-top:var(--dss-spacing-xxs);padding-bottom:var(--dss-spacing-xxs);padding-left:var(--dss-spacing-sm);padding-right:var(--dss-spacing-md);color:var(--color-neutral-500);font-size:14px;font-weight:var(--font-regular)}.dss-predefined-texts-value .description{color:var(--color-neutral-700);font-size:12px;font-weight:var(--font-regular)}.dss-predefined-texts-content--scrolled-top .dss-predefined-texts-options,.dss-predefined-texts-content--scrolled-bottom .dss-predefined-texts-options{padding-right:var(--dss-spacing-tiny)}.dss-predefined-texts-no-results{font-size:14px;line-height:24px;color:var(--color-neutral-500);flex:1;display:flex;justify-content:center;align-items:center}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=preset-texts.style.css.js.map\n","import { nothing as x } from \"lit\";\nimport { repeat as u } from \"lit/directives/repeat.js\";\nimport { unsafeHTML as v } from \"lit/directives/unsafe-html.js\";\nimport { unsafeStatic as t, literal as l, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as d } from \"../../api/custom-element-scope.js\";\nimport { highlightText as g } from \"../../api/marker/marker.js\";\nimport _ from \"../../assets/img/feedback-empty.svg.js\";\nimport C from \"../../assets/img/feedback-not_found.svg.js\";\nconst o = l`dss-modal${t(d())}`, f = l`dss-content-switcher${t(d())}`, h = l`dss-tile${t(d())}`, r = l`dss-button${t(d())}`, n = l`dss-search-bar${t(d())}`, $ = l`dss-user-feedback${t(d())}`, L = (e) => {\n  const a = e._filterItems(), b = a.findIndex((i) => i.text === e._selectedText);\n  return s`\n    <${o} \n      modalTitle=\"${e.titleText}\" \n      ?open=${e.open}\n      hideCloseIcon\n      hasScroll\n      fullHeight\n      fullWidth\n      flexBody\n      removeBodyPadding\n      @onModalClosed=${e._onClose}>\n      \n      <div slot=\"body\" class=\"dss-predefined-texts-wrapper\">\n\n        <div class=\"dss-predefined-texts-header\">\n          <${f}\n          size=\"lg\"\n          .tabs=\"${e._categories}\"\n          @onChange=${e._handleTabChange}\n          ></${f}>\n\n          <${n}\n            class=\"dss-predefined-texts-searchbar\"\n            inputsize=\"md\"\n            innerFocus\n            @onSearchChange=${e._clearFilter}\n            >\n            <label slot=\"label\" for=\"searchbar1\" aria-hidden=\"false\">Search bar</label>\n            <input slot=\"input\" id=\"searchbar1\" type=\"text\" @input=${e._handleSearch} />\n          </${n}>\n\n        </div>\n\n        <div class=\"dss-predefined-texts-content\">\n\n          ${a.length > 0 ? s`\n            <div class=\"dss-predefined-texts-options\">\n              ${u(\n    a,\n    (i, c) => s`\n                  <${h} \n                    type=\"selector\" \n                    tiletitle=\"${i.title}\" \n                    description=\"${i.text}\"\n                    selected=${e._selectedIndex ? c === e._selectedIndex : c === b}\n                    marker=\"${e._filter}\"\n                    @onTileClick=${() => e._onSelectText(c, i.text)}\n                  >\n                  </${h} >\n              `\n  )}\n          \n            </div>\n\n            <div class=\"dss-predefined-texts-value\">\n              ${e._selectedText !== \"\" ? s`\n                  <div class=\"preset-text\">\n                    ${v(g(e._selectedText, e._filter))}\n                  </div>\n                  <div class=\"description\">${e.descriptionLabel}</div>\n                ` : x}\n            </div>\n            ` : s`\n            <div class=\"dss-predefined-texts-no-results\">\n\n              ${e._filter.length > 0 ? s`\n                  <${$} \n                    size=\"md\" \n                    imagesrc=\"${C}\"  \n                    title=\"${e.noResultsTitle}\" \n                    description=\"${e.noResultsLabel}\"\">\n                  </${$}>\n                ` : s`\n                  <${$} \n                    size=\"md\" \n                    imagesrc=\"${_}\" \n                    title=\"${e.noDataTitle}\" \n                    description=\"${e.noDataLabel}\"\">\n                  </${$}>\n                `}\n              \n            </div>\n            `}\n        </div>\n      </div>\n      <div class=\"dss-modal-footer\" slot=\"footer\">\n        <${r} \n          variant=\"secondary\" \n          size=\"lg\" \n          label=\"${e.buttonLabelCancel}\"\n          @onClick=${e._handleCancel}\n        ></${r}>\n        <${r} \n          size=\"lg\" \n          label=\"${e.buttonLabelSelect}\"\n          @onClick=${e._handleSelect}\n          ?disabled=${a.length === 0}\n        ></${r}>\n      </div>\n    </${o}>\n  `;\n};\nexport {\n  L as template\n};\n//# sourceMappingURL=preset-texts.template.js.map\n","import { LitElement as p, unsafeCSS as d } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport f from \"../../api/marker/marker.style.css.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport _ from \"../../shared/scrollbar.style.css.js\";\nimport { normalizeText as n } from \"../../utils/helpers.js\";\nimport { booleanType as m } from \"../../utils/property-types.js\";\nimport y from \"./preset-texts.style.css.js\";\nimport { template as x } from \"./preset-texts.template.js\";\nvar g = Object.defineProperty, r = (c, t, e, l) => {\n  for (var s = void 0, a = c.length - 1, h; a >= 0; a--)\n    (h = c[a]) && (s = h(t, e, s) || s);\n  return s && g(t, e, s), s;\n};\nclass o extends p {\n  constructor() {\n    super(...arguments), this.title = \"Textos predefinits\", this.titleText = \"Textos predefinits\", this.buttonLabelCancel = \"Cancel-lar\", this.buttonLabelSelect = \"Seleccionar text\", this.descriptionLabel = \"Des del centre de configuració pots editar o eliminar aquest text.\", this.items = [], this.open = !1, this.searchThreshold = 3, this.noResultsTitle = \"Sense resultats\", this.noResultsLabel = \"No s’ha trobat cap resultat per a la teva cerca. Prova amb un altre terme.\", this.noDataTitle = \"Sense dades\", this.noDataLabel = \"No s’ha trobat cap text predefinit.\", this._categories = [], this._currentCategory = \"\", this._selectedText = \"\", this._isFirstUpdate = !0, this._itemsBackup = [], this._filter = \"\", this._selectedIndex = void 0;\n  }\n  static get styles() {\n    return [d(u), d(_), d(f), d(y)];\n  }\n  _handleTabChange(t) {\n    this._currentCategory = t.detail, this._getDefaultSelectedText(this._currentCategory), this.requestUpdate(), setTimeout(() => {\n      this._handleScroll();\n    }, 500);\n  }\n  _handleCancel() {\n    this._onClose();\n  }\n  _handleSelect() {\n    this._onClose(), this._dispatchSelectText();\n  }\n  _onClose() {\n    this.open = !1, this.requestUpdate();\n    const t = new Event(\"onPredefinedTextsClosed\");\n    this.dispatchEvent(t);\n  }\n  _onSelectText(t, e) {\n    this._selectedText = e, this._selectedIndex = t, this.requestUpdate();\n  }\n  _dispatchSelectText() {\n    const t = {\n      detail: this._selectedText,\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onTextSelected\", t));\n  }\n  _setCategories() {\n    this._isFirstUpdate && (this._categories = [\n      { label: \"Propis\", selected: !0 },\n      { label: \"Generals\", selected: !1 }\n    ], this._currentCategory = this._categories[0].label, this._getDefaultSelectedText(this._currentCategory)), this.requestUpdate();\n  }\n  _getDefaultSelectedText(t) {\n    var l;\n    const e = this.items.filter((s) => s.category === t);\n    if (this._filter !== \"\") {\n      const s = e.find(\n        (a) => n(a.title).includes(this._filter) || n(a.text).includes(this._filter)\n      );\n      this._selectedText = s ? s.text : \"\";\n      return;\n    }\n    this._selectedText = ((l = e[0]) == null ? void 0 : l.text) || \"\";\n  }\n  _checkScroll() {\n    var l, s;\n    const t = (l = this.shadowRoot) == null ? void 0 : l.querySelector(\".dss-predefined-texts-content\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-predefined-texts-options\");\n    !t || !e || (e.scrollHeight > e.clientHeight && t.classList.add(\"dss-predefined-texts-content--scrolled-bottom\"), e.addEventListener(\"scroll\", this._handleScroll.bind(this)));\n  }\n  _handleScroll() {\n    var l, s;\n    const t = (l = this.shadowRoot) == null ? void 0 : l.querySelector(\".dss-predefined-texts-content\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-predefined-texts-options\");\n    !t || !e || (e.scrollHeight <= e.clientHeight && (t.classList.remove(\"dss-predefined-texts-content--scrolled-top\"), t.classList.remove(\"dss-predefined-texts-content--scrolled-bottom\")), e.scrollTop > 0 ? t.classList.add(\"dss-predefined-texts-content--scrolled-top\") : t.classList.remove(\"dss-predefined-texts-content--scrolled-top\"), e.scrollHeight - e.scrollTop !== e.clientHeight ? t.classList.add(\"dss-predefined-texts-content--scrolled-bottom\") : t.classList.remove(\"dss-predefined-texts-content--scrolled-bottom\"));\n  }\n  _handleSearch(t) {\n    const e = t.target;\n    e.value.length >= this.searchThreshold ? this._filter = n(e.value) : this._filter = \"\", this._getDefaultSelectedText(this._currentCategory), this._selectedIndex = void 0, this.requestUpdate();\n  }\n  _clearFilter() {\n    this._filter = \"\", this._getDefaultSelectedText(this._currentCategory), this._selectedIndex = void 0, this.requestUpdate();\n  }\n  _filterItems() {\n    return this.items.filter((t) => {\n      const e = t.category === this._currentCategory, l = !this._filter || n(t.title).includes(this._filter) || n(t.text).includes(this._filter);\n      return e && l;\n    });\n  }\n  async firstUpdated() {\n    await this.updateComplete, this.items && (this._itemsBackup = [...this.items], this._checkScroll(), this._setCategories(), this._isFirstUpdate = !1);\n  }\n  updated(t) {\n    super.updated(t), t.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"Textos predefinits\" && (this.titleText = this.title);\n    });\n  }\n  willUpdate(t) {\n    t.has(\"items\") && (this._itemsBackup = [...this.items], this._setCategories());\n  }\n  render() {\n    return x(this);\n  }\n}\nr([\n  i({ type: String })\n], o.prototype, \"title\");\nr([\n  i({ type: String })\n], o.prototype, \"titleText\");\nr([\n  i({ type: String })\n], o.prototype, \"buttonLabelCancel\");\nr([\n  i({ type: String })\n], o.prototype, \"buttonLabelSelect\");\nr([\n  i({ type: String })\n], o.prototype, \"descriptionLabel\");\nr([\n  i({ type: Array })\n], o.prototype, \"items\");\nr([\n  i(m)\n], o.prototype, \"open\");\nr([\n  i({ type: Number })\n], o.prototype, \"searchThreshold\");\nr([\n  i({ type: String })\n], o.prototype, \"noResultsTitle\");\nr([\n  i({ type: String })\n], o.prototype, \"noResultsLabel\");\nr([\n  i({ type: String })\n], o.prototype, \"noDataTitle\");\nr([\n  i({ type: String })\n], o.prototype, \"noDataLabel\");\nexport {\n  o as PresetTexts\n};\n//# sourceMappingURL=preset-texts.js.map\n","const e = ':host{--slide-delay: .24s;display:block;min-height:100%;height:100%;width:auto;overflow-y:hidden}.dss-sidemenu{height:100%;width:72px;display:flex;justify-content:flex-start;align-items:flex-start;flex-direction:column;background-color:var(--color-primary-700);padding:var(--dss-spacing-md);color:var(--color-white);gap:var(--dss-spacing-xs);overflow-y:auto;overflow-x:hidden;font-family:var(--font-family);transition:width var(--slide-delay) ease-in-out;transition-delay:0ms;will-change:width}.dss-sidemenu--expanded{width:252px;align-items:flex-start}.dss-sidemenu-top-menu{width:100%;min-height:84px;flex:1;overflow:hidden}.dss-sidemenu-bottom-menu{width:100%}.dss-sidemenu-create{width:40px;display:flex;justify-content:flex-start;transition:width var(--slide-delay) ease-in-out;transition-delay:0ms;will-change:width}.dss-sidemenu--expanded .dss-sidemenu-create{width:100%}.dss-sidemenu-create__button__content{display:flex;align-items:center;justify-content:center;position:relative}.dss-sidemenu-create__notification{position:absolute;top:-4px;right:-4px;display:block}.dss-sidemenu-create__notification--expanded{top:-8px;right:-8px}.dss-sidemenu-create__button{all:unset;cursor:pointer;box-sizing:border-box;height:40px;width:40px;display:flex;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xs);background-color:var(--color-white);color:var(--color-primary-700);border-radius:var(--dss-radius-sm);font-size:14px;line-height:24px;font-weight:var(--font-semibold);transition:background-color .3s ease-in}.dss-sidemenu-create__button:not(:disabled):hover{background-color:var(--color-primary-900);color:var(--color-white)}.dss-sidemenu-create__button:not(:disabled):active{background-color:var(--color-primary-800);color:var(--color-white)}.dss-sidemenu-create__button:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-sidemenu-create__button:disabled{color:var(--color-primary-700);background-color:var(--color-primary-200);cursor:not-allowed}.dss-sidemenu-toggle{all:unset;cursor:pointer;box-sizing:border-box;height:40px;width:40px;display:flex;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xs);background-color:var(--color-primary-700);border-radius:var(--dss-radius-sm);font-size:14px;line-height:24px;font-weight:var(--font-semibold);transition:background-color .3s ease-in-out;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-sidemenu-toggle:not(:disabled):hover{background-color:var(--color-primary-900)}.dss-sidemenu-toggle:not(:disabled):active{background-color:var(--color-primary-800)}.dss-sidemenu-toggle:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-sidemenu-toggle:disabled{color:var(--color-primary-200);cursor:not-allowed}.dss-sidemenu-toggle--hidden{display:none}.dss-sidemenu-toggle__icon{border-radius:100%;background-color:var(--color-white);color:var(--color-primary-700)}.dss-sidemenu--expanded button.dss-sidemenu-create__button,.dss-sidemenu--expanded button.dss-sidemenu-toggle{width:100%}.dss-sidemenu-toggle:disabled .dss-sidemenu-toggle__icon{background-color:var(--color-primary-200)}.dss-sidemenu-top-menu,.dss-sidemenu-bottom-menu{width:100%}.dss-sidemenu-bottom{width:100%;display:flex;flex-direction:inherit;align-items:inherit;justify-content:inherit;gap:var(--dss-spacing-xs)}.dss-sidemenu-bottom-menu{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:var(--dss-spacing-xxs)}.dss-sidemenu-divider{width:100%;height:var(--dss-border-width-sm);background-color:var(--color-white);margin-bottom:var(--dss-spacing-xxs);margin-left:auto;margin-right:auto}.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-divider{width:100%}.dss-sidemenu-toggle-axia{align-self:flex-start;display:flex;width:40px;margin:0;padding:0;box-sizing:border-box}.dss-sidemenu-axia{position:relative;box-sizing:border-box;width:40px;height:40px;margin:0 auto;cursor:pointer;border:0;background:#b651e4;background:linear-gradient(180deg,#60a8f0,#b651e4);border-radius:var(--dss-radius-sm);color:var(--color-white);z-index:1}.dss-sidemenu-axia:before{position:absolute;content:\"\";width:100%;height:100%;top:0;left:0;background-color:transparent;border-radius:var(--dss-radius-sm);transition:background-color .25s ease-in-out;z-index:2}.dss-sidemenu-axia:not(:disabled):hover:before{background-color:#0003}.dss-sidemenu-axia:not(:disabled):active:before{background-color:#0000001a}.dss-sidemenu-axia:not(:disabled):focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-sidemenu-axia:disabled{cursor:not-allowed}.dss-sidemenu-axia:disabled .dss-sidemenu-axia__content{opacity:.6}.dss-sidemenu-axia__content{position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;z-index:2;display:flex;justify-content:center;align-items:center;color:var(--color-white);font-size:14px;line-height:24px;font-weight:var(--font-semibold);padding:0 var(--dss-spacing-xs)}.dss-sidemenu-axia__logo{width:24px;margin-bottom:-6px}.dss-sidemenu-axia__label{opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-in-out,visibility 0s linear var(--animation-delay);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-axia__content{justify-content:flex-start}.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-axia__content{gap:var(--dss-spacing-xs)}.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-toggle-axia,.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-axia{width:100%}.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-axia__label{opacity:1;visibility:visible;transition:opacity var(--animation-delay) ease-in-out,visibility 0s}.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-create__tooltip,.dss-sidemenu.dss-sidemenu--expanded .dss-sidemenu-axia__tooltip{display:none}.dss-sidemenu-create__tooltip,.dss-sidemenu-axia__tooltip{opacity:0;visibility:hidden;transition:opacity .5s ease-in,visibility .5s ease-in}.dss-sidemenu-create:hover .dss-sidemenu-create__tooltip,.dss-sidemenu-toggle-axia:hover .dss-sidemenu-axia__tooltip{animation:show-tooltip 1s forwards}@keyframes show-tooltip{0%{opacity:0;visibility:hidden}99%{visibility:hidden}to{opacity:1;visibility:visible}}.dss-sidemenu-label-animation{opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-in-out,visibility 0s linear var(--animation-delay)}.dss-sidemenu-label-animation--expanded{opacity:1;visibility:visible;transition:opacity var(--animation-delay) ease-in-out,visibility 0s}';\nexport {\n  e as default\n};\n//# sourceMappingURL=side-menu.style.css.js.map\n","const e = \"data:image/svg+xml,%3csvg%20width='31'%20height='26'%20viewBox='0%200%2031%2026'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M26.6497%209.41228C28.4484%2011.2052%2028.4484%2014.1122%2026.6497%2015.9052C24.851%2017.6981%2021.9347%2017.6981%2020.136%2015.9052L12.7963%208.58881C10.9976%206.79585%2010.9976%203.8889%2012.7963%202.09594C14.595%200.302982%2017.5112%200.302981%2019.3099%202.09594L26.6497%209.41228Z'%20fill='%23F5F5F5'/%3e%3cg%20filter='url(%23filter0_d_7014_7076)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M15.6143%2012.1873C18.9735%208.7945%2022.6603%206.61142%2026.0308%208.7945L24.209%206.9781C23.0374%205.81024%2022.3346%205.10968%2020.2012%202.98307C20.0734%202.85565%2019.9535%202.73379%2019.8392%202.61762C19.3779%202.14859%2019.0077%201.77222%2018.5718%201.4961C18.4065%201.3897%2018.2576%201.30444%2018.1016%201.22758C17.649%201.00458%2017.1719%200.86347%2016.6729%200.792906C16.6035%200.783086%2016.364%200.749217%2015.9999%200.75135C15.164%200.72503%2013.8182%201.08049%2012.6888%202.09606C11.5593%203.11163%205.34902%209.41241%205.34902%209.41241C3.55033%2011.2054%203.55033%2014.1123%205.34902%2015.9053C7.14771%2017.6982%2010.064%2017.6982%2011.8627%2015.9053C14.9032%2012.8744%2013.8736%2013.9453%2015.6143%2012.1873Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d_7014_7076'%20x='0'%20y='0.75'%20width='30.0308'%20height='24.5'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='4'/%3e%3cfeGaussianBlur%20stdDeviation='2'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.25%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_7014_7076'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_7014_7076'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e\";\nexport {\n  e as default\n};\n//# sourceMappingURL=logo_axia.svg.js.map\n","import { nothing as l } from \"lit\";\nimport { classMap as b } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as t, literal as $, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nimport g from \"../../assets/img/logo_axia.svg.js\";\nconst c = $`dss-icon${t(u())}`, f = $`dss-tooltip${t(u())}`, v = $`dss-notification-badge${t(u())}`, o = $`dss-sidemenu-list${t(u())}`, n = $`dss-sidemenu-list-item${t(u())}`, M = $`dss-action-menu${t(u())}`, x = $`dss-action-menu-item${t(u())}`, h = (e, s, d) => a`\n    <${M} class=\"dss-sidemenu-nested-menu\">\n      ${e.map(\n  (i) => a`\n        <${x}\n          class=${b({\n    hidden: !!s\n  })}\n          lefticon=${i.icon}\n          label=${i.label}\n          notifications=${i.notifications}\n          ?disabled=${i.disabled}\n          ?hasNestedMenu=${!!i.nestedMenu}\n           @click=${(r) => d._handleMenuClick(r, i)}\n        >\n          ${i.nestedMenu ? h(i.nestedMenu, !1, d) : l}\n        </${x}>\n      `\n)}\n    </${M}>\n  `, k = (e) => {\n  if (!e._othersTopItem) return 0;\n  const s = e._othersTopItem.querySelectorAll(\"dss-action-menu-item\"), d = Array.from(s).filter(\n    (r) => {\n      var _;\n      return ((_ = r.parentElement) == null ? void 0 : _.parentElement) === e._othersTopItem && r.classList.contains(\"hidden\") === !1;\n    }\n  );\n  let i = 0;\n  for (const r of d) {\n    const _ = r.getAttribute(\"notifications\");\n    _ && (i += Number(_));\n  }\n  return i;\n}, y = (e) => a`\n  <aside\n    class=${b({\n  \"dss-sidemenu\": !0,\n  \"dss-sidemenu--expanded\": !!e._expanded\n})}\n  >\n    \n    ${e.topMenuItems.length > 0 ? a`\n        <div class=\"dss-sidemenu-extra-menu\">\n        <${o} ?expanded=${e._expanded}>\n          ${e.topMenuItems.map(\n  (s) => a`\n            <${n}\n              icon=${s.icon}\n              label=${s.label}\n              notifications=${s.notifications}\n              ?selected=${s.selected && !e._hasManualSelected}\n              ?disabled=${s.disabled}\n              ?hasNestedMenu=${!!s.nestedMenu}\n              ?expanded=${e._expanded}\n              @click=${(d) => e._handleMenuClick(d, s)}\n              @keydownEscape=${e._handleKeydownEscape}\n              >\n              ${s.nestedMenu ? h(s.nestedMenu, !1, e) : l}\n            </${n}>\n          `\n)}\n        </${o}>\n      </div>\n      <div class=\"dss-sidemenu-divider\"></div>\n      ` : l}\n\n    ${e.roleMenuItems.length > 0 ? a`\n        <div class=\"dss-sidemenu-top-menu\">\n          <${o} ?expanded=${e._expanded}>\n            ${e.roleMenuItems.map(\n  (s) => a`\n              <${n}\n                icon=${s.icon}\n                label=${s.label}\n                notifications=${s.notifications}\n                ?selected=${s.selected && !e._hasManualSelected}\n                ?disabled=${s.disabled}\n                ?hasNestedMenu=${!!s.nestedMenu}\n                ?expanded=${e._expanded}\n                @click=${(d) => e._handleMenuClick(d, s)}\n                @keydownEscape=${e._handleKeydownEscape}\n                >\n                ${s.nestedMenu ? h(s.nestedMenu, !1, e) : l}\n              </${n}>\n            `\n)}\n            <${n} \n              class=\"dss-sidemenu-top-menu__other-items hidden\"\n              expanded=${e._expanded}\n              icon=\"more_horiz\"\n              label=\"Altres\"\n              notifications=${k(e)}\n              @keydownEscape=${e._handleKeydownEscape}\n              hasNestedMenu>\n               ${h(e.roleMenuItems, !0, e)}\n            </${n}>\n          </${o}>\n        </div>\n    ` : l}\n\n    ${e._hideCreateMenu ? l : a`\n          <div\n            class=\"dss-sidemenu-create\"\n            @focusout=\"${e._handleCreateFocusout}\"\n          >\n            <button\n              class=\"dss-sidemenu-create__button\"\n              ?disabled=${e._createDisabled}\n              @click=\"${e._openCreateMenu}\"\n              @mouseenter=\"${e._handleCreateMouseEnter}\"\n              @mouseleave=\"${e._handleCreateMouseLeave}\"\n              @mousedown=\"${e._handleCreateMouseDown}\"\n              @mouseup=\"${e._handleCreateMouseUp}\"\n              aria-label=\"${e._createLabel}\"\n            >\n              <span class=\"dss-sidemenu-create__button__content\">\n                <${c} class=\"dss-sidemenu-create__icon\" size=\"md\" icon=\"add\"></${c}>\n                ${e._createNotifications && !e._showCreateDropdown && !e._createDisabled ? a`\n                      <${v}\n                        class=${b({\n  \"dss-sidemenu-create__notification\": !0,\n  \"dss-sidemenu-create__notification--expanded\": !0\n})}\n                        value=\"${e._createNotifications}\"\n                        state=\"error\"\n                        type=\"default\"\n                        borderWhite\n                      />\n                    ` : null}\n              </span>\n              <span class= class=${b({\n  \"dss-sidemenu-label-animation\": !0,\n  \"dss-sidemenu-label-animation--expanded\": e._expanded\n})}>\n                  ${e._createLabel}\n              </span>\n            </button>\n\n            <${f} position=\"right\" class=\"dss-sidemenu-create__tooltip\">\n              ${e._createLabel}\n            </${f}>\n\n            <${M}>\n              ${e.createMenuItems.map(\n  (s) => a`\n                <${x}\n                  label=${s.label}\n                  notifications=${s.notifications}\n                  @click=${(d) => e._handleMenuClick(d, s)}\n                  >\n                </${x}>\n              `\n)}\n            </${M}>\n          </div>\n        `}\n\n    <div class=\"dss-sidemenu-bottom\">\n      <div class=\"dss-sidemenu-bottom-menu\">\n        <div class=\"dss-sidemenu-divider\"></div>\n          ${e.globalMenuItems.length > 0 ? a`\n            <${o} ?expanded=${e._expanded}>\n              ${e.globalMenuItems.map(\n  (s) => a`\n                <${n}\n                  icon=${s.icon}\n                  label=${s.label}\n                  notifications=${s.notifications}\n                  ?selected=${s.selected && !e._hasManualSelected}\n                  ?disabled=${s.disabled}\n                  ?hasNestedMenu=${!!s.nestedMenu}\n                  ?expanded=${e._expanded}\n                  @click=${(d) => e._handleMenuClick(d, s)}\n                  @keydownEscape=${e._handleKeydownEscape}\n                  >\n                  ${s.nestedMenu ? h(s.nestedMenu, !1, e) : l}\n                </${n}>\n              `\n)}\n            </${o}>\n           ` : l}\n          ${e.axiaHidden ? l : a`\n            <div class=\"dss-sidemenu-toggle-axia\">\n              <button\n                class=\"dss-sidemenu-axia\"\n                ?disabled=${e.axiaDisabled}\n                @click=\"${e._handleAxia}\"\n              >\n                <span class=\"dss-sidemenu-axia__content\">\n                  <img src=\"${g}\" alt=\"Logo Axia\" class=\"dss-sidemenu-axia__logo\" />\n                  <span class=\"dss-sidemenu-axia__label\">${e.axiaLabel}</span>\n                </span>\n              </button>\n              <${f} position=\"right\" class=\"dss-sidemenu-axia__tooltip\">\n                ${e.axiaLabel}\n              </${f}>\n            </div>\n          `}\n        </div>\n     \n      \n      <button\n        class=\"dss-sidemenu-toggle\"\n        ?disabled=${e._toggleDisabled}\n        @click=\"${e._toggleSidemenu}\"\n        aria-label=\"${e._expanded ? \"col·lapsar menú\" : \"expandir menú\"}\"\n      >\n        ${e._expanded ? a`\n              <${c} class=\"dss-sidemenu-toggle__icon\" size=\"md\" icon=\"chevron_left\"></${c}>\n            ` : a`\n              <${c} class=\"dss-sidemenu-toggle__icon\" size=\"md\" icon=\"chevron_right\"></${c}>\n            `}\n        <span class= class=${b({\n  \"dss-sidemenu-label-animation\": !0,\n  \"dss-sidemenu-label-animation--expanded\": e._expanded\n})}>\n            ${e._toggleLabel}\n        </span>\n      </button>\n    </div>\n  </aside>\n`;\nexport {\n  y as sidemenuTemplate\n};\n//# sourceMappingURL=side-menu.template.js.map\n","import { LitElement as C, unsafeCSS as _ } from \"lit\";\nimport { property as r } from \"lit/decorators.js\";\nimport { getCustomElementSuffix as b } from \"../../api/custom-element-scope.js\";\nimport w from \"../../foundations/icon/icon.style.css.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport M from \"../../shared/scrollbar.style.css.js\";\nimport { booleanType as u } from \"../../utils/property-types.js\";\nimport S from \"./side-menu.style.css.js\";\nimport { sidemenuTemplate as L } from \"./side-menu.template.js\";\nvar x = Object.defineProperty, v = Object.getOwnPropertyDescriptor, a = (f, e, t, i) => {\n  for (var o = i > 1 ? void 0 : i ? v(e, t) : e, s = f.length - 1, n; s >= 0; s--)\n    (n = f[s]) && (o = (i ? n(e, t, o) : n(o)) || o);\n  return i && o && x(e, t, o), o;\n};\nclass d extends C {\n  constructor() {\n    super(), this.topMenuItems = [], this.createMenuItems = [], this.roleMenuItems = [], this.globalMenuItems = [], this.axiaHidden = !1, this.axiaDisabled = !1, this.axiaLabel = \"Axia\", this._hasManualSelected = !1, this._disabled = !1, this._expanded = !1, this._toggleDisabled = !1, this._toggleLabel = \"Tancar menú\", this._hideCreateMenu = !1, this._createDisabled = !1, this._createLabel = \"Crear\", this._createMenuPosition = \"top\", this._createNotifications = 0, this._showCreateDropdown = !1, this._scrollContainerClass = \"dss-layout-sidebar\", this._resizeTimer = null, this._othersTopItem = null, this._dropdown = null, this._isFirstUpdated = !0, this._handleDocumentClickBound = this._handleDocumentClick.bind(this), this._handleResizeBound = this._handleResize.bind(this), this._handleContainerScrollBound = this._handleContainerScroll.bind(this);\n  }\n  static get styles() {\n    return [_(y), _(M), _(w), _(S)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), window.addEventListener(\"resize\", this._handleResizeBound), document.addEventListener(\"mousedown\", this._handleDocumentClickBound), this._handleResize();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), window.removeEventListener(\"resize\", this._handleResizeBound), document.removeEventListener(\"mousedown\", this._handleDocumentClickBound), this._scrollContainer && this._scrollContainer.removeEventListener(\"scroll\", this._handleContainerScrollBound);\n  }\n  set expanded(e) {\n    const t = this._expanded;\n    this._expanded = e, this.requestUpdate(\"expanded\", t);\n  }\n  get expanded() {\n    return this._expanded;\n  }\n  set disabled(e) {\n    const t = this._disabled;\n    this._disabled = e, this.requestUpdate(\"disabled\", t);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set toggleLabel(e) {\n    const t = this._toggleLabel;\n    this._toggleLabel = e, this.requestUpdate(\"toggleLabel\", t);\n  }\n  get toggleLabel() {\n    return this._toggleLabel;\n  }\n  set createLabel(e) {\n    const t = this._createLabel;\n    this._createLabel = e, this.requestUpdate(\"createLabel\", t);\n  }\n  get createLabel() {\n    return this._createLabel;\n  }\n  set createMenuPosition(e) {\n    const t = this._createMenuPosition;\n    this._createMenuPosition = e, this.requestUpdate(\"createMenuPosition\", t);\n  }\n  get createMenuPosition() {\n    return this._createMenuPosition;\n  }\n  set createNotifications(e) {\n    const t = this._createNotifications;\n    this._createNotifications = e, this.requestUpdate(\"createNotifications\", t);\n  }\n  get createNotifications() {\n    return this._createNotifications;\n  }\n  set createDisabled(e) {\n    const t = this._createDisabled;\n    this._createDisabled = e, this.requestUpdate(\"createDisabled\", t);\n  }\n  get createDisabled() {\n    return this._createDisabled;\n  }\n  set hideCreateMenu(e) {\n    const t = this._hideCreateMenu;\n    this._hideCreateMenu = e, this.requestUpdate(\"hideCreateMenu\", t);\n  }\n  get hideCreateMenu() {\n    return this._hideCreateMenu;\n  }\n  set scrollContainerClass(e) {\n    const t = this._scrollContainerClass;\n    this._scrollContainerClass = e, this.requestUpdate(\"scrollContainerClass\", t);\n  }\n  get scrollContainerClass() {\n    return this._scrollContainerClass;\n  }\n  get _createNotification() {\n    var e;\n    return ((e = this.shadowRoot) == null ? void 0 : e.querySelector(\"dss-notification-badge\")) || void 0;\n  }\n  get _createSection() {\n    var t;\n    return (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-sidemenu-create\");\n  }\n  _propagateProperties() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelectorAll(\"slot\");\n    e && e.forEach((i) => {\n      i.assignedElements().forEach((s) => {\n        this._expanded ? s.setAttribute(\"expanded\", \"true\") : s.removeAttribute(\"expanded\"), this._scrollContainerClass ? s.setAttribute(\"scrollContainerClass\", this._scrollContainerClass) : s.removeAttribute(\"scrollContainerClass\");\n      });\n    });\n  }\n  _handleResize() {\n    this._resizeTimer && clearTimeout(this._resizeTimer), this._resizeTimer = setTimeout(() => {\n      this._checkWindowInnerwidth(), this._updateTopMenu(), this._getHiddenRoleNotifications();\n    }, 250);\n  }\n  _getHiddenRoleNotifications() {\n    if (!this._othersTopItem) return;\n    const e = this._othersTopItem.querySelectorAll(\"dss-action-menu-item\"), t = Array.from(e).filter(\n      (o) => {\n        var s;\n        return ((s = o.parentElement) == null ? void 0 : s.parentElement) === this._othersTopItem && o.classList.contains(\"hidden\") === !1;\n      }\n    );\n    let i = 0;\n    for (const o of t) {\n      const s = o.getAttribute(\"notifications\");\n      s && (i += Number(s));\n    }\n    this._othersTopItem.setAttribute(\"notifications\", i.toString());\n  }\n  _getTopMenuItems(e) {\n    const t = e.querySelectorAll(\"dss-sidemenu-list-item\"), i = Array.from(t).filter(\n      (l) => l.classList.contains(\"dss-sidemenu-top-menu__other-items\") === !1\n    ), s = e.querySelector(\".dss-sidemenu-top-menu__other-items\").querySelectorAll(\"dss-action-menu\");\n    if (!s) return;\n    const n = s[0], c = Array.from(n.querySelectorAll(\"dss-action-menu-item\")).filter(\n      (l) => l.parentElement === n\n    );\n    return { defaultItems: i, hiddenItems: c };\n  }\n  async _updateTopMenu() {\n    var n, c, l, m;\n    const e = (n = this.shadowRoot) == null ? void 0 : n.querySelector(\".dss-sidemenu-top-menu\");\n    if (!e) return;\n    const t = this._getTopMenuItems(e);\n    if (!t) return;\n    const i = 40;\n    let o = 0, s = 0;\n    for (const [p, h] of t.defaultItems.entries()) {\n      if (o += i, p === 0) {\n        h.classList.remove(\"hidden\");\n        continue;\n      }\n      o <= e.clientHeight ? h.classList.remove(\"hidden\") : (h.classList.add(\"hidden\"), s += 1), o += 4;\n    }\n    if (this._othersTopItem = (c = this.shadowRoot) == null ? void 0 : c.querySelector(\".dss-sidemenu-top-menu__other-items\"), s > 0) {\n      if ((l = this._othersTopItem) == null || l.classList.remove(\"hidden\"), e.scrollHeight > e.clientHeight) {\n        const p = t.defaultItems.filter((g) => !g.classList.contains(\"hidden\")), h = p[p.length - 1];\n        h !== t.defaultItems[0] && (h.classList.add(\"hidden\"), s += 1);\n      }\n      t.hiddenItems && (t.hiddenItems.forEach((h) => h.classList.add(\"hidden\")), t.hiddenItems.slice(-s).forEach((h) => h.classList.remove(\"hidden\")));\n    } else\n      (m = this._othersTopItem) == null || m.classList.add(\"hidden\");\n  }\n  _checkWindowInnerwidth() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-sidemenu-toggle\");\n    window.innerWidth < 1024 ? (this.removeAttribute(\"expanded\"), this._toggleDisabled = !0, e.disabled = !0, e.classList.add(\"dss-sidemenu-toggle--hidden\")) : (this._toggleDisabled = !1, e.disabled = !1, e.classList.remove(\"dss-sidemenu-toggle--hidden\"));\n  }\n  _clickedOutsideCreateMenu(e, t) {\n    t.composedPath().includes(e) || this._closeCreateDropdown();\n  }\n  _closeCreateDropdown() {\n    this._showCreateDropdown && (this._showCreateDropdown = !1, this._toggleCreateMenuTooltip(), this.requestUpdate());\n  }\n  _handleKeydownEscape(e) {\n    var l;\n    const i = (l = e.detail.shadowRoot) == null ? void 0 : l.querySelector(\"slot\");\n    if (!i) return;\n    const s = `dss-action-menu${b()}`, c = i.assignedElements({ flatten: !0 }).find((m) => m.tagName.toLowerCase() === s);\n    c && c.classList.contains(\"visible\") && c._closeMenu();\n  }\n  _handleDocumentClick(e) {\n    this._createSection && this._clickedOutsideCreateMenu(this._createSection, e);\n  }\n  _openCreateMenu() {\n    this._showCreateDropdown = !0, this._toggleCreateMenuTooltip(), this.requestUpdate();\n  }\n  _toggleCreateMenuTooltip() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-sidemenu-create__tooltip\");\n    this._showCreateDropdown ? e == null || e.classList.add(\"force-hidden\") : e == null || e.classList.remove(\"force-hidden\");\n  }\n  _toggleSidemenu() {\n    this._expanded ? this.removeAttribute(\"expanded\") : this.setAttribute(\"expanded\", \"true\");\n  }\n  _handleCreateMouseEnter() {\n    this._createNotification && this._createNotification.setAttribute(\"isHover\", \"true\");\n  }\n  _handleCreateMouseLeave() {\n    this._createNotification && this._createNotification.removeAttribute(\"isHover\");\n  }\n  _handleCreateMouseDown() {\n    this._createNotification && this._createNotification.setAttribute(\"isActive\", \"true\");\n  }\n  _handleCreateFocusout(e) {\n    if (this._showCreateDropdown) {\n      const t = e.relatedTarget;\n      t === null && this._closeCreateDropdown(), t && !this._createSection.contains(t) && t.tagName !== \"DSS-ACTION-MENU-ITEM\" && this._closeCreateDropdown();\n    }\n  }\n  _handleCreateMouseUp() {\n    this._createNotification && this._createNotification.removeAttribute(\"isActive\");\n  }\n  _handleMenuClick(e, t) {\n    if (t.nestedMenu || t.disabled) return;\n    t.external || this._selectSidenenuItem(e);\n    const i = e.composedPath(), o = i.some((l) => l instanceof HTMLElement && l.classList.contains(\"dss-sidemenu-top-menu\")), s = i.some(\n      (l) => l instanceof HTMLElement && l.classList.contains(\"dss-sidemenu-bottom-menu\")\n    );\n    let n = \"\";\n    o ? n = \"role\" : s ? n = \"global\" : n = \"create\";\n    const c = {\n      detail: {\n        menu: n,\n        label: t.label,\n        item: t\n      },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onSidemenuClick\", c));\n  }\n  _selectSidenenuItem(e) {\n    var s;\n    const t = (s = this.shadowRoot) == null ? void 0 : s.querySelectorAll('dss-sidemenu-list-item[selected=\"true\"]');\n    t == null || t.forEach((n) => {\n      n.removeAttribute(\"selected\");\n    });\n    const o = e.currentTarget.closest(\"dss-sidemenu-list-item\");\n    o && o.setAttribute(\"selected\", \"true\"), this._hasManualSelected = !0, this.requestUpdate();\n  }\n  get _scrollContainer() {\n    return document.querySelector(`.${this._scrollContainerClass}`);\n  }\n  _getCreateDropdownFixedPosition() {\n    var i;\n    const e = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-sidemenu-create\");\n    if (!e) return;\n    const t = e.getBoundingClientRect();\n    this._dropdown && (this._dropdown.style.left = `${t.right + 8}px`, this._dropdown.classList.contains(\"dss-sidemenu-create__dropdown--top\") ? this._dropdown.style.top = `${t.top}px` : this._dropdown.style.top = `${t.bottom - this._dropdown.offsetHeight}px`);\n  }\n  _handleContainerScroll() {\n    this._getCreateDropdownFixedPosition();\n  }\n  _handleAxia() {\n    const e = {\n      detail: !0,\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"onToggleAxia\", e));\n  }\n  async firstUpdated() {\n    var t, i;\n    await this.updateComplete, this._propagateProperties();\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-sidemenu-create__dropdown\");\n    e && (this._dropdown = e, this._getCreateDropdownFixedPosition()), this._scrollContainer && this._scrollContainer.addEventListener(\"scroll\", this._handleContainerScrollBound), this._othersTopItem = (i = this.shadowRoot) == null ? void 0 : i.querySelector(\".dss-sidemenu-top-menu__other-items\"), this._expanded && this.requestUpdate(), this._isFirstUpdated = !1;\n  }\n  updated(e) {\n    super.updated(e), (e.has(\"expanded\") || e.has(\"disabled\")) && (this._propagateProperties(), this._getCreateDropdownFixedPosition()), this._isFirstUpdated || requestAnimationFrame(() => this._updateTopMenu());\n  }\n  render() {\n    return L(this);\n  }\n}\na([\n  r({ type: Array })\n], d.prototype, \"topMenuItems\", 2);\na([\n  r({ type: Array })\n], d.prototype, \"createMenuItems\", 2);\na([\n  r({ type: Array })\n], d.prototype, \"roleMenuItems\", 2);\na([\n  r({ type: Array })\n], d.prototype, \"globalMenuItems\", 2);\na([\n  r(u)\n], d.prototype, \"axiaHidden\", 2);\na([\n  r(u)\n], d.prototype, \"axiaDisabled\", 2);\na([\n  r({ type: String })\n], d.prototype, \"axiaLabel\", 2);\na([\n  r(u)\n], d.prototype, \"expanded\", 1);\na([\n  r(u)\n], d.prototype, \"disabled\", 1);\na([\n  r({ type: String })\n], d.prototype, \"toggleLabel\", 1);\na([\n  r({ type: String })\n], d.prototype, \"createLabel\", 1);\na([\n  r({ type: String })\n], d.prototype, \"createMenuPosition\", 1);\na([\n  r({ type: Number })\n], d.prototype, \"createNotifications\", 1);\na([\n  r(u)\n], d.prototype, \"createDisabled\", 1);\na([\n  r(u)\n], d.prototype, \"hideCreateMenu\", 1);\na([\n  r({ type: String })\n], d.prototype, \"scrollContainerClass\", 1);\nexport {\n  d as Sidemenu_\n};\n//# sourceMappingURL=side-menu.js.map\n","const i = \":host{--slide-delay: .24s;--collapsed-size: 80px;--expanded-size: 298px;--title-delay: .4s;--title-fade: .12s;display:block;min-width:var(--collapsed-size);width:-moz-fit-content;width:fit-content;height:100%;box-sizing:border-box;overflow:hidden}.dss-sidebar{height:100%;display:flex;flex-direction:column;box-sizing:border-box;min-width:var(--collapsed-size);width:var(--collapsed-size);transition:width var(--slide-delay) ease-in-out;transition-delay:0ms;will-change:width;padding:var(--dss-spacing-lg)}.dss-sidebar--expanded{width:var(--expanded-size);transition-delay:var(--slide-delay)}.dss-sidebar--expanded .dss-sidebar-header__title,.dss-sidebar--expanded .dss-sidebar-content{opacity:1;visibility:visible;transition-delay:var(--slide-delay)}.dss-sidebar--expanded .dss-sidebar-header__title{transition-delay:var(--title-delay),var(--title-delay)}.dss-sidebar--left{border-right:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-sidebar--right{border-left:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-sidebar--right .dss-sidebar-header{flex-direction:row-reverse}.dss-sidebar-header{display:flex;align-items:flex-start;box-sizing:border-box;padding:0;gap:var(--dss-spacing-xs)}.dss-sidebar-header__toggle{display:flex;align-items:center}.dss-sidebar-header__title{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;text-overflow:ellipsis;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--title-fade) ease-in-out,visibility 0ms linear var(--title-fade);transition-delay:0ms,0ms}.dss-sidebar-content{flex:1;opacity:0;visibility:hidden;transition:opacity var(--slide-delay) ease-in-out,visibility ease-in-out var(--slide-delay);padding:var(--dss-spacing-sm)}.dss-sidebar-tooltip{display:none}.dss-sidebar-tooltip--visible{display:block}\";\nexport {\n  i as default\n};\n//# sourceMappingURL=sidebar.style.css.js.map\n","import { classMap as a } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as e, literal as d, html as o } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as i } from \"../../api/custom-element-scope.js\";\nconst t = d`dss-icon-button${e(i())}`, l = d`dss-typography${e(i())}`, r = d`dss-tooltip${e(i())}`, b = (s) => o`\n\t<div class=${a({\n  \"dss-sidebar\": !0,\n  \"dss-sidebar--expanded\": s.expanded,\n  [`dss-sidebar--${s.placement}`]: !!s.placement\n})}>\n\t\t<div class=\"dss-sidebar-header\">\n\t\t\t<div class=\"dss-sidebar-header__toggle\">\n\t\t\t\t<${t}\n\t\t\t\t\ticon=${s.expanded ? s._iconToggleExpanded : s._iconToggleCollapsed}\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\tlabel=\"${s.expanded ? \"col·lapsar sidebar\" : \"expandir sidebar\"}\"\n\t\t\t\t\thideTooltip\n\t\t\t\t\t@click=${s._toggle}\n\t\t\t\t></${t}>\n\t\t\t</div>\n\t\t\t<div class=\"dss-sidebar-header__title\" @mouseenter=${s._checkTitleTruncated}>\n\t\t\t\t<${l} variant=\"headline-4\">\n\t\t\t\t\t${s.titleText}\n\t\t\t\t\t<${r} \n\t\t\t\t\t\tclass=\"${a({\n  \"dss-sidebar-tooltip\": !0,\n  \"dss-sidebar-tooltip--visible\": s._isTruncated\n})}\"\n\t\t\t\t\t\t?tooltipFixed=${s.tooltipFixed}\n\t\t\t\t\t\t?forceViewport=${s.forceViewport}\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${s.titleText}\n\t\t\t\t\t</${r}>\n\t\t\t\t</${l}>\n\t\t\t\t\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"dss-sidebar-content\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n`;\nexport {\n  b as template\n};\n//# sourceMappingURL=sidebar.template.js.map\n","import { LitElement as h, unsafeCSS as d } from \"lit\";\nimport { property as r, state as p } from \"lit/decorators.js\";\nimport T from \"../../shared/reset.style.css.js\";\nimport { booleanConverter as f, booleanType as c } from \"../../utils/property-types.js\";\nimport u from \"./sidebar.style.css.js\";\nimport { template as m } from \"./sidebar.template.js\";\nvar y = Object.defineProperty, t = (l, i, o, g) => {\n  for (var s = void 0, n = l.length - 1, a; n >= 0; n--)\n    (a = l[n]) && (s = a(i, o, s) || s);\n  return s && y(i, o, s), s;\n};\nclass e extends h {\n  constructor() {\n    super(...arguments), this.titleText = void 0, this.expanded = !1, this.placement = \"left\", this.iconToggleRight = \"keyboard_arrow_right\", this.iconToggleLeft = \"keyboard_arrow_left\", this.tooltipFixed = !1, this.forceViewport = !1, this._iconToggleExpanded = this.iconToggleLeft, this._iconToggleCollapsed = this.iconToggleRight, this._isTruncated = !1;\n  }\n  static get styles() {\n    return [d(T), d(u)];\n  }\n  _toggle() {\n    this.expanded = !this.expanded, this.dispatchEvent(\n      new CustomEvent(\"toggle\", {\n        detail: { expanded: this.expanded },\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  _checkTitleTruncated(i) {\n    if (!i || this.prevTitleText === this.titleText) return;\n    const o = i.currentTarget;\n    if (!o) return;\n    const g = o.scrollHeight > o.clientHeight || o.scrollWidth > o.clientWidth;\n    this._isTruncated = g, this.prevTitleText = this.titleText;\n  }\n  updated(i) {\n    i.has(\"placement\") && (this.placement === \"right\" ? (this._iconToggleExpanded = this.iconToggleRight, this._iconToggleCollapsed = this.iconToggleLeft) : (this._iconToggleExpanded = this.iconToggleLeft, this._iconToggleCollapsed = this.iconToggleRight));\n  }\n  render() {\n    return m(this);\n  }\n}\nt([\n  r({ type: String })\n], e.prototype, \"titleText\");\nt([\n  r({ converter: f, reflect: !0 })\n], e.prototype, \"expanded\");\nt([\n  r({ type: String })\n], e.prototype, \"placement\");\nt([\n  r({ type: String })\n], e.prototype, \"iconToggleRight\");\nt([\n  r({ type: String })\n], e.prototype, \"iconToggleLeft\");\nt([\n  r(c)\n], e.prototype, \"tooltipFixed\");\nt([\n  r(c)\n], e.prototype, \"forceViewport\");\nt([\n  p()\n], e.prototype, \"_iconToggleExpanded\");\nt([\n  p()\n], e.prototype, \"_iconToggleCollapsed\");\nt([\n  p()\n], e.prototype, \"_isTruncated\");\nexport {\n  e as Sidebar\n};\n//# sourceMappingURL=sidebar.js.map\n","const e = \":host{display:block}:host(.scrollable){height:100%;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.dss-widget--box{border:var(--dss-border-width-sm) solid var(--color-neutral-100);border-radius:var(--dss-radius-sm);background-color:var(--color-white)}.dss-widget--inner .dss-widget-header{margin:0;padding-top:0}.dss-widget--inner .dss-widget-body{padding:0}.dss-widget--scroll{flex:1 1 auto;min-height:0;height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.dss-widget--scroll .dss-widget-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.dss-widget-header{display:flex;height:48px;min-height:48px;margin:0 var(--dss-spacing-sm);gap:var(--dss-spacing-xs);align-items:center;border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-100);box-sizing:border-box}.dss-widget--folded{height:48px}.dss-widget--folded .dss-widget-header{border-bottom:none}.dss-widget-header__info{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center}.dss-widget-header__action{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}.dss-widget-title{display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs);overflow:hidden}.dss-widget-title__icon{box-sizing:border-box;width:24px;height:24px;display:flex;justify-content:center;align-items:center;background-color:var(--color-primary-50);border-radius:var(--dss-radius-xs);padding:var(--dss-spacing-xxs)}.dss-widget-title__checkbox{display:flex;justify-content:flex-start;align-items:center;gap:var(--dss-spacing-xs);font-size:14px}.dss-widget-title__text{color:var(--color-neutral-900);font-size:16px;font-weight:var(--font-semibold);line-height:24px;max-height:24px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dss-widget-results{margin-right:var(--dss-spacing-sm);font-weight:var(--font-semibold)}.dss-widget-header__secondary-action{margin-right:var(--dss-spacing-sm);padding-right:var(--dss-spacing-xs);border-right:var(--dss-border-width-sm) solid var(--color-neutral-400)}.dss-widget-header__divider{display:block;height:24px;width:2px;background-color:var(--color-neutral-100)}.dss-widget-widget__actions{display:flex;gap:var(--dss-spacing-xs);margin-right:var(--dss-spacing-xs)}.dss-widget-header__config,.dss-widget-header__config-info{display:flex;align-items:center;gap:var(--dss-spacing-xs)}.dss-widget-header__config-actions{display:flex;align-items:center;gap:var(--dss-spacing-xs);min-height:32px}.dss-widget-title__text .title-tooltip{display:none;white-space:wrap}.dss-widget-title__text[data-truncated=true] .title-tooltip{display:block}.dss-widget-title__text.md{font-size:16px}.dss-widget-body{padding:var(--dss-spacing-sm);padding-top:0}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=widget.style.css.js.map\n","import { nothing as t } from \"lit\";\nimport { classMap as v } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as d, literal as a, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as e } from \"../../api/custom-element-scope.js\";\nconst l = a`dss-icon-button${d(e())}`, $ = a`dss-badge${d(e())}`, o = a`dss-icon-badge${d(e())}`, f = a`dss-notification-badge${d(e())}`, g = a`dss-decorative-icon${d(e())}`, r = a`dss-tooltip${d(e())}`, h = a`dss-typography${d(e())}`, T = (i) => {\n  const u = {\n    \"dss-widget\": !0,\n    [`dss-widget--${i.variant}`]: !!i.variant,\n    \"dss-widget--scroll\": i.hasScroll,\n    \"dss-widget--folded\": i.folded\n  };\n  return s`\n  <div class=\"${v(u)}\">\n    <div class=\"dss-widget-header\">\n      <div class=\"dss-widget-header__info\">\n        <div class=\"dss-widget-title\">\n          ${i.icon ? s`\n                <${g} icon=${i.icon} state=${i.iconStatus} size=\"sm\"></${g}>\n            ` : t}\n          <div\n            class=\"dss-widget-title__text\" \n            @mouseenter=${i.checkTextTruncate}>\n            ${i.titleText}\n            <${r} \n              tooltipPosition=\"${i.tooltipPosition}\" \n              ?tooltipFixed=\"${i.tooltipFixed}\"\n              ?forceViewport=\"${i.forceViewport}\"\n              class=\"title-tooltip\" aria-hidden=\"true\">\n              ${i.titleText}\n            </${r}>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"dss-widget-header__config\">\n          <div class=\"dss-widget-header__config-info\">\n            ${i.helpText ? s`<${h} variant=\"body-3\">${i.helpText}</${h}>` : null}\n            ${i.results && i.resultsLabel === \"\" ? s`\n                <${$}\n                  size=\"md\"\n                  state=\"${i.resultsState}\"\n                  outlined\n                  hideIcon\n                  text=\"${i.results}\"\n                ></${$}>\n              ` : i.results && i.resultsLabel !== \"\" ? s`\n                <${$}\n                  size=\"md\"\n                  state=\"${i.resultsState}\"\n                  outlined\n                  hideIcon\n                  text=\"${i.results} ${i.resultsLabel}\"\n                ></${$}>\n              ` : t}\n  \n            ${i.info ? s`\n                <${o}  size=\"md\" state=\"${i.infoBadgeState}\" icon=\"${i.infoBadgeIcon}\" ?outlined=\"${i.infoBadgeOutlined}\">\n                  <${r} \n                    ?forceViewport=\"${i.forceViewport}\" \n                    ?tooltipFixed=\"${i.tooltipFixed}\" \n                    slot=\"tooltip\">\n                    <span>${i.info}</span>\n                  </${r} >\n                </${o} >\n              ` : t}\n\n            ${i.notifications ? s`\n                <${f}\n                  state=\"${i.notificationsState}\"\n                  value=\"${i.notifications}\"\n                >\n                </${f}>\n              ` : t}\n          </div>\n\n          ${(i.helpText || i.results || i.notifications || i.info) && (i.hasAction || i.hasNext || i.hasClose) ? s`\n              <span class=\"dss-widget-header__divider\"></span>\n            ` : t}\n\n          <div class=\"dss-widget-header__config-actions\">\n              ${i.hasAction ? s`\n                  <${l}\n                    size=\"md\"\n                    icon=\"${i.actionIcon}\"\n                    label=\"${i.actionLabel}\"\n                    variant=\"${i.actionVariant}\"\n                    ?fill=${i.actionFill}\n                    ?disabled=${i.actionDisabled}\n                    ?tooltipFixed=${i.tooltipFixed}\n                    ?forceViewport=\"${i.forceViewport}\"\n                    tooltipPosition=\"${i.tooltipPosition}\"\n                    ?hideTooltip=\"${i.hideTooltip}\"\n                    @onClick=${i.handleAction}\n                  ></${l}>\n                ` : t}\n\n            ${i.hasNext ? s`\n                  <${l}\n                    size=\"md\"\n                    variant=\"primary\"\n                    label=\"Següent\"\n                    icon=\"arrow_forward\"\n                    hideTooltip\n                    @onClick=\"${i.handleNext}\"\n                  >\n                  </${l}>\n                ` : t}\n            ${i.hasClose ? s`\n                  <${l}\n                    size=\"md\"\n                    variant=\"default\"\n                    icon=\"close\"\n                    label=\"Tancar\"\n                    hideTooltip\n                    @onClick=\"${i.handleClose}\"\n                  >\n                  </${l}>\n                ` : t}\n          </div>\n      </div>\n    </div>\n    ${i.folded ? t : s`\n      <div class=\"dss-widget-body\">\n        <slot></slot> \n      </div>\n      `}\n  </div>\n  `;\n};\nexport {\n  T as template\n};\n//# sourceMappingURL=widget.template.js.map\n","import { LitElement as c, unsafeCSS as l } from \"lit\";\nimport { property as t } from \"lit/decorators.js\";\nimport d from \"../../shared/reset.style.css.js\";\nimport f from \"../../shared/scrollbar.style.css.js\";\nimport { booleanType as o } from \"../../utils/property-types.js\";\nimport u from \"./widget.style.css.js\";\nimport { template as S } from \"./widget.template.js\";\nvar g = Object.defineProperty, e = (n, s, r, h) => {\n  for (var p = void 0, a = n.length - 1, y; a >= 0; a--)\n    (y = n[a]) && (p = y(s, r, p) || p);\n  return p && g(s, r, p), p;\n};\nclass i extends c {\n  constructor() {\n    super(...arguments), this.variant = \"box\", this.icon = void 0, this.iconStatus = void 0, this.title = \"Title\", this.titleText = \"Title\", this.results = void 0, this.resultsState = \"info\", this.resultsLabel = \"\", this.info = void 0, this.infoBadgeState = \"critic\", this.infoBadgeIcon = \"\", this.infoBadgeOutlined = !0, this.notifications = void 0, this.notificationsState = \"info\", this.helpText = null, this.hasAction = !1, this.hasNext = !1, this.hasClose = !1, this.actionLabel = void 0, this.actionIcon = void 0, this.actionVariant = \"primary\", this.actionFill = !1, this.actionDisabled = !1, this.tooltipFixed = !1, this.tooltipPosition = \"top\", this.hideTooltip = !1, this.hasScroll = !1, this.folded = !1, this.forceViewport = !1, this._eventOptions = {\n      bubbles: !1,\n      composed: !1\n    };\n  }\n  static get styles() {\n    return [l(d), l(f), l(u)];\n  }\n  checkTextTruncate(s) {\n    if (!s) return;\n    const r = s.target, h = r.scrollWidth > r.offsetWidth;\n    r.setAttribute(\"data-truncated\", h.toString());\n  }\n  handleAction() {\n    this.dispatchEvent(new CustomEvent(\"onAction\", this._eventOptions));\n  }\n  handleNext() {\n    this.dispatchEvent(new CustomEvent(\"onNext\", this._eventOptions));\n  }\n  handleClose() {\n    this.dispatchEvent(new CustomEvent(\"onClose\", this._eventOptions));\n  }\n  firstUpdated() {\n    this.hasScroll && this.classList.add(\"scrollable\");\n  }\n  updated(s) {\n    super.updated(s), s.has(\"title\") && queueMicrotask(() => {\n      this.title !== \"Title\" && (this.titleText = this.title);\n    });\n  }\n  render() {\n    return S(this);\n  }\n}\ne([\n  t({ type: String })\n], i.prototype, \"variant\");\ne([\n  t({ type: String })\n], i.prototype, \"icon\");\ne([\n  t({ type: String })\n], i.prototype, \"iconStatus\");\ne([\n  t({ type: String })\n], i.prototype, \"title\");\ne([\n  t({ type: String })\n], i.prototype, \"titleText\");\ne([\n  t({ type: String })\n], i.prototype, \"results\");\ne([\n  t({ type: String })\n], i.prototype, \"resultsState\");\ne([\n  t({ type: String })\n], i.prototype, \"resultsLabel\");\ne([\n  t({ type: String })\n], i.prototype, \"info\");\ne([\n  t({ type: String })\n], i.prototype, \"infoBadgeState\");\ne([\n  t({ type: String })\n], i.prototype, \"infoBadgeIcon\");\ne([\n  t(o)\n], i.prototype, \"infoBadgeOutlined\");\ne([\n  t({ type: Number })\n], i.prototype, \"notifications\");\ne([\n  t({ type: String })\n], i.prototype, \"notificationsState\");\ne([\n  t({ type: String })\n], i.prototype, \"helpText\");\ne([\n  t(o)\n], i.prototype, \"hasAction\");\ne([\n  t(o)\n], i.prototype, \"hasNext\");\ne([\n  t(o)\n], i.prototype, \"hasClose\");\ne([\n  t({ type: String })\n], i.prototype, \"actionLabel\");\ne([\n  t({ type: String })\n], i.prototype, \"actionIcon\");\ne([\n  t({ type: String })\n], i.prototype, \"actionVariant\");\ne([\n  t(o)\n], i.prototype, \"actionFill\");\ne([\n  t(o)\n], i.prototype, \"actionDisabled\");\ne([\n  t(o)\n], i.prototype, \"tooltipFixed\");\ne([\n  t({ type: String })\n], i.prototype, \"tooltipPosition\");\ne([\n  t(o)\n], i.prototype, \"hideTooltip\");\ne([\n  t(o)\n], i.prototype, \"hasScroll\");\ne([\n  t(o)\n], i.prototype, \"folded\");\ne([\n  t(o)\n], i.prototype, \"forceViewport\");\nexport {\n  i as Widget\n};\n//# sourceMappingURL=widget.js.map\n","const r = \":host{display:block}.dss-breadcrumb{display:flex;align-items:center;width:100%;gap:var(--dss-spacing-xs);height:-moz-fit-content;height:fit-content}.dss-breadcrumb__item{font-size:.875rem;cursor:pointer;color:var(--color-neutral-700);font-weight:var(--font-semibold);display:flex;align-self:center;text-decoration:none}.dss-breadcrumb__item:hover{color:var(--color-neutral-900);transition:color .3s linear}.dss-breadcrumb__item:focus{outline:4px solid var(--color-blue-200);border-radius:4px}.dss-breadcrumb__item:active{color:var(--color-neutral-500)}.dss-breadcrumb__item:last-of-type{color:var(--color-primary-500)}\";\nexport {\n  r as default\n};\n//# sourceMappingURL=breadcrumb.style.css.js.map\n","import { nothing as l } from \"lit\";\nimport { map as m } from \"lit/directives/map.js\";\nimport { when as o } from \"lit/directives/when.js\";\nimport { unsafeStatic as c, literal as f, html as e } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as n } from \"../../api/custom-element-scope.js\";\nconst i = f`dss-icon${c(n())}`, u = (r) => e`\n    <div class=\"dss-breadcrumb\" role=\"navigation\" aria-label=\"Ruta de pàgina\">\n      ${m(\n  r.items,\n  (a, t) => e`\n            <a\n              class=\"dss-breadcrumb__item\"\n              href=\"${a.href || \"#\"}\"\n              @click=\"${(s) => r.handleItemClick(s, a)}\"\n              aria-current=\"${t === r.items.length - 1 ? \"page\" : \"false\"}\"\n              title=\"${a.label}\"\n            >\n              ${a.label}\n            </a>\n            ${o(\n    t < r.items.length - 1,\n    () => e`<${i} icon=\"keyboard_arrow_right\" size=\"sm\"></${i}>`,\n    () => l\n  )}\n        `\n)}\n    </div>\n  `;\nexport {\n  u as template\n};\n//# sourceMappingURL=breadcrumb.template.js.map\n","import { LitElement as p, unsafeCSS as n } from \"lit\";\nimport { property as l } from \"lit/decorators.js\";\nimport u from \"../../shared/reset.style.css.js\";\nimport a from \"./breadcrumb.style.css.js\";\nimport { template as f } from \"./breadcrumb.template.js\";\nvar c = Object.defineProperty, d = (s, t, r, o) => {\n  for (var e = void 0, m = s.length - 1, i; m >= 0; m--)\n    (i = s[m]) && (e = i(t, r, e) || e);\n  return e && c(t, r, e), e;\n};\nclass v extends p {\n  constructor() {\n    super(...arguments), this.items = [];\n  }\n  static get styles() {\n    return [n(u), n(a)];\n  }\n  handleItemClick(t, r) {\n    var o;\n    t.preventDefault(), (o = t.currentTarget) == null || o.blur(), this.dispatchEvent(new CustomEvent(\"onItemClick\", { detail: r.href, bubbles: !0, composed: !0 }));\n  }\n  render() {\n    return f(this);\n  }\n}\nd([\n  l({ type: Array })\n], v.prototype, \"items\");\nexport {\n  v as Breadcrumb\n};\n//# sourceMappingURL=breadcrumb.js.map\n","const o = \":host{display:inline-block;vertical-align:middle}.dss-button-link{display:inline-flex;align-items:center;gap:var(--dss-spacing-xxs);font-size:14px;line-height:24px;font-weight:var(--font-semibold);color:var(--color-primary-500);text-decoration:none;border-radius:var(--dss-radius-xs);transition:.2s all ease-in;vertical-align:middle}.dss-button-link:visited{color:var(--color-purple-700)}.dss-button-link:hover{color:var(--color-primary-600)}.dss-button-link:active{color:var(--color-primary-400)}.dss-button-link:focus-visible{outline:var(--dss-border-width-md) solid var(--color-blue-200)}.dss-button-link.dss-button-link--disabled{cursor:not-allowed;color:var(--color-neutral-500)!important}.dss-button-link .dss-button-link-text{text-decoration:underline}.dss-button-link--icon-right{flex-direction:row-reverse}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=button-link.style.css.js.map\n","import { classMap as l } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as a, literal as n, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as o } from \"../../api/custom-element-scope.js\";\nconst t = n`dss-icon${a(o())}`, u = (s) => i`\n  <a\n    href=\"${s.linkHref}\"\n    class=${l({\n  \"dss-button-link\": !0,\n  \"dss-button-link--disabled\": !!s.disabled,\n  \"dss-button-link--icon-right\": !!s.icon && s.iconPosition === \"right\"\n})}\n  >\n    ${s.icon ? i`\n          <${t} size=\"sm\" icon=\"${s.icon}\"></${t}>\n        ` : null}\n    <span class=\"dss-button-link-text\"> ${s.label} </span>\n  </a>\n`;\nexport {\n  u as buttonLinkTemplate\n};\n//# sourceMappingURL=button-link.template.js.map\n","import { LitElement as m, unsafeCSS as p } from \"lit\";\nimport { property as e } from \"lit/decorators.js\";\nimport y from \"../../foundations/icon/icon.style.css.js\";\nimport a from \"../../shared/reset.style.css.js\";\nimport { booleanType as u } from \"../../utils/property-types.js\";\nimport d from \"./button-link.style.css.js\";\nimport { buttonLinkTemplate as c } from \"./button-link.template.js\";\nvar S = Object.defineProperty, r = (i, s, l, b) => {\n  for (var t = void 0, n = i.length - 1, f; n >= 0; n--)\n    (f = i[n]) && (t = f(s, l, t) || t);\n  return t && S(s, l, t), t;\n};\nclass o extends m {\n  constructor() {\n    super(...arguments), this.linkHref = \"#\", this.label = \"Button Link\", this.icon = void 0, this.iconPosition = \"left\", this.disabled = !1;\n  }\n  static get styles() {\n    return [p(y), p(a), p(d)];\n  }\n  render() {\n    return c(this);\n  }\n}\nr([\n  e({ type: String })\n], o.prototype, \"linkHref\");\nr([\n  e({ type: String })\n], o.prototype, \"label\");\nr([\n  e({ type: String })\n], o.prototype, \"icon\");\nr([\n  e({ type: String })\n], o.prototype, \"iconPosition\");\nr([\n  e(u)\n], o.prototype, \"disabled\");\nexport {\n  o as ButtonLink\n};\n//# sourceMappingURL=button-link.js.map\n","import { LitElement as f, css as D, html as g } from \"lit\";\nimport { property as o } from \"lit/decorators.js\";\nimport { classMap as b } from \"lit/directives/class-map.js\";\nimport { ifDefined as $ } from \"lit/directives/if-defined.js\";\nimport { booleanType as u } from \"../../utils/property-types.js\";\nvar q = Object.defineProperty, C = Object.getOwnPropertyDescriptor, r = (_, t, e, s) => {\n  for (var i = C(t, e), a = _.length - 1, l; a >= 0; a--)\n    (l = _[a]) && (i = l(t, e, i) || i);\n  return i && q(t, e, i), i;\n};\nconst h = class h extends f {\n  constructor() {\n    super(...arguments), this._value = \"\", this._label = \"\", this._placeHolder = \"\", this._previousDate = \"\", this._minDate = \"\", this._maxDate = \"\", this._showCalendar = !1, this._showTime = !1, this._invalid = !1, this._showButtons = !1, this._required = !1, this._disabled = !1, this._readonly = !1, this._leftLabel = \"Cancel·lar\", this._rightLabel = \"Acceptar\", this._isFocused = !1, this._internals = this.attachInternals();\n  }\n  static get styles() {\n    return D`\n      :host {\n        display: flex;\n        width: fit-content;\n        height: fit-content;\n        position: relative;\n      }\n\n      label {\n        font-style: normal;\n        font-weight: 400;\n        font-size: 14px;\n        line-height: 24px;\n        cursor: text;\n        position: absolute;\n      }\n\n      input {\n        outline: none;\n        border: 0;\n        font-size: 14px;\n        line-height: 24px;\n        font-style: normal;\n        color: #1d1d1d;\n        width: 100%;\n        text-overflow: ellipsis;\n      }\n\n      input::placeholder {\n        color: #9f9f9f;\n      }\n\n      .dss-input {\n        display: flex;\n        flex-direction: column;\n        color: #656565;\n        position: relative;\n        width: 100%;\n      }\n\n      .dss-input--disabled {\n        opacity: 0.6;\n      }\n\n      .dss-input__content {\n        display: flex;\n        align-items: center;\n        flex: 1;\n      }\n\n      .dss-input--disabled .dss-input__group,\n      .dss-input--disabled input {\n        background-color: #f5f5f5;\n        cursor: not-allowed;\n      }\n\n      .dss-input--disabled label,\n      .dss-input--disabled input {\n        cursor: not-allowed;\n      }\n\n      .dss-input__group {\n        position: relative;\n        background: #ffffff;\n        box-shadow: inset 0 0 0 1px #d8d8d8;\n        border-radius: 8px;\n        padding: 12px;\n        display: flex;\n        gap: 8px;\n      }\n\n      :host([small]) .dss-input__group {\n        padding: 8px 12px;\n      }\n\n      .dss-input__group--required label::before {\n        content: '*';\n      }\n\n      .dss-input--invalid .dss-input__group:focus-visible input {\n        background-color: #ffffff;\n      }\n\n      .dss-input__group--focused {\n        padding: 4px 12px;\n      }\n\n      :host([small]) .dss-input__group--focused {\n        padding: 1px 12px;\n      }\n\n      .dss-input__group--focused .dss-input__content label {\n        font-size: 12px;\n        line-height: 16px;\n        transition: 0.3s;\n        top: 4px;\n      }\n\n      :host([small]) .dss-input__group--focused .dss-input__content label {\n        top: 2px;\n      }\n\n      .dss-input__group--focused .dss-input__content input,\n      .dss-input__group--focused .dss-input__content input {\n        margin-top: 16px !important;\n      }\n\n      :host([small]) .dss-input__group--focused .dss-input__content input {\n        margin-top: 14px !important;\n      }\n\n      .dss-input--invalid .dss-input__group {\n        box-shadow: inset 0 0 0 1px #b60000;\n      }\n\n      .dss-input--invalid .dss-input__group,\n      .dss-input--invalid .dss-icon-button,\n      .dss-input--invalid .dss-input__group input,\n      .dss-input--invalid .dss-input__group .dss-icon-button:hover span {\n        background-color: #fff6f6;\n        color: #b60000;\n      }\n\n      .dss-input--invalid .dss-input__group input {\n        color: #1d1d1d;\n      }\n\n      .dss-input__group:focus-visible,\n      .dss-input__group--active {\n        box-shadow: 0 0 0 4px #8ec7e5;\n        background-color: #ffffff;\n        outline: none;\n      }\n\n      .dss-input--invalid .dss-input__group--active {\n        box-shadow: 0 0 0 4px #8ec7e5;\n      }\n\n      .dss-input--invalid input::placeholder {\n        color: #d36262;\n      }\n\n      .dss-input__icon {\n        font-family: var(--icon-font);\n        display: flex;\n        align-items: center;\n        font-size: 24px;\n      }\n\n      dss-calendar {\n        position: absolute;\n        top: 56px;\n        z-index: 900;\n      }\n\n      :host([small]) dss-Calendar {\n        top: 48px;\n      }\n    `;\n  }\n  get _input() {\n    var t;\n    return (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"input\");\n  }\n  set value(t) {\n    const e = this._value;\n    this._value = t, this._input && (this._input.value = t), this.requestUpdate(\"value\", e);\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  set placeHolder(t) {\n    const e = this._placeHolder;\n    this._placeHolder = t, this.requestUpdate(\"placeHolder\", e);\n  }\n  get placeHolder() {\n    return this._placeHolder;\n  }\n  set required(t) {\n    const e = this._required;\n    this._required = t, this.requestUpdate(\"required\", e);\n  }\n  get required() {\n    return this._required;\n  }\n  set disabled(t) {\n    const e = this._disabled;\n    this._disabled = t, this.requestUpdate(\"disabled\", e);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set readonly(t) {\n    const e = this._readonly;\n    this._readonly = t, this.requestUpdate(\"readonly\", e);\n  }\n  get readonly() {\n    return this._readonly;\n  }\n  set showTime(t) {\n    const e = this._showTime;\n    this._showTime = t, this.requestUpdate(\"showTime\", e);\n  }\n  get showTime() {\n    return this._showTime;\n  }\n  set showButtons(t) {\n    const e = this._showButtons;\n    this._showButtons = t, this.requestUpdate(\"showButtons\", e);\n  }\n  get showButtons() {\n    return this._showButtons;\n  }\n  set leftLabel(t) {\n    const e = this._leftLabel;\n    this._leftLabel = t, this.requestUpdate(\"leftLabel\", e);\n  }\n  get leftLabel() {\n    return this._leftLabel;\n  }\n  set rightLabel(t) {\n    const e = this._rightLabel;\n    this._rightLabel = t, this.requestUpdate(\"rightLabel\", e);\n  }\n  get rightLabel() {\n    return this._rightLabel;\n  }\n  set minDate(t) {\n    const e = this._minDate;\n    this._minDate = t, this.requestUpdate(\"minDate\", e);\n  }\n  get minDate() {\n    return this._minDate;\n  }\n  set maxDate(t) {\n    const e = this._maxDate;\n    this._maxDate = t, this.requestUpdate(\"maxDate\", e);\n  }\n  get maxDate() {\n    return this._maxDate;\n  }\n  set invalid(t) {\n    const e = this._invalid;\n    this._invalid = t, this.requestUpdate(\"invalid\", e);\n  }\n  get invalid() {\n    return this._invalid;\n  }\n  // Form controls usually expose a \"value\" property\n  get value() {\n    let t = \"\";\n    return this._input ? t = this._input.value : t = this._value, t;\n  }\n  // set value already implemented\n  // The following properties and methods aren't strictly required,\n  // but browser-level form controls provide them. Providing them helps\n  // ensure consistency with browser-provided controls.\n  get form() {\n    return this._internals.form;\n  }\n  get name() {\n    return this.getAttribute(\"name\");\n  }\n  get type() {\n    return this.localName;\n  }\n  get validity() {\n    return this._internals.validity;\n  }\n  get validationMessage() {\n    return this._internals.validationMessage;\n  }\n  get willValidate() {\n    return this._internals.willValidate;\n  }\n  checkValidity() {\n    return this._internals.checkValidity();\n  }\n  reportValidity() {\n    return this._internals.reportValidity();\n  }\n  formResetCallback() {\n    this._input.value = \"\", this.requestUpdate();\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._value && (this._input.value = this._value), this._closeDropdown(), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  _closeDropdown() {\n    document.addEventListener(\"mousedown\", (t) => {\n      t.target !== this && (this._showCalendar = !1, this._isFocused = !1, this.requestUpdate());\n    }), document.addEventListener(\"focusout\", (t) => {\n      t.target === this && (this._showCalendar = !1, this._isFocused = !1, this.requestUpdate());\n    });\n  }\n  _handleKeyUp(t) {\n    var e, s, i, a, l;\n    if ((t == null ? void 0 : t.key) === \"Tab\" ? (this._isFocused = !0, this._handleBlur()) : (t == null ? void 0 : t.key) === \"Enter\" || (t == null ? void 0 : t.key) === \" \" ? (this._showCalendar = !0, this._handleBlur()) : (t == null ? void 0 : t.key) === \"Escape\" && (this._isFocused = !0, this._showCalendar = !1, this._handleBlur()), t.key === \"Enter\" && ((e = this._input.value) == null ? void 0 : e.length) > 7) {\n      const p = (s = this._input.value) == null ? void 0 : s.replace(/(\\d+[/])(\\d+[/])/, \"$2$1\"), d = new Date(p), m = (i = d.getDate()) == null ? void 0 : i.toString().padStart(2, \"0\"), v = (d.getMonth() + 1).toString().padStart(2, \"0\"), y = d.getFullYear(), w = (a = d.getHours()) == null ? void 0 : a.toString().padStart(2, \"0\"), x = (l = d.getMinutes()) == null ? void 0 : l.toString().padStart(2, \"0\");\n      let c = `${m}/${v}/${y}`;\n      this._showTime && (c += ` ${w}:${x}`), this._input.value = c, this._dispatchValueChange(), this.requestUpdate();\n    }\n  }\n  _handleInput(t) {\n    var s;\n    const e = (s = t.target.value) == null ? void 0 : s.replace(/\\D/g, \"\");\n    this._input.value = this._formatDate(e), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _formatDate(t) {\n    let e = t.substring(0, 2), s = t.substring(2, 4);\n    const i = t.substring(4, 8);\n    let a = t.substring(8, 10), l = t.substring(10, 12);\n    Number(e) > 3 && (e = e == null ? void 0 : e.padStart(2, \"0\")), Number(s) > 1 && (s = s == null ? void 0 : s.padStart(2, \"0\")), Number(e) > 31 && (e = \"31\"), Number(s) > 12 && (s = \"12\"), s === \"02\" && Number(e) > 28 && (i == null ? void 0 : i.length) === 4 && (e = new Date(Number(i), 1, 29).getMonth() === 1 ? \"29\" : \"28\");\n    let p = `${e}${s ? `/${s}` : \"\"}${i ? `/${i}` : \"\"}`;\n    return this._showTime && (Number(a) > 2 && (a = a == null ? void 0 : a.padStart(2, \"0\")), Number(a) > 23 && (a = \"23\"), Number(l) > 5 && (l = l == null ? void 0 : l.padStart(2, \"0\")), p = `${p}${a ? ` ${a}` : \"\"}${l ? `:${l}` : \"\"}`), p;\n  }\n  _handleFocus() {\n    this._readonly || (this._placeHolder = this._showTime ? \"DD/MM/YYYY HH:MM\" : \"DD/MM/YYYY\", this.requestUpdate());\n  }\n  _handleBlur() {\n    this.requestUpdate();\n  }\n  _handelLabelClick() {\n    var t;\n    (t = this._input) == null || t.focus(), this.requestUpdate();\n  }\n  _onDateChange(t) {\n    const e = t.detail;\n    this._input.value = e, this._showCalendar = !1, this._dispatchValueChange(), this.requestUpdate();\n  }\n  _onCancel() {\n    this._showCalendar = !1, this._input.value = this._previousDate || \"\", this.placeHolder = \"\", this.requestUpdate();\n  }\n  _onclick() {\n    var t, e;\n    this._disabled || this._readonly || (this._showCalendar = !this._showCalendar, this._previousDate = this._input.value, this._showCalendar ? (t = this._input) == null || t.focus() : ((e = this._input) == null || e.blur(), this._onCancel()), this.requestUpdate());\n  }\n  _dispatchValueChange() {\n    const t = {\n      detail: this._input.value,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onValueChange\", t));\n  }\n  render() {\n    var s;\n    const t = {\n      \"dss-input--invalid\": this._invalid,\n      \"dss-input--disabled\": this._disabled\n    }, e = {\n      \"dss-input__group--focused\": ((s = this._input) == null ? void 0 : s.value) || this._placeHolder || this._showCalendar || this._isFocused,\n      \"dss-input__group--required\": this._required,\n      \"dss-input__group--active\": this._showCalendar || this._isFocused\n    };\n    return g`\n      <div\n        class=\"dss-input ${b(t)}\"\n        @click=${this._onclick}\n      >\n        <div class=\"dss-input__group ${b(e)}\">\n          <span class=\"dss-input__icon\">calendar_today</span>\n          <div class=\"dss-input__content\">\n            <label @mouseup=${this._handelLabelClick}>${this._label}</label>\n            <input\n              ?disabled=${this._disabled}\n              ?required=${this._required}\n              ?readonly=${this._readonly}\n              @input=${this._handleInput}\n              @focus=${this._handleFocus}\n              @blur=${this._handleBlur}\n              @keyup=${this._handleKeyUp}\n              placeholder=${$(this._placeHolder)}\n              type=\"text\"\n            />\n          </div>\n        </div>\n      </div>\n      ${this._showCalendar ? g`\n            <dss-calendar\n              .selectedDate=${this._input.value}\n              .showTime=${this._showTime}\n              .showButtons=${this._showButtons}\n              .leftLabel=${this._leftLabel}\n              .rightLabel=${this._rightLabel}\n              .minDate=${this._minDate}\n              .maxDate=${this._maxDate}\n              @onDateChange=${this._onDateChange}\n              @onCancel=${this._onCancel}\n            ></dss-calendar>\n          ` : null}\n    `;\n  }\n};\nh.formAssociated = !0, h.shadowRootOptions = {\n  ...f.shadowRootOptions,\n  delegatesFocus: !0\n};\nlet n = h;\nr([\n  o({ type: String, attribute: !0 })\n], n.prototype, \"value\");\nr([\n  o({ type: String })\n], n.prototype, \"label\");\nr([\n  o({ type: String })\n], n.prototype, \"placeHolder\");\nr([\n  o(u)\n], n.prototype, \"required\");\nr([\n  o(u)\n], n.prototype, \"disabled\");\nr([\n  o(u)\n], n.prototype, \"readonly\");\nr([\n  o(u)\n], n.prototype, \"showTime\");\nr([\n  o(u)\n], n.prototype, \"showButtons\");\nr([\n  o({ type: String })\n], n.prototype, \"leftLabel\");\nr([\n  o({ type: String })\n], n.prototype, \"rightLabel\");\nr([\n  o({ type: String })\n], n.prototype, \"minDate\");\nr([\n  o({ type: String })\n], n.prototype, \"maxDate\");\nr([\n  o(u)\n], n.prototype, \"invalid\");\nexport {\n  n as DatePicker\n};\n//# sourceMappingURL=date-picker.js.map\n","import { LitElement as f, css as y, html as h } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport { classMap as _ } from \"lit/directives/class-map.js\";\nimport { ifDefined as b } from \"lit/directives/if-defined.js\";\nimport { booleanType as a } from \"../../utils/property-types.js\";\nvar g = Object.defineProperty, S = Object.getOwnPropertyDescriptor, i = (c, e, t, o) => {\n  for (var n = S(e, t), d = c.length - 1, r; d >= 0; d--)\n    (r = c[d]) && (n = r(e, t, n) || n);\n  return n && g(e, t, n), n;\n};\nclass l extends f {\n  constructor() {\n    super(...arguments), this._elements = null, this._copyElements = null, this._tick = !0, this._type = \"default\", this._style = null, this._boxStyle = null, this._inputStyle = null, this._selectedValue = null, this._multiple = !1, this._openWithSearch = !1, this._deselectable = !1, this._icon = \"search\", this._label = \"\", this._placeHolder = \"\", this._showSelector = !1, this._required = !1, this._disabled = !1, this._readonly = !1, this._labelSelectAll = \"Seleccionar-ho tot\", this._labelDeselectAll = \"Deseleccionar-ho tot\", this._selectAll = !1, this._selectElements = 0, this._isFocused = !1, this._isGroupFocusedVisible = !1;\n  }\n  static get styles() {\n    return y`\n      :host {\n        width: fit-content;\n        height: fit-content;\n        position: relative;\n      }\n\n      label {\n        font-style: normal;\n        font-weight: 400;\n        font-size: 14px;\n        line-height: 24px;\n        cursor: text;\n        position: absolute;\n      }\n\n      input {\n        outline: none;\n        border: 0;\n        font-size: 14px;\n        line-height: 24px;\n        font-style: normal;\n        color: #1d1d1d;\n        width: 100%;\n        text-overflow: ellipsis;\n      }\n\n      input::placeholder {\n        color: #9f9f9f;\n      }\n\n      .dss-input {\n        display: flex;\n        flex-direction: column;\n        color: #656565;\n        position: relative;\n      }\n\n      .dss-input--disabled {\n        opacity: 0.4;\n        cursor: not-allowed;\n      }\n\n      .dss-input__content {\n        display: flex;\n        align-items: center;\n        flex: 1;\n        overflow: hidden;\n        position: relative;\n      }\n\n      .dss-input--disabled .dss-input__group,\n      .dss-input--disabled input {\n        background-color: #f5f5f5;\n        cursor: not-allowed;\n      }\n\n      .dss-input--disabled label,\n      .dss-input--disabled input {\n        cursor: not-allowed;\n      }\n\n      .dss-input__group {\n        position: relative;\n        background: #ffffff;\n        box-shadow: inset 0 0 0 1px #d8d8d8;\n        border-radius: 8px;\n        padding: 12px;\n        display: flex;\n        gap: 8px;\n      }\n\n      :host([small]) .dss-input__group {\n        padding: 8px 12px;\n      }\n\n      .dss-input__group--required label::before {\n        content: '*';\n      }\n\n      .dss-input--invalid .dss-input__group:focus-visible input {\n        background-color: #ffffff;\n      }\n\n      .dss-input__group--focused {\n        padding: 4px 12px;\n      }\n\n      :host([small]) .dss-input__group--focused {\n        padding: 1px 12px;\n      }\n\n      .dss-input__group--focused .dss-input__content label {\n        font-size: 12px;\n        line-height: 16px;\n        transition: 0.3s;\n        top: 4px;\n      }\n\n      :host([small]) .dss-input__group--focused .dss-input__content label {\n        top: 2px;\n      }\n\n      .dss-input__group--focused .dss-input__content input,\n      .dss-input__group--focused .dss-input__content input {\n        margin-top: 16px !important;\n        font-family: var(--font-family);\n        padding-left: 0 !important;\n      }\n\n      :host([small]) .dss-input__group--focused .dss-input__content input {\n        margin-top: 14px !important;\n      }\n\n      .dss-input--invalid .dss-input__group {\n        box-shadow: inset 0 0 0 1px #b60000;\n      }\n\n      .dss-input--invalid .dss-input__group,\n      .dss-input--invalid .dss-icon-button,\n      .dss-input--invalid .dss-input__group input,\n      .dss-input--invalid .dss-input__group .dss-icon-button:hover span {\n        background-color: transparent;\n        color: #b60000;\n      }\n\n      .dss-input--invalid .dss-input__group input {\n        color: #1d1d1d;\n      }\n\n      .dss-input__group:focus-visible,\n      .dss-input__group--active {\n        box-shadow: 0 0 0 4px #8ec7e5;\n        background-color: #ffffff;\n        outline: none;\n      }\n\n      .dss-input--invalid .dss-input__group--active {\n        box-shadow: 0 0 0 4px #8ec7e5;\n      }\n\n      .dss-input--invalid input::placeholder {\n        color: #d36262;\n      }\n\n      .dss-input__icon {\n        font-family: var(--icon-font);\n        display: flex;\n        align-items: center;\n        font-size: 24px;\n      }\n\n      .dss-selector {\n        position: absolute;\n        top: 50px;\n        z-index: 100;\n        display: contents;\n      }\n\n      .dss-input__group--disabled .dss-icon-button {\n        pointer-events: none;\n      }\n\n      :host([small]) dss-selector {\n        top: 40px;\n      }\n\n      .dss-icon-button {\n        font-size: 1rem;\n        font-family: var(--icon-font);\n        align-items: center;\n        border: none;\n        cursor: pointer;\n        display: flex;\n        background-color: transparent;\n        color: #0073e6;\n        padding: 0;\n        height: fit-content;\n        margin: auto;\n        border-radius: 100%;\n      }\n\n      .dss-icon-button span {\n        padding: 0.25rem;\n        background-color: transparent;\n        border-radius: 100%;\n        transition: all 0.3s ease-in;\n      }\n\n      .dss-icon-button:hover:enabled span {\n        background-color: #bfddfa;\n      }\n\n      .dss-icon-button:active:enabled span {\n        background-color: #eff7ff;\n        transition: none;\n      }\n\n      .dss-icon-button:disabled {\n        cursor: not-allowed;\n      }\n\n      .dss-input__group--readOnly .dss-icon-button {\n        pointer-events: none;\n      }\n\n      .dss-input__group--disabled .dss-icon-button {\n        pointer-events: none;\n      }\n\n      .dss-icon-button:focus-visible:enabled {\n        outline: none;\n      }\n    `;\n  }\n  get _input() {\n    var e;\n    return (e = this.shadowRoot) == null ? void 0 : e.querySelector(\"input\");\n  }\n  get _DSSinput() {\n    var e;\n    return (e = this.shadowRoot) == null ? void 0 : e.querySelector(\".dss-input\");\n  }\n  set icon(e) {\n    const t = this._icon;\n    this._icon = e, this.requestUpdate(\"label\", t);\n  }\n  get icon() {\n    return this._icon;\n  }\n  set label(e) {\n    const t = this._label;\n    this._label = e, this.requestUpdate(\"label\", t);\n  }\n  get label() {\n    return this._label;\n  }\n  set placeHolder(e) {\n    const t = this._placeHolder;\n    this._placeHolder = e, this.requestUpdate(\"placeHolder\", t);\n  }\n  get placeHolder() {\n    return this._placeHolder;\n  }\n  set required(e) {\n    const t = this._required;\n    this._required = e, this.requestUpdate(\"required\", t);\n  }\n  get required() {\n    return this._required;\n  }\n  set disabled(e) {\n    const t = this._disabled;\n    this._disabled = e, this.requestUpdate(\"disabled\", t);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set readonly(e) {\n    const t = this._readonly;\n    this._readonly = e, this.requestUpdate(\"readonly\", t);\n  }\n  get readonly() {\n    return this._readonly;\n  }\n  set elements(e) {\n    const t = this._elements;\n    this._elements = e, this.requestUpdate(\"elements\", t);\n  }\n  get elements() {\n    return this._elements || [];\n  }\n  set multiple(e) {\n    const t = this._multiple;\n    this._multiple = e, this.requestUpdate(\"multiple\", t);\n  }\n  get multiple() {\n    return this._multiple;\n  }\n  set openWithSearch(e) {\n    const t = this._openWithSearch;\n    this._openWithSearch = e, this.requestUpdate(\"openWithSearch\", t);\n  }\n  get openWithSearch() {\n    return this._openWithSearch;\n  }\n  set tick(e) {\n    const t = this._tick;\n    this._tick = e, this.requestUpdate(\"tick\", t);\n  }\n  get tick() {\n    return this._tick;\n  }\n  set deselectable(e) {\n    const t = this._deselectable;\n    this._deselectable = e, this.requestUpdate(\"deselectable\", t);\n  }\n  get deselectable() {\n    return this._deselectable;\n  }\n  set selectedValue(e) {\n    const t = this._selectedValue;\n    this._selectedValue = e, this.requestUpdate(\"selectedValue\", t);\n  }\n  get selectedValue() {\n    return this._selectedValue || [];\n  }\n  set type(e) {\n    const t = this._type;\n    e === \"default\" || e === \"green\" ? this._type = e : this._type = \"default\", this.requestUpdate(\"type\", t);\n  }\n  get type() {\n    return this._type;\n  }\n  set boxStyle(e) {\n    const t = this._boxStyle;\n    this._boxStyle = e, this.requestUpdate(\"boxStyle\", t);\n  }\n  get boxStyle() {\n    return this._boxStyle || \"\";\n  }\n  set inputStyle(e) {\n    const t = this._inputStyle;\n    this._inputStyle = e, this._inputStyle = `${this._inputStyle} box-sizing: border-box;`, this.requestUpdate(\"inputStyle\", t);\n  }\n  get inputStyle() {\n    return this._inputStyle || \"\";\n  }\n  set labelSelectAll(e) {\n    const t = this._labelSelectAll;\n    e !== \"\" && (this._labelSelectAll = e), this.requestUpdate(\"labelSelectAll\", t);\n  }\n  get labelSelectAll() {\n    return this._labelSelectAll;\n  }\n  set labelDeselectAll(e) {\n    const t = this._labelDeselectAll;\n    e !== \"\" && (this._labelDeselectAll = e), this.requestUpdate(\"labelDeselectAll\", t);\n  }\n  get labelDeselectAll() {\n    return this._labelDeselectAll;\n  }\n  set SelectAll(e) {\n    const t = this._selectAll;\n    this._selectAll = e, this.requestUpdate(\"selectAll\", t);\n  }\n  get SelectAll() {\n    return this._selectAll;\n  }\n  // private _isFirstEmptySelected: boolean = true;\n  get _filteredElements() {\n    var t;\n    const e = this._input.value.toLowerCase();\n    return (t = this._elements) == null ? void 0 : t.filter((o) => o.label.toLowerCase().includes(e));\n  }\n  get _showPlaceHolder() {\n    return b(this._placeHolder) && !this._showSelector ? void 0 : this._placeHolder;\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._copyElements = JSON.parse(JSON.stringify(this._elements)), this._initElementsSelected(), !this._openWithSearch && !this._disabled && document.addEventListener(\"click\", (e) => {\n        this._clickedOutsideDropdown(this, e);\n      }), this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []), this._openWithSearch && this._onclick(!0), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  _initElementsSelected() {\n    this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n  }\n  _clickedOutsideDropdown(e, t) {\n    e !== t.target && (this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []), this._showSelector = !1, this.requestUpdate());\n  }\n  _handleInput() {\n    this.requestUpdate();\n  }\n  _handleFocus() {\n    this._readonly || (this._isFocused = !0, this._isGroupFocusedVisible = !0, this.requestUpdate());\n  }\n  _handleBlurEsc() {\n    this._readonly || this._openWithSearch || (this._isFocused = !0, this._showSelector = !1, this.requestUpdate());\n  }\n  _handleBlur() {\n    this._isFocused = !1, this._isGroupFocusedVisible = !1, this.requestUpdate();\n  }\n  _handleBlurComponent(e, t) {\n    var o;\n    if (e !== t.target) {\n      if (this._openWithSearch)\n        return;\n      (o = this._input) == null || o.focus(), this._handleBlurEsc(), this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n    }\n  }\n  _onCancel() {\n    this._showSelector = !1, this._isFocused = !1, this.requestUpdate();\n  }\n  _cleanInput() {\n    this._input.value = \"\", this.requestUpdate();\n  }\n  _onclick(e, t) {\n    var n, d;\n    e || (this._isFocused = !0);\n    let o = \"\";\n    this._boxStyle && (o += this._boxStyle, o.endsWith(\";\") || (o += \";\")), this._style = `${o} overflow: auto;${this._openWithSearch ? \"\" : \"box-shadow: 0 1px 3px 0 #0000001a, 0 4px 8px 3px #0000000d;\"}`, this._openWithSearch ? this._showSelector = !0 : this._handleKeyInput(t), this._showSelector ? (this._input.value = \"\", e || (n = this._input) == null || n.focus()) : (this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []), (!t || t.key !== \"Enter\" && t.key !== \" \" && t.key !== \"Escape\") && ((d = this._input) == null || d.blur(), this._onCancel())), this.requestUpdate();\n  }\n  _handleKeyInput(e) {\n    (e == null ? void 0 : e.key) === \"Enter\" || (e == null ? void 0 : e.key) === \" \" ? this._showSelector = !0 : (e == null ? void 0 : e.key) === \"Escape\" ? this._handleBlurEsc() : this._showSelector = !this._showSelector;\n  }\n  _dispatchValueChange() {\n    if (this._input.value) {\n      const e = {\n        detail: this._input.value,\n        bubbles: !0,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"onValueChange\", e));\n    }\n  }\n  _onSelectorChanges(e) {\n    this._selectedValue = e.detail, this._dispatchValueChange(), !this._multiple && !this._openWithSearch && !this._disabled && this._clickedOutsideDropdown(this, e), this.requestUpdate();\n  }\n  _showSelectValuesInInput(e) {\n    var n, d;\n    !this._multiple && Array.isArray(e) && e.length > 1 && e.splice(1);\n    const t = (n = this._elements) == null ? void 0 : n.filter((r) => e.includes(r.value));\n    if (this._elements = [...this._copyElements], this._openWithSearch ? this._selectElements = 0 : this._selectElements = t != null && t.length ? t.length : 0, t && t.length > 0) {\n      const r = this._elements.filter((p) => t.includes(p));\n      r.push(...this._elements.filter((p) => !t.includes(p))), this._elements = [...r];\n    }\n    if (!this._multiple) {\n      this._input.value = ((d = t == null ? void 0 : t[0]) == null ? void 0 : d.label) ?? \"\";\n      return;\n    }\n    const o = t == null ? void 0 : t.map((r) => r.label);\n    this._input.value = (o == null ? void 0 : o.join(\", \")) ?? \"\";\n  }\n  _evalueFocus(e) {\n    var t;\n    ((t = e.target) == null ? void 0 : t.id) !== \"dss-dropdownlist\" && this._showSelector && this._handleFocus();\n  }\n  _handleKeyup(e) {\n    (e.keyCode ? e.keyCode : e.which) === 9 && (this._isGroupFocusedVisible = !0, this._isFocused = !0, this._handelLabelClick());\n  }\n  _handelLabelClick() {\n    var e;\n    (e = this._input) == null || e.focus(), this.requestUpdate();\n  }\n  render() {\n    var n, d, r, p;\n    const e = {\n      \"dss-input--disabled\": this._disabled\n    }, t = {\n      \"dss-selector\": !this._openWithSearch,\n      \"dss-selector--disabled\": this._disabled,\n      \"dss-selector-dropdown\": !0\n    }, o = {\n      \"dss-input__group--focused\": ((n = this._input) == null ? void 0 : n.value) || this._showPlaceHolder || this._showSelector,\n      \"dss-input__group--focused-visible\": this._isGroupFocusedVisible,\n      \"dss-input__group--required\": this._required,\n      \"dss-input__group--active\": this._isFocused,\n      \"dss-input__group--readOnly\": this._readonly,\n      \"dss-input__group--disabled\": this._disabled\n    };\n    return h` <div\n      id=\"previous-input\"\n      class=\"dss-input ${_(e)}\"\n      style=${b(this._inputStyle)}\n    >\n      <div\n        class=\"dss-input__group ${_(o)}\"\n        tabindex=\"0\"\n        @keyup=${this._handleKeyup}\n      >\n        <span class=\"dss-input__icon\">${this._icon}</span>\n        <div class=\"dss-input__content\">\n          <label>${this._label}</label>\n          <input\n            aria-label=\"${this._label}\"\n            ?disabled=${this._disabled}\n            ?required=${this._required}\n            ?readonly=${this._readonly || !this._showSelector}\n            @input=${this._handleInput}\n            @focus=\"${this._evalueFocus}\"\n            @keydown=\"${(u) => {\n      (u.key === \"Enter\" || u.key === \" \" || u.key === \"Escape\") && this._onclick(!1, u);\n    }}\"\n            @blur=${this._handleBlur}\n            placeholder=${this._showPlaceHolder}\n            type=\"text\"\n          />\n        </div>\n        ${this._openWithSearch ? h`\n              <button\n                type=\"button\"\n                class=\"dss-icon-button\"\n                @click=${this._cleanInput}\n                ?disabled=${(r = this._input) == null ? void 0 : r.disabled}\n                tabindex=\"-1\"\n              >\n                <span>close</span>\n              </button>\n            ` : h`\n              <button\n                type=\"button\"\n                class=\"dss-icon-button\"\n                @click=${this._onclick}\n                ?disabled=${(d = this._input) == null ? void 0 : d.disabled}\n                tabindex=\"-1\"\n              >\n                <span\n                  >${this._showSelector ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"}</span\n                >\n              </button>\n            `}\n      </div>\n      ${this._showSelector && this._filteredElements && ((p = this._filteredElements) == null ? void 0 : p.length) > 0 ? h`\n            <dss-selector\n              class=\"${_(t)}\"\n              .multiple=${this._multiple}\n              .tick=${this._tick}\n              .deselectable=${this._deselectable}\n              .disabled=${this._disabled}\n              .elements=${this._filteredElements}\n              .filtre=${this._input.value}\n              .selectedValue=${this._selectedValue}\n              .type=${this._type}\n              .labelSelectAll=${this._labelSelectAll}\n              .labelDeselectAll=${this._labelDeselectAll}\n              .selectAll=${this._selectAll}\n              boxStyle=${this._style}\n              elementsSelected=${this._selectElements}\n              @onValueChange=\"${this._onSelectorChanges}\"\n              @keydown=\"${(u) => {\n      u.key === \"Escape\" && this._handleBlurComponent(this, u);\n    }}\"\n            >\n            </dss-selector>\n          ` : null}\n    </div>`;\n  }\n}\ni([\n  s({ type: String })\n], l.prototype, \"icon\");\ni([\n  s({ type: String })\n], l.prototype, \"label\");\ni([\n  s({ type: String })\n], l.prototype, \"placeHolder\");\ni([\n  s(a)\n], l.prototype, \"required\");\ni([\n  s(a)\n], l.prototype, \"disabled\");\ni([\n  s(a)\n], l.prototype, \"readonly\");\ni([\n  s({ type: Array })\n], l.prototype, \"elements\");\ni([\n  s(a)\n], l.prototype, \"multiple\");\ni([\n  s(a)\n], l.prototype, \"openWithSearch\");\ni([\n  s(a)\n], l.prototype, \"tick\");\ni([\n  s(a)\n], l.prototype, \"deselectable\");\ni([\n  s({ type: Array })\n], l.prototype, \"selectedValue\");\ni([\n  s({ type: String })\n], l.prototype, \"type\");\ni([\n  s({ type: String })\n], l.prototype, \"boxStyle\");\ni([\n  s({ type: String })\n], l.prototype, \"inputStyle\");\ni([\n  s({ type: String })\n], l.prototype, \"labelSelectAll\");\ni([\n  s({ type: String })\n], l.prototype, \"labelDeselectAll\");\ni([\n  s(a)\n], l.prototype, \"SelectAll\");\nexport {\n  l as DropDownList\n};\n//# sourceMappingURL=dropdown-list.js.map\n","import { LitElement as m, css as b, html as a } from \"lit\";\nimport { property as s } from \"lit/decorators.js\";\nimport { classMap as g } from \"lit/directives/class-map.js\";\nimport { ifDefined as p } from \"lit/directives/if-defined.js\";\nimport { booleanType as l } from \"../../utils/property-types.js\";\nvar f = Object.defineProperty, y = Object.getOwnPropertyDescriptor, i = (h, t, e, r) => {\n  for (var o = y(t, e), u = h.length - 1, d; u >= 0; u--)\n    (d = h[u]) && (o = d(t, e, o) || o);\n  return o && f(t, e, o), o;\n};\nconst v = \"number\";\nclass n extends m {\n  constructor() {\n    super(...arguments), this._type = \"text\", this._value = \"\", this._label = \"\", this._description = \"\", this._placeHolder = \"\", this._icon = \"\", this._maxLength = void 0, this._minLength = void 0, this._max = void 0, this._min = void 0, this._step = void 0, this._isInputFocused = !1, this._isGroupFocusedVisible = !1, this._isTypeNumeric = !1, this._clearable = !1, this._showError = !1, this._required = !1, this._disabled = !1, this._readonly = !1;\n  }\n  static get styles() {\n    return b`\n      :host {\n        width: 100%;\n        height: fit-content;\n      }\n\n      label {\n        font-style: normal;\n        font-weight: 400;\n        font-size: 0.875rem;\n        line-height: 1.5rem;\n        cursor: text;\n        position: absolute;\n        white-space: nowrap;\n        background-color: #ffffff;\n        width: 100%;\n      }\n\n      input {\n        outline: none;\n        border: 0;\n        font-size: 0.875rem;\n        line-height: 1.5rem;\n        font-style: normal;\n        color: #1d1d1d;\n        width: 100%;\n        text-overflow: ellipsis;\n        margin: 0;\n        padding: 0;\n      }\n\n      input::placeholder {\n        color: #9f9f9f;\n      }\n\n      .dss-input--invalid input::placeholder {\n        color: #d36262;\n      }\n\n      .dss-input--invalid label {\n        background-color: #fff6f6;\n      }\n\n      .dss-input {\n        display: flex;\n        flex-direction: column;\n        color: #656565;\n        width: 100%;\n      }\n\n      .dss-input--disabled {\n        opacity: 0.6;\n      }\n\n      .dss-input--gap {\n        gap: 0.25rem;\n      }\n\n      .dss-input__content {\n        display: flex;\n        align-items: center;\n        flex: 1;\n        overflow: hidden;\n        position: relative;\n      }\n\n      .dss-input--disabled .dss-input__group,\n      .dss-input--disabled input,\n      .dss-input--disabled label {\n        background-color: #f5f5f5;\n        cursor: not-allowed;\n      }\n\n      .dss-input__group {\n        position: relative;\n        background: #ffffff;\n        box-shadow: inset 0 0 0 0.063rem #d8d8d8;\n        border-radius: 0.5rem;\n        padding: 0.75rem;\n        display: flex;\n        gap: 0.5rem;\n      }\n\n      :host([small]) .dss-input__group {\n        padding: 0.5rem 0.75rem;\n      }\n\n      .dss-input__group--required label::before {\n        content: '*';\n      }\n\n      .dss-input__group--readOnly .dss-icon-button {\n        pointer-events: none;\n      }\n\n      .dss-input__group:focus-visible,\n      .dss-input__group--focused-visible,\n      .dss-input--invalid .dss-input__group:focus-visible {\n        outline: 0.25rem solid #8ec7e5;\n        box-shadow: none;\n        background-color: #ffffff;\n      }\n\n      .dss-input--invalid .dss-input__group:focus-visible input {\n        background-color: #ffffff;\n      }\n\n      .dss-input--invalid .dss-input__group:focus-visible .dss-icon-button {\n        background-color: transparent;\n      }\n\n      .dss-input__group--focused {\n        padding: 0.25rem 0.75rem;\n      }\n\n      :host([small]) .dss-input__group--focused {\n        padding: 0.063rem 0.75rem;\n      }\n\n      .dss-input__group--focused .dss-input__content label {\n        font-size: 0.75rem;\n        line-height: 1rem;\n        transition: 0.3s;\n        top: 0.25rem;\n      }\n\n      :host([small]) .dss-input__group--focused .dss-input__content label {\n        top: 0.125rem;\n      }\n\n      .dss-input__group--focused .dss-input__content input,\n      .dss-input__group--focused .dss-input__content input {\n        margin-top: 1rem !important;\n      }\n\n      :host([small]) .dss-input__group--focused .dss-input__content input {\n        margin-top: 0.875rem !important;\n      }\n\n      :host([small]) .dss-input__group--focused .dss-input__content input {\n        margin-top: 0.875rem !important;\n      }\n\n      .dss-input--invalid .dss-input__group .dss-icon-button {\n        color: #b60000;\n      }\n\n      .dss-input--invalid .dss-input__group {\n        box-shadow: inset 0 0 0 0.063rem #b60000;\n      }\n\n      .dss-input--invalid .dss-input__group input {\n        background-color: #fff6f6;\n        color: #1d1d1d;\n      }\n\n      .dss-input--invalid .dss-input__group,\n      .dss-input--invalid .dss-icon-button,\n      .dss-input--invalid .dss-input__group .dss-icon-button:hover span {\n        background-color: #fff6f6;\n        color: #b60000;\n      }\n\n      .dss-input__help {\n        font-style: normal;\n        font-weight: 400;\n        font-size: 0.75rem;\n        line-height: 1rem;\n        display: flex;\n        padding: 0 0.75rem;\n        gap: 0.5rem;\n      }\n\n      .dss-input__help .dss-input__description {\n        flex: 1;\n        white-space: nowrap;\n        overflow: hidden;\n        text-overflow: ellipsis;\n      }\n\n      .dss-input--invalid .dss-input__help,\n      .dss-input--invalid .dss-input__help::after {\n        color: #b60000;\n      }\n\n      .dss-input__icon {\n        font-family: var(--icon-font);\n        display: flex;\n        align-items: center;\n        font-size: 1.5rem;\n      }\n\n      :host([small]) .dss-input__group.dss-input__group--icon,\n      :host([small]) .dss-input__group--focused.dss-input__group--icon,\n      .dss-input__group.dss-input__group--icon,\n      .dss-input__group--focused.dss-input__group--icon {\n        padding-right: 0.375rem;\n      }\n\n      .dss-input__group.dss-input__group--numeric {\n        padding: 0.25rem 0.5rem 0.25rem 0.75rem;\n      }\n\n      :host([small]) .dss-input__group.dss-input__group--numeric {\n        padding: 0.063rem 0.625rem 0.063rem 0.75rem;\n      }\n\n      .dss-icon-button {\n        font-size: 1rem;\n        font-family: var(--icon-font);\n        align-items: center;\n        border: none;\n        cursor: pointer;\n        display: flex;\n        background-color: transparent;\n        color: #0073e6;\n        padding: 0;\n        height: fit-content;\n        margin: auto;\n        border-radius: 100%;\n      }\n\n      .dss-icon-button span {\n        padding: 0.25rem;\n        background-color: transparent;\n        border-radius: 100%;\n        transition: all 0.3s ease-in;\n      }\n\n      .dss-icon-button:hover:enabled span {\n        background-color: #bfddfa;\n      }\n\n      .dss-icon-button:active:enabled span {\n        background-color: #eff7ff;\n        transition: none;\n      }\n\n      .dss-icon-button:disabled {\n        cursor: not-allowed;\n      }\n\n      .dss-icon-button:focus-visible:enabled {\n        outline: none;\n      }\n\n      .dss-input__numeric-buttons {\n        display: flex;\n        flex-direction: column;\n        justify-content: space-between;\n        transition: all 0.3s ease-in;\n        height: 40px;\n      }\n\n      .dss-input__numeric-buttons .dss-icon-button span {\n        padding: 0.063rem;\n        display: flex;\n        justify-content: center;\n        text-align: center;\n        width: 18px;\n        height: 18px;\n        align-items: center;\n      }\n\n      :host([small]) .dss-input__numeric-buttons {\n        height: 38px;\n      }\n\n      :host([small])\n        .dss-input__group.dss-input__group--numeric\n        .dss-icon-button\n        span {\n        width: 16px;\n        height: 16px;\n      }\n\n      input::-webkit-outer-spin-button,\n      input::-webkit-inner-spin-button {\n        -webkit-appearance: none;\n      }\n\n      input[type='number'] {\n        -moz-appearance: textfield;\n      }\n    `;\n  }\n  set value(t) {\n    const e = this._value;\n    this._value = t, this.requestUpdate(\"value\", e);\n  }\n  get value() {\n    return this._value;\n  }\n  set type(t) {\n    const e = this._type;\n    this._type = t, this.requestUpdate(\"type\", e);\n  }\n  get type() {\n    return this._type;\n  }\n  set label(t) {\n    const e = this._label;\n    this._label = t, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label;\n  }\n  set description(t) {\n    const e = this._description;\n    this._description = t, this.requestUpdate(\"description\", e);\n  }\n  get description() {\n    return this._description;\n  }\n  set placeHolder(t) {\n    const e = this._placeHolder;\n    this._placeHolder = t, this.requestUpdate(\"placeHolder\", e);\n  }\n  get placeHolder() {\n    return this._placeHolder;\n  }\n  set required(t) {\n    const e = this._required;\n    this._required = t, this.requestUpdate(\"required\", e);\n  }\n  get required() {\n    return this._required;\n  }\n  set disabled(t) {\n    const e = this._disabled;\n    this._disabled = t, this.requestUpdate(\"disabled\", e);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set readonly(t) {\n    const e = this._readonly;\n    this._readonly = t, this.requestUpdate(\"readonly\", e);\n  }\n  get readonly() {\n    return this._readonly;\n  }\n  set icon(t) {\n    const e = this._icon;\n    this._icon = t, this.requestUpdate(\"icon\", e);\n  }\n  get icon() {\n    return this._icon;\n  }\n  set clearable(t) {\n    const e = this._clearable;\n    this._clearable = t, this.requestUpdate(\"clearable\", e);\n  }\n  get clearable() {\n    return this._clearable;\n  }\n  set showError(t) {\n    const e = this._showError;\n    this._showError = t, this.requestUpdate(\"showError\", e);\n  }\n  get showError() {\n    return this._showError;\n  }\n  set maxLength(t) {\n    const e = this._maxLength;\n    this._maxLength = t, this.requestUpdate(\"maxLength\", e);\n  }\n  get maxLength() {\n    return this._maxLength || 0;\n  }\n  set minLength(t) {\n    const e = this._minLength;\n    this._minLength = t, this.requestUpdate(\"minLength\", e);\n  }\n  get minLength() {\n    return this._minLength || 0;\n  }\n  set max(t) {\n    const e = this._max;\n    this._max = t, this.requestUpdate(\"max\", e);\n  }\n  get max() {\n    return this._max || 0;\n  }\n  set min(t) {\n    const e = this._min;\n    this._min = t, this.requestUpdate(\"min\", e);\n  }\n  get min() {\n    return this._min || 0;\n  }\n  set step(t) {\n    const e = this._step;\n    this._step = t, this.requestUpdate(\"step\", e);\n  }\n  get step() {\n    return this._step || 0;\n  }\n  get _input() {\n    var t;\n    return (t = this.shadowRoot) == null ? void 0 : t.querySelector(\"input\");\n  }\n  _handleInput() {\n    this._dispatchValueChange(), this.requestUpdate();\n  }\n  _handleKeypress(t) {\n    t.keyCode < 32 && t.preventDefault(), this._maxLength && t.target.value.length >= this._maxLength && t.preventDefault();\n  }\n  _handleKeyup(t) {\n    (t.keyCode ? t.keyCode : t.which) === 9 && (this._isGroupFocusedVisible = !0, this._isInputFocused = !0, this._handelLabelClick());\n  }\n  _handleFocus() {\n    this._readonly || (this._isGroupFocusedVisible = !0, this._isInputFocused = !0, this.requestUpdate());\n  }\n  _handleFocusOut() {\n    var t, e;\n    this._handleBlur(), this._isGroupFocusedVisible = !1, this._isInputFocused = !1, ((e = (t = this._input) == null ? void 0 : t.value) == null ? void 0 : e.length) === 0 && (this._value = \"\", this._input.value = this._value), this.requestUpdate();\n  }\n  _handleBlur() {\n    this._isInputFocused = !1, this.requestUpdate();\n  }\n  _handelLabelClick() {\n    var t;\n    (t = this._input) == null || t.focus(), this.requestUpdate();\n  }\n  _cleanInput() {\n    var t, e;\n    (e = (t = this._input) == null ? void 0 : t.value) != null && e.length && (this._value = \"\", this._input.value = this._value), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _stepUp() {\n    var t, e;\n    (t = this._input) == null || t.stepUp(), this._value = ((e = this._input) == null ? void 0 : e.value) || \"\", this._dispatchValueChange(), this.requestUpdate();\n  }\n  _stepDown() {\n    var t, e;\n    (t = this._input) == null || t.stepDown(), this._value = ((e = this._input) == null ? void 0 : e.value) || \"\", this._dispatchValueChange(), this.requestUpdate();\n  }\n  _dispatchValueChange() {\n    var e, r;\n    const t = {\n      detail: this._isTypeNumeric ? Number((e = this._input) == null ? void 0 : e.value) : (r = this._input) == null ? void 0 : r.value,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onValueChange\", t));\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._isTypeNumeric = this._type === v, this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  render() {\n    var r, o, u, d, _, c;\n    const t = {\n      \"dss-input--invalid\": this._showError,\n      \"dss-input--disabled\": this._disabled,\n      \"dss-input--gap\": this._maxLength || !!this._description\n    }, e = {\n      \"dss-input__group--focused\": ((r = this._input) == null ? void 0 : r.value) || this._isInputFocused || this._placeHolder,\n      \"dss-input__group--focused-visible\": this._isGroupFocusedVisible,\n      \"dss-input__group--required\": this._required,\n      \"dss-input__group--readOnly\": this._readonly,\n      \"dss-input__group--numeric\": this._isTypeNumeric,\n      \"dss-input__group--icon\": this._clearable\n    };\n    return a`\n      <div class=\"dss-input ${g(t)}\">\n        <div\n          class=\"dss-input__group ${g(e)}\"\n          tabindex=\"0\"\n          @keyup=${this._handleKeyup}\n        >\n          ${this._icon ? a`<span class=\"dss-input__icon\">${this._icon}</span>` : null}\n          <div class=\"dss-input__content\">\n            <label @mouseup=${this._handelLabelClick}>${this._label}</label>\n            <input\n              .value=${this._value}\n              placeholder=${p(this._placeHolder)}\n              maxlength=${p(this._maxLength)}\n              minlength=${p(this._minLength)}\n              min=${p(this._min)}\n              max=${p(this._max)}\n              step=${p(this._step)}\n              ?disabled=${this._disabled}\n              ?required=${this._required}\n              ?readonly=${this._readonly}\n              @keyup=${this._handleKeyup}\n              @keypress=${this._handleKeypress}\n              @input=\"${this._handleInput}\"\n              @focus=${this._handleFocus}\n              @focusout=${this._handleFocusOut}\n              @blur=${this._handleBlur}\n              .type=${this._type}\n            />\n          </div>\n          ${this._clearable && !this._isTypeNumeric ? a`\n                <button\n                  type=\"button\"\n                  class=\"dss-icon-button\"\n                  @click=${this._cleanInput}\n                  ?disabled=${(o = this._input) == null ? void 0 : o.disabled}\n                  tabindex=\"-1\"\n                >\n                  <span>close</span>\n                </button>\n              ` : null}\n          ${this._isTypeNumeric ? a`\n                <div class=\"dss-input__numeric-buttons\">\n                  <button\n                    type=\"button\"\n                    class=\"dss-icon-button\"\n                    @click=${this._stepUp}\n                    ?disabled=${(u = this._input) == null ? void 0 : u.disabled}\n                    tabindex=\"-1\"\n                  >\n                    <span>keyboard_arrow_up</span>\n                  </button>\n                  <button\n                    type=\"button\"\n                    class=\"dss-icon-button\"\n                    @click=${this._stepDown}\n                    ?disabled=${(d = this._input) == null ? void 0 : d.disabled}\n                    tabindex=\"-1\"\n                  >\n                    <span>keyboard_arrow_down</span>\n                  </button>\n                </div>\n              ` : null}\n        </div>\n        <div class=\"dss-input__help\">\n          <div class=\"dss-input__description\">\n            <span>${this._description}</span>\n          </div>\n          ${this._maxLength ? a`<span>\n                ${(c = (_ = this._input) == null ? void 0 : _.value) == null ? void 0 : c.length}/${this._maxLength}\n              </span>` : null}\n        </div>\n      </div>\n    `;\n  }\n}\ni([\n  s({ type: String })\n], n.prototype, \"value\");\ni([\n  s({ type: String })\n], n.prototype, \"type\");\ni([\n  s({ type: String })\n], n.prototype, \"label\");\ni([\n  s({ type: String })\n], n.prototype, \"description\");\ni([\n  s({ type: String })\n], n.prototype, \"placeHolder\");\ni([\n  s(l)\n], n.prototype, \"required\");\ni([\n  s(l)\n], n.prototype, \"disabled\");\ni([\n  s(l)\n], n.prototype, \"readonly\");\ni([\n  s({ type: String })\n], n.prototype, \"icon\");\ni([\n  s(l)\n], n.prototype, \"clearable\");\ni([\n  s(l)\n], n.prototype, \"showError\");\ni([\n  s({ type: Number })\n], n.prototype, \"maxLength\");\ni([\n  s({ type: Number })\n], n.prototype, \"minLength\");\ni([\n  s({ type: Number })\n], n.prototype, \"max\");\ni([\n  s({ type: Number })\n], n.prototype, \"min\");\ni([\n  s({ type: Number })\n], n.prototype, \"step\");\nexport {\n  n as InputField\n};\n//# sourceMappingURL=input-field.js.map\n","const e = \":host{display:block;min-height:100%;height:100%;width:auto}.dss-sidemenu{min-height:100%;width:72px;display:flex;justify-content:flex-start;align-items:center;flex-direction:column;background-color:var(--color-primary-700);padding:var(--dss-spacing-lg) var(--dss-spacing-md);color:var(--color-white);gap:var(--dss-spacing-lg)}.dss-sidemenu--expanded{width:252px;align-items:flex-start}.dss-sidemenu-top-menu{width:100%;flex:1}.dss-sidemenu-bottom-menu,.dss-sidemenu-create{width:100%}.dss-sidemenu-create__button__content{display:flex;align-items:center;justify-content:center;position:relative}.dss-sidemenu-create__notification{position:absolute;top:-4px;right:-4px;display:block}.dss-sidemenu-create__notification--expanded{top:-8px;right:-8px}.dss-sidemenu-create__button{all:unset;cursor:pointer;box-sizing:border-box;height:40px;width:40px;display:flex;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xs);background-color:var(--color-white);color:var(--color-primary-700);border-radius:var(--dss-radius-sm);font-size:14px;line-height:24px;font-weight:var(--font-semibold);transition:background-color .3s ease-in}.dss-sidemenu-create__button:not(:disabled):hover{background-color:var(--color-primary-900);color:var(--color-white)}.dss-sidemenu-create__button:not(:disabled):active{background-color:var(--color-primary-800);color:var(--color-white)}.dss-sidemenu-create__button:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-sidemenu-create__button:disabled{color:var(--color-neutral-600);background-color:var(--color-neutral-100);cursor:not-allowed}.dss-sidemenu-toggle{all:unset;cursor:pointer;box-sizing:border-box;height:40px;width:40px;display:flex;align-items:center;gap:var(--dss-spacing-xs);padding:var(--dss-spacing-xs);background-color:var(--color-primary-700);border-radius:var(--dss-radius-sm);font-size:14px;line-height:24px;font-weight:var(--font-semibold);transition:background-color .3s ease-in-out}.dss-sidemenu-toggle:not(:disabled):hover{background-color:var(--color-primary-900)}.dss-sidemenu-toggle:not(:disabled):active{background-color:var(--color-primary-800)}.dss-sidemenu-toggle:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-sidemenu-toggle:disabled{color:var(--color-primary-200);cursor:not-allowed}.dss-sidemenu-toggle__icon{border-radius:100%;background-color:var(--color-white);color:var(--color-primary-700)}.dss-sidemenu--expanded button.dss-sidemenu-create__button,.dss-sidemenu--expanded button.dss-sidemenu-toggle{width:100%}.dss-sidemenu-toggle:disabled .dss-sidemenu-toggle__icon{background-color:var(--color-primary-200)}.dss-sidemenu-top-menu,.dss-sidemenu-bottom-menu{width:100%}.dss-sidemenu-bottom{width:100%;display:flex;flex-direction:inherit;align-items:inherit;justify-content:inherit;border-top:var(--dss-border-width-sm) solid var(--color-white);padding-top:var(--dss-spacing-md);gap:var(--dss-spacing-lg)}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=sidemenu.style.css.js.map\n","import { classMap as d } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as t, literal as i, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as l } from \"../../api/custom-element-scope.js\";\nconst a = i`dss-icon${t(l())}`, u = i`dss-notification-badge${t(l())}`, _ = (e) => s`\n  <aside\n    class=${d({\n  \"dss-sidemenu\": !0,\n  \"dss-sidemenu--expanded\": !!e._expanded\n})}\n  >\n    <div class=\"dss-sidemenu-top-menu\">\n      <slot name=\"top-menu\"></slot>\n    </div>\n\n    ${e._hideCreateMenu ? null : s`\n          <div\n            class=\"dss-sidemenu-create\"\n            @focusout=\"${e._handleCreateFocusout}\"\n          >\n            <button\n              class=\"dss-sidemenu-create__button\"\n              ?disabled=${e._createDisabled}\n              @click=\"${e._toggleCreateMenu}\"\n              @mouseenter=\"${e._handleCreateMouseEnter}\"\n              @mouseleave=\"${e._handleCreateMouseLeave}\"\n              @mousedown=\"${e._handleCreateMouseDown}\"\n              @mouseup=\"${e._handleCreateMouseUp}\"\n              aria-label=\"${e._createLabel}\"\n            >\n              <span class=\"dss-sidemenu-create__button__content\">\n                <${a} class=\"dss-sidemenu-create__icon\" size=\"md\" icon=\"add_circle_outline\"></${a}>\n                ${e._createNotifications && !e._showCreateDropdown ? s`\n                      <${u}\n                        class=${d({\n  \"dss-sidemenu-create__notification\": !0,\n  \"dss-sidemenu-create__notification--expanded\": !!e._expanded\n})}\n                        ?dot=${!e._expanded}\n                        value=\"${e._createNotifications}\"\n                        state=\"success\"\n                        type=\"default\"\n                        borderWhite\n                      />\n                    ` : null}\n              </span>\n              ${e._expanded ? s` ${e._createLabel} ` : null}\n            </button>\n            <slot name=\"create-action-menu\"></slot>\n          </div>\n        `}\n\n    <div class=\"dss-sidemenu-bottom\">\n      <div class=\"dss-sidemenu-bottom-menu\">\n        <slot name=\"bottom-menu\"></slot>\n      </div>\n\n      <button\n        class=\"dss-sidemenu-toggle\"\n        ?disabled=${e._toggleDisabled}\n        @click=\"${e._toggleSidemenu}\"\n        aria-label=\"${e._expanded ? \"col·lapsar menú\" : \"expandir menú\"}\"\n      >\n        ${e._expanded ? s`\n              <${a} class=\"dss-sidemenu-toggle__icon\" size=\"md\" icon=\"chevron_left\"></${a}>\n            ` : s`\n              <${a} class=\"dss-sidemenu-toggle__icon\" size=\"md\" icon=\"chevron_right\"></${a}>\n            `}\n        ${e._expanded ? s` ${e._toggleLabel} ` : null}\n      </button>\n    </div>\n  </aside>\n`;\nexport {\n  _ as sidemenuTemplate\n};\n//# sourceMappingURL=sidemenu.template.js.map\n","import { LitElement as u, unsafeCSS as c } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport _ from \"../../foundations/icon/icon.style.css.js\";\nimport p from \"../../shared/reset.style.css.js\";\nimport { booleanType as d } from \"../../utils/property-types.js\";\nimport C from \"./sidemenu.style.css.js\";\nimport { sidemenuTemplate as f } from \"./sidemenu.template.js\";\nvar b = Object.defineProperty, g = Object.getOwnPropertyDescriptor, s = (l, e, t, n) => {\n  for (var a = g(e, t), r = l.length - 1, h; r >= 0; r--)\n    (h = l[r]) && (a = h(e, t, a) || a);\n  return a && b(e, t, a), a;\n};\nclass o extends u {\n  constructor() {\n    super(), this._disabled = !1, this._expanded = !1, this._toggleDisabled = !1, this._toggleLabel = \"Tancar menú\", this._hideCreateMenu = !1, this._createDisabled = !1, this._createLabel = \"Crear\", this._createMenuPosition = \"top\", this._createNotifications = 0, this._showCreateDropdown = !1, this._scrollContainerClass = \"dss-layout-sidebar\", this._dropdown = null, this._handleDocumentClickBound = this._handleDocumentClick.bind(this), this._handleResizeBound = this._handleResize.bind(this), this._handleContainerScrollBound = this._handleContainerScroll.bind(this);\n  }\n  static get styles() {\n    return [c(p), c(_), c(C)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), window.addEventListener(\"resize\", this._handleResizeBound), document.addEventListener(\"mousedown\", this._handleDocumentClickBound), this._handleResize();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), window.removeEventListener(\"resize\", this._handleResizeBound), document.removeEventListener(\"mousedown\", this._handleDocumentClickBound), this._scrollContainer && this._scrollContainer.removeEventListener(\"scroll\", this._handleContainerScrollBound);\n  }\n  set expanded(e) {\n    const t = this._expanded;\n    this._expanded = e, this.requestUpdate(\"expanded\", t);\n  }\n  get expanded() {\n    return this._expanded;\n  }\n  set disabled(e) {\n    const t = this._disabled;\n    this._disabled = e, this.requestUpdate(\"disabled\", t);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set toggleLabel(e) {\n    const t = this._toggleLabel;\n    this._toggleLabel = e, this.requestUpdate(\"toggleLabel\", t);\n  }\n  get toggleLabel() {\n    return this._toggleLabel;\n  }\n  set createLabel(e) {\n    const t = this._createLabel;\n    this._createLabel = e, this.requestUpdate(\"createLabel\", t);\n  }\n  get createLabel() {\n    return this._createLabel;\n  }\n  set createMenuPosition(e) {\n    const t = this._createMenuPosition;\n    this._createMenuPosition = e, this.requestUpdate(\"createMenuPosition\", t);\n  }\n  get createMenuPosition() {\n    return this._createMenuPosition;\n  }\n  set createNotifications(e) {\n    const t = this._createNotifications;\n    this._createNotifications = e, this.requestUpdate(\"createNotifications\", t);\n  }\n  get createNotifications() {\n    return this._createNotifications;\n  }\n  set createDisabled(e) {\n    const t = this._createDisabled;\n    this._createDisabled = e, this.requestUpdate(\"createDisabled\", t);\n  }\n  get createDisabled() {\n    return this._createDisabled;\n  }\n  set hideCreateMenu(e) {\n    const t = this._hideCreateMenu;\n    this._hideCreateMenu = e, this.requestUpdate(\"hideCreateMenu\", t);\n  }\n  get hideCreateMenu() {\n    return this._hideCreateMenu;\n  }\n  set scrollContainerClass(e) {\n    const t = this._scrollContainerClass;\n    this._scrollContainerClass = e, this.requestUpdate(\"scrollContainerClass\", t);\n  }\n  get scrollContainerClass() {\n    return this._scrollContainerClass;\n  }\n  get _createNotification() {\n    var e;\n    return ((e = this.shadowRoot) == null ? void 0 : e.querySelector(\"dss-notification-badge\")) || void 0;\n  }\n  get _createSection() {\n    var t;\n    return (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-sidemenu-create\");\n  }\n  _propagateProperties() {\n    var t;\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelectorAll(\"slot\");\n    e && e.forEach((n) => {\n      n.assignedElements().forEach((r) => {\n        this._expanded ? r.setAttribute(\"expanded\", \"true\") : r.removeAttribute(\"expanded\"), this._scrollContainerClass ? r.setAttribute(\"scrollContainerClass\", this._scrollContainerClass) : r.removeAttribute(\"scrollContainerClass\");\n      });\n    });\n  }\n  _handleResize() {\n    window.innerWidth < 1024 ? (this.removeAttribute(\"expanded\"), this._toggleDisabled = !0) : this._toggleDisabled = !1, this.requestUpdate();\n  }\n  _clickedOutsideCreateMenu(e, t) {\n    t.composedPath().includes(e) || this._closeCreateDropdown();\n  }\n  _closeCreateDropdown() {\n    this._showCreateDropdown && (this._showCreateDropdown = !1, this.requestUpdate());\n  }\n  _handleDocumentClick(e) {\n    this._createSection && this._clickedOutsideCreateMenu(this._createSection, e);\n  }\n  _toggleCreateMenu() {\n    this._showCreateDropdown = !this._showCreateDropdown, this.requestUpdate();\n  }\n  _toggleSidemenu() {\n    this._expanded ? this.removeAttribute(\"expanded\") : this.setAttribute(\"expanded\", \"true\");\n  }\n  _handleCreateMouseEnter() {\n    this._createNotification && this._createNotification.setAttribute(\"isHover\", \"true\");\n  }\n  _handleCreateMouseLeave() {\n    this._createNotification && this._createNotification.removeAttribute(\"isHover\");\n  }\n  _handleCreateMouseDown() {\n    this._createNotification && this._createNotification.setAttribute(\"isActive\", \"true\");\n  }\n  _handleCreateFocusout(e) {\n    if (this._showCreateDropdown) {\n      const t = e.relatedTarget;\n      t === null && this._closeCreateDropdown(), t && !this._createSection.contains(t) && t.tagName !== \"DSS-ACTION-MENU-ITEM\" && this._closeCreateDropdown();\n    }\n  }\n  _handleCreateMouseUp() {\n    this._createNotification && this._createNotification.removeAttribute(\"isActive\");\n  }\n  get _scrollContainer() {\n    return document.querySelector(`.${this._scrollContainerClass}`);\n  }\n  _getCreateDropdownFixedPosition() {\n    var n;\n    const t = ((n = this.shadowRoot) == null ? void 0 : n.querySelector(\".dss-sidemenu-create\")).getBoundingClientRect();\n    this._dropdown && (this._dropdown.style.left = `${t.right + 8}px`, this._dropdown.classList.contains(\"dss-sidemenu-create__dropdown--top\") ? this._dropdown.style.top = `${t.top}px` : this._dropdown.style.top = `${t.bottom - this._dropdown.offsetHeight}px`);\n  }\n  _handleContainerScroll() {\n    this._getCreateDropdownFixedPosition();\n  }\n  async firstUpdated() {\n    var t;\n    await this.updateComplete, this._propagateProperties();\n    const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector(\".dss-sidemenu-create__dropdown\");\n    e && (this._dropdown = e, this._getCreateDropdownFixedPosition()), this._scrollContainer && this._scrollContainer.addEventListener(\"scroll\", this._handleContainerScrollBound);\n  }\n  updated(e) {\n    super.updated(e), (e.has(\"expanded\") || e.has(\"disabled\")) && (this._propagateProperties(), this._getCreateDropdownFixedPosition());\n  }\n  render() {\n    return f(this);\n  }\n}\ns([\n  i(d)\n], o.prototype, \"expanded\");\ns([\n  i(d)\n], o.prototype, \"disabled\");\ns([\n  i({ type: String })\n], o.prototype, \"toggleLabel\");\ns([\n  i({ type: String })\n], o.prototype, \"createLabel\");\ns([\n  i({ type: String })\n], o.prototype, \"createMenuPosition\");\ns([\n  i({ type: Number })\n], o.prototype, \"createNotifications\");\ns([\n  i(d)\n], o.prototype, \"createDisabled\");\ns([\n  i(d)\n], o.prototype, \"hideCreateMenu\");\ns([\n  i({ type: String })\n], o.prototype, \"scrollContainerClass\");\nexport {\n  o as Sidemenu\n};\n//# sourceMappingURL=sidemenu.js.map\n","import { LitElement as p, css as b, html as a } from \"lit\";\nimport { property as i } from \"lit/decorators.js\";\nimport { classMap as w } from \"lit/directives/class-map.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nvar _ = Object.defineProperty, u = Object.getOwnPropertyDescriptor, c = (r, s, e, o) => {\n  for (var t = o > 1 ? void 0 : o ? u(s, e) : s, l = r.length - 1, h; l >= 0; l--)\n    (h = r[l]) && (t = (o ? h(s, e, t) : h(t)) || t);\n  return o && t && _(s, e, t), t;\n};\nclass d extends p {\n  constructor() {\n    super(...arguments), this.ariaLabel = \"Switch\", this._checked = !1, this._disabled = !1, this._label = null, this._size = \"md\";\n  }\n  static get styles() {\n    return b`\n      :host {\n        display: flex;\n        width: fit-content;\n        height: fit-content;\n        gap: 0.5rem;\n        align-items: center;\n      }\n\n      .dss-switch input[type='checkbox'] {\n        opacity: 0;\n      }\n\n      .dss-switch {\n        position: relative;\n        display: flex;\n        transition: 0.3s all ease-in;\n      }\n\n      .dss-switch .dss-switch__slider {\n        position: absolute;\n        cursor: pointer;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background-color: #656565;\n        border-radius: 100px;\n        transition: 0.3s all ease-in;\n      }\n\n      .dss-switch .dss-switch__slider:before {\n        position: absolute;\n        background-color: white;\n        border-radius: 100%;\n        content: '';\n        box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.05),\n          0px 1px 3px 1px rgba(0, 0, 0, 0.1);\n        transition: 0.3s all ease-in;\n      }\n\n      .dss-switch input[type='checkbox']:hover:enabled + .dss-switch__slider {\n        background-color: #535353;\n      }\n\n      .dss-switch input[type='checkbox']:enabled + .dss-switch__slider:active {\n        background-color: #828282;\n        transition: none;\n      }\n\n      .dss-switch input[type='checkbox']:checked + .dss-switch__slider {\n        background-color: #0073e6;\n      }\n\n      .dss-switch\n        input[type='checkbox']:checked:hover:enabled\n        + .dss-switch__slider {\n        background-color: #0064c7;\n      }\n\n      .dss-switch\n        input[type='checkbox']:checked:enabled\n        + .dss-switch__slider:active {\n        background-color: #308deb;\n        transition: none;\n      }\n\n      .dss-switch\n        input[type='checkbox']:checked:enabled\n        + .dss-switch__slider:active:before {\n        color: #308deb;\n        transition: none;\n      }\n\n      .dss-switch\n        input[type='checkbox']:enabled\n        + .dss-switch__slider:active:before {\n        color: #828282;\n        transition: none;\n      }\n\n      .dss-switch input[type='checkbox']:disabled + .dss-switch__slider {\n        cursor: not-allowed;\n      }\n\n      .dss-switch input[type='checkbox']:disabled + .dss-switch__slider:before {\n        color: #828282 !important;\n      }\n\n      .dss-switch\n        input[type='checkbox']:checked:disabled\n        + .dss-switch__slider {\n        background-color: #308deb;\n      }\n\n      .dss-switch\n        input[type='checkbox']:checked:disabled\n        + .dss-switch__slider:before {\n        color: #308deb !important;\n      }\n\n      .dss-switch input[type='checkbox']:focus {\n        outline: none;\n        transition: none;\n      }\n\n      .dss-switch\n        input[type='checkbox']:focus-visible:enabled\n        + .dss-switch__slider {\n        outline: 4px solid #8ec7e5;\n        transition: none;\n      }\n\n      .dss-switch.dss-switch--lg {\n        width: 52px;\n        height: 32px;\n      }\n\n      .dss-switch.dss-switch--lg .dss-switch__slider:before {\n        font-family: var(--icon-font);\n        content: 'close';\n        color: var(--color-primary-500);\n        font-size: 16px;\n        height: 24px;\n        width: 24px;\n        left: 4px;\n        bottom: 4px;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n      }\n\n      .dss-switch.dss-switch--lg\n        input[type='checkbox']:checked\n        + .dss-switch__slider:before {\n        -webkit-transform: translateX(20px);\n        -ms-transform: translateX(20px);\n        transform: translateX(20px);\n        content: 'done';\n        color: var(--color-primary-500);\n      }\n\n      .dss-switch.dss-switch--md {\n        width: 39px;\n        height: 24px;\n      }\n\n      .dss-switch.dss-switch--md .dss-switch__slider:before {\n        height: 18px;\n        width: 18px;\n        left: 3px;\n        bottom: 3px;\n      }\n\n      .dss-switch.dss-switch--md\n        input[type='checkbox']:checked\n        + .dss-switch__slider:before {\n        -webkit-transform: translateX(15px);\n        -ms-transform: translateX(15px);\n        transform: translateX(15px);\n      }\n\n      .dss-switch.dss-switch--sm {\n        width: 26px;\n        height: 16px;\n      }\n\n      .dss-switch.dss-switch--sm .dss-switch__slider:before {\n        height: 12px;\n        width: 12px;\n        left: 2px;\n        bottom: 2px;\n      }\n\n      .dss-switch.dss-switch--sm\n        input[type='checkbox']:checked\n        + .dss-switch__slider:before {\n        -webkit-transform: translateX(10px);\n        -ms-transform: translateX(10px);\n        transform: translateX(10px);\n      }\n\n      .dss-switch__label {\n        font-family: var(--font-family);\n        font-style: normal;\n        font-weight: 400;\n        font-size: 14px;\n        line-height: 24px;\n        color: #1d1d1d;\n      }\n\n      .dss-switch.dss-switch--lg + .dss-switch__label {\n        font-weight: 600;\n        font-size: 16px;\n      }\n\n      .dss-switch--disabled .dss-switch__slider {\n        background-color: var(--color-neutral-200);\n      }\n\n      .dss-switch\n        input[type='checkbox']:checked:disabled\n        + .dss-switch__slider {\n        background-color: var(--color-neutral-200);\n      }\n\n      .dss-switch\n        input[type='checkbox']:checked:disabled\n        + .dss-switch__slider::before {\n        background-color: var(--color-neutral-400);\n        color: var(--color-neutral-900) !important;\n      }\n\n      .dss-switch.dss-switch--lg\n        input[type='checkbox']:checked:disabled\n        + .dss-switch__slider::before {\n        background-color: var(--color-neutral-100);\n      }\n\n      .dss-switch\n        input[type='checkbox']:not(:checked):disabled\n        + .dss-switch__slider::before {\n        background-color: var(--color-neutral-400);\n        color: var(--color-neutral-100) !important;\n      }\n    `;\n  }\n  set checked(s) {\n    const e = this._checked;\n    this._checked = s, this.requestUpdate(\"checked\", e);\n  }\n  get checked() {\n    return this._checked;\n  }\n  set disabled(s) {\n    const e = this._disabled;\n    this._disabled = s, this.requestUpdate(\"disabled\", e);\n  }\n  get disabled() {\n    return this._disabled;\n  }\n  set label(s) {\n    const e = this._label;\n    this._label = s, this.requestUpdate(\"label\", e);\n  }\n  get label() {\n    return this._label || \"\";\n  }\n  set size(s) {\n    const e = this._size;\n    this._size = s, this.requestUpdate(\"size\", e);\n  }\n  get size() {\n    return this._size;\n  }\n  handleClick() {\n    this._checked = !this._checked, this.dispatchEvent(\n      new CustomEvent(\"onChangeValue\", {\n        detail: this._checked,\n        bubbles: !0,\n        composed: !0\n      })\n    );\n  }\n  render() {\n    const s = {\n      \"dss-switch--sm\": this._size === \"sm\",\n      \"dss-switch--md\": this._size === \"md\",\n      \"dss-switch--lg\": this._size === \"lg\",\n      \"dss-switch--disabled\": this._disabled\n    };\n    return a`\n      <label class=\"dss-switch ${w(s)}\">\n        <input\n          type=\"checkbox\"\n          ?checked=\"${this._checked}\"\n          ?disabled=\"${this._disabled}\"\n          @click=\"${this.handleClick}\"\n          aria-label=\"${this._label ? this._label : this.ariaLabel}\"\n        />\n        <div class=\"dss-switch__slider\"></div>\n      </label>\n      ${this._label ? a`<span class=\"dss-switch__label\">${this._label}</span>` : null}\n    `;\n  }\n}\nc([\n  i(n)\n], d.prototype, \"checked\", 1);\nc([\n  i(n)\n], d.prototype, \"disabled\", 1);\nc([\n  i({ type: String })\n], d.prototype, \"label\", 1);\nc([\n  i({ type: String })\n], d.prototype, \"size\", 1);\nc([\n  i({ type: String })\n], d.prototype, \"ariaLabel\", 2);\nexport {\n  d as Switch\n};\n//# sourceMappingURL=switch.js.map\n","import { LitElement as U, unsafeCSS as w, css as q, html as l } from \"lit\";\nimport { property as n } from \"lit/decorators.js\";\nimport { classMap as g } from \"lit/directives/class-map.js\";\nimport { ifDefined as S } from \"lit/directives/if-defined.js\";\nimport { booleanType as m } from \"../../utils/property-types.js\";\nimport { onKeyboardEnter as B, moveFocusToNextTarget as O, moveFocusToPreviousTarget as H } from \"../../utils/keyboard-navigation.js\";\nimport F from \"../../components/button/button.style.css.js\";\nimport z from \"../../components/badge/badge.states.css.js\";\nimport P from \"../../components/icon-button/icon-button.style.css.js\";\nimport E from \"../../foundations/icon/icon.style.css.js\";\nimport V from \"../../components/checkbox/checkbox.style.css.js\";\nimport I from \"../../components/chip/chip.style.css.js\";\nimport j from \"../../components/radio-button/radio-button.style.css.js\";\nvar M = Object.defineProperty, N = Object.getOwnPropertyDescriptor, d = (D, e, s, t) => {\n  for (var o = N(e, s), c = D.length - 1, i; c >= 0; c--)\n    (i = D[c]) && (o = i(e, s, o) || o);\n  return o && M(e, s, o), o;\n};\nclass r extends U {\n  constructor() {\n    super(...arguments), this._valueMaxLength = 60, this._data = [], this._customData = void 0, this._pipeData = [], this._customTableHeader = void 0, this._filters = [], this._tableHeader = [], this._tableHeaderSort = {}, this._hasPaginator = !1, this._currentIndex = 1, this._pageSize = 10, this._pageSizeOptions = \"[5,10,20]\", this._resultstext = \"Resultats\", this._rowsperpagetext = \"Files per pàgina\", this._textAlign = \"left\", this._headerTitle = \"\", this._hideHeader = !1, this._hideColumnHeader = !1, this._innerFilters = !1, this._expandTable = !1, this._expandLabel = \"Ampliar\", this._collapseLabel = \"Reduir\", this._rowsOnCollapsed = 5, this._filtersLabel = \"Selecció\", this._cleanFiltersLabel = \"Netejar filtres\", this._openFiltersLabel = \"Filtres\", this._selectedRowsLabel = \"files seleccionades\", this._selectAllRows = !0, this._noFiltersLabel = \"No hi ha filtres seleccionats\", this._footerButtons = 3, this._maxContentWidth = !1, this._stickyColumns = !1, this._multiselect = !1, this._radioselect = !1, this._hasRowButton = !1, this._rowButtonLabel = \"Button\", this._hasRowActions = !1, this._rowActionsIcons = [\"add_box\", \"add_box\", \"add_box\"], this._footerButtonPrimaryLabel = \"Primary\", this._footerButtonSecondaryLabel = \"Secondary\", this._footerButtonAlternativeLabel = \"Alternative\", this._enableRowActionsOnDeleted = !1, this._enableRowActionsOnDisabled = !1, this._currentSortColumn = \"\", this._currentSortType = \"\", this._copyPipeData = [], this._isFirstUpdate = !0;\n  }\n  static get styles() {\n    return [\n      w(E),\n      w(F),\n      w(P),\n      w(I),\n      w(V),\n      w(j),\n      q`\n        :host {\n          display: block;\n          width: 100%;\n        }\n\n        .dss-table-header {\n          padding: var(--dss-spacing-md) 0;\n        }\n\n        .dss-table-header-title {\n          display: flex;\n          justify-content: space-between;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n          margin-bottom: var(--dss-spacing-md);\n        }\n\n        .dss-table-header-title__text {\n          color: var(--color-neutral-900);\n          font-weight: var(--font-bold);\n          font-size: 20px;\n        }\n\n        .dss-table-header-title__action {\n          display: flex;\n          justify-content: flex-end;\n          align-items: center;\n          gap: var(--dss-spacing-xxs);\n          font-size: 14px;\n          color: var(--color-primary-700);\n          cursor: pointer;\n          border-radius: var(--dss-radius-xs);\n          font-weight: var(--font-semibold);\n        }\n\n        .dss-table-header-title__action:hover {\n          color: var(--color-primary-600);\n        }\n\n        .dss-table-header-title__action:active {\n          color: var(--color-primary-400);\n        }\n\n        .dss-table-header-title__action:focus-visible {\n          outline: var(--dss-border-width-md) solid var(--color-blue-200);\n        }\n\n        .dss-table-header-filters {\n          display: flex;\n          justify-content: space-between;\n          align-items: center;\n        }\n\n        .dss-table-header-filters__filters {\n          display: flex;\n          justify-content: flex-start;\n          align-items: center;\n          gap: var(--dss-spacing-md);\n          width: 70%;\n          box-sizing: border-box;\n        }\n\n        .dss-table-header-filters--inner .dss-table-header-filters__filters {\n          width: 80%;\n        }\n\n        .filters-label {\n          font-size: 14px;\n          font-weight: var(--font-bold);\n          color: var(--color-neutral-600);\n        }\n\n        .filters-list {\n          display: flex;\n          flex-wrap: wrap;\n          max-width: 60%;\n          gap: var(--dss-spacing-xs);\n        }\n\n        .filters-list-empty {\n          font-size: 14px;\n          color: var(--color-neutral-600);\n        }\n\n        .filters-clean {\n          padding-left: var(--dss-spacing-md);\n          border-left: var(--dss-border-width-sm) solid var(--color-neutral-100);\n        }\n\n        .dss-table-header-filters__actions {\n          display: flex;\n          justify-content: flex-end;\n          align-items: center;\n          gap: var(--dss-spacing-md);\n          width: 30%;\n          box-sizing: border-box;\n        }\n\n        .dss-table-header-filters--inner .dss-table-header-filters__actions {\n          width: 20%;\n        }\n\n        .dss-table-main {\n          background-color: var(--color-white);\n          width: 100%;\n          overflow-x: auto;\n        }\n\n        .dss-table-container {\n          max-width: 100%;\n          overflow: auto;\n        }\n\n        .dss-table-main .table {\n          min-width: 100%;\n          margin: 0;\n          padding: 0;\n          border-collapse: collapse;\n          border-spacing: 0;\n          table-layout: fixed;\n        }\n\n        .dss-table-main .table.table--max-content-width {\n          width: max-content;\n        }\n\n        .dss-table-main .table.table--sticky-columns {\n        }\n\n        .dss-table-main .table-header {\n          width: 100%;\n          position: sticky;\n          top: 0;\n          background-color: var(--color-white);\n          z-index: 100;\n        }\n\n        .dss-table-main .table.table--sticky-columns .table-header {\n          position: relative;\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-header\n          .table-th:first-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-td:first-child {\n          position: sticky;\n          left: 0;\n          z-index: 100;\n          background-color: var(--color-white);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body-row:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          ):hover\n          .table-td:first-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body-row--selected:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          )\n          .table-td:first-child {\n          background-color: var(--color-primary-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body-row:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          ):hover\n          .table-td:last-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body-row--selected:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          )\n          .table-td:last-child {\n          background-color: var(--color-primary-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--multiselect\n          .table-header\n          .table-th:nth-child(2),\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--multiselect\n          .table-body\n          .table-td:nth-child(2) {\n          position: sticky;\n          left: 52px;\n          z-index: 100;\n          background-color: var(--color-white);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--multiselect\n          .table-body-row:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          ):hover\n          .table-td:nth-child(2),\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--multiselect\n          .table-body-row--selected:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          )\n          .table-td:nth-child(2) {\n          background-color: var(--color-primary-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--multiselect\n          .table-body\n          .table-body-row--disabled\n          .table-td:first-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--disabled\n          .table-td:nth-child(2) {\n          background-color: var(--color-neutral-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--multiselect\n          .table-body\n          .table-body-row--deleted\n          .table-td:nth-child(2),\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--deleted\n          .table-td:nth-child(2) {\n          background-color: var(--color-red-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--radioselect\n          .table-header\n          .table-th:nth-child(2),\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--radioselect\n          .table-body\n          .table-td:nth-child(2) {\n          position: sticky;\n          left: 52px;\n          z-index: 100;\n          background-color: var(--color-white);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--radioselect\n          .table-body-row:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          ):hover\n          .table-td:nth-child(2),\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--radioselect\n          .table-body-row--selected:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          )\n          .table-td:nth-child(2) {\n          background-color: var(--color-primary-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--radioselect\n          .table-body\n          .table-body-row--disabled\n          .table-td:first-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--disabled\n          .table-td:nth-child(2) {\n          background-color: var(--color-neutral-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns.table--sticky-columns--radioselect\n          .table-body\n          .table-body-row--deleted\n          .table-td:nth-child(2),\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--deleted\n          .table-td:nth-child(2) {\n          background-color: var(--color-red-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--deleted\n          .table-td:first-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--deleted\n          .table-td:last-child {\n          background-color: var(--color-red-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--disabled\n          .table-td:first-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-body-row--disabled\n          .table-td:last-child {\n          background-color: var(--color-neutral-50);\n        }\n\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-header\n          .table-th:last-child,\n        .dss-table-main\n          .table.table--sticky-columns\n          .table-body\n          .table-td:last-child {\n          position: sticky;\n          right: 0;\n          z-index: 100;\n          background-color: var(--color-white);\n        }\n\n        .dss-table-main .table-header-row {\n          width: 100%;\n        }\n\n        .dss-table-main .table-th {\n          box-sizing: border-box;\n          height: 56px;\n        }\n\n        .dss-table-main .table-th--checkbox {\n          width: 52px;\n        }\n\n        .dss-table-main .table-th--radio {\n          width: 52px;\n        }\n\n        .dss-table-main .table-th--review {\n          width: 52px;\n        }\n\n        .dss-table-main .table-th--button {\n        }\n\n        .dss-table-main .table-th--actions {\n          width: 140px;\n          max-width: 140px;\n        }\n\n        .dss-table-main .table-th--icons-1 {\n          width: 64px;\n          max-width: 64px;\n        }\n\n        .dss-table-main .table-th--icons-2 {\n          width: 100px;\n          max-width: 100px;\n        }\n\n        .dss-table-main .table-header-column {\n          display: flex;\n          justify-content: flex-start;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n          margin: 0;\n          padding: 0 var(--dss-spacing-md);\n          border-bottom: var(--dss-border-width-md) solid\n            var(--color-neutral-700);\n          box-sizing: border-box;\n          height: 100%;\n        }\n\n        .dss-table-main .table-header-column--clickable {\n          cursor: pointer;\n        }\n\n        .dss-table-main .table-header-column--not-clickable {\n          cursor: default;\n        }\n\n        .dss-table-main\n          .table-header-column--clickable\n          .table-header-column__icon {\n          box-sizing: border-box;\n          padding: var(--dss-spacing-tiny);\n          background-color: transparent;\n          border-radius: var(--dss-radius-xs);\n          transition: all 0.3s ease-in;\n        }\n\n        .dss-table-main .table-header-column--clickable:focus-visible {\n          box-shadow: inset 0 0 0 var(--dss-border-width-lg)\n            var(--color-blue-200);\n          outline: 0;\n        }\n\n        .dss-table-main\n          .table-header-column--clickable:focus-visible\n          .table-header-column__icon,\n        .dss-table-main\n          .table-header-column--clickable:hover\n          .table-header-column__icon {\n          color: var(--color-white);\n          background-color: var(--color-primary-500);\n        }\n\n        .dss-table-main .table-header-column__title {\n          font-size: 14px;\n          line-height: 24px;\n          font-weight: var(--font-semibold);\n          text-transform: capitalize;\n        }\n\n        .dss-table-main .table-header-column--checkbox {\n          justify-content: center;\n          max-width: 52px;\n        }\n\n        .dss-table-main .table-header-column--radio {\n          max-width: 52px;\n        }\n\n        .dss-table-main .table-header-column--review {\n          justify-content: center;\n        }\n\n        .dss-table-main .table-header-column--button {\n        }\n\n        .dss-table-main .table-header-column--actions {\n        }\n\n        .dss-table-main .table-header-column--number {\n          justify-content: flex-end;\n        }\n\n        .dss-table-main .table-body {\n        }\n\n        .dss-table-main .table-body-row {\n          // display: grid;\n        }\n\n        .dss-table-main .table-body-row + .table-body-row {\n          border-top: var(--dss-border-width-sm) solid var(--color-neutral-100);\n        }\n\n        .dss-table-main\n          .table-body-row:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          ):hover,\n        .dss-table-main\n          .table-body-row--selected:not(.table-body-row--disabled):not(\n            .table-body-row--deleted\n          ) {\n          background-color: var(--color-primary-50);\n        }\n\n        .dss-table-main .table-body-row--disabled {\n          background-color: var(--color-neutral-50);\n        }\n\n        .dss-table-main .table-body-row--disabled .table-body-column {\n          color: var(--color-neutral-500);\n        }\n\n        .dss-table-main .table-body-row--deleted {\n          background-color: var(--color-red-50);\n        }\n\n        .dss-table-main .table-td {\n          box-sizing: border-box;\n          height: 56px;\n          margin: 0;\n          padding: 0;\n        }\n\n        .dss-table-main .table-body-column {\n          margin: 0;\n          padding: auto var(--dss-spacing-md);\n          font-size: 14px;\n          color: var(--color-neutral-700);\n          height: 56px;\n          box-sizing: border-box;\n        }\n\n        .dss-table-main .table-body-column--custom {\n          display: flex;\n          justify-content: flex-start;\n          align-items: center;\n          padding: 0 var(--dss-spacing-md);\n          gap: var(--dss-spacing-xs);\n          gap: var(--dss-spacing-xs);\n        }\n\n        .dss-table-main .table-body-column--text {\n          justify-content: flex-start;\n        }\n\n        .dss-table-main .table-body-column--number {\n          justify-content: flex-end;\n        }\n\n        .dss-table-main .table-td--actions {\n          box-sizing: border-box;\n          max-width: 140px;\n        }\n\n        .dss-table-main .table-body-column--actions {\n          justify-content: flex-end;\n          max-width: 140px;\n          box-sizing: border-box;\n        }\n\n        .dss-table-main .table-body-column--result {\n          font-weight: var(--font-bold);\n        }\n\n        .dss-table-main .table-body-column--checkbox {\n          max-width: 52px;\n          padding-left: 0;\n          padding-right: 0;\n          justify-content: center;\n        }\n\n        .dss-table-main .table-body-column--radio {\n          max-width: 52px;\n          padding-left: 0;\n          padding-right: 0;\n          justify-content: center;\n        }\n\n        .dss-table-main .table-body-column--button {\n          justify-content: flex-end;\n        }\n\n        .dss-table-main .table-body-column--review {\n          justify-content: center;\n        }\n\n        .dss-table-main .table-body-column--font-bold {\n          font-weight: var(--font-bold);\n        }\n\n        .dss-table-main .table-body-column--font-black {\n          font-weight: var(--font-bold);\n          color: var(--color-neutral-900);\n        }\n\n        .dss-table-main .table-body-column--icon-right {\n          flex-direction: row-reverse;\n        }\n\n        .dss-table-main .table-body-column--text.table-body-column--icon-right {\n          justify-content: flex-end;\n        }\n\n        .dss-table-main\n          .table-body-column--number.table-body-column--icon-right {\n          justify-content: flex-start;\n        }\n\n        .table-body--align-center .table-body-column {\n          text-align: center;\n        }\n\n        .table-body--align-right .table-body-column {\n          text-align: right;\n        }\n\n        .table-body--align-justify .table-body-column {\n          text-align: justify;\n        }\n\n        ::slotted(div.dss-table-filters) {\n          width: 100%;\n          display: flex;\n          justify-content: flex-start;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n        }\n\n        .table-footer {\n          display: flex;\n          justify-content: space-between;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n          padding: var(--dss-spacing-md);\n          border-top: var(--dss-border-width-sm) solid var(--color-neutral-100);\n          margin-top: var(--dss-spacing-md);\n        }\n\n        .table-footer-description {\n          color: var(--color-neutral-900);\n          font-size: 16px;\n          font-weight: var(--font-bold);\n        }\n\n        .table-footer-actions {\n          display: flex;\n          justify-content: flex-end;\n          align-items: center;\n          gap: var(--dss-spacing-xs);\n        }\n\n        .column-value {\n          position: relative;\n        }\n\n        .column-value > .value {\n          display: -webkit-box;\n          -webkit-line-clamp: 2;\n          -webkit-box-orient: vertical;\n          overflow: hidden;\n        }\n\n        .table-body-column--custom dss-tooltip {\n          font-weight: var(--font-regular);\n        }\n\n        .column-value dss-tooltip {\n          visibility: hidden;\n        }\n\n        .column-value:hover dss-tooltip {\n          visibility: visible;\n        }\n\n        .column-value {\n          position: relative;\n        }\n\n        .column-value > .value {\n          display: -webkit-box;\n          -webkit-line-clamp: 2;\n          -webkit-box-orient: vertical;\n          overflow: hidden;\n        }\n\n        .table-body-column--custom dss-tooltip {\n          font-weight: var(--font-regular);\n        }\n\n        .column-value dss-tooltip {\n          visibility: hidden;\n        }\n\n        .column-value:hover dss-tooltip {\n          visibility: visible;\n        }\n\n        .column-value--link {\n          color: var(--color-primary-700);\n          font-weight: 600;\n          text-decoration: none;\n        }\n\n        .column-value--link:hover {\n          color: var(--color-primary-900);\n        }\n\n        .column-value--link:active {\n          color: var(--color-primary-800);\n        }\n\n        .column-value--link:disabled {\n          color: var(--color-neutral-500);\n          cursor: not-allowed;\n        }\n\n        .column-value--link:focus-visible {\n          outline: var(--dss-border-width-md) solid var(--color-blue-200);\n          border-radius: var(--dss-radius-xs);\n        }\n\n        .dss-table-main .table .table-body-row:focus-visible {\n          box-shadow: inset 0 0 0 var(--dss-border-width-lg)\n            var(--color-blue-200);\n          outline: 0;\n        }\n\n        .table-header-row--hide,\n        .table-header-row--hide .table-th,\n        .table-header-row--hide .table-th * {\n          height: 0;\n          visibility: hidden;\n        }\n      `,\n      w(z)\n    ];\n  }\n  set hasPaginator(e) {\n    const s = this._hasPaginator;\n    this._hasPaginator = e, this.requestUpdate(\"hasPaginator\", s);\n  }\n  get hasPaginator() {\n    return this._hasPaginator;\n  }\n  set data(e) {\n    const s = this._data;\n    this._data = e, this._createTableHeader(e), this._pipeData = this._data, this._copyPipeData = [...this._data], this.requestUpdate(\"data\", s);\n  }\n  get data() {\n    return this._data;\n  }\n  set customData(e) {\n    const s = this._customData;\n    this._customData = e, this._createTableHeader(e), this._pipeData = this._customData, this._copyPipeData = [...this._customData], this.requestUpdate(\"data\", s);\n  }\n  get customData() {\n    return this._customData || [];\n  }\n  set customTableHeader(e) {\n    const s = this._customTableHeader;\n    this._customTableHeader = e, this.requestUpdate(\"customTableHeader\", s);\n  }\n  get customTableHeader() {\n    return this._customTableHeader || [];\n  }\n  set filters(e) {\n    const s = this._filters;\n    this._filters = e, this.requestUpdate(\"filters\", s);\n  }\n  get filters() {\n    return this._filters;\n  }\n  set currentIndex(e) {\n    const s = this._currentIndex;\n    this._currentIndex = e, this.requestUpdate(\"currentIndex\", s);\n  }\n  get currentIndex() {\n    return this._currentIndex;\n  }\n  set pageSize(e) {\n    const s = this._pageSize;\n    this._pageSize = e, this.requestUpdate(\"pageSize\", s);\n  }\n  get pageSize() {\n    return this._pageSize;\n  }\n  set pageSizeOptions(e) {\n    const s = this._pageSizeOptions;\n    this._pageSizeOptions = e, this.requestUpdate(\"pageSizeOptions\", s);\n  }\n  get pageSizeOptions() {\n    return this._pageSizeOptions;\n  }\n  set resultstext(e) {\n    const s = this._resultstext;\n    this._resultstext = e, this.requestUpdate(\"resultstext\", s);\n  }\n  get resultstext() {\n    return this._resultstext;\n  }\n  set rowsperpagetext(e) {\n    const s = this._rowsperpagetext;\n    this._rowsperpagetext = e, this.requestUpdate(\"rowsperpagetext\", s);\n  }\n  get rowsperpagetext() {\n    return this._rowsperpagetext;\n  }\n  set textAlign(e) {\n    const s = this._textAlign;\n    this._textAlign = e, this.requestUpdate(\"textAlign\", s);\n  }\n  get textAlign() {\n    return this._textAlign;\n  }\n  set headerTitle(e) {\n    const s = this._headerTitle;\n    this._headerTitle = e, this.requestUpdate(\"headerTitle\", s);\n  }\n  get headerTitle() {\n    return this._headerTitle;\n  }\n  set hideHeader(e) {\n    const s = this._hideHeader;\n    this._hideHeader = e, this.requestUpdate(\"hideHeader\", s);\n  }\n  get hideHeader() {\n    return this._hideHeader;\n  }\n  set hideColumnHeader(e) {\n    const s = this._hideColumnHeader;\n    this._hideColumnHeader = e, this.requestUpdate(\"hideColumnHeader\", s);\n  }\n  get hideColumnHeader() {\n    return this._hideColumnHeader;\n  }\n  set innerFilters(e) {\n    const s = this._innerFilters;\n    this._innerFilters = e, this.requestUpdate(\"innerFilters\", s);\n  }\n  get innerFilters() {\n    return this._innerFilters;\n  }\n  set expandTable(e) {\n    const s = this._expandTable;\n    this._expandTable = e, this.requestUpdate(\"expandTable\", s);\n  }\n  get expandTable() {\n    return this._expandTable;\n  }\n  set expandLabel(e) {\n    const s = this._expandLabel;\n    this._expandLabel = e, this.requestUpdate(\"expandLabel\", s);\n  }\n  get expandLabel() {\n    return this._expandLabel;\n  }\n  set collapseLabel(e) {\n    const s = this._collapseLabel;\n    this._collapseLabel = e, this.requestUpdate(\"collapseLabel\", s);\n  }\n  get collapseLabel() {\n    return this._collapseLabel;\n  }\n  set rowsOnCollapsed(e) {\n    const s = this._rowsOnCollapsed;\n    this._rowsOnCollapsed = e, this.requestUpdate(\"rowsOnCollapsed\", s);\n  }\n  get rowsOnCollapsed() {\n    return this._rowsOnCollapsed;\n  }\n  set filtersLabel(e) {\n    const s = this._filtersLabel;\n    this._filtersLabel = e, this.requestUpdate(\"filtersLabel\", s);\n  }\n  get filtersLabel() {\n    return this._filtersLabel;\n  }\n  set cleanFiltersLabel(e) {\n    const s = this._cleanFiltersLabel;\n    this._cleanFiltersLabel = e, this.requestUpdate(\"cleanFiltersLabel\", s);\n  }\n  get cleanFiltersLabel() {\n    return this._cleanFiltersLabel;\n  }\n  set selectedRowsLabel(e) {\n    const s = this._selectedRowsLabel;\n    this._selectedRowsLabel = e, this.requestUpdate(\"selectedRowsLabel\", s);\n  }\n  get selectedRowsLabel() {\n    return this._selectedRowsLabel;\n  }\n  set footerButtons(e) {\n    const s = this._footerButtons;\n    this._footerButtons = e, this.requestUpdate(\"footerButtons\", s);\n  }\n  get footerButtons() {\n    return this._footerButtons;\n  }\n  set maxContentWidth(e) {\n    const s = this._maxContentWidth;\n    this._maxContentWidth = e, this.requestUpdate(\"maxContentWidth\", s);\n  }\n  get maxContentWidth() {\n    return this._maxContentWidth;\n  }\n  set stickyColumns(e) {\n    const s = this._stickyColumns;\n    this._stickyColumns = e, this.requestUpdate(\"stickyColumns\", s);\n  }\n  get stickyColumns() {\n    return this._stickyColumns;\n  }\n  set multiselect(e) {\n    const s = this._multiselect;\n    this._multiselect = e, this.requestUpdate(\"multiselect\", s);\n  }\n  get multiselect() {\n    return this._multiselect;\n  }\n  set radioselect(e) {\n    const s = this._radioselect;\n    this._radioselect = e, this.requestUpdate(\"radioselect\", s);\n  }\n  get radioselect() {\n    return this._radioselect;\n  }\n  set hasRowButton(e) {\n    const s = this._hasRowButton;\n    this._hasRowButton = e, this.requestUpdate(\"hasRowButton\", s);\n  }\n  get hasRowButton() {\n    return this._hasRowButton;\n  }\n  set rowButtonLabel(e) {\n    const s = this._rowButtonLabel;\n    this._rowButtonLabel = e, this.requestUpdate(\"rowButtonLabel\", s);\n  }\n  get rowButtonLabel() {\n    return this._rowButtonLabel;\n  }\n  set hasRowActions(e) {\n    const s = this._hasRowActions;\n    this._hasRowActions = e, this.requestUpdate(\"hasRowActions\", s);\n  }\n  get hasRowActions() {\n    return this._hasRowActions;\n  }\n  set rowActionsIcons(e) {\n    const s = this._rowActionsIcons;\n    this._rowActionsIcons = e, this.requestUpdate(\"rowActionsIcons\", s);\n  }\n  get rowActionsIcons() {\n    return this._rowActionsIcons;\n  }\n  set footerButtonPrimaryLabel(e) {\n    const s = this._footerButtonPrimaryLabel;\n    this._footerButtonPrimaryLabel = e, this.requestUpdate(\"footerButtonPrimaryLabel\", s);\n  }\n  get footerButtonPrimaryLabel() {\n    return this._footerButtonPrimaryLabel;\n  }\n  set footerButtonSecondaryLabel(e) {\n    const s = this._footerButtonSecondaryLabel;\n    this._footerButtonSecondaryLabel = e, this.requestUpdate(\"footerButtonSecondaryLabel\", s);\n  }\n  get footerButtonSecondaryLabel() {\n    return this._footerButtonSecondaryLabel;\n  }\n  set footerButtonAlternativeLabel(e) {\n    const s = this._footerButtonAlternativeLabel;\n    this._footerButtonAlternativeLabel = e, this.requestUpdate(\"footerButtonAlternativeLabel\", s);\n  }\n  get footerButtonAlternativeLabel() {\n    return this._footerButtonAlternativeLabel;\n  }\n  set enableRowActionsOnDisabled(e) {\n    const s = this._enableRowActionsOnDisabled;\n    this._enableRowActionsOnDisabled = e, this.requestUpdate(\"enableRowActionsOnDisabled\", s);\n  }\n  get enableRowActionsOnDisabled() {\n    return this._enableRowActionsOnDisabled;\n  }\n  set enableRowActionsOnDeleted(e) {\n    const s = this._enableRowActionsOnDeleted;\n    this._enableRowActionsOnDeleted = e, this.requestUpdate(\"enableRowActionsOnDeleted\", s);\n  }\n  get enableRowActionsOnDeleted() {\n    return this._enableRowActionsOnDeleted;\n  }\n  set valueMaxLength(e) {\n    const s = this._valueMaxLength;\n    this._valueMaxLength = e, this.requestUpdate(\"valueMaxLength\", s);\n  }\n  get valueMaxLength() {\n    return this._valueMaxLength;\n  }\n  get _tableGridStyle() {\n    return `grid-template-columns: repeat(${this._tableHeader.length}, 1fr)`;\n  }\n  get _tableHeight() {\n    let e = \"height:auto;\";\n    if (!this._expandTable) {\n      let s = this._rowsOnCollapsed * 56;\n      s += 56, e = `height:${s}px;`;\n    }\n    return e;\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._clickOutside();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  willUpdate(e) {\n    const s = e.has(\"data\"), t = e.has(\"customData\");\n    if (!this._isFirstUpdate && (s || t)) {\n      const o = {\n        detail: {\n          startIndex: 1,\n          endIndex: this._pageSize\n        }\n      };\n      this._paginateTable(o);\n    }\n    this._isFirstUpdate = !1;\n  }\n  _clickOutside() {\n    document.addEventListener(\"mousedown\", (e) => {\n      e.composedPath().includes(this) ? e.composedPath().find((o) => o instanceof HTMLElement && o.classList.contains(\"table-body\")) || this._resetRowsTabIndex() : this._resetRowsTabIndex();\n    });\n  }\n  _createTableHeader(e) {\n    const s = Object.keys(e[0]);\n    if (s.includes(\"disabled\")) {\n      const t = s.indexOf(\"disabled\");\n      s.splice(t, 1);\n    }\n    if (s.includes(\"deleted\")) {\n      const t = s.indexOf(\"deleted\");\n      s.splice(t, 1);\n    }\n    this._tableHeader = s, this._tableHeader.forEach((t) => {\n      this._tableHeaderSort[t] = \"none\";\n    });\n  }\n  _sortBy(e, s) {\n    this._currentSortColumn = e, s === \"none\" ? this._currentSortType = \"ASC\" : s === \"ASC\" ? this._currentSortType = \"DSC\" : s === \"DSC\" && (this._currentSortType = \"none\"), this._currentSortType === \"none\" ? this._pipeData = [...this._copyPipeData] : this._pipeData = this._pipeData.sort((o, c) => {\n      let i, h;\n      return this._customData ? (i = o[e].value, h = c[e].value) : (i = o[e], h = c[e]), i < h ? this._currentSortType === \"ASC\" ? -1 : 1 : i > h ? this._currentSortType === \"ASC\" ? 1 : -1 : 0;\n    }), this._tableHeaderSort[e] = this._currentSortType, Object.keys(this._tableHeaderSort).forEach((o) => {\n      o !== e && (this._tableHeaderSort[o] = \"none\");\n    }), this.requestUpdate();\n  }\n  _paginateTable(e) {\n    const s = e.detail.startIndex, t = e.detail.endIndex;\n    if (this._customData && t <= this._customData.length ? this._pipeData = this._customData.slice(s - 1, t) : this._data && t <= this._data.length && (this._pipeData = this._data.slice(s - 1, t)), e.detail.pageSize && (this._pageSize = e.detail.pageSize), this._copyPipeData = [...this._pipeData], this._currentSortColumn && this._currentSortType) {\n      let o = \"\";\n      this._currentSortType === \"ASC\" ? o = \"none\" : this._currentSortType === \"DSC\" ? o = \"ASC\" : o = \"DSC\", this._sortBy(this._currentSortColumn, o);\n    }\n    this.requestUpdate();\n  }\n  _generateTableHeaderHTML() {\n    let e = l``, s = l``, t = l``, o = l``;\n    this._multiselect && (e = l`\n        <th class=\"table-th table-th--checkbox\">\n          <div class=\"table-header-column table-header-column--checkbox\">\n            <input\n              type=\"checkbox\"\n              class=\"dss-checkbox\"\n              aria-label=\"Seleccionar totes les files\"\n              @change=\"${this._onSelectAllRows}\"\n            />\n          </div>\n        </th>\n      `), this._radioselect && (s = l`\n        <th class=\"table-th table-th--radio\">\n          <div class=\"table-header-column table-header-column--radio\"></div>\n        </th>\n      `), this._hasRowButton && (t = l`\n        <th class=\"table-th table-th--button\">\n          <div class=\"table-header-column table-header-column--button\"></div>\n        </th>\n      `), this._hasRowActions && (o = l`\n        <th\n          class=\"table-th table-th--actions table-th--icons-${this._rowActionsIcons.length}\"\n        >\n          <div class=\"table-header-column table-header-column--actions\"></div>\n        </th>\n      `);\n    let c = !0;\n    const i = this._tableHeader.map((u, v) => {\n      const k = () => {\n        this._customTableHeader ? this._customTableHeader[v].sort && this._sortBy(u, this._tableHeaderSort[u]) : this._sortBy(u, this._tableHeaderSort[u]), this.requestUpdate();\n      }, R = (y) => {\n        const p = y.currentTarget, f = y;\n        let $ = !1;\n        switch (f.key) {\n          case \"ArrowLeft\":\n            H(this.renderRoot, p, \".table-header-column--clickable\"), $ = !0;\n            break;\n          case \"ArrowRight\":\n            O(this.renderRoot, p, \".table-header-column--clickable\"), $ = !0;\n            break;\n          case \"Enter\":\n            const x = y.target;\n            B(this.renderRoot, x, \".table-header-column--clickable\"), $ = !0;\n            break;\n        }\n        $ && (y.stopPropagation(), y.preventDefault());\n      };\n      let _ = \"\";\n      this._customData && this._customData.length > 0 ? _ = this._pipeData[0][u].type : this._data && this._data.length > 0 && (_ = typeof this._pipeData[0][u]);\n      const A = {\n        \"table-th--review\": _ === \"review\",\n        \"table-th--link\": _ === \"link\"\n      };\n      let T = !1;\n      this._customTableHeader && (this._customTableHeader[v].sort || (T = !0));\n      const C = {\n        \"table-header-column--review\": _ === \"review\",\n        \"table-header-column--number\": _ === \"number\",\n        \"table-header-column--link\": _ === \"link\",\n        \"table-header-column--clickable\": !T,\n        \"table-header-column--not-clickable\": T\n      }, a = l`\n        <span class=\"dss-icon dss-icon--sm table-header-column__icon\">\n          ${u === this._currentSortColumn ? this._currentSortType === \"ASC\" ? l`arrow_upward` : this._currentSortType === \"DSC\" ? l`arrow_downward` : l`swap_vert` : l`swap_vert`}\n        </span>\n      `, b = l`\n        <th class=\"table-th ${g(A)}\">\n          <div\n            class=\"table-header-column ${g(C)}\"\n            tabindex=\"${c ? 0 : -1}\"\n            @keydown=${R}\n            @click=${k}\n          >\n            <span class=\"table-header-column__title\">\n              ${this._customTableHeader ? l`${this._customTableHeader[v].title}` : l`${u}`}\n            </span>\n            ${this._customTableHeader ? this._customTableHeader[v].sort ? l`${a}` : null : l`${a}`}\n          </div>\n        </th>\n      `;\n      return c = !1, b;\n    }), h = {\n      \"table-header-row--hide\": this._hideColumnHeader\n    };\n    return l` <tr\n      class=\"table-header-row ${g(h)}\"\n    >\n      ${e} ${s} ${i}\n      ${t} ${o}\n    </tr>`;\n  }\n  _onRowCheckboxChange(e) {\n    this._radioselect && this._uncheckRadioRows(), e.checked ? e.checked = !e.checked : e.checked = !0, this.requestUpdate();\n  }\n  _onSelectAllRows() {\n    this._pipeData.forEach((e) => {\n      e.disabled ? this._enableRowActionsOnDisabled && (e.checked = this._selectAllRows) : e.deleted ? this._enableRowActionsOnDeleted && (e.checked = this._selectAllRows) : e.checked = this._selectAllRows;\n    }), this._selectAllRows = !this._selectAllRows, this.requestUpdate();\n  }\n  _onRowAction(e, s) {\n    const t = {\n      detail: { action: e, row: s },\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onRowAction\", t)), this.requestUpdate();\n  }\n  _onRowActionKeydown(e, s, t) {\n    e.key === \"Enter\" && this._onRowAction(s, t);\n  }\n  _generateTableTdCheckbox(e, s, t, o) {\n    return this._enableRowActionsOnDeleted && (o = !1), this._enableRowActionsOnDisabled && (t = !1), l`\n      <td class=\"table-td table-td--checkbox\">\n        <div\n          class=\"table-body-column table-body-column--custom table-body-column--checkbox\"\n        >\n          <input\n            type=\"checkbox\"\n            class=\"dss-checkbox table-body-row__action\"\n            aria-label=\"Seleccionar la fila\"\n            @change=\"${() => this._onRowCheckboxChange(e)}\"\n            .checked=${s}\n            ?disabled=${t || o}\n          />\n        </div>\n      </td>\n    `;\n  }\n  _generateTableTdRadio(e, s, t, o) {\n    return this._enableRowActionsOnDeleted && (o = !1), this._enableRowActionsOnDisabled && (t = !1), l`\n      <td class=\"table-td table-td--radio\">\n        <div\n          class=\"table-body-column table-body-column--custom table-body-column--radio\"\n        >\n          <input\n            type=\"radio\"\n            name=\"row-radio\"\n            class=\"dss-radio table-body-row__action\"\n            aria-label=\"Seleccionar la fila\"\n            @change=\"${() => this._onRowCheckboxChange(e)}\"\n            .checked=${s}\n            ?disabled=${t || o}\n          />\n        </div>\n      </td>\n    `;\n  }\n  _generateTableTdButton(e, s, t) {\n    return this._enableRowActionsOnDeleted && (t = !1), this._enableRowActionsOnDisabled && (s = !1), l`\n      <td class=\"table-td table-td--button\">\n        <div\n          class=\"table-body-column table-body-column--custom table-body-column--button\"\n        >\n          <button\n            type=\"button\"\n            class=\"dss-button dss-button--sm dss-button--secondary table-body-row__action\"\n            @click=\"${() => this._onRowAction(this._rowButtonLabel, e)}\"\n            @keydown=\"${(o) => this._onRowActionKeydown(o, this._rowButtonLabel, e)}\"\n            ?disabled=${s || t}\n          >\n            ${this._rowButtonLabel}\n          </button>\n        </div>\n      </td>\n    `;\n  }\n  _generateTableTdActions(e, s, t) {\n    return this._enableRowActionsOnDeleted && (t = !1), this._enableRowActionsOnDisabled && (s = !1), l`\n      <td class=\"table-td table-td--custom table-td--actions\">\n        <div\n          class=\"table-body-column table-body-column--custom table-body-column--actions\"\n        >\n          ${this._rowActionsIcons.map(\n      (o, c) => l`\n                <button\n                  class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md dss-table-actions-icon table-body-row__action\"\n                  @click=\"${() => this._onRowAction(`rowAction${c + 1}`, e)}\"\n                  @keydown=\"${(i) => this._onRowActionKeydown(i, this._rowButtonLabel, e)}\"\n                  aria-label=\"Row action ${c + 1}\"\n                  ?disabled=${s || t}\n                >\n                  <span class=\"dss-icon\">${o}</span>\n                </button>\n              `\n    )}\n        </div>\n      </td>\n    `;\n  }\n  _generateTableTdSelfActions(e, s, t, o, c) {\n    return this._enableRowActionsOnDeleted && (c = !1), this._enableRowActionsOnDisabled && (o = !1), l`\n      <td class=\"table-td table-td--custom table-td--actions\">\n        <div\n          class=\"table-body-column table-body-column--custom table-body-column--actions\"\n        >\n          ${t.icons.map(\n      (i, h) => l`\n                <button\n                  class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md dss-table-actions-icon table-body-row__action\"\n                  @click=\"${() => this._onRowAction(`${s}Action${h + 1}`, e)}\"\n                  @keydown=\"${(u) => this._onRowActionKeydown(u, this._rowButtonLabel, e)}\"\n                  aria-label=\"Self action ${h + 1}\"\n                  ?disabled=${o || c}\n                >\n                  <span class=\"dss-icon\">${i}</span>\n                </button>\n              `\n    )}\n        </div>\n      </td>\n    `;\n  }\n  _resetRowsTabIndex() {\n    const e = this.renderRoot.querySelector('.table-body-row[tabindex=\"0\"]');\n    e == null || e.setAttribute(\"tabindex\", \"-1\"), this.renderRoot.querySelectorAll(\".table-body-row\")[0].setAttribute(\"tabindex\", \"0\");\n  }\n  _uncheckRadioRows() {\n    this._data && this._data.length > 0 && this._pipeData.forEach((e) => {\n      e.checked = !1;\n    });\n  }\n  _generateDefaultTableBody() {\n    let e, s = !0;\n    return this._data && this._data.length > 0 && (e = this._pipeData.map((t) => {\n      const o = t.checked ? t.checked : !1, c = t.deleted ? t.deleted : !1, i = t.disabled ? t.disabled : !1, h = (a) => {\n        const b = a.relatedTarget;\n        b && !b.className.includes(\"table-body-row\") && !b.className.includes(\"table-body-row__action\") && this._resetRowsTabIndex();\n      }, u = (a) => {\n        const b = a.currentTarget, y = a;\n        let p = !1;\n        switch (y.key) {\n          case \"ArrowUp\":\n            H(this.renderRoot, b, \".table-body-row\"), p = !0;\n            break;\n          case \"ArrowDown\":\n            O(this.renderRoot, b, \".table-body-row\"), p = !0;\n            break;\n          case \"Enter\":\n            const f = a.target;\n            f.tagName === \"TR\" && (B(this.renderRoot, f, \".table-body-row\"), (this._multiselect || this._radioselect) && (!c && !i ? (this._radioselect && this._uncheckRadioRows(), t.checked ? t.checked = !t.checked : t.checked = !0) : this._enableRowActionsOnDeleted && c ? (this._radioselect && this._uncheckRadioRows(), t.checked ? t.checked = !t.checked : t.checked = !0) : this._enableRowActionsOnDisabled && i && (this._radioselect && this._uncheckRadioRows(), t.checked ? t.checked = !t.checked : t.checked = !0), this.requestUpdate()), p = !0);\n            break;\n          case \"Escape\":\n            const x = a.composedPath().find(\n              (L) => L instanceof HTMLElement && L.classList.contains(\"table-body-row\")\n            );\n            x && x.focus();\n            break;\n        }\n        p && (a.stopPropagation(), a.preventDefault());\n      }, v = this._multiselect ? this._generateTableTdCheckbox(t, o, i, c) : l``, k = this._radioselect ? this._generateTableTdRadio(t, o, i, c) : l``, R = this._hasRowButton ? this._generateTableTdButton(t, i, c) : l``, _ = this._hasRowActions ? this._generateTableTdActions(t, i, c) : l``, A = this._tableHeader.map((a) => {\n        const b = {\n          \"table-body-column--number\": typeof t[a] == \"number\"\n        };\n        return l`\n            <td class=\"table-td\">\n              <div\n                class=\"table-body-column table-body-column--custom ${g(b)}\"\n              >\n                ${t[a] === \"\" ? l`<i class=\"dss-icon dss-icon--md\">remove</i>` : null}\n                ${t[a] === \"\" ? l`<i class=\"dss-icon dss-icon--md\">remove</i>` : null}\n                ${typeof t[a] == \"number\" ? l` ${t[a]} ` : t[a].length <= this._valueMaxLength ? l`${t[a]}` : l`${t[a]}...`}\n              </div>\n            </td>\n          `;\n      }), C = l` <tr\n          class=\"table-body-row ${g({\n        \"table-body-row--selected\": o,\n        \"table-body-row--deleted\": c,\n        \"table-body-row--disabled\": i\n      })}\"\n          tabindex=\"${s ? 0 : -1}\"\n          style=${S(this._tableGridStyle)}\n          @keydown=${u}\n          @focusout=${h}\n        >\n          ${v} ${k} ${A}\n          ${R} ${_}\n        </tr>`;\n      return s = !1, C;\n    })), e;\n  }\n  _generateCustomTableBody() {\n    let e, s = !0;\n    return this._customData && (e = this._pipeData.map((t) => {\n      let o = t.checked ? t.checked : !1;\n      const c = t.deleted ? t.deleted : !1, i = t.disabled ? t.disabled : !1, h = (a) => {\n        const b = a.relatedTarget;\n        b && !b.className.includes(\"table-body-row\") && !b.className.includes(\"table-body-row__action\") && this._resetRowsTabIndex();\n      }, u = (a) => {\n        const b = a.currentTarget, y = a;\n        let p = !1;\n        switch (y.key) {\n          case \"ArrowUp\":\n            H(this.renderRoot, b, \".table-body-row\"), p = !0;\n            break;\n          case \"ArrowDown\":\n            O(this.renderRoot, b, \".table-body-row\"), p = !0;\n            break;\n          case \"Enter\":\n            const f = a.target;\n            f.tagName === \"TR\" && (B(this.renderRoot, f, \".table-body-row\"), (this._multiselect || this._radioselect) && ((!c && !i || this._enableRowActionsOnDeleted && c || this._enableRowActionsOnDisabled && i) && (t.checked ? (t.checked = !t.checked, o = t.checked) : (t.checked = !0, o = t.checked)), this.requestUpdate())), p = !0;\n            break;\n          case \"Escape\":\n            const x = a.composedPath().find(\n              (L) => L instanceof HTMLElement && L.classList.contains(\"table-body-row\")\n            );\n            x && x.focus();\n            break;\n        }\n        p && (a.stopPropagation(), a.preventDefault());\n      }, v = this._multiselect ? this._generateTableTdCheckbox(t, o, i, c) : l``, k = this._radioselect ? this._generateTableTdRadio(t, o, i, c) : l``, R = this._hasRowButton ? this._generateTableTdButton(t, i, c) : l``, _ = this._hasRowActions ? this._generateTableTdActions(t, i, c) : l``, A = this._tableHeader.map((a) => {\n        const b = (p) => {\n          t[p].value = !t[p].value;\n          const f = {\n            detail: { action: \"review\", row: t },\n            bubbles: !0,\n            composed: !0\n          };\n          this.dispatchEvent(new CustomEvent(\"onRowAction\", f)), this.requestUpdate();\n        }, y = {\n          \"table-body-column--text\": t[a].type === \"text\",\n          \"table-body-column--number\": t[a].type === \"number\",\n          \"table-body-column--link\": t[a].type === \"link\",\n          \"table-body-column--badge\": t[a].type === \"badge\",\n          \"table-body-column--result\": t[a].type === \"result\",\n          \"table-body-column--review\": t[a].type === \"review\",\n          \"table-body-column--progress\": t[a].type === \"progress\",\n          \"table-body-column--font-bold\": t[a].fontType === \"bold\",\n          \"table-body-column--font-black\": t[a].fontType === \"black\",\n          \"table-body-column--icon-right\": t[a].iconRight\n        };\n        return l`\n            <td class=\"table-td\" style=\"${S(t[a].style)}\">\n              <div\n                class=\"table-body-column table-body-column--custom ${g(y)}\"\n              >\n                ${t[a].type === \"text\" ? l`\n                      ${t[a].icon ? l`\n                            <span class=\"dss-icon dss-icon--sm column-icon\"\n                              >${t[a].icon}</span\n                            >\n                          ` : null}\n                      ${t[a].badgeBefore ? l`\n                            <dss-badge\n                              size=\"md\"\n                              state=\"${i ? \"disabled\" : t[a].state}\"\n                              text=\"${t[a].badgeBefore}\"\n                              outlined\n                              hideIcon\n                            >\n                              ${t[a].badgeTooltip ? l`\n                                    <dss-tooltip\n                                      slot=\"tooltip\"\n                                      position=\"${t[a].badgeTooltipPosition ? t[a].badgeTooltipPosition : \"top\"}\"\n                                    >\n                                      <span>${t[a].badgeTooltip}</span>\n                                    </dss-tooltip>\n                                  ` : null}\n                            </dss-badge>\n                          ` : null}\n\n                      <span class=\"column-value\">\n                        <span class=\"value\">\n                          ${t[a].value === \"\" ? l`<i class=\"dss-icon dss-icon--md\">remove</i>` : null}\n                          ${t[a].value.length <= this._valueMaxLength ? l`${t[a].value}` : l`${t[a].value.slice(0, this._valueMaxLength)}...`}\n                        </span>\n                        ${t[a].valueTooltip ? l`\n                              <dss-tooltip\n                                position=\"${t[a].valueTooltipPosition ? t[a].valueTooltipPosition : \"top\"}\"\n                              >\n                                <span>${t[a].valueTooltip}</span>\n                              </dss-tooltip>\n                            ` : null}\n                      </span>\n                    ` : t[a].type === \"number\" ? l`\n                      ${t[a].icon ? l`\n                            <span class=\"dss-icon dss-icon--sm column-icon\"\n                              >${t[a].icon}</span\n                            >\n                          ` : null}\n                      <span class=\"column-value\">${t[a].value}</span>\n                    ` : t[a].type === \"link\" ? l`\n                      ${t[a].icon ? l`\n                            <span class=\"dss-icon dss-icon--sm column-icon\"\n                              >${t[a].icon}</span\n                            >\n                          ` : null}\n                      ${i ? l`\n                            <span class=\"column-value\">${t[a].value}</span>\n                          ` : l`\n                            <a\n                              class=\"column-value column-value--link\"\n                              href=\"${t[a].href}\"\n                              ?disabled=${i}\n                            >\n                              <span class=\"value\">\n                                ${t[a].value.length <= this._valueMaxLength ? l`${t[a].value}` : l`${t[a].value.slice(0, this._valueMaxLength)}...`}\n                              </span>\n                              ${t[a].valueTooltip ? l`\n                                    <dss-tooltip\n                                      position=\"${t[a].valueTooltipPosition ? t[a].valueTooltipPosition : \"top\"}\"\n                                    >\n                                      <span>${t[a].valueTooltip}</span>\n                                    </dss-tooltip>\n                                  ` : null}\n                            </a>\n                          `}\n                    ` : t[a].type === \"badge\" ? l`\n                      <dss-badge\n                        size=\"${t[a].badgeSize ? t[a].badgeSize : \"md\"}\"\n                        state=\"${i ? \"disabled\" : t[a].state}\"\n                        ?outlined=${t[a].outlined}\n                        text=\"${t[a].value}\"\n                      ></dss-badge>\n                    ` : t[a].type === \"result\" ? l`\n                      <dss-icon-badge\n                        size=\"sm\"\n                        state=\"${i ? \"disabled\" : t[a].state}\"\n                        icon=\"${t[a].icon}\"\n                        bubble\n                      ></dss-icon-badge>\n                      <span class=\"column-value\">${t[a].value}</span>\n                    ` : t[a].type === \"actions\" ? this._generateTableTdSelfActions(t, a, t[a], i, c) : t[a].type === \"review\" ? l`\n                      <input\n                        type=\"checkbox\"\n                        class=\"dss-checkbox dss-checkbox--validate\"\n                        ?checked=\"${t[a].value}\"\n                        @change=\"${() => b(a)}\"\n                        ?disabled=${i && !this._enableRowActionsOnDisabled || c && !this._enableRowActionsOnDeleted}\n                      />\n                    ` : t[a].type === \"progress\" ? l`\n                      ${t[a].icon ? l`\n                            <span class=\"dss-icon dss-icon--sm column-icon\"\n                              >${t[a].icon}</span\n                            >\n                          ` : null}\n                      <dss-progress-indicator\n                        percentage=\"23\"\n                      ></dss-progress-indicator>\n                    ` : null}\n              </div>\n            </td>\n          `;\n      }), C = l` <tr\n          class=\"table-body-row ${g({\n        \"table-body-row--selected\": o,\n        \"table-body-row--deleted\": c,\n        \"table-body-row--disabled\": i\n      })}\"\n          tabindex=\"${s ? 0 : -1}\"\n          style=${S(this._tableGridStyle)}\n          @keydown=${u}\n          @focusout=${h}\n        >\n          ${v} ${k} ${A}\n          ${R} ${_}\n        </tr>`;\n      return s = !1, C;\n    })), e;\n  }\n  _generateFilterChips() {\n    let e;\n    return this._filters && (e = this._filters.map((s) => {\n      const t = (i) => {\n        const h = i.target.getAttribute(\"term\");\n        typeof s == \"string\" ? this._filters = this._filters.filter((u) => u !== h) : this._filters = this._filters.filter((u) => u.value.trim() !== (h == null ? void 0 : h.trim())), this._emitChangeFilters(), this.requestUpdate();\n      };\n      return l`\n          <span tabindex=\"0\" class=\"dss-chip dss-chip--sm dss-chip--selected\">\n            ${typeof s === \"string\" ? l`\n                  ${s}\n                  <button\n                    class=\"dss-chip__icon-button dss-icon-button dss-icon-button--primary dss-icon-button--sm\"\n                    @click=\"${t}\"\n                  >\n                    <span class=\"dss-icon\" term=\"${s}\">cancel</span>\n                  </button>\n                ` : l`\n                  <span class=\"dss-icon\">${s.icon}</span>\n                  ${s.value}\n                  <button\n                    class=\"dss-chip__icon-button dss-icon-button dss-icon-button--primary dss-icon-button--sm\"\n                    @click=\"${t}\"\n                  >\n                    <span class=\"dss-icon\" term=\" ${s.value}\"\n                      >cancel</span\n                    >\n                  </button>\n                `}\n          </span>\n        `;\n    })), e;\n  }\n  _clearFilters() {\n    this._filters = [], this._emitChangeFilters(), this.requestUpdate();\n  }\n  _countRowsChecked() {\n    let e = 0;\n    for (const s of this._pipeData)\n      s.checked && (e += 1);\n    return e;\n  }\n  _getRowsSelected() {\n    const e = [];\n    return this._pipeData.forEach((s) => {\n      if (s.checked) {\n        const t = { ...s };\n        t.checked = void 0, e.push(t);\n      }\n    }), e;\n  }\n  // Output events\n  _emitExpandAction() {\n    const e = {\n      detail: this._expandTable,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onExpandTable\", e)), this._expandTable = !this._expandTable, this.requestUpdate();\n  }\n  _emitOpenFilters() {\n    const e = {\n      detail: !0,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onOpenFilters\", e)), this.requestUpdate();\n  }\n  _emitChangeFilters() {\n    const e = {\n      detail: this._filters,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onChangeFilters\", e)), this.requestUpdate();\n  }\n  _emitFooterAction(e) {\n    const s = this._getRowsSelected(), t = {\n      detail: { action: e, selectedRows: s },\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"onFooterAction\", t)), this.requestUpdate();\n  }\n  render() {\n    const e = {\n      \"table--max-content-width\": this._maxContentWidth,\n      \"table--sticky-columns\": this._maxContentWidth && this._stickyColumns,\n      \"table--sticky-columns--multiselect\": this._maxContentWidth && this._stickyColumns && this._multiselect,\n      \"table--sticky-columns--radioselect\": this._maxContentWidth && this._stickyColumns && this._radioselect\n    }, s = {\n      \"table-body--align-left\": this._data.length > 0 && this._textAlign === \"left\",\n      \"table-body--align-center\": this._data.length > 0 && this._textAlign === \"center\",\n      \"table-body--align-right\": this._data.length > 0 && this._textAlign === \"right\",\n      \"table-body--align-justify\": this._data.length > 0 && this._textAlign === \"justify\"\n    };\n    return l`\n      <div class=\"dss-table\">\n        ${this._hideHeader ? null : l`\n              <div class=\"dss-table-header\">\n                <div class=\"dss-table-header-title\">\n                  <div class=\"dss-table-header-title__text\">\n                    ${this._headerTitle}\n                  </div>\n                  <div\n                    class=\"dss-table-header-title__action\"\n                    role=\"button\"\n                    tabindex=\"0\"\n                    @click=\"${this._emitExpandAction}\"\n                  >\n                    ${this._expandTable ? l`\n                          <span class=\"dss-icon dss-icon--sm\">fullscreen</span>\n                          <span>${this._collapseLabel}</span>\n                        ` : l`\n                          <span class=\"dss-icon dss-icon--sm\">fullscreen</span>\n                          <span>${this._expandLabel}</span>\n                        `}\n                  </div>\n                </div>\n\n                ${this._innerFilters ? l`\n                      <div\n                        class=\"dss-table-header-filters dss-table-header-filters--inner\"\n                      >\n                        <div class=\"dss-table-header-filters__filters\">\n                          <slot name=\"filters\"></slot>\n                        </div>\n                        <div class=\"dss-table-header-filters__actions\"></div>\n                      </div>\n                    ` : l`\n                      <div\n                        class=\"dss-table-header-filters dss-table-header-filters--outer\"\n                      >\n                        <div class=\"dss-table-header-filters__filters\">\n                          <div class=\"filters-label\">\n                            ${this._filtersLabel}:\n                          </div>\n                          <div class=\"filters-list\">\n                            ${this._filters.length > 0 ? l` ${this._generateFilterChips()} ` : l`\n                                  <span class=\"filters-list-empty\">\n                                    ${this._noFiltersLabel}\n                                  </span>\n                                `}\n                          </div>\n                          <div class=\"filters-clean\">\n                            ${this._filters.length > 0 ? l`\n                                  <button\n                                    type=\"button\"\n                                    class=\"dss-button dss-button--sm dss-button--secondary dss-button--icon-left\"\n                                    @click=${this._clearFilters}\n                                  >\n                                    <span class=\"material-symbols-rounded\"\n                                      >mop</span\n                                    >${this._cleanFiltersLabel}\n                                  </button>\n                                ` : null}\n                          </div>\n                        </div>\n\n                        <div class=\"dss-table-header-filters__actions\">\n                          <button\n                            type=\"button\"\n                            class=\"dss-button dss-button--md dss-button--secondary dss-button--icon-left\"\n                            @click=${this._emitOpenFilters}\n                          >\n                            <span class=\"material-symbols-rounded\"\n                              >filter_list</span\n                            >\n                            ${this._openFiltersLabel}\n                          </button>\n                        </div>\n                      </div>\n                    `}\n              </div>\n            `}\n\n        <div class=\"dss-table-main\">\n          <div\n            class=\"dss-table-container\"\n            style=\"${S(this._tableHeight)}\"\n          >\n            <table\n              class=\"table ${g(e)}\"\n              cellspacing=\"0\"\n              cellpadding=\"0\"\n            >\n              <thead\n                class=\"table-header\"\n                style=${S(this._tableGridStyle)}\n              >\n                ${this._generateTableHeaderHTML()}\n              </thead>\n              <tbody class=\"table-body ${g(s)}\">\n                ${this._customData ? this._generateCustomTableBody() : this._generateDefaultTableBody()}\n              </tbody>\n            </table>\n          </div>\n          ${this._hasPaginator ? l`\n                <dss-table-pagination\n                  length=${this._customData ? this._customData.length : this._data.length}\n                  pagesize=${this._pageSize}\n                  pageSizeOptions=${this._pageSizeOptions}\n                  currentindex=${this._currentIndex}\n                  resultstext=${this._resultstext}\n                  rowsperpagetext=${this._rowsperpagetext}\n                  @onChangePage=${this._paginateTable}\n                ></dss-table-pagination>\n              ` : null}\n        </div>\n\n        ${this._multiselect ? l`\n              <div class=\"table-footer\">\n                <div class=\"table-footer-description\">\n                  ${this._countRowsChecked()} ${this._selectedRowsLabel}\n                </div>\n\n                <div class=\"table-footer-actions\">\n                  ${this._footerButtons >= 3 ? l`\n                        <button\n                          type=\"button\"\n                          class=\"dss-button dss-button--md dss-button--subtle\"\n                          ?disabled=${this._countRowsChecked() <= 0}\n                          @click=${() => this._emitFooterAction(\"alternative\")}\n                        >\n                          ${this._footerButtonAlternativeLabel}\n                        </button>\n                      ` : null}\n                  ${this._footerButtons >= 2 ? l`\n                        <button\n                          type=\"button\"\n                          class=\"dss-button dss-button--md dss-button--secondary\"\n                          ?disabled=${this._countRowsChecked() <= 0}\n                          @click=${() => this._emitFooterAction(\"secondary\")}\n                        >\n                          ${this._footerButtonSecondaryLabel}\n                        </button>\n                      ` : null}\n                  ${this._footerButtons >= 1 ? l`\n                        <button\n                          type=\"button\"\n                          class=\"dss-button dss-button--md dss-button--primary\"\n                          ?disabled=${this._countRowsChecked() <= 0}\n                          @click=${() => this._emitFooterAction(\"primary\")}\n                        >\n                          ${this._footerButtonPrimaryLabel}\n                        </button>\n                      ` : null}\n                </div>\n              </div>\n            ` : null}\n      </div>\n    `;\n  }\n}\nd([\n  n(m)\n], r.prototype, \"hasPaginator\");\nd([\n  n({ type: Array })\n], r.prototype, \"data\");\nd([\n  n({ type: Array })\n], r.prototype, \"customData\");\nd([\n  n({ type: Array })\n], r.prototype, \"customTableHeader\");\nd([\n  n({ type: Array })\n], r.prototype, \"filters\");\nd([\n  n({ type: Number })\n], r.prototype, \"currentIndex\");\nd([\n  n({ type: Number })\n], r.prototype, \"pageSize\");\nd([\n  n({ type: String })\n], r.prototype, \"pageSizeOptions\");\nd([\n  n({ type: String })\n], r.prototype, \"resultstext\");\nd([\n  n({ type: String })\n], r.prototype, \"rowsperpagetext\");\nd([\n  n({ type: String })\n], r.prototype, \"textAlign\");\nd([\n  n({ type: String })\n], r.prototype, \"headerTitle\");\nd([\n  n(m)\n], r.prototype, \"hideHeader\");\nd([\n  n(m)\n], r.prototype, \"hideColumnHeader\");\nd([\n  n(m)\n], r.prototype, \"innerFilters\");\nd([\n  n(m)\n], r.prototype, \"expandTable\");\nd([\n  n({ type: String })\n], r.prototype, \"expandLabel\");\nd([\n  n({ type: String })\n], r.prototype, \"collapseLabel\");\nd([\n  n({ type: Number })\n], r.prototype, \"rowsOnCollapsed\");\nd([\n  n({ type: String })\n], r.prototype, \"filtersLabel\");\nd([\n  n({ type: String })\n], r.prototype, \"cleanFiltersLabel\");\nd([\n  n({ type: String })\n], r.prototype, \"selectedRowsLabel\");\nd([\n  n({ type: Number })\n], r.prototype, \"footerButtons\");\nd([\n  n(m)\n], r.prototype, \"maxContentWidth\");\nd([\n  n(m)\n], r.prototype, \"stickyColumns\");\nd([\n  n(m)\n], r.prototype, \"multiselect\");\nd([\n  n(m)\n], r.prototype, \"radioselect\");\nd([\n  n(m)\n], r.prototype, \"hasRowButton\");\nd([\n  n({ type: String })\n], r.prototype, \"rowButtonLabel\");\nd([\n  n(m)\n], r.prototype, \"hasRowActions\");\nd([\n  n({ type: Array })\n], r.prototype, \"rowActionsIcons\");\nd([\n  n({ type: String })\n], r.prototype, \"footerButtonPrimaryLabel\");\nd([\n  n({ type: String })\n], r.prototype, \"footerButtonSecondaryLabel\");\nd([\n  n({ type: String })\n], r.prototype, \"footerButtonAlternativeLabel\");\nd([\n  n(m)\n], r.prototype, \"enableRowActionsOnDisabled\");\nd([\n  n(m)\n], r.prototype, \"enableRowActionsOnDeleted\");\nd([\n  n({ type: Number })\n], r.prototype, \"valueMaxLength\");\nexport {\n  r as Table\n};\n//# sourceMappingURL=table.js.map\n","const o = \".dss-checkbox-group,.dss-checkbox-group__options{display:flex;flex-direction:column;gap:var(--dss-spacing-xs)}.dss-checkbox-group--horizontal .dss-checkbox-group__options{flex-direction:row}.dss-checkbox-group__label{color:var(--color-neutral-900);font-size:14px;font-style:normal;font-weight:600;line-height:24px;color:var(--color-neutral-700)}.dss-checkbox-group__label--sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=form-checkbox-group.style.css.js.map\n","import { html as l } from \"lit\";\nimport { classMap as s } from \"lit/directives/class-map.js\";\nconst r = (e) => l`\n  <div class=\"${s({\n  \"dss-checkbox-group\": !0,\n  [`dss-checkbox-group--${e.orientation}`]: !0\n})}\"\n    role=\"radiogroup\"\n    aria-labelledby=\"checkbox-group-label\"\n  >\n    <div id=\"checkbox-group-label\" class=\"${s({\n  \"dss-checkbox-group__label\": !0,\n  \"dss-checkbox-group__label--sr-only\": e.hideLabel\n})}\">\n      ${e.label}\n    </div>\n    <div class=\"dss-checkbox-group__options\">\n       <input \n        type=\"hidden\" \n        class=\"dss-hidden-value\" \n        .name=${e.name} \n      />\n      <slot></slot>\n    </div>\n  </div>  \n`;\nexport {\n  r as template\n};\n//# sourceMappingURL=form-checkbox-group.template.js.map\n","import { LitElement as b, unsafeCSS as p } from \"lit\";\nimport { query as f, queryAssignedElements as m, property as n } from \"lit/decorators.js\";\nimport { getCustomElementSuffix as d } from \"../../api/custom-element-scope.js\";\nimport v from \"../../shared/reset.style.css.js\";\nimport { booleanType as k, booleanConverter as g } from \"../../utils/property-types.js\";\nimport C from \"./form-checkbox-group.style.css.js\";\nimport { template as _ } from \"./form-checkbox-group.template.js\";\nvar y = Object.defineProperty, a = (l, e, i, h) => {\n  for (var s = void 0, o = l.length - 1, r; o >= 0; o--)\n    (r = l[o]) && (s = r(e, i, s) || s);\n  return s && y(e, i, s), s;\n};\nconst S = `dss-form-checkbox${d()}`, c = class c extends b {\n  constructor() {\n    super(), this.name = \"checkbox-group-host\", this.label = \"\", this.hideLabel = !1, this.value = [], this.orientation = \"vertical\", this.disabled = !1, this._onCheckboxChange = (e) => {\n      const h = e.composedPath()[0], s = `DSS-FORM-CHECKBOX${d()}`.toUpperCase();\n      if (h.tagName !== s) return;\n      e.stopPropagation();\n      const o = e.target, r = o.value;\n      o.checked ? this.value.includes(r) || (this.value = [...this.value, r]) : this.value = this.value.filter((u) => u !== r), this._emitChange();\n    }, this.internals = this.attachInternals();\n  }\n  static get styles() {\n    return [p(v), p(C)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), this.addEventListener(\"change\", this._onCheckboxChange);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this.removeEventListener(\"change\", this._onCheckboxChange);\n  }\n  updated(e) {\n    if (e.has(\"value\")) {\n      const i = new FormData();\n      this.value.forEach((h) => i.append(this.name, h)), this.internals.setFormValue(i), this._updateCheckedState();\n    }\n    e.has(\"name\") && this._updateNameState(), e.has(\"disabled\") && this._updateDisabledState();\n  }\n  formResetCallback() {\n    this.value = [];\n  }\n  formStateRestoreCallback(e) {\n    this.value = e ? e.split(\",\") : [];\n  }\n  render() {\n    return _(this);\n  }\n  _emitChange() {\n    const e = {\n      detail: { value: this.value },\n      bubbles: !1,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"value-changed\", e)), this._hiddenInput.value = this.value.toString(), this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !1 }));\n  }\n  _updateCheckedState() {\n    if (this._checkboxes)\n      for (const e of this._checkboxes)\n        e.checked = this.value.includes(e.value);\n  }\n  _updateNameState() {\n    if (this._checkboxes)\n      for (const e of this._checkboxes)\n        e.name = `${this.name}-checkbox`;\n  }\n  _updateDisabledState() {\n    this._checkboxes && this._checkboxes.forEach((e) => {\n      e.disabled = this.disabled;\n    });\n  }\n};\nc.formAssociated = !0;\nlet t = c;\na([\n  f(\"input.dss-hidden-value\")\n], t.prototype, \"_hiddenInput\");\na([\n  m({ selector: S.toString() })\n], t.prototype, \"_checkboxes\");\na([\n  n({ type: String })\n], t.prototype, \"name\");\na([\n  n({ type: String })\n], t.prototype, \"label\");\na([\n  n(k)\n], t.prototype, \"hideLabel\");\na([\n  n({ type: Array })\n], t.prototype, \"value\");\na([\n  n({ type: String })\n], t.prototype, \"orientation\");\na([\n  n({ converter: g, reflect: !0 })\n], t.prototype, \"disabled\");\nexport {\n  t as FormCheckboxGroup\n};\n//# sourceMappingURL=form-checkbox-group.js.map\n","const o = '.dss-checkbox-wrapper{display:flex;align-items:flex-start;gap:var(--dss-spacing-xs)}.dss-checkbox-wrapper--hidden-label{gap:0}.dss-checkbox-input{position:relative;border-radius:2px;width:20px!important;height:20px!important;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--dss-border-width-sm) solid var(--color-primary-500);cursor:pointer;transition:.3s all linear;flex-shrink:0;background-color:var(--color-white)}.dss-checkbox-input:focus-visible:enabled{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-checkbox-wrapper--validate .dss-checkbox-input{border-color:var(--color-neutral-700)}.dss-checkbox-input:hover{border-color:var(--color-primary-600);transition:.3s all linear}.dss-checkbox-wrapper--validate .dss-checkbox-input:hover{border-color:var(--color-neutral-800)}.dss-checkbox-input:active{border-color:var(--color-primary-400);transition:.3s all linear}.dss-checkbox-wrapper--validate .dss-checkbox-input:active{border-color:var(--color-neutral-500)}.dss-checkbox-input:checked{background-color:var(--color-primary-500)}.dss-checkbox-wrapper--validate .dss-checkbox-input:checked{border-color:var(--color-green-500);background-color:var(--color-green-500)}.dss-checkbox-input:checked:before{font-family:var(--icon-font)!important;content:\"check\";position:absolute;font-size:22px;color:var(--color-white);text-align:center;top:-4px;left:-2px;z-index:100}.dss-checkbox-input:checked:hover{border-color:var(--color-primary-600);background-color:var(--color-primary-600);transition:.3s all linear}.dss-checkbox-wrapper--validate .dss-checkbox-input:checked:hover{border-color:var(--color-green-600);background-color:var(--color-green-600)}.dss-checkbox-input:checked:active{background-color:var(--color-primary-400);transition:.3s all linear}.dss-checkbox-wrapper--validate .dss-checkbox-input:checked:active{border-color:var(--color-green-400);background-color:var(--color-green-400)}.dss-checkbox-input:indeterminate{background-color:var(--color-primary-500)}.dss-checkbox-input:indeterminate:before{font-family:var(--icon-font)!important;font-size:18px;content:\"remove\";color:var(--color-white);position:absolute;top:-1px}.dss-checkbox-wrapper--validate .dss-checkbox-input:indeterminate{background-color:var(--color-green-500)}.dss-checkbox-input:disabled{cursor:not-allowed;color:var(--color-neutral-400);border-color:var(--color-neutral-400);background-color:var(--color-neutral-100)}.dss-checkbox-input:checked:disabled,.dss-checkbox-input:indeterminate:disabled{background-color:var(--color-neutral-100);border-color:var(--color-neutral-100)}.dss-checkbox-input:checked:disabled:before,.dss-checkbox-input:indeterminate:disabled:before{color:var(--color-neutral-400)}.dss-checkbox-wrapper--validate .dss-checkbox-input:disabled:checked:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-100)}.dss-checkbox-label{cursor:pointer;font-size:14px;font-style:normal;font-weight:400;line-height:24px;color:var(--color-neutral-900)}.dss-checkbox-wrapper--disabled .dss-checkbox-label{color:var(--color-neutral-500);cursor:not-allowed}.dss-checkbox-container{display:inline-flex;align-items:flex-start;flex:0 0 auto}.dss-checkbox-wrapper:not(.dss-checkbox-wrapper--hidden-label) .dss-checkbox-container{margin-top:2px}';\nexport {\n  o as default\n};\n//# sourceMappingURL=form-checkbox.style.css.js.map\n","import { nothing as a, html as d } from \"lit\";\nimport { classMap as l } from \"lit/directives/class-map.js\";\nconst s = (e) => d`\n  <div class=\"${l({\n  \"dss-checkbox-wrapper\": !0,\n  \"dss-checkbox-wrapper--required\": e.required,\n  \"dss-checkbox-wrapper--disabled\": e.disabled,\n  \"dss-checkbox-wrapper--hidden-label\": e.hideLabel,\n  \"dss-checkbox-wrapper--validate\": e.variant === \"validation\"\n})}\">\n  \t<div class=\"dss-checkbox-container\">\n      <input\n        class=\"dss-checkbox-input\"\n        type=\"checkbox\"\n        name=\"${e.name ?? a}\"\n        id=\"${e._getEffectiveId()}\"\n        .value=\"${e.value ? e.value : null}\"\n        ?disabled=\"${e.disabled}\"\n        ?readonly=\"${e.readonly}\"\n        ?required=\"${e.required}\"\n        .checked=\"${e.checked}\"\n        .tabIndex=\"${e.tabIndex}\"\n        aria-label=\"${e.hideLabel ? e.label : a}\"\n        @change=${e._handleChange}\n      />\n    </div>\n    <label for=\"${e._getEffectiveId()}\" class=\"dss-checkbox-label\" aria-hidden=\"${e.hideLabel}\">\n      ${e.hideLabel ? a : e.label}\n    </label>\n  </div>  \n`;\nexport {\n  s as template\n};\n//# sourceMappingURL=form-checkbox.template.js.map\n","import { LitElement as c, unsafeCSS as p } from \"lit\";\nimport { query as f, property as s, state as v } from \"lit/decorators.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport { booleanType as d, booleanConverter as l } from \"../../utils/property-types.js\";\nimport m from \"./form-checkbox.style.css.js\";\nimport { template as b } from \"./form-checkbox.template.js\";\nvar k = Object.defineProperty, i = (n, e, o, _) => {\n  for (var a = void 0, r = n.length - 1, u; r >= 0; r--)\n    (u = n[r]) && (a = u(e, o, a) || a);\n  return a && k(e, o, a), a;\n};\nconst h = class h extends c {\n  constructor() {\n    super(), this.label = \"\", this.hideLabel = !1, this.id = \"\", this.name = \"\", this.value = !1, this.disabled = !1, this.readonly = !1, this.required = !1, this.checked = !1, this.tabIndex = 0, this.variant = \"default\", this.indeterminate = !1, this.defaultValue = this.value, this._defaultId = `dss-checkbox-${crypto.randomUUID()}`, this.internals = this.attachInternals();\n  }\n  static get styles() {\n    return [p(y), p(m)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n  }\n  updated(e) {\n    e.has(\"value\") && typeof this.value == \"string\" && ((this.value === \"\" || this.value === \"false\") && (this._input.checked = !1), this.internals.setFormValue(this._input.checked ? this.value : null)), !e.has(\"checked\") && e.has(\"value\") && typeof this.value == \"boolean\" && (this._input.checked = this.value, this.internals.setFormValue(this._input.checked ? \"on\" : null)), e.has(\"checked\") && typeof this.value == \"boolean\" && this.internals.setFormValue(this._input.checked ? \"on\" : null), e.has(\"indeterminate\") && (this._input.indeterminate = this.indeterminate);\n  }\n  formDisabledCallback(e) {\n    this.disabled = e;\n  }\n  formResetCallback() {\n    const e = typeof this.defaultValue == \"boolean\";\n    this.value = e ? !1 : this.defaultValue, this._input.checked = !1, this.checked = !1;\n  }\n  formStateRestoreCallback(e) {\n    this.value = e ?? \"\";\n  }\n  focusInput() {\n    var e;\n    (e = this._input) == null || e.focus();\n  }\n  async firstUpdated() {\n    await this.updateComplete, this.defaultValue = this.value, (this.checked || this.value === !0 || this.value === \"true\") && (this.checked = !0, this._input.checked = !0, this.internals.setFormValue(this._input.checked ? typeof this.value == \"string\" ? this.value : \"on\" : null));\n  }\n  render() {\n    return b(this);\n  }\n  _handleChange(e) {\n    this.checked = e.target.checked, typeof this.value == \"boolean\" && (this.value = this.checked), this.internals.setFormValue(this.checked ? typeof this.value == \"string\" ? this.value : \"on\" : null), this._emitChange();\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n};\nh.formAssociated = !0;\nlet t = h;\ni([\n  f(\"input.dss-checkbox-input\")\n], t.prototype, \"_input\");\ni([\n  s({ type: String })\n], t.prototype, \"label\");\ni([\n  s(d)\n], t.prototype, \"hideLabel\");\ni([\n  s({ type: String })\n], t.prototype, \"id\");\ni([\n  s({ type: String })\n], t.prototype, \"name\");\ni([\n  s({ type: String })\n], t.prototype, \"value\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"disabled\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"readonly\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"required\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"checked\");\ni([\n  s({ type: Number })\n], t.prototype, \"tabIndex\");\ni([\n  s({ type: String })\n], t.prototype, \"variant\");\ni([\n  s(d)\n], t.prototype, \"indeterminate\");\ni([\n  v()\n], t.prototype, \"defaultValue\");\nexport {\n  t as FormCheckbox\n};\n//# sourceMappingURL=form-checkbox.js.map\n","const s = ':host{max-width:100%}.dss-input-wrapper{display:flex;flex-direction:column;gap:var(--dss-spacing-xxs);width:100%;max-width:100%}.dss-input-wrapper--sm{gap:var(--dss-spacing-tiny)}.dss-input-icon{color:var(--color-neutral-900)}.dss-input-dropdown-wrapper{width:100%;max-width:100%}.dss-input-group{height:48px;width:100%;max-width:100%;box-sizing:border-box;padding:0 var(--dss-spacing-sm);border:var(--dss-border-width-sm) solid var(--color-neutral-100);border-radius:var(--dss-radius-sm);display:flex;align-items:center;gap:var(--dss-spacing-xs);background-color:var(--color-white);font-family:var(--font-family)}.dss-input-group--read-only{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.dss-input-group:not(.dss-input-group--read-only):focus-within{border-color:transparent;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-input-group--read-only:focus-within{outline:none;position:relative}.dss-input-group--read-only:focus-within:before{pointer-events:none;content:\"\";position:absolute;top:100%;left:0;right:0;height:var(--dss-border-width-lg);background-color:var(--color-blue-200)}.dss-input-field{flex:1;min-width:0;display:flex;height:45px;position:relative}.dss-input-group--md{height:40px}.dss-input-group--md .dss-input-field{height:37px}.dss-input-group--sm{height:32px;padding:0 var(--dss-spacing-xs)}.dss-input-group--sm .dss-input-field{height:29px}.dss-wrapper-label label.dss-label{font-size:14px;font-weight:var(--font-semibold);line-height:24px;color:var(--color-neutral-700);background-color:transparent}.dss-wrapper-label.dss-wrapper-label--invalid label.dss-label{color:var(--color-red-500)}.dss-input-wrapper--disabled .dss-wrapper-label label.dss-label{color:var(--color-neutral-500)}.dss-input-field label.dss-label{position:absolute;top:50%;transform:translateY(-50%);left:0;font-size:14px;color:var(--color-neutral-600);transition:all .3s ease-in-out;max-height:24px;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dss-input-field:focus-within label.dss-label,.dss-input-group--focused label.dss-label{font-size:12px;top:0;transform:translateY(0)}.dss-input-group.dss-input-group--focused.dss-input-group--read-only-empty label.dss-label{font-size:14px;top:50%;transform:translateY(-50%)}.dss-input-group--md .dss-input-field:focus-within label.dss-label,.dss-input-group--md.dss-input-group--focused label.dss-label{top:0}.dss-input-field input.dss-input{border:none;height:100%;padding:0;box-sizing:border-box;color:var(--color-neutral-900);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:14px;width:100%;max-width:100%;background-color:transparent}.dss-input-field input.dss-input::-webkit-outer-spin-button,.dss-input-field input.dss-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dss-input-field input.dss-input[type=number]{-moz-appearance:textfield}.dss-input-field input.dss-input::-moz-placeholder{color:var(--color-neutral-700)}.dss-input-field input.dss-input::-moz-placeholder,.dss-input-field input.dss-input::-ms-input-placeholder,.dss-input-field input.dss-input::placeholder{color:var(--color-neutral-700)}.dss-input-group:not(.dss-input-group--sm) .dss-input-field input.dss-input{padding-top:var(--dss-spacing-md)!important;padding-bottom:0!important}.dss-input-field input.dss-input:-moz-placeholder-shown{border:none;outline:none;height:100%}.dss-input-field input.dss-input:focus-visible,.dss-input-field input.dss-input:placeholder-shown{border:none;outline:none;height:100%}.dss-input-field input.dss-input::-moz-placeholder{color:var(--color-neutral-600)}.dss-input-field input.dss-input::placeholder{color:var(--color-neutral-600)}.dss-input-group--disabled{cursor:not-allowed;background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-input-group--disabled .dss-input-field label.dss-label{cursor:not-allowed!important;color:var(--color-neutral-500)}.dss-input-group--disabled .dss-input-field input.dss-input{cursor:not-allowed!important;background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-input-help{display:flex;justify-content:space-between;font-family:var(--font-family);font-size:12px;color:var(--color-neutral-700);padding:0 var(--dss-spacing-sm)}.dss-input-help--invalid{color:var(--color-red-500)}.dss-input-help--disabled{color:var(--color-neutral-500)}.dss-input-group--invalid:not(.dss-input-group--disabled):not(.dss-input-group--read-only):not(:focus-within){background-color:var(--color-red-50);border-color:var(--color-red-500)}.dss-input-group--invalid.dss-input-group--read-only:not(.dss-input-group--disabled):not(:focus-within){border-bottom-color:var(--color-red-500)}.dss-input-group--invalid:not(.dss-input-group--disabled) .dss-input-field label.dss-label{color:var(--color-red-500)}.dss-input-group--invalid:not(.dss-input-group--disabled):not(.dss-input-group--read-only):not(:focus-within) .dss-input-field input.dss-input{background-color:var(--color-red-50)}.dss-input-wrapper--required label.dss-label:before,.dss-input-group--required label.dss-label:before{content:\"*\"}.dss-input-numeric-buttons{padding:0;display:flex;flex-direction:column;justify-content:center;transition:all .3s ease-in;height:100%}.dss-input-numeric-buttons .dss-icon-button{display:flex;justify-content:center;text-align:center;width:18px;height:18px;align-items:center;font-size:16px}.dss-input-group.dss-input-group--no-label .dss-input-field input.dss-input{padding-top:0!important;padding-bottom:0!important}.dss-input-wrapper--sm.dss-input-wrapper--no-label{gap:0}.dss-input-unit{font-size:14px;font-weight:var(--font-regular);color:var(--color-neutral-700);margin-top:0;transition:margin var(--animation-delay) ease-in-out}.dss-input-wrapper:not(.dss-input-wrapper--sm):not(.dss-input-wrapper--no-label) .dss-input-group--focused .dss-input-unit{margin-top:14px}.dss-input-group--disabled .dss-input-unit{color:var(--color-neutral-500)}.dss-input-inputPrefix{font-size:14px;font-weight:var(--font-regular);color:var(--color-neutral-700);padding-right:var(--dss-spacing-xxs);opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-in-out,visibility var(--animation-delay) ease-in-out}.dss-input-wrapper.dss-input-wrapper--sm .dss-input-inputPrefix{align-self:center}.dss-input-wrapper:not(.dss-input-wrapper--sm) .dss-input-inputPrefix{align-self:flex-end}.dss-input-wrapper.dss-input-wrapper--no-label.dss-input-wrapper--lg .dss-input-inputPrefix{padding-bottom:10px!important}.dss-input-wrapper.dss-input-wrapper--no-label.dss-input-wrapper--md .dss-input-inputPrefix{padding-bottom:6px!important}.dss-input-wrapper.dss-input-wrapper--md:not(.dss-input-wrapper--no-label) .dss-input-inputPrefix{margin-bottom:-2px}.dss-input-wrapper.dss-input-wrapper--lg:not(.dss-input-wrapper--no-label) .dss-input-inputPrefix{padding-bottom:var(--dss-spacing-tiny)!important}.dss-input-wrapper .dss-input-group--focused .dss-input-inputPrefix{opacity:1;visibility:visible}.dss-input-actions{position:relative;padding-left:var(--dss-spacing-xs);display:flex;align-items:center;gap:var(--dss-spacing-xs)}.dss-input-actions:before{content:\"\";position:absolute;top:50%;left:0;transform:translateY(-50%);height:24px;width:var(--dss-border-width-sm);background-color:var(--color-neutral-500)}.dss-input-tooltip{display:none}.dss-input-tooltip--visible{display:block}';\nexport {\n  s as default\n};\n//# sourceMappingURL=form-input.style.css.js.map\n","const i = \":host{display:block;width:100%;min-width:257px}.dss-datepicker-range{font-family:var(--font-family)}.dss-datepicker-range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--dss-spacing-md)}.dss-datepicker-range-help{font-family:var(--font-family)}.dss-datepicker-range-help{font-family:inherit;font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-datepicker-range-help--disabled{color:var(--color-neutral-500)}.dss-datepicker-range-help--invalid{color:var(--color-red-500)}.dss-calendar{z-index:999;width:-moz-fit-content;width:fit-content;opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-out}.dss-calendar--visible{opacity:1;visibility:visible}\";\nexport {\n  i as default\n};\n//# sourceMappingURL=form-datepicker-range.style.css.js.map\n","import { nothing as e } from \"lit\";\nimport { classMap as d } from \"lit/directives/class-map.js\";\nimport { ifDefined as V } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as r, literal as t, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nconst P = t`dss-calendar${r(u())}`, i = t`dss-icon${r(u())}`, l = t`dss-icon-button${r(u())}`, aa = (a) => {\n  var g, $, n, _, b, R, v, p, h, f, E, S, y, k, C, w, z, I, c, q, D, x, B, L, F, O, T, j, G, K, N;\n  const W = {\n    \"dss-datepicker-range--sm\": a.size !== \"lg\"\n  }, M = {\n    \"dss-datepicker-range-help--invalid\": a.invalid || !((g = a._inputRangeStart) != null && g.validity.valid) && (($ = a._inputRangeStart) == null ? void 0 : $.value) !== \"\" || !((n = a._inputRangeEnd) != null && n.validity.valid) && ((_ = a._inputRangeEnd) == null ? void 0 : _.value) !== \"\",\n    \"dss-datepicker-range-help--disabled\": ((b = a._inputRangeStart) == null ? void 0 : b.disabled) && ((R = a._inputRangeEnd) == null ? void 0 : R.disabled)\n  }, A = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": (v = a._inputRangeStart) == null ? void 0 : v.required,\n    \"dss-input-wrapper--disabled\": (p = a._inputRangeStart) == null ? void 0 : p.disabled,\n    [`dss-input-wrapper--${a.size}`]: !!a.size\n  }, H = {\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": (h = a._inputRangeEnd) == null ? void 0 : h.required,\n    \"dss-input-wrapper--disabled\": (f = a._inputRangeEnd) == null ? void 0 : f.disabled,\n    [`dss-input-wrapper--${a.size}`]: !!a.size\n  }, J = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${a.size}`]: !!a.size,\n    \"dss-input-group--invalid\": a.invalid || !((E = a._inputRangeStart) != null && E.validity.valid) && ((S = a._inputRangeStart) == null ? void 0 : S.value) !== \"\",\n    \"dss-input-group--required\": (y = a._inputRangeStart) == null ? void 0 : y.required,\n    \"dss-input-group--disabled\": (k = a._inputRangeStart) == null ? void 0 : k.disabled,\n    \"dss-input-group--focused\": ((C = a._inputRangeStart) == null ? void 0 : C.value) || a._isStartFocused || a._copyInputRangeStartPlaceholder,\n    \"dss-input-group--read-only\": (w = a._inputRangeStart) == null ? void 0 : w.readOnly\n    // 'dss-input-group--no-label': Boolean(!component._label),\n  }, Q = {\n    \"dss-input-group\": !0,\n    [`dss-input-group--${a.size}`]: !!a.size,\n    \"dss-input-group--invalid\": a.invalid || !((z = a._inputRangeEnd) != null && z.validity.valid) && ((I = a._inputRangeEnd) == null ? void 0 : I.value) !== \"\",\n    \"dss-input-group--required\": (c = a._inputRangeEnd) == null ? void 0 : c.required,\n    \"dss-input-group--disabled\": (q = a._inputRangeEnd) == null ? void 0 : q.disabled,\n    \"dss-input-group--focused\": ((D = a._inputRangeEnd) == null ? void 0 : D.value) || a._isEndFocused || a._copyInputRangeEndPlaceholder,\n    \"dss-input-group--read-only\": (x = a._inputRangeEnd) == null ? void 0 : x.readOnly\n    // 'dss-input-group--no-label': Boolean(!component._label),\n  }, U = {\n    \"dss-calendar\": !0,\n    \"dss-calendar--visible\": a.showCalendar && !((B = a._inputRangeStart) != null && B.readOnly) && !((L = a._inputRangeEnd) != null && L.readOnly),\n    \"dss-calendar--disabled\": ((F = a._inputRangeStart) == null ? void 0 : F.disabled) && ((O = a._inputRangeEnd) == null ? void 0 : O.disabled),\n    \"dss-calendar--sm\": a.size !== \"lg\"\n  };\n  return s`\n      <div class=\"dss-datepicker-range ${d(W)}\">\n        <input \n          type=\"hidden\" \n          class=\"dss-hidden-value\" \n          .name=${a.name}\n        />\n\n        <div \n          class=\"dss-datepicker-range-inputs\" \n          role=\"combobox\"\n          aria-controls=\"datepicker-range-calendar\"\n          aria-haspopup=\"dialog\"\n          aria-expanded=${V(a.showCalendar)}>\n\n          <div class=\"dss-datepicker-range-inputs__start ${d(A)}\">\n            ${a.size === \"sm\" ? s`\n                <div class=\"${d({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": a.invalid\n  })}\"\n                >\n                  <label class=\"dss-label dss-label--start\" for=\"${a._getEffectiveStartId()}\">${a.labelRangeStart}</label>\n                </div>\n              ` : e}\n            <div class=\"${d(J)}\">\n              ${a.iconRangeStart && a.iconRangeStart !== \"\" ? s`\n                <${i} icon=\"${a.iconRangeStart}\" class=\"dss-input-icon\"></${i}>\n                ` : e}\n              <div class=\"dss-input-field\">\n                ${a.size !== \"sm\" && !a.hideLabel ? s`\n                      <label class=\"dss-label dss-label--start\" for=\"${a._getEffectiveStartId()}\">${a.labelRangeStart}</label>\n                    ` : e}\n        \n                <input\n                  class=\"dss-input dss-input--start\"\n                  id=${a._getEffectiveStartId()}\n                  .type=${a.type}\n                  .name=\"${a.name ? `${a.name}-start` : e}\"\n                  .placeholder=${a.placeholderRangeStart}\n                  ?disabled=${a.disabled}\n                  ?readonly=${a.readonly}\n                  ?required=${a.required}\n                  ?autofocus=${a.autofocus}\n                  spellcheck=${a.spellcheck ? \"true\" : \"false\"}\n                  autocorrect=${a.autocorrect ? \"on\" : \"off\"}\n                  autocomplete=${a.autocomplete}\n                  autocapitalize=${a.autocapitalize}\n                  pattern=${a.pattern ?? e}\n                  inputmode=${a.inputmode ?? e}\n                  aria-label=\"${a.hideLabel ? a.labelRangeStart : e}\"\n                  @click=${a._handleRangeStartClick}\n                  @input=${a._handleRangeStartInput}\n                  @focusin=${a._handleRangeStartFocusIn}\n                  @keydown=${a._handleRangeKeydown}\n                />\n              </div>\n              <${l}\n                hideTooltip\n                size=\"md\"\n                icon=\"close\"\n                label=\"Netejar\"\n                @onClick=${() => a._clearDate(\"rangeStart\")}\n                ?hidden=${!((T = a._inputRangeStart) != null && T.value) || a._inputRangeStart.readOnly || a._inputRangeStart.disabled}\n              ></${l}>\n            </div>\n          </div>\n\n          <div class=\"dss-datepicker-range-inputs__end ${d(H)}\">\n            ${a.size === \"sm\" ? s`\n                 <div class=\"${d({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": a.invalid\n  })}\"\n                  >\n                  <label class=\"dss-label dss-label--end\" for=\"${a._getEffectiveEndId()}\">${a.labelRangeEnd}</label>\n                </div>\n              ` : e}\n            <div class=\"${d(Q)}\">\n              ${a.iconRangeEnd && a.iconRangeEnd !== \"\" ? s`\n                <${i} icon=\"${a.iconRangeEnd}\" class=\"dss-input-icon\"></${i}>\n                ` : e}\n              <div class=\"dss-input-field\">\n                ${a.size !== \"sm\" && !a.hideLabel ? s`\n                      <label class=\"dss-label dss-label--end\" for=\"${a._getEffectiveEndId()}\">${a.labelRangeEnd}</label>\n                    ` : e}\n        \n                <input\n                  class=\"dss-input dss-input--end\"\n                  id=${a._getEffectiveEndId()}\n                  .type=${a.type}\n                  .name=\"${a.name ? `${a.name}-end` : e}\"\n                  .placeholder=${a.placeholderRangeEnd}\n                  ?disabled=${a.disabled}\n                  ?readonly=${a.readonly}\n                  ?required=${a.required}\n                  ?autofocus=${a.autofocus}\n                  spellcheck=${a.spellcheck ? \"true\" : \"false\"}\n                  autocorrect=${a.autocorrect ? \"on\" : \"off\"}\n                  autocomplete=${a.autocomplete}\n                  autocapitalize=${a.autocapitalize}\n                  pattern=${a.pattern ?? e}\n                  inputmode=${a.inputmode ?? e}\n                  aria-label=\"${a.hideLabel ? a.labelRangeEnd : e}\"\n                  @click=${a._handleRangeEndClick}\n                  @input=${a._handleRangeEndInput}\n                  @focusin=${a._handleRangeEndFocusIn}\n                  @keydown=${a._handleRangeKeydown}\n                />\n              </div>\n              <${l}\n                hideTooltip\n                size=\"md\"\n                icon=\"close\"\n                label=\"Netejar\"\n                @onClick=${() => a._clearDate(\"rangeEnd\")}\n                ?hidden=${!((j = a._inputRangeEnd) != null && j.value) || a._inputRangeEnd.readOnly || a._inputRangeEnd.disabled}\n              ></${l}>\n            </div>\n          </div>\n       \n        </div>\n\n        ${a._helpText ? s`\n              <div class=\"dss-datepicker-range-help ${d(M)}\">\n                ${a._helpText}\n              </div>\n            ` : null}\n       \n        <${P}\n          range\n          .isRangeStartFocused=${a._isStartFocused}\n          .isRangeEndFocused=${a._isEndFocused}\n          role=\"listbox\"\n          aria-label=\"Datepicker Range Calendar\"\n          id=\"datepicker-range-calendar\"\n          class=\"${d(U)}\"\n          .selectedDate=\"${(G = a._inputRangeStart) == null ? void 0 : G.value}\"\n          .rangeStartDate=\"${(K = a._inputRangeStart) == null ? void 0 : K.value}\"\n          .rangeEndDate=\"${(N = a._inputRangeEnd) == null ? void 0 : N.value}\"\n          .customCalendar=${a.customCalendar}\n          .showButtons=${a.showButtons}\n          .leftLabel=${a.calendarLeftButtonLabel}\n          .rightLabel=${a.calendarRightButtonLabel}\n          .minDate=${a.minDate}\n          .maxDate=${a.maxDate}\n          @range-changed=${a._onCalendarChange}\n          @onCancel=${a._onCalendarCancel}\n        ></${P}>\n      </div>\n    `;\n};\nexport {\n  aa as template\n};\n//# sourceMappingURL=form-datepicker-range.template.js.map\n","import { createPopper as f } from \"@popperjs/core\";\nimport { LitElement as m, unsafeCSS as u } from \"lit\";\nimport { query as c, property as s, state as p } from \"lit/decorators.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport { booleanType as o, booleanConverter as l } from \"../../utils/property-types.js\";\nimport v from \"../form-input/form-input.style.css.js\";\nimport S from \"./form-datepicker-range.style.css.js\";\nimport { template as R } from \"./form-datepicker-range.template.js\";\nvar E = Object.defineProperty, i = (g, t, a, n) => {\n  for (var r = void 0, h = g.length - 1, d; h >= 0; h--)\n    (d = g[h]) && (r = d(t, a, r) || r);\n  return r && E(t, a, r), r;\n};\nconst _ = class _ extends m {\n  constructor() {\n    super(), this.labelRangeStart = \"\", this.labelRangeEnd = \"\", this.hideLabel = !1, this.name = \"\", this.id = \"\", this.type = \"text\", this.placeholderRangeStart = \"\", this.placeholderRangeEnd = \"\", this.value = \"\", this.disabled = !1, this.readonly = !1, this.required = !1, this.invalid = !1, this.autocapitalize = \"none\", this.autocomplete = \"off\", this.autocorrect = !1, this.autofocus = !1, this.spellcheck = !1, this.size = \"lg\", this.iconRangeStart = \"calendar_today\", this.iconRangeEnd = \"calendar_today\", this.showCalendar = !1, this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this.showButtons = !1, this.minDate = \"\", this.maxDate = \"\", this.timepicker = \"\", this.timepickerLabel = \"Selecciona una hora\", this.minHour = 0, this.maxHour = 24, this.minutesRange = 1, this.customCalendar = void 0, this.customTimeListOptions = [], this.validate = !1, this.errorMessageFormat = \"El format de la data no és correcte.\", this.errorMessageMinDate = \"La data és anterior a la permesa.\", this.errorMessageMaxDate = \"La data és posterior a la permesa.\", this.calendarLeftButtonLabel = \"Cancel·lar\", this.calendarRightButtonLabel = \"Seleccionar\", this._defaultStartId = `dss-datepicker-range-start-${crypto.randomUUID()}`, this._defaultEndId = `dss-datepicker-range-end-${crypto.randomUUID()}`, this._isStartFocused = !1, this._isEndFocused = !1, this._isTruncated = !1, this._helpText = \"\", this._dateformatPlaceholder = \"DD/MM/AAAA\", this._copyInputRangeStartPlaceholder = \"\", this._copyInputRangeEndPlaceholder = \"\", this._popperInstance = null, this._placeholderStart = \"\", this._placeholderEnd = \"\", this._helpTextBackup = \"\", this._isFirstUpdated = !0, this.internals = this.attachInternals(), this._handleClickOut = this._handleClickOut.bind(this), this._handleFocusOut = this._handleFocusOut.bind(this);\n  }\n  static get styles() {\n    return [u(y), u(v), u(S)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this._removeCalendarListener();\n  }\n  _addCalendarListener() {\n    document.addEventListener(\"mousedown\", this._handleClickOut), this.addEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _removeCalendarListener() {\n    document.removeEventListener(\"mousedown\", this._handleClickOut), this.removeEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _handleClickOut(t) {\n    this._checkClickOutside(t);\n  }\n  _handleFocusOut(t) {\n    this._checkFocusOut(t);\n  }\n  _getEffectiveStartId() {\n    return this.id !== \"\" ? `${this.id}-start` : this._defaultStartId;\n  }\n  _getEffectiveEndId() {\n    return this.id !== \"\" ? `${this.id}-end` : this._defaultEndId;\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._helpTextBackup = this.helpText ?? \"\", this._createPopperCalendar(), this._inputRangeStart && this._inputRangeEnd && (this._inputRangeStart.classList.add(\"dss-input-skip-native\"), this._inputRangeEnd.classList.add(\"dss-input-skip-native\"));\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  updated(t) {\n    t.has(\"value\") && (this.internals.setFormValue(this.value), queueMicrotask(() => {\n      this._applyValue();\n    })), t.has(\"placeholderRangeStart\") && this._isFirstUpdated && (this._placeholderStart = this.placeholderRangeStart, this._copyInputRangeStartPlaceholder = this.placeholderRangeStart), t.has(\"placeholderRangeEnd\") && this._isFirstUpdated && (this._placeholderEnd = this.placeholderRangeEnd, this._copyInputRangeEndPlaceholder = this.placeholderRangeEnd), t.has(\"helpText\") && queueMicrotask(() => {\n      this._helpText = this.helpText ?? \"\";\n    });\n  }\n  formDisabledCallback(t) {\n    this.disabled = t;\n  }\n  formResetCallback() {\n    this.value = \"\", this._hiddenInput.value = \"\", this._inputRangeStart.value = \"\", this._inputRangeEnd.value = \"\";\n  }\n  formStateRestoreCallback(t) {\n    this.value = t ?? \"\", this._hiddenInput.value = t ?? \"\", this._inputRangeStart.value = t ?? \"\", this._inputRangeEnd.value = t ?? \"\";\n  }\n  render() {\n    return R(this);\n  }\n  /* Handle Input Events */\n  _applyValue() {\n    if (this.value === this._hiddenInput.value) return;\n    const t = this.value.includes(\",\");\n    let a = \"\", n = \"\";\n    if (t) {\n      const r = this.value.split(\",\");\n      a = r[0] || \"\", n = r[1] || \"\";\n    } else\n      a = this.value, n = \"\";\n    this._inputRangeStart.value = a, this._inputRangeEnd.value = n;\n  }\n  _handleRangeStartInput(t) {\n    if (t.target) {\n      const n = t.target.value.replace(/\\D/g, \"\");\n      this._inputRangeStart.value = this._formatDate(n), this._updateHiddenInput();\n    }\n  }\n  _handleRangeEndInput(t) {\n    if (t.target) {\n      const n = t.target.value.replace(/\\D/g, \"\");\n      this._inputRangeEnd.value = this._formatDate(n), this._updateHiddenInput();\n    }\n  }\n  _handleRangeStartClick() {\n    this.showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this.requestUpdate();\n  }\n  _handleRangeEndClick() {\n    this.showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this.requestUpdate();\n  }\n  _handleRangeStartFocusIn() {\n    this._isStartFocused || (this._isStartFocused = !0, this._isEndFocused = !1, this._copyInputRangeEndPlaceholder || this._inputRangeEnd.removeAttribute(\"placeholder\"), this._updatePlaceholders(), this.requestUpdate());\n  }\n  _handleRangeEndFocusIn() {\n    this._isEndFocused || (this._isStartFocused = !1, this._copyInputRangeStartPlaceholder || this._inputRangeStart.removeAttribute(\"placeholder\"), this._isEndFocused = !0, this._updatePlaceholders(), this.requestUpdate());\n  }\n  _handleRangeKeydown(t) {\n    var a, n;\n    (t == null ? void 0 : t.key) === \"Tab\" ? this.showCalendar && this._isStartFocused && (t.preventDefault(), this.dispatchEvent(\n      new CustomEvent(\"range-focus-calendar\", {\n        bubbles: !0,\n        composed: !0\n      })\n    )) : (t == null ? void 0 : t.key) === \"Enter\" && this.showCalendar && ((a = this._inputRangeStart.value) == null ? void 0 : a.length) > 7 && ((n = this._inputRangeEnd.value) == null ? void 0 : n.length) > 7 ? this._closeCalendar() : (t == null ? void 0 : t.key) === \"Enter\" || (t == null ? void 0 : t.key) === \" \" ? (this.showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this.requestUpdate()) : (t == null ? void 0 : t.key) === \"Escape\" && (this.showCalendar = !1, this._popperInstance.update(), this._removeCalendarListener(), this.requestUpdate());\n  }\n  _dispatchValueChange(t) {\n    const a = new CustomEvent(\"value-changed\", {\n      detail: t,\n      bubbles: !1,\n      composed: !1\n    });\n    this.dispatchEvent(a), this._updateHiddenInput();\n  }\n  _updateHiddenInput() {\n    var r, h;\n    if (!this._hiddenInput) return;\n    const t = ((r = this._inputRangeStart) == null ? void 0 : r.value) || \"\", a = ((h = this._inputRangeEnd) == null ? void 0 : h.value) || \"\";\n    let n = \"\";\n    t && a ? n = `${t},${a}` : t ? n = t : a && (n = a), this._hiddenInput.value = n, this.value = n, this._emitChange();\n  }\n  // _emitInput() {\n  // \tthis._hiddenInput.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n  // }\n  _emitChange() {\n    this._hiddenInput.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n  _onCalendarChange(t) {\n    const a = t.detail;\n    if (a.rangeStart) {\n      this._inputRangeStart.value = t.detail.rangeStart;\n      const n = this._convertToISO(a.rangeStart), r = this._convertToISO(this._inputRangeEnd.value);\n      this._inputRangeEnd.value && new Date(r) < new Date(n) && (this._inputRangeEnd.value = \"\", a.rangeEnd = null);\n    }\n    a.rangeEnd ? this._inputRangeEnd.value = t.detail.rangeEnd : this._inputRangeEnd.value = \"\", this._inputRangeEnd.value || (this._inputRangeEnd.focus(), this._isStartFocused = !1, this._isEndFocused = !0), this._inputRangeStart.value && this._inputRangeEnd.value && (this.showCalendar = !1, this._isStartFocused = !1, this._isEndFocused = !1, this._removeCalendarListener()), this.validate && this._validateDate(), this._dispatchValueChange(a), this.requestUpdate();\n  }\n  _onCalendarCancel() {\n    this.showCalendar = !1, this._removeCalendarListener(), this.requestUpdate();\n  }\n  _updatePlaceholders() {\n    this._isStartFocused && !this._copyInputRangeStartPlaceholder && (this._inputRangeStart.setAttribute(\"placeholder\", this._dateformatPlaceholder), this.requestUpdate()), this._isEndFocused && !this._copyInputRangeEndPlaceholder && (this._inputRangeEnd.setAttribute(\"placeholder\", this._dateformatPlaceholder), this.requestUpdate());\n  }\n  _removePlaceholders() {\n    this._copyInputRangeStartPlaceholder || this._inputRangeStart.removeAttribute(\"placeholder\"), this._copyInputRangeEndPlaceholder || this._inputRangeEnd.removeAttribute(\"placeholder\");\n  }\n  // _checkInputOverflow() {\n  // \tif (!this._input) return;\n  // \tconst inputStyle = window.getComputedStyle(this._input);\n  // \tconst inputFont = `${inputStyle.fontWeight} ${inputStyle.fontSize} ${inputStyle.fontFamily}`;\n  // \tconst canvas = document.createElement('canvas');\n  // \tconst context = canvas.getContext('2d');\n  // \tif (!context) return;\n  // \tcontext.font = inputFont;\n  // \tconst textWidth = context.measureText(this._input.value).width;\n  // \tthis._isTruncated = textWidth > this._input.offsetWidth;\n  // }\n  /* Hamdle Datepicker Validations */\n  // _handleValidity() {\n  // \tconst validity = this._input?.checkValidity();\n  // \tif (validity !== undefined) this._inputValidity = validity;\n  // \tthis.internals.setValidity(this._input.validity, this._input.validationMessage, this._input);\n  // }\n  _validateDate() {\n    var a, n;\n    let t = this._checkDateFormat((a = this._inputRangeStart) == null ? void 0 : a.value);\n    t || (t = this._checkDateFormat((n = this._inputRangeEnd) == null ? void 0 : n.value)), this._dispatchOnValidate(t);\n  }\n  // _validateDate() {\n  // \tconst invalid = this._checkDateFormat(this._input?.value);\n  // \tif (invalid) {\n  // \t\tthis._input.setCustomValidity(this._helpText);\n  // \t\tthis.internals.setValidity(\n  // \t\t\t{ customError: true },\n  // \t\t\tthis._helpText,\n  // \t\t\tthis._input\n  // \t\t);\n  // \t} else {\n  // \t\tthis._input.setCustomValidity('');\n  // \t\tthis.internals.setValidity({});\n  // \t}\n  // \tthis._dispatchOnValidate(invalid);\n  // }\n  _checkDateFormat(t) {\n    if (!t || t === void 0)\n      return this._helpText = this._helpTextBackup, this.invalid = !1, !1;\n    if (t === \"\")\n      return this._helpText = this._helpTextBackup, this.invalid = !1, !1;\n    if (t.length < 10)\n      return this._helpText = this.errorMessageFormat, this.invalid = !0, !0;\n    if (this.minDate || this.maxDate) {\n      const n = new Date(this._convertToISO(t)), r = new Date(this._convertToISO(this.minDate)), h = new Date(this._convertToISO(this.maxDate));\n      if (r && n < r)\n        return this._helpText = this.errorMessageMinDate, this.invalid = !0, !0;\n      if (h && n > h)\n        return this._helpText = this.errorMessageMaxDate, this.invalid = !0, !0;\n    }\n    return this._helpText = this._helpTextBackup, this.invalid = !1, !1;\n  }\n  _convertToISO(t) {\n    const [a, n, r] = t.split(\"/\");\n    return `${r}-${n}-${a}`;\n  }\n  _dispatchOnValidate(t) {\n    var n, r;\n    const a = {\n      detail: {\n        rangeStart: (n = this._inputRangeStart) == null ? void 0 : n.value,\n        rangeEnd: (r = this._inputRangeEnd) == null ? void 0 : r.value,\n        invalid: t\n      },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"validate\", a));\n  }\n  // Datepicker specific methods\n  _formatDate(t) {\n    let a = t.substring(0, 2), n = t.substring(2, 4);\n    const r = t.substring(4, 8);\n    return Number(a) > 3 && (a = a == null ? void 0 : a.padStart(2, \"0\")), Number(n) > 1 && (n = n == null ? void 0 : n.padStart(2, \"0\")), Number(a) > 31 && (a = \"31\"), Number(n) > 12 && (n = \"12\"), n === \"02\" && Number(a) > 28 && (r == null ? void 0 : r.length) === 4 && (a = new Date(Number(r), 1, 29).getMonth() === 1 ? \"29\" : \"28\"), `${a}${n ? `/${n}` : \"\"}${r ? `/${r}` : \"\"}`;\n  }\n  _clearDate(t) {\n    switch (t) {\n      case \"rangeStart\":\n        if (!this._inputRangeStart) return;\n        this._inputRangeStart.value = \"\", this._copyInputRangeStartPlaceholder || this._inputRangeStart.removeAttribute(\"placeholder\");\n        break;\n      case \"rangeEnd\":\n        if (!this._inputRangeEnd) return;\n        this._inputRangeEnd.value = \"\", this._copyInputRangeEndPlaceholder || this._inputRangeEnd.removeAttribute(\"placeholder\");\n        break;\n    }\n    this._validateDate(), this._updateHiddenInput(), this.requestUpdate();\n  }\n  /* Handle Popper */\n  _createPopperCalendar() {\n    var n, r;\n    const t = (n = this.shadowRoot) == null ? void 0 : n.querySelector(\".dss-datepicker-range-inputs__start\"), a = (r = this.shadowRoot) == null ? void 0 : r.querySelector(\".dss-calendar\");\n    t && a && (this._popperInstance = f(t, a, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          options: {\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        }\n      ]\n    }));\n  }\n  _closeCalendar() {\n    var t, a;\n    this._removePlaceholders(), this._isStartFocused = !1, this._isEndFocused = !1, this.showCalendar = !1, (t = this._inputRangeStart) == null || t.blur(), (a = this._inputRangeEnd) == null || a.blur(), this._removeCalendarListener(), this.validate && this._validateDate(), this.requestUpdate();\n  }\n  _checkClickOutside(t) {\n    t.composedPath().includes(this) || this.showCalendar && this._closeCalendar();\n  }\n  _checkFocusOut(t) {\n    const a = t.relatedTarget;\n    a !== null && a !== this && a !== this._inputRangeStart && a !== this._inputRangeEnd && this.showCalendar && this._closeCalendar();\n  }\n};\n_.formAssociated = !0;\nlet e = _;\ni([\n  c(\"input.dss-input.dss-input--start\")\n], e.prototype, \"_inputRangeStart\");\ni([\n  c(\"input.dss-input.dss-input--end\")\n], e.prototype, \"_inputRangeEnd\");\ni([\n  c(\"input.dss-hidden-value\")\n], e.prototype, \"_hiddenInput\");\ni([\n  s({ type: String })\n], e.prototype, \"labelRangeStart\");\ni([\n  s({ type: String })\n], e.prototype, \"labelRangeEnd\");\ni([\n  s(o)\n], e.prototype, \"hideLabel\");\ni([\n  s({ type: String })\n], e.prototype, \"name\");\ni([\n  s({ type: String })\n], e.prototype, \"id\");\ni([\n  s({ type: String })\n], e.prototype, \"type\");\ni([\n  s({ type: String })\n], e.prototype, \"placeholderRangeStart\");\ni([\n  s({ type: String })\n], e.prototype, \"placeholderRangeEnd\");\ni([\n  s({ type: String })\n], e.prototype, \"value\");\ni([\n  s({ converter: l, reflect: !0 })\n], e.prototype, \"disabled\");\ni([\n  s({ converter: l, reflect: !0 })\n], e.prototype, \"readonly\");\ni([\n  s({ converter: l, reflect: !0 })\n], e.prototype, \"required\");\ni([\n  s({ converter: l, reflect: !0 })\n], e.prototype, \"invalid\");\ni([\n  s({ type: Number })\n], e.prototype, \"step\");\ni([\n  s({ type: Number })\n], e.prototype, \"min\");\ni([\n  s({ type: Number })\n], e.prototype, \"max\");\ni([\n  s({ type: Number })\n], e.prototype, \"minLength\");\ni([\n  s({ type: String })\n], e.prototype, \"pattern\");\ni([\n  s({ type: String })\n], e.prototype, \"inputmode\");\ni([\n  s({ type: String })\n], e.prototype, \"autocapitalize\");\ni([\n  s({ type: String })\n], e.prototype, \"autocomplete\");\ni([\n  s(o)\n], e.prototype, \"autocorrect\");\ni([\n  s(o)\n], e.prototype, \"autofocus\");\ni([\n  s(o)\n], e.prototype, \"spellcheck\");\ni([\n  s({ type: String })\n], e.prototype, \"size\");\ni([\n  s({ type: String })\n], e.prototype, \"iconRangeStart\");\ni([\n  s({ type: String })\n], e.prototype, \"iconRangeEnd\");\ni([\n  s({ type: String })\n], e.prototype, \"helpText\");\ni([\n  s(o)\n], e.prototype, \"showCalendar\");\ni([\n  s({ type: String })\n], e.prototype, \"dropdownPlacement\");\ni([\n  s(o)\n], e.prototype, \"dropdownFixed\");\ni([\n  s(o)\n], e.prototype, \"showButtons\");\ni([\n  s({ type: String })\n], e.prototype, \"minDate\");\ni([\n  s({ type: String })\n], e.prototype, \"maxDate\");\ni([\n  s({ type: String })\n], e.prototype, \"timepicker\");\ni([\n  s({ type: String })\n], e.prototype, \"timepickerLabel\");\ni([\n  s({ type: Number })\n], e.prototype, \"minHour\");\ni([\n  s({ type: Number })\n], e.prototype, \"maxHour\");\ni([\n  s({ type: Number })\n], e.prototype, \"minutesRange\");\ni([\n  s({ type: Array })\n], e.prototype, \"customCalendar\");\ni([\n  s({ type: Array })\n], e.prototype, \"customTimeListOptions\");\ni([\n  s(o)\n], e.prototype, \"validate\");\ni([\n  s(o)\n], e.prototype, \"errorMessageFormat\");\ni([\n  s(o)\n], e.prototype, \"errorMessageMinDate\");\ni([\n  s(o)\n], e.prototype, \"errorMessageMaxDate\");\ni([\n  s({ type: String })\n], e.prototype, \"calendarLeftButtonLabel\");\ni([\n  s({ type: String })\n], e.prototype, \"calendarRightButtonLabel\");\ni([\n  p()\n], e.prototype, \"_isStartFocused\");\ni([\n  p()\n], e.prototype, \"_isEndFocused\");\ni([\n  p()\n], e.prototype, \"_isTruncated\");\ni([\n  p()\n], e.prototype, \"_helpText\");\nexport {\n  e as FormDatepickerRange\n};\n//# sourceMappingURL=form-datepicker-range.js.map\n","const e = \".dss-datepicker-help{font-family:var(--font-family)}.dss-datepicker-help{font-family:inherit;font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-datepicker-help--disabled{color:var(--color-neutral-500)}.dss-datepicker-help--invalid{color:var(--color-red-500)}.dss-calendar{z-index:999;width:-moz-fit-content;width:fit-content;opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-out}.dss-calendar--visible{opacity:1;visibility:visible}.dss-datepicker-stepper-divider{height:20px;width:1px;background-color:var(--color-neutral-500)}.dss-datepicker-stepper-divider.dss-datepicker-stepper-divider--lg{height:24px}.dss-datepicker-stepper-arrows{display:flex;align-items:center;gap:var(--dss-spacing-xs)}\";\nexport {\n  e as default\n};\n//# sourceMappingURL=form-datepicker.style.css.js.map\n","import { nothing as i } from \"lit\";\nimport { classMap as e } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as l, literal as r, html as s } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nconst f = r`dss-icon${l(u())}`, d = r`dss-icon-button${l(u())}`, _ = r`dss-tooltip${l(u())}`, g = r`dss-calendar${l(u())}`, y = (a) => {\n  var $, t, b, h, v;\n  return s`\n  <div class=\"${e({\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": a.required,\n    \"dss-input-wrapper--disabled\": a.disabled,\n    [`dss-input-wrapper--${a.size}`]: !!a.size,\n    \"dss-input-wrapper--no-label\": a.hideLabel\n  })}\">\n  \n      ${a.size === \"sm\" && !a.hideLabel ? s`\n        <div class=\"${e({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": a.invalid\n  })}\"\n        >\n          <label class=\"dss-label\" for=\"${a._getEffectiveId()}\">${a.label}</label>\n        </div>\n        ` : i}\n  \n      <div class=\"${e({\n    \"dss-input-group\": !0,\n    [`dss-input-group--${a.size}`]: !!a.size,\n    \"dss-input-group--invalid\": a.invalid || !a._inputValidity,\n    \"dss-input-group--required\": a.required,\n    \"dss-input-group--disabled\": a.disabled,\n    \"dss-input-group--focused\": a.value || (($ = a._input) == null ? void 0 : $.value) || a.placeholder || a._isFocused,\n    \"dss-input-group--read-only\": a.readonly,\n    \"dss-input-group--no-label\": a.hideLabel,\n    \"dss-input-group--read-only-empty\": a.readonly && a.placeholder === \"\" && !a.value\n  })}\"\n        role=\"combobox\"\n        aria-controls=\"datepicker-calendar\"\n        aria-expanded=${a.showCalendar ? \"true\" : \"false\"}\n        aria-haspopup=\"dialog\"\n        aria-owns=\"datepicker-calendar\"\n      >\n  \n        ${a.icon ? s`\n          <${f} icon=\"${a.icon}\" class=\"dss-input-icon\"></${f}>\n          ` : i}\n  \n        <div class=\"dss-input-field\">\n        \n          ${a.size !== \"sm\" && !a.hideLabel ? s`\n            <label class=\"dss-label\" for=\"${a._getEffectiveId()}\">${a.label}</label>\n            ` : i}\n  \n          <input\n            class=\"dss-input\"\n            id=${a._getEffectiveId()}\n            .type=${a.type}\n            .name=\"${a.name ?? i}\"\n            .placeholder=${a.placeholder}\n            .value=${a.value}\n            ?disabled=${a.disabled}\n            ?readonly=${a.readonly}\n            ?required=${a.required}\n            ?autofocus=${a.autofocus}\n            spellcheck=${a.spellcheck ? \"true\" : \"false\"}\n            autocorrect=${a.autocorrect ? \"on\" : \"off\"}\n            autocomplete=${a.autocomplete}\n            autocapitalize=${a.autocapitalize}\n            pattern=${a.pattern ?? i}\n            inputmode=${a.inputmode ?? i}\n            aria-label=\"${a.hideLabel ? a.label : i}\"\n            @input=${a._handleInput}\n            @focusin=${a._handleFocusin}\n            @keydown=${a._handleKeydown}\n          />\n\n          ${!a.showCalendar && a._isTruncated ? s`\n              <${_} \n                ?tooltipFixed=${a.tooltipFixed}\n                ?forceViewport=${a.forceViewport}\n                aria-hidden=\"true\"\n              >\n                  ${(t = a._input) == null ? void 0 : t.value}\n                </${_}>\n            ` : i}\n  \n        </div>\n\n        ${!a.hasStepper && ((b = a._input) != null && b.value) ? s`\n          <${d}\n            hideTooltip\n            label=\"Netejar\"\n            size=\"md\"\n            icon=\"close\"\n            @onClick=${a._clearDate}\n            ?hidden=${!((h = a._input) != null && h.value) || a.readonly || a.disabled}\n          ></${d}>\n          ` : i}\n\n        ${a.hasStepper && ((v = a._input) != null && v.value) && a.isValidDate() ? s`\n          <div class=\"${e({\n    \"dss-datepicker-stepper-divider\": !0,\n    [`dss-datepicker-stepper-divider--${a.size}`]: !!a.size\n  })}\"\n          >\n          </div>\n          <div class=\"dss-datepicker-stepper-arrows\">\n            <${d}\n              size=\"md\"\n              icon=\"chevron_left\"\n              hideTooltip\n              label=\"Data anterior\"\n              @onClick=${a._prevDate}\n              ?disabled=${a._isPrevDateDisabled()}\n              ?hidden=${a.readonly || a.disabled}\n            ></${d}>\n\n            <${d}\n              size=\"md\"\n              icon=\"chevron_right\"\n              hideTooltip\n              label=\"Següent data\"\n              @onClick=${a._nextDate}\n              ?disabled=${a._isNextDateDisabled()}\n              ?hidden=${a.readonly || a.disabled}\n            ></${d}>\n          \n          </div>\n          ` : i}\n\n        <${g}\n          role=\"listbox\"\n          aria-label=\"Datepicker Calendar\"\n          id=\"datepicker-calendar\"\n          class=\"${e({\n    \"dss-calendar\": !0,\n    \"dss-calendar--visible\": a.showCalendar && !a.readonly,\n    \"dss-calendar--disabled\": a.disabled,\n    \"dss-calendar--md\": a.size !== \"lg\"\n  })}\"\n          .selectedDate=${a.value}\n          .showTime=${a.showTime}\n          .showButtons=${a.showButtons}\n          .leftLabel=${a.leftLabel}\n          .rightLabel=${a.rightLabel}\n          .minDate=${a.minDate}\n          .maxDate=${a.maxDate}\n          timepickerLabel=${a.timepickerLabel}\n          .timepicker=${a.timepicker}\n          .customCalendar=${a.customCalendar}\n          .customTimeListOptions=${a.customTimeListOptions}\n          .minutesRange=${a.minutesRange}\n          .minHour=${a.minHour}\n          .maxHour=${a.maxHour}\n          @onDateChange=${a._onDateChange}\n          @onCancel=${a._onCancel}\n        ></${g}>\n  \n      </div>\n      \n      ${a._helpText ? s`\n        <div class=\"${e({\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": a.invalid,\n    \"dss-input-help--disabled\": a.disabled\n  })}\">\n          <span>${a._helpText}</span>\n        </div>\n        ` : i}\n\n      \n    </div> \n\n\n  \n`;\n};\nexport {\n  y as template\n};\n//# sourceMappingURL=form-datepicker.template.js.map\n","import { createPopper as w } from \"@popperjs/core\";\nimport { LitElement as S, unsafeCSS as c } from \"lit\";\nimport { query as v, property as r, state as _ } from \"lit/decorators.js\";\nimport T from \"../../shared/reset.style.css.js\";\nimport { booleanType as l, booleanConverter as d } from \"../../utils/property-types.js\";\nimport V from \"../form-input/form-input.style.css.js\";\nimport k from \"./form-datepicker.style.css.js\";\nimport { template as O } from \"./form-datepicker.template.js\";\nvar F = Object.defineProperty, s = (f, t, e, a) => {\n  for (var n = void 0, o = f.length - 1, h; o >= 0; o--)\n    (h = f[o]) && (n = h(t, e, n) || n);\n  return n && F(t, e, n), n;\n};\nconst m = class m extends S {\n  constructor() {\n    super(), this.label = \"\", this.hideLabel = !1, this.name = \"\", this.id = \"\", this.type = \"text\", this.placeholder = \"\", this.value = \"\", this.disabled = !1, this.readonly = !1, this.required = !1, this.invalid = !1, this.autocapitalize = \"none\", this.autocomplete = \"off\", this.autocorrect = !1, this.autofocus = !1, this.spellcheck = !1, this.size = \"lg\", this.icon = \"calendar_today\", this.showCalendar = !1, this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this.showTime = !1, this.showButtons = !1, this.leftLabel = \"Cancel·lar\", this.rightLabel = \"Seleccionar\", this.minDate = \"\", this.maxDate = \"\", this.timepicker = \"\", this.timepickerLabel = \"Selecciona una hora\", this.minHour = 0, this.maxHour = 24, this.minutesRange = 1, this.customCalendar = void 0, this.customTimeListOptions = [], this.validate = !1, this.errorMessageFormat = \"El format de la data no és correcte.\", this.errorMessageMinDate = \"La data és anterior a la permesa.\", this.errorMessageMaxDate = \"La data és posterior a la permesa.\", this.tooltipFixed = !1, this.forceViewport = !1, this.hasStepper = !1, this._defaultId = `dss-datepicker-${crypto.randomUUID()}`, this._isFocused = !1, this._isTruncated = !1, this._externalPlaceholder = \"\", this._previousDate = \"\", this._inputValidity = !0, this._popperInstance = null, this._placeholder = \"\", this._helpText = \"\", this._helpTextBackup = \"\", this._oldHelpText = \"\", this._isFirstUpdated = !0, this.internals = this.attachInternals(), this._handleClickOut = this._handleClickOut.bind(this), this._handleFocusOut = this._handleFocusOut.bind(this);\n  }\n  static get styles() {\n    return [c(T), c(V), c(k)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this._removeCalendarListener();\n  }\n  _addCalendarListener() {\n    document.addEventListener(\"mousedown\", this._handleClickOut), this.addEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _removeCalendarListener() {\n    document.removeEventListener(\"mousedown\", this._handleClickOut), this.removeEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _handleClickOut(t) {\n    this._checkClickOutside(t);\n  }\n  _handleFocusOut(t) {\n    this._checkFocusOut(t);\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._helpTextBackup = this.helpText ?? \"\", this._createPopperCalendar(), this._input.classList.add(\"dss-input-skip-native\"), this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  updated(t) {\n    t.has(\"value\") && this.internals.setFormValue(this.value), t.has(\"placeholder\") && (this._placeholder = this.placeholder, this._externalPlaceholder = this.placeholder), t.has(\"showTime\") && this.showTime && (this.showButtons = !0), t.has(\"helpText\") && queueMicrotask(() => {\n      this._helpText = this.helpText ?? \"\", this._oldHelpText = this.helpText ?? \"\";\n    });\n  }\n  formDisabledCallback(t) {\n    this.disabled = t;\n  }\n  formResetCallback() {\n    this.value = \"\", this._input.value = \"\";\n  }\n  formStateRestoreCallback(t) {\n    this.value = t ?? \"\", this._input.value = t ?? \"\";\n  }\n  render() {\n    return O(this);\n  }\n  /* Handle Input Events */\n  _handleInput(t) {\n    var a;\n    const e = (a = t.target.value) == null ? void 0 : a.replace(/\\D/g, \"\");\n    this._input && (this._input.value = this._formatDate(e), this.value = this._formatDate(e), this._handleValidity()), this._dispatchValueChange(), this.requestUpdate();\n  }\n  _handleFocusin() {\n    var t;\n    this._isFocused || this.readonly || (this._externalPlaceholder !== \"\" ? this._placeholder = this._externalPlaceholder : this._placeholder = this.showTime ? \"DD/MM/AAAA HH:MM\" : \"DD/MM/AAAA\", (t = this._input) == null || t.setAttribute(\"placeholder\", this._placeholder), this.showCalendar = !0, this._popperInstance.update(), this._addCalendarListener(), this._isFocused = !0);\n  }\n  _focusInput() {\n    var t;\n    !this.disabled && !this.readonly && ((t = this._input) == null || t.focus());\n  }\n  _handleKeydown(t) {\n    var e, a, n, o, h;\n    if ((t == null ? void 0 : t.key) === \"Tab\" ? (this._isFocused = !0, this._checkInputOverflow()) : (t == null ? void 0 : t.key) === \"Enter\" || (t == null ? void 0 : t.key) === \" \" ? (this.showCalendar = !0, this._popperInstance.update(), this._checkInputOverflow(), this._addCalendarListener()) : (t == null ? void 0 : t.key) === \"Escape\" && this._closeCalendar(), t.key === \"Enter\" && this._input && ((e = this._input.value) == null ? void 0 : e.length) > 7 && this._input) {\n      const u = (a = this._input.value) == null ? void 0 : a.replace(/(\\d+[/])(\\d+[/])/, \"$2$1\"), p = new Date(u), g = (n = p.getDate()) == null ? void 0 : n.toString().padStart(2, \"0\"), D = (p.getMonth() + 1).toString().padStart(2, \"0\"), b = p.getFullYear(), x = (o = p.getHours()) == null ? void 0 : o.toString().padStart(2, \"0\"), C = (h = p.getMinutes()) == null ? void 0 : h.toString().padStart(2, \"0\");\n      let y = `${g}/${D}/${b}`;\n      this.showTime && (y += ` ${x}:${C}`, this._handleValidity()), this._input && (this._input.value = y), this._dispatchValueChange(), this.showCalendar ? this._closeCalendar() : this.requestUpdate();\n    }\n  }\n  _emitInput() {\n    this.dispatchEvent(new Event(\"input\", { bubbles: !0, composed: !0 }));\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n  _checkInputOverflow() {\n    if (!this._input || !this._input.value) return;\n    const t = window.getComputedStyle(this._input), e = `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, n = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!n) return;\n    n.font = e;\n    const o = n.measureText(this._input.value).width;\n    this._isTruncated = o > this._input.offsetWidth;\n  }\n  /* Hamdle Datepicker Validations */\n  _handleValidity() {\n    var e;\n    const t = (e = this._input) == null ? void 0 : e.checkValidity();\n    t !== void 0 && (this._inputValidity = t), this.internals.setValidity(this._input.validity, this._input.validationMessage, this._input);\n  }\n  _validateDate() {\n    var e;\n    const t = this._checkDateFormat((e = this._input) == null ? void 0 : e.value);\n    t ? (this._input.setCustomValidity(this._helpText), this.internals.setValidity({ customError: !0 }, this._helpText, this._input)) : (this._input.setCustomValidity(\"\"), this.internals.setValidity({})), this._dispatchOnValidate(t);\n  }\n  _checkDateFormat(t) {\n    const e = this.showTime ? 16 : 10;\n    if (t === \"\")\n      return this._helpText = this._helpTextBackup, this.invalid = !1, !1;\n    if (t.length < e)\n      return this._helpText = this.errorMessageFormat, this.invalid = !0, !0;\n    if (this.minDate || this.maxDate) {\n      const a = this.showTime ? t.substring(0, 10) : t, n = new Date(this._convertToISO(a)), o = new Date(this._convertToISO(this.minDate)), h = new Date(this._convertToISO(this.maxDate));\n      if (o && n < o)\n        return this._helpText = this.errorMessageMinDate, this.invalid = !0, !0;\n      if (h && n > h)\n        return this._helpText = this.errorMessageMaxDate, this.invalid = !0, !0;\n    }\n    return this._helpText = this._helpTextBackup, this.invalid = !1, !1;\n  }\n  _convertToISO(t) {\n    const [e, a, n] = t.split(\"/\");\n    return `${n}-${a}-${e}`;\n  }\n  _dispatchOnValidate(t) {\n    var a;\n    const e = {\n      detail: {\n        date: (a = this._input) == null ? void 0 : a.value,\n        invalid: t,\n        status: this.invalid ? \"INVALID\" : \"VALID\"\n      },\n      bubbles: !1,\n      composed: !1\n    };\n    this.dispatchEvent(new CustomEvent(\"value-changed\", e));\n  }\n  // Datepicker specific methods\n  _formatDate(t) {\n    let e = t.substring(0, 2), a = t.substring(2, 4);\n    const n = t.substring(4, 8);\n    let o = t.substring(8, 10), h = t.substring(10, 12);\n    Number(e) > 3 && (e = e == null ? void 0 : e.padStart(2, \"0\")), Number(a) > 1 && (a = a == null ? void 0 : a.padStart(2, \"0\")), Number(e) > 31 && (e = \"31\"), Number(a) > 12 && (a = \"12\"), a === \"02\" && Number(e) > 28 && (n == null ? void 0 : n.length) === 4 && (e = new Date(Number(n), 1, 29).getMonth() === 1 ? \"29\" : \"28\");\n    let u = `${e}${a ? `/${a}` : \"\"}${n ? `/${n}` : \"\"}`;\n    return this.showTime && (Number(o) > 2 && (o = o == null ? void 0 : o.padStart(2, \"0\")), Number(o) > 23 && (o = \"23\"), Number(h) > 5 && (h = h == null ? void 0 : h.padStart(2, \"0\")), u = `${u}${o ? ` ${o}` : \"\"}${h ? `:${h}` : \"\"}`), u;\n  }\n  _onDateChange(t) {\n    const e = t.detail;\n    this._input && (this._input.value = e, this.value = e, this._handleValidity()), this._closeCalendar(), this._dispatchValueChange();\n  }\n  _onCancel() {\n    this._closeCalendar(), this._input && (this._input.value = this._previousDate || \"\", this._handleValidity()), this.requestUpdate();\n  }\n  _dispatchValueChange() {\n    this._emitInput(), this._emitChange();\n  }\n  _clearDate() {\n    this._input && (this._input.value = \"\", this._input.setCustomValidity(\"\"), this.internals.setValidity({}), this.value = \"\", this._handleValidity(), this._helpText = this._helpTextBackup, this.invalid = this._input ? !this._input.checkValidity() : !1, this._dispatchValueChange(), this.requestUpdate());\n  }\n  /* Handle Popper */\n  _createPopperCalendar() {\n    var a, n;\n    const t = (a = this.shadowRoot) == null ? void 0 : a.querySelector(\".dss-input-group\"), e = (n = this.shadowRoot) == null ? void 0 : n.querySelector(\".dss-calendar\");\n    t && e && (this._popperInstance = w(t, e, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          options: {\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        }\n      ]\n    }));\n  }\n  _closeCalendar() {\n    var t, e;\n    this._removeCalendarListener(), (t = this._input) == null || t.removeAttribute(\"placeholder\"), this._placeholder = \"\", this._isFocused = !1, this.showCalendar = !1, (e = this._input) == null || e.blur(), this.validate && this._validateDate(), this._checkInputOverflow(), this.requestUpdate();\n  }\n  _checkClickOutside(t) {\n    t.composedPath().includes(this) || this.showCalendar && this._closeCalendar();\n  }\n  _checkFocusOut(t) {\n    const e = t.relatedTarget;\n    e !== null && e !== this && e !== this._input && e !== this._label && this.showCalendar && this._closeCalendar();\n  }\n  _prevDate() {\n    var n;\n    if (!this._input) return;\n    const t = (n = this._input) == null ? void 0 : n.value, e = this._currentValueToDate(t || \"\");\n    e.setDate(e.getDate() - 1);\n    const a = this._newDateToValue(e);\n    this._input.value = a, this.value = a, this._handleValidity(), this._dispatchValueChange(), this._checkInputOverflow(), this.requestUpdate();\n  }\n  _nextDate() {\n    var n;\n    if (!this._input) return;\n    const t = (n = this._input) == null ? void 0 : n.value, e = this._currentValueToDate(t || \"\");\n    e.setDate(e.getDate() + 1);\n    const a = this._newDateToValue(e);\n    this._input.value = a, this.value = a, this._handleValidity(), this._dispatchValueChange(), this._checkInputOverflow(), this.requestUpdate();\n  }\n  _currentValueToDate(t) {\n    const e = t == null ? void 0 : t.split(\" \")[0].split(\"/\"), a = Number.parseInt(e ? e[0] : \"0\", 10), n = Number.parseInt(e ? e[1] : \"0\", 10) - 1, o = Number.parseInt(e ? e[2] : \"0\", 10), h = new Date(o, n, a);\n    return new Date(h);\n  }\n  _newDateToValue(t) {\n    const e = t.getDate().toString().padStart(2, \"0\"), a = (t.getMonth() + 1).toString().padStart(2, \"0\"), n = t.getFullYear();\n    return `${e}/${a}/${n}`;\n  }\n  _isPrevDateDisabled() {\n    var a;\n    const t = this._getDateFromValue(this.value || ((a = this._input) == null ? void 0 : a.value)), e = this._getDateFromValue(this.minDate);\n    return !t || !e ? !1 : t <= e;\n  }\n  _isNextDateDisabled() {\n    var a;\n    const t = this._getDateFromValue(this.value || ((a = this._input) == null ? void 0 : a.value)), e = this._getDateFromValue(this.maxDate);\n    return !t || !e ? !1 : t >= e;\n  }\n  _getDateFromValue(t) {\n    if (!t) return null;\n    const a = (this.showTime ? t.substring(0, 10) : t).split(\"/\");\n    if (a.length !== 3) return null;\n    const [n, o, h] = a;\n    if (!n || !o || !h) return null;\n    const u = this._convertToISO(`${n}/${o}/${h}`), p = new Date(u);\n    return Number.isNaN(p.getTime()) ? null : p;\n  }\n  isValidDate() {\n    var h;\n    if (!this._input) return !1;\n    const t = (h = this._input.value) == null ? void 0 : h.split(\" \")[0].split(\"/\");\n    if (!t || t.length !== 3) return !1;\n    const e = Number.parseInt(t[0], 10), a = Number.parseInt(t[1], 10) - 1, n = Number.parseInt(t[2], 10), o = new Date(n, a, e);\n    return !Number.isNaN(o.getTime());\n  }\n};\nm.formAssociated = !0;\nlet i = m;\ns([\n  v(\"input.dss-input\")\n], i.prototype, \"_input\");\ns([\n  v(\"label.dss-label\")\n], i.prototype, \"_label\");\ns([\n  r({ type: String })\n], i.prototype, \"label\");\ns([\n  r(l)\n], i.prototype, \"hideLabel\");\ns([\n  r({ type: String })\n], i.prototype, \"name\");\ns([\n  r({ type: String })\n], i.prototype, \"id\");\ns([\n  r({ type: String })\n], i.prototype, \"type\");\ns([\n  r({ type: String })\n], i.prototype, \"placeholder\");\ns([\n  r({ type: String })\n], i.prototype, \"value\");\ns([\n  r({ converter: d, reflect: !0 })\n], i.prototype, \"disabled\");\ns([\n  r({ converter: d, reflect: !0 })\n], i.prototype, \"readonly\");\ns([\n  r({ converter: d, reflect: !0 })\n], i.prototype, \"required\");\ns([\n  r({ converter: d, reflect: !0 })\n], i.prototype, \"invalid\");\ns([\n  r({ type: Number })\n], i.prototype, \"step\");\ns([\n  r({ type: Number })\n], i.prototype, \"min\");\ns([\n  r({ type: Number })\n], i.prototype, \"max\");\ns([\n  r({ type: Number })\n], i.prototype, \"minLength\");\ns([\n  r({ type: String })\n], i.prototype, \"pattern\");\ns([\n  r({ type: String })\n], i.prototype, \"inputmode\");\ns([\n  r({ type: String })\n], i.prototype, \"autocapitalize\");\ns([\n  r({ type: String })\n], i.prototype, \"autocomplete\");\ns([\n  r(l)\n], i.prototype, \"autocorrect\");\ns([\n  r(l)\n], i.prototype, \"autofocus\");\ns([\n  r(l)\n], i.prototype, \"spellcheck\");\ns([\n  r({ type: String })\n], i.prototype, \"size\");\ns([\n  r({ type: String })\n], i.prototype, \"icon\");\ns([\n  r({ type: String })\n], i.prototype, \"helpText\");\ns([\n  r(l)\n], i.prototype, \"showCalendar\");\ns([\n  r({ type: String })\n], i.prototype, \"dropdownPlacement\");\ns([\n  r(l)\n], i.prototype, \"dropdownFixed\");\ns([\n  r(l)\n], i.prototype, \"showTime\");\ns([\n  r(l)\n], i.prototype, \"showButtons\");\ns([\n  r({ type: String })\n], i.prototype, \"leftLabel\");\ns([\n  r({ type: String })\n], i.prototype, \"rightLabel\");\ns([\n  r({ type: String })\n], i.prototype, \"minDate\");\ns([\n  r({ type: String })\n], i.prototype, \"maxDate\");\ns([\n  r({ type: String })\n], i.prototype, \"timepicker\");\ns([\n  r({ type: String })\n], i.prototype, \"timepickerLabel\");\ns([\n  r({ type: Number })\n], i.prototype, \"minHour\");\ns([\n  r({ type: Number })\n], i.prototype, \"maxHour\");\ns([\n  r({ type: Number })\n], i.prototype, \"minutesRange\");\ns([\n  r({ type: Array })\n], i.prototype, \"customCalendar\");\ns([\n  r({ type: Array })\n], i.prototype, \"customTimeListOptions\");\ns([\n  r(l)\n], i.prototype, \"validate\");\ns([\n  r(l)\n], i.prototype, \"errorMessageFormat\");\ns([\n  r(l)\n], i.prototype, \"errorMessageMinDate\");\ns([\n  r(l)\n], i.prototype, \"errorMessageMaxDate\");\ns([\n  r(l)\n], i.prototype, \"tooltipFixed\");\ns([\n  r(l)\n], i.prototype, \"forceViewport\");\ns([\n  r(l)\n], i.prototype, \"hasStepper\");\ns([\n  _()\n], i.prototype, \"_isFocused\");\ns([\n  _()\n], i.prototype, \"_isTruncated\");\ns([\n  _()\n], i.prototype, \"_helpText\");\nexport {\n  i as FormDatepicker\n};\n//# sourceMappingURL=form-datepicker.js.map\n","import { nothing as i } from \"lit\";\nimport { classMap as l } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as e, literal as u, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as r } from \"../../api/custom-element-scope.js\";\nconst h = u`dss-icon${e(r())}`, d = u`dss-icon-button${e(r())}`, p = u`dss-tooltip${e(r())}`, x = (s) => {\n  var $, t, b, v;\n  return a`\n  <div class=\"${l({\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": s.required,\n    \"dss-input-wrapper--disabled\": s.disabled,\n    [`dss-input-wrapper--${s.size}`]: !!s.size,\n    \"dss-input-wrapper--no-label\": s.hideLabel\n  })}\">\n\n    ${s.size === \"sm\" && !s.hideLabel ? a`\n        <div class=\"${l({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": s.invalid\n  })}\"\n        >\n          <label class=\"dss-label\" for=\"${s._getEffectiveId()}\" @mousedown=${s._handleLabelClick}>${s.label}</label>\n        </div>\n      ` : i}\n\n    <div class=\"${l({\n    \"dss-input-group\": !0,\n    [`dss-input-group--${s.size}`]: !!s.size,\n    \"dss-input-group--invalid\": s.invalid,\n    // 'dss-input-group--invalid': component.invalid || !component._inputValidity,\n    \"dss-input-group--required\": s.required,\n    \"dss-input-group--disabled\": s.disabled,\n    \"dss-input-group--focused\": s.value || (($ = s._input) == null ? void 0 : $.value) || s.placeholder || s._isFocused,\n    \"dss-input-group--read-only\": s.readonly,\n    \"dss-input-group--no-label\": s.hideLabel,\n    \"dss-input-group--numeric\": s.type === \"number\",\n    \"dss-input-group--read-only-empty\": s.readonly && s.placeholder === \"\" && !s.value\n    // component.readOnly && component.placeholder === '' && !component._input?.value,\n  })}\">\n\n      ${s.icon ? a`\n        <${h} icon=\"${s.icon}\" class=\"dss-input-icon\"></${h}>\n        ` : i}\n\n      <div \n        class=\"dss-input-field\"\n        data-truncated=\"${s._isTruncated}\"\n        @mouseover=${s._handleMouseOver}\n      >\n      \n        ${s.size !== \"sm\" && !s.hideLabel ? a`\n          <label class=\"dss-label\" for=\"${s._getEffectiveId()}\" @mousedown=${s._handleLabelClick}>${s.label}</label>\n          ` : i}\n\n        ${s.inputPrefix ? a`\n           <span class=\"dss-input-inputPrefix\">${s.inputPrefix}</span>\n          ` : i}\n\n        <input\n          class=\"dss-input\"\n          id=${s._getEffectiveId()}\n          .type=${s.type}\n          .name=\"${s.name ?? i}\"\n          .placeholder=${s.placeholder}\n          .value=${s.value}\n          ?disabled=${s.disabled}\n          ?readonly=${s.readonly}\n          ?required=${s.required}\n          ?autofocus=${s.autofocus}\n          spellcheck=${s.spellcheck ? \"true\" : \"false\"}\n          autocorrect=${s.autocorrect ? \"on\" : \"off\"}\n          autocomplete=${s.autocomplete}\n          autocapitalize=${s.autocapitalize}\n          min=${s.min ?? i}\n          max=${s.max ?? i}\n          step=${s.step ?? i}\n          minlength=${s.minLength ?? i}\n          maxlength=${s.maxLength ?? i}\n          pattern=${s.pattern ?? i}\n          inputmode=${s.inputmode ?? i}\n          aria-label=\"${s.hideLabel ? s.label : i}\"\n          @input=${s._onInput}\n          @focusin=${s._handleFocusin}\n          @focusout=${s._handleFocusout}\n        />\n\n      </div>\n\n      ${s.unit ? a`\n         <div class=\"dss-input-unit\">${s.unit}</div>\n        ` : i}\n\n      ${s.type === \"number\" ? a`\n          <div class=\"dss-input-numeric-buttons\">\n            <${d}\n              label=\"Augmentar\"\n              hideTooltip\n              size=\"sm\"\n              icon=\"keyboard_arrow_up\"\n              variant=\"primary\"\n              ?disabled=${s.disabled || s.readonly}\n              disableTabindex\n              @onClick=${s._stepUp}\n              @mousedown=${() => s._onHold(\"up\")}\n              @mouseup=${s._stopHold}\n              @mouseleave=${s._stopHold}\n            ></${d}>\n            <${d}\n              label=\"Disminuir\"\n              hideTooltip\n              size=\"sm\"\n              icon=\"keyboard_arrow_down\"\n              variant=\"primary\"\n              ?disabled=${s.disabled || s.readonly}\n              disableTabindex\n              @onClick=${s._stepDown}\n              @mousedown=${() => s._onHold(\"down\")}\n              @mouseup=${s._stopHold}\n              @mouseleave=${s._stopHold}\n            ></${d}>\n          </div>\n        ` : i}\n\n      ${s.hasActions ? a`\n          <div class=\"dss-input-actions\">\n            <slot></slot>\n          </div>\n          ` : i}\n\n      <${p} \n        class=\"${l({\n    \"dss-input-tooltip\": !0,\n    \"dss-input-tooltip--visible\": s._isTruncated && !s._isFocused\n  })}\"\n        ?tooltipFixed=${s.tooltipFixed}\n        ?forceViewport=${s.forceViewport}\n        aria-hidden=\"true\"\n      >${(t = s._input) == null ? void 0 : t.value}</${p}>\n\n    </div>\n\n    ${s.helpText ? a`\n      <div class=\"${l({\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": s.invalid,\n    \"dss-input-help--disabled\": s.disabled\n  })}\">\n        <span>${s.helpText}</span>\n        ${s.maxLength ? a`\n          <span>\n            ${((v = (b = s._input) == null ? void 0 : b.value) == null ? void 0 : v.length) ?? 0}/${s.maxLength}\n          </span>` : i}\n      </div>\n      ` : i}\n  </div>  \n`;\n};\nexport {\n  x as template\n};\n//# sourceMappingURL=form-input.template.js.map\n","import { LitElement as _, unsafeCSS as y } from \"lit\";\nimport { query as v, property as i, state as n } from \"lit/decorators.js\";\nimport f from \"../../shared/reset.style.css.js\";\nimport { deleteSeparatorMask as m, applyMask as g } from \"../../utils/mask.js\";\nimport { booleanType as p, booleanConverter as h } from \"../../utils/property-types.js\";\nimport b from \"./form-input.style.css.js\";\nimport { template as S } from \"./form-input.template.js\";\nvar k = Object.defineProperty, e = (c, s, o, u) => {\n  for (var l = void 0, a = c.length - 1, r; a >= 0; a--)\n    (r = c[a]) && (l = r(s, o, l) || l);\n  return l && k(s, o, l), l;\n};\nconst d = class d extends _ {\n  constructor() {\n    super(), this.label = \"\", this.hideLabel = !1, this.name = \"\", this.id = \"\", this.type = \"text\", this.placeholder = \"\", this.value = \"\", this.disabled = !1, this.readonly = !1, this.required = !1, this.invalid = !1, this.autocapitalize = \"none\", this.autocomplete = \"off\", this.autocorrect = !1, this.autofocus = !1, this.spellcheck = !1, this.size = \"lg\", this.hasActions = !1, this.tooltipFixed = !1, this.forceViewport = !1, this._defaultId = `dss-input-${crypto.randomUUID()}`, this._isFocused = !1, this._isTruncated = !1, this._onHoldInterval = null, this._previousValue = null, this._labelClicked = !1, this._lastValue = null, this.internals = this.attachInternals();\n  }\n  static get styles() {\n    return [y(f), y(b)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this._stopHold();\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  updated(s) {\n    s.has(\"value\") && this.internals.setFormValue(this.value);\n  }\n  formDisabledCallback(s) {\n    this.disabled = s;\n  }\n  formResetCallback() {\n    this.value = \"\", this._input.value = \"\", this._lastValue = \"\";\n  }\n  formStateRestoreCallback(s) {\n    this.value = s ?? \"\", this._input.value = s ?? \"\", this._lastValue = s ?? \"\";\n  }\n  render() {\n    return S(this);\n  }\n  _handleFocusin() {\n    this._isFocused = !0;\n  }\n  _handleLabelClick(s) {\n    s.preventDefault(), this._input.focus(), this._labelClicked = !0, setTimeout(() => {\n      this._labelClicked = !1;\n    }, 50);\n  }\n  _handleFocusout() {\n    this._labelClicked || (this._isFocused = !1, this._lastValue !== this._input.value && (this._checkInputOverflow(), this._lastValue = this._input.value));\n  }\n  _onInput(s) {\n    const o = s.target;\n    if (this.maskRegex && this.maskReplace) {\n      this._previousValue && this._previousValue.length > (o == null ? void 0 : o.value.length) && (o.value = m(this._previousValue, o.value, this.maskReplace));\n      const u = g(o.value, this.maskRegex, this.maskReplace, this.allowedChars);\n      u !== o.value && (o.value = u);\n    }\n    this._previousValue = o.value, this.value = o.value, this._handleValidity(), this.dispatchEvent(new Event(\"input\", { bubbles: !1, composed: !0 })), this._emitChange();\n  }\n  _handleValidity() {\n    var o;\n    const s = (o = this._input) == null ? void 0 : o.checkValidity();\n    this.invalid = !s, this.internals.setValidity(this._input.validity, this._input.validationMessage, this._input);\n  }\n  _stepUp() {\n    var s;\n    (s = this._input) == null || s.stepUp(), this.value = this._input.value, this._handleValidity(), this._emitInput(), this._emitChange();\n  }\n  _stepDown() {\n    var s;\n    (s = this._input) == null || s.stepDown(), this.value = this._input.value, this._handleValidity(), this._emitInput(), this._emitChange();\n  }\n  _onHold(s) {\n    this._onHoldInterval = window.setInterval(() => {\n      s === \"up\" ? this._stepUp() : this._stepDown();\n    }, 150);\n  }\n  _stopHold() {\n    this._onHoldInterval !== null && (clearInterval(this._onHoldInterval), this._onHoldInterval = null);\n  }\n  _emitInput() {\n    this.dispatchEvent(new Event(\"input\", { bubbles: !0, composed: !0 }));\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n  _handleMouseOver() {\n    var s, o;\n    ((s = this._input) == null ? void 0 : s.value) !== this._lastValue && (this._checkInputOverflow(), this._lastValue = ((o = this._input) == null ? void 0 : o.value) || null);\n  }\n  _checkInputOverflow() {\n    var r;\n    if (!this._input || !this._input.value) return;\n    const s = window.getComputedStyle(this._input), o = `${s.fontWeight} ${s.fontSize} ${s.fontFamily}`, l = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!l) return;\n    l.font = o;\n    const a = l.measureText(this._input.value).width;\n    this._isTruncated = a > this._input.offsetWidth, this._isTruncated && ((r = this.shadowRoot) == null ? void 0 : r.querySelector(\".dss-input-tooltip\")).updateTooltip();\n  }\n};\nd.formAssociated = !0;\nlet t = d;\ne([\n  v(\"input.dss-input\")\n], t.prototype, \"_input\");\ne([\n  i({ type: String })\n], t.prototype, \"label\");\ne([\n  i(p)\n], t.prototype, \"hideLabel\");\ne([\n  i({ type: String })\n], t.prototype, \"name\");\ne([\n  i({ type: String })\n], t.prototype, \"id\");\ne([\n  i({ type: String })\n], t.prototype, \"type\");\ne([\n  i({ type: String })\n], t.prototype, \"placeholder\");\ne([\n  i({ type: String })\n], t.prototype, \"value\");\ne([\n  i({ converter: h, reflect: !0 })\n], t.prototype, \"disabled\");\ne([\n  i({ converter: h, reflect: !0 })\n], t.prototype, \"readonly\");\ne([\n  i({ converter: h, reflect: !0 })\n], t.prototype, \"required\");\ne([\n  i({ converter: h, reflect: !0 })\n], t.prototype, \"invalid\");\ne([\n  i({ type: Number })\n], t.prototype, \"step\");\ne([\n  i({ type: Number })\n], t.prototype, \"min\");\ne([\n  i({ type: Number })\n], t.prototype, \"max\");\ne([\n  i({ type: Number })\n], t.prototype, \"minLength\");\ne([\n  i({ type: Number })\n], t.prototype, \"maxLength\");\ne([\n  i({ type: String })\n], t.prototype, \"pattern\");\ne([\n  i({ type: String })\n], t.prototype, \"inputmode\");\ne([\n  i({ type: String })\n], t.prototype, \"autocapitalize\");\ne([\n  i({ type: String })\n], t.prototype, \"autocomplete\");\ne([\n  i(p)\n], t.prototype, \"autocorrect\");\ne([\n  i(p)\n], t.prototype, \"autofocus\");\ne([\n  i(p)\n], t.prototype, \"spellcheck\");\ne([\n  i({ type: String })\n], t.prototype, \"size\");\ne([\n  i({ type: String })\n], t.prototype, \"icon\");\ne([\n  i({ type: String })\n], t.prototype, \"helpText\");\ne([\n  i({ type: String })\n], t.prototype, \"maskRegex\");\ne([\n  i({ type: String })\n], t.prototype, \"maskReplace\");\ne([\n  i({ type: String })\n], t.prototype, \"allowedChars\");\ne([\n  i({ type: String })\n], t.prototype, \"unit\");\ne([\n  i({ type: String })\n], t.prototype, \"inputPrefix\");\ne([\n  i(p)\n], t.prototype, \"hasActions\");\ne([\n  i(p)\n], t.prototype, \"tooltipFixed\");\ne([\n  i(p)\n], t.prototype, \"forceViewport\");\ne([\n  n()\n], t.prototype, \"_isFocused\");\ne([\n  n()\n], t.prototype, \"_isTruncated\");\ne([\n  n()\n], t.prototype, \"_onHoldInterval\");\ne([\n  n()\n], t.prototype, \"_previousValue\");\ne([\n  n()\n], t.prototype, \"_labelClicked\");\nexport {\n  t as FormInput\n};\n//# sourceMappingURL=form-input.js.map\n","const o = \".dss-radio-button-group,.dss-radio-button-group__options{display:flex;flex-direction:column;gap:var(--dss-spacing-xs)}.dss-radio-button-group--horizontal .dss-radio-button-group__options{flex-direction:row}.dss-radio-button-group__label{font-size:14px;font-style:normal;font-weight:600;line-height:24px;color:var(--color-neutral-700)}.dss-radio-button-group__label--sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=form-radio-button-group.style.css.js.map\n","import { html as a } from \"lit\";\nimport { classMap as r } from \"lit/directives/class-map.js\";\nconst t = (o) => a`\n  <div class=\"${r({\n  \"dss-radio-button-group\": !0,\n  [`dss-radio-button-group--${o.orientation}`]: !0\n})}\"\n    role=\"radiogroup\"\n    aria-labelledby=\"radio-group-label\"\n  >\n    <div id=\"radio-group-label\" class=\"${r({\n  \"dss-radio-button-group__label\": !0,\n  \"dss-radio-button-group__label--sr-only\": o.hideLabel\n})}\">\n      ${o.label}\n    </div>\n    <div class=\"dss-radio-button-group__options\">\n      <slot></slot>\n    </div>\n  </div>  \n`;\nexport {\n  t as template\n};\n//# sourceMappingURL=form-radio-button-group.template.js.map\n","import { LitElement as f, unsafeCSS as p } from \"lit\";\nimport { queryAssignedElements as m, property as d } from \"lit/decorators.js\";\nimport { getCustomElementSuffix as v } from \"../../api/custom-element-scope.js\";\nimport b from \"../../shared/reset.style.css.js\";\nimport { booleanType as _, booleanConverter as y } from \"../../utils/property-types.js\";\nimport g from \"./form-radio-button-group.style.css.js\";\nimport { template as C } from \"./form-radio-button-group.template.js\";\nvar S = Object.defineProperty, i = (l, t, e, a) => {\n  for (var s = void 0, r = l.length - 1, o; r >= 0; r--)\n    (o = l[r]) && (s = o(t, e, s) || s);\n  return s && S(t, e, s), s;\n};\nconst k = `dss-form-radio-button${v()}`, h = class h extends f {\n  constructor() {\n    super(), this.name = \"radio-group-host\", this.label = \"\", this.hideLabel = !1, this.value = \"\", this.orientation = \"vertical\", this.disabled = !1, this._onRadioChange = (t) => {\n      this.value = t.target.value, this._emitChange();\n    }, this._onKeyDown = (t) => {\n      if (!this._radioButtons || this._radioButtons.length === 0) return;\n      const e = Array.from(this._radioButtons), a = e.findIndex(\n        (u) => {\n          var c;\n          return u === ((c = this.shadowRoot) == null ? void 0 : c.activeElement) || u === document.activeElement;\n        }\n      );\n      if (a === -1) return;\n      let s = a;\n      switch (t.key) {\n        case \"ArrowRight\":\n        case \"ArrowDown\":\n          s = (a + 1) % e.length;\n          break;\n        case \"ArrowLeft\":\n        case \"ArrowUp\":\n          s = (a - 1 + e.length) % e.length;\n          break;\n        default:\n          return;\n      }\n      t.preventDefault();\n      const r = e[a];\n      if (!r) return;\n      r.tabIndex = -1;\n      const o = e[s];\n      o && (o.tabIndex = 0, o.focusInput());\n    }, this.internals = this.attachInternals();\n  }\n  static get styles() {\n    return [p(b), p(g)];\n  }\n  connectedCallback() {\n    super.connectedCallback(), this.addEventListener(\"change\", this._onRadioChange), this.addEventListener(\"keydown\", this._onKeyDown);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this.removeEventListener(\"change\", this._onRadioChange), this.removeEventListener(\"keydown\", this._onKeyDown);\n  }\n  updated(t) {\n    t.has(\"name\") && this._updateNameState(), t.has(\"value\") && (this.internals.setFormValue(this.value), this._updateCheckedState()), t.has(\"disabled\") && this._updateDisabledState();\n  }\n  formResetCallback() {\n    this.value = \"\";\n  }\n  formStateRestoreCallback(t) {\n    this.value = t ?? \"\";\n  }\n  render() {\n    return C(this);\n  }\n  _emitChange() {\n    const t = {\n      detail: { value: this.value },\n      bubbles: !1,\n      composed: !0\n    }, e = new CustomEvent(\"value-changed\", t);\n    this.dispatchEvent(e);\n  }\n  _updateCheckedState() {\n    if (!this._radioButtons) return;\n    let t = !1;\n    this._radioButtons.forEach((e) => {\n      const a = e.value === this.value;\n      e.checked = a, a ? (e.tabIndex = 0, t = !0) : e.tabIndex = -1;\n    }), t || (this._radioButtons[0].tabIndex = 0);\n  }\n  _updateNameState() {\n    this._radioButtons && this._radioButtons.forEach((t) => {\n      t.name = this.name;\n    });\n  }\n  _updateDisabledState() {\n    this._radioButtons && this._radioButtons.forEach((t) => {\n      t.disabled = this.disabled;\n    });\n  }\n};\nh.formAssociated = !0;\nlet n = h;\ni([\n  m({ selector: k.toString() })\n], n.prototype, \"_radioButtons\");\ni([\n  d({ type: String })\n], n.prototype, \"name\");\ni([\n  d({ type: String })\n], n.prototype, \"label\");\ni([\n  d(_)\n], n.prototype, \"hideLabel\");\ni([\n  d({ type: String })\n], n.prototype, \"value\");\ni([\n  d({ type: String })\n], n.prototype, \"orientation\");\ni([\n  d({ converter: y, reflect: !0 })\n], n.prototype, \"disabled\");\nexport {\n  n as FormRadioButtonGroup\n};\n//# sourceMappingURL=form-radio-button-group.js.map\n","const r = '.dss-radio-wrapper{display:flex;align-items:flex-start;gap:8px}.dss-radio-wrapper.dss-radio-wrapper--hidden-label{gap:0}input.dss-radio-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-white);margin:0;color:var(--color-primary-500);width:20px;height:20px;border:var(--dss-border-width-sm) solid var(--color-primary-500);border-radius:50%;transform:translateY(-.075em);display:grid;place-content:center;cursor:pointer;transition:.3s all linear;flex-shrink:0;margin:var(--dss-spacing-tiny)}input.dss-radio-input:before{content:\"\";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:.3s transform ease-in-out;box-shadow:inset 1rem 1rem var(--color-primary-500);background-color:var(--color-white)}input.dss-radio-input:checked{border:var(--dss-border-width-sm) solid var(--color-primary-500)}input.dss-radio-input:checked:before{transform:scale(1);box-shadow:inset 1rem 1rem var(--color-primary-500)}input.dss-radio-input:checked:hover{border:var(--dss-border-width-sm) solid var(--color-primary-600);transition:.3s all linear}input.dss-radio-input:checked:hover:before{transform:scale(1);box-shadow:inset 1rem 1rem var(--color-primary-600);transition:.3s all linear}input.dss-radio-input:disabled{cursor:not-allowed;border:var(--dss-border-width-sm) solid var(--color-neutral-400);background-color:var(--color-neutral-100)}input.dss-radio-input:not(:disabled):hover{border:var(--dss-border-width-sm) solid var(--color-neutral-600);transition:.3s all linear}input.dss-radio-input:checked:disabled:before{box-shadow:inset 1rem 1rem var(--color-neutral-400)!important}.dss-radio-wrapper:focus-within input.dss-radio-input{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-radio-label{color:var(--color-neutral-900);font-size:14px;cursor:pointer}.dss-radio-wrapper--disabled .dss-radio-label{cursor:not-allowed;color:var(--color-neutral-500)}.dss-radio-container{display:inline-flex;align-items:flex-start;flex:0 0 auto;margin-top:1px}';\nexport {\n  r as default\n};\n//# sourceMappingURL=form-radio-button.style.css.js.map\n","import { nothing as d } from \"lit\";\nimport { classMap as e } from \"lit/directives/class-map.js\";\nimport { html as i } from \"lit/static-html.js\";\nconst b = (a) => i`\n  <div class=\"${e({\n  \"dss-radio-wrapper\": !0,\n  \"dss-radio-wrapper--required\": a.required,\n  \"dss-radio-wrapper--disabled\": a.disabled,\n  \"dss-radio-wrapper--hidden-label\": a.hideLabel\n})}\">\n  \t<div class=\"dss-radio-container\">\n      <input\n        class=\"dss-radio-input\"\n        type=\"radio\"\n        name=\"${a.name ?? d}\"\n        id=\"${a._getEffectiveId()}\"\n        .value=\"${a.value}\"\n        ?disabled=\"${a.disabled}\"\n        ?readonly=\"${a.readonly}\"\n        ?required=\"${a.required}\"\n        .checked=\"${a.checked}\"\n        .tabIndex=\"${a.tabIndex}\"\n        aria-label=\"${a.hideLabel ? a.label : d}\"\n        @change=${a._handleChange}\n      />\n    </div>\n    <label for=\"${a._getEffectiveId()}\" class=\"dss-radio-label\" aria-hidden=\"${a.hideLabel}\">\n      ${a.hideLabel ? d : a.label}\n    </label>\n  </div>  \n`;\nexport {\n  b as template\n};\n//# sourceMappingURL=form-radio-button.template.js.map\n","import { LitElement as c, unsafeCSS as h } from \"lit\";\nimport { query as u, property as s } from \"lit/decorators.js\";\nimport f from \"../../shared/reset.style.css.js\";\nimport { booleanType as y, booleanConverter as a } from \"../../utils/property-types.js\";\nimport m from \"./form-radio-button.style.css.js\";\nimport { template as b } from \"./form-radio-button.template.js\";\nvar v = Object.defineProperty, r = (n, e, p, _) => {\n  for (var i = void 0, o = n.length - 1, d; o >= 0; o--)\n    (d = n[o]) && (i = d(e, p, i) || i);\n  return i && v(e, p, i), i;\n};\nconst l = class l extends c {\n  constructor() {\n    super(), this.label = \"\", this.hideLabel = !1, this.name = \"\", this.id = \"\", this.value = \"\", this.disabled = !1, this.readonly = !1, this.required = !1, this.checked = !1, this.tabIndex = 0, this._defaultId = `dss-radio-${crypto.randomUUID()}`, this.internals = this.attachInternals();\n  }\n  static get styles() {\n    return [h(f), h(m)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n  }\n  updated(e) {\n    e.has(\"value\") && this.internals.setFormValue(this.value);\n  }\n  formDisabledCallback(e) {\n    this.disabled = e;\n  }\n  formResetCallback() {\n    this._input.checked = !1, this.checked = !1;\n  }\n  formStateRestoreCallback(e) {\n    this.value = e ?? \"\";\n  }\n  focusInput() {\n    var e;\n    (e = this._input) == null || e.focus();\n  }\n  render() {\n    return b(this);\n  }\n  _handleChange(e) {\n    this.checked = e.target.checked, this._emitChange();\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n};\nl.formAssociated = !0;\nlet t = l;\nr([\n  u(\"input.dss-radio-input\")\n], t.prototype, \"_input\");\nr([\n  s({ type: String })\n], t.prototype, \"label\");\nr([\n  s(y)\n], t.prototype, \"hideLabel\");\nr([\n  s({ type: String })\n], t.prototype, \"name\");\nr([\n  s({ type: String })\n], t.prototype, \"id\");\nr([\n  s({ type: String })\n], t.prototype, \"value\");\nr([\n  s({ converter: a, reflect: !0 })\n], t.prototype, \"disabled\");\nr([\n  s({ converter: a, reflect: !0 })\n], t.prototype, \"readonly\");\nr([\n  s({ converter: a, reflect: !0 })\n], t.prototype, \"required\");\nr([\n  s({ converter: a, reflect: !0 })\n], t.prototype, \"checked\");\nr([\n  s({ type: Number })\n], t.prototype, \"tabIndex\");\nexport {\n  t as FormRadioButton\n};\n//# sourceMappingURL=form-radio-button.js.map\n","const e = '.dss-icon--checked:before{content:\"done\";font-family:var(--icon-font);font-weight:400;color:var(--color-primary-500);font-size:24px;vertical-align:middle}.dss-selected.dss-disabled .dss-icon--checked:before{color:var(--color-neutral-500)}.dss-type--default.dss-selected:not(.dss-disabled):hover .dss-icon--checked:before,.dss-type--green.dss-selected:not(.dss-disabled):hover .dss-icon--checked:before{color:var(--color-white)}.dss-type--default.dss-selected.dss-disabled,.dss-type--green.dss-selected.dss-disabled{background-color:var(--color-neutral-50)}.dss-type--green.dss-selected:not(.dss-disabled) .dss-icon--checked:before{color:var(--color-green-500)}.list{width:auto;border-radius:8px;margin-top:1px;background-color:#fff;color:var(--color-neutral-900);box-shadow:0 0 0 1px #d8d8d8,0 0 0 1px #d8d8d8}.list .dss-form-field:first-child{border-radius:8px 8px 0 0}.list .dss-form-field:last-child{border-radius:0 0 8px 8px}.list *{cursor:pointer}.list .disabled,.list .disabled *{cursor:inherit!important;color:var(--color-neutral-500)}.dss-disabled{cursor:not-allowed;background-color:var(--color-neutral-50)}.hidden{opacity:0;position:absolute}.dss-checkbox,.dss-table .dss-table__checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.0625rem solid var(--color-primary-500);border-radius:.125rem;cursor:pointer;flex-shrink:0;height:1.25rem!important;margin:.125rem;overflow:hidden;position:relative;transition:all .3s linear;width:1.25rem!important}.dss-checkbox:hover{border:.0625rem solid var(--color-neutral-600);transition:all .3s linear}.dss-checkbox:checked{background-color:var(--color-primary-500);border:.0625rem solid var(--color-primary-500)}.dss-checkbox:checked:before{position:absolute;top:-4px;left:-2px;color:var(--color-white);content:\"check\";font-family:var(--icon-font);font-size:1.375rem;text-align:center}.dss-checkbox:checked:hover{background-color:var(--color-primary-600);border:.0625rem solid var(--color-primary-600);transition:all .3s linear}.dss-checkbox:indeterminate:before{color:var(--color-white);content:\"remove\";font-family:var(--icon-font);font-size:1.125rem}.dss-checkbox:disabled{cursor:not-allowed;color:var(--color-neutral-400);border-color:var(--color-neutral-400)}.dss-checkbox:checked:disabled{cursor:not-allowed;background-color:var(--color-neutral-100);border-color:var(--color-neutral-100)}.dss-checkbox:disabled:before{cursor:not-allowed;color:var(--color-neutral-400)}.dss-form-field__focus{outline:.25rem solid var(--color-blue-200);outline-offset:-4px;transition:none}.dss-radio:focus-visible:enabled,.dss-checkbox:focus-visible:enabled{outline:none}.dss-radio,.dss-table .dss-table__radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-white);border:.0625rem solid var(--color-primary-500);border-radius:50%;color:var(--color-primary-500);cursor:pointer;display:grid;flex-shrink:0;height:1.25rem;margin:4px .125rem 0;place-content:center;transform:translateY(-.075em);transition:all .3s linear;width:1.25rem}.dss-radio:before{background-color:var(--color-white);border-radius:50%;box-shadow:inset 1rem 1rem var(--color-primary-500);content:\"\";height:.625rem;transform:scale(0);transition:transform .3s ease-in-out;width:.625rem}.dss-radio:checked{border:.0625rem solid var(--color-primary-500)}.dss-radio:checked:before{box-shadow:inset 1rem 1rem var(--color-primary-500);transform:scale(1)}.dss-radio:checked:hover{border:.0625rem solid var(--color-primary-600);transition:all .3s linear}.dss-radio:checked:hover:before{box-shadow:inset 1rem 1rem var(--color-primary-600);transform:scale(1);transition:all .3s linear}.dss-radio:hover{border:.0625rem solid var(--color-primary-600);transition:all .3s linear}.dss-radio:disabled{cursor:not-allowed;background-color:var(--color-neutral-50);border-color:var(--color-neutral-400)}.dss-radio:checked:disabled{cursor:not-allowed;border-color:var(--color-neutral-400);color:var(--color-neutral-400)}.dss-radio:checked:disabled:before{box-shadow:inset 1rem 1rem var(--color-neutral-400)!important}.dss-form-field{align-items:center;display:flex;gap:8px;cursor:pointer;min-height:24px;min-width:136px;padding:8px 12px;position:relative;word-break:break-word}.dss-form-field.dss-ticked{justify-content:space-between}.dss-form-field.dss-selectAll{background-color:var(--color-white);border-bottom:.8px solid #b1b1b1;position:sticky;top:0;z-index:1}.dss-form-field--simple.dss-type--default.dss-form-field--match:not(.dss-disabled),.dss-form-field--simple.dss-type--default:not(.dss-disabled):hover{background-color:var(--color-primary-600)}.dss-form-field--simple.dss-type--default.dss-form-field--match:not(.dss-disabled) label,.dss-form-field--simple.dss-type--default:not(.dss-disabled):hover label{color:var(--color-white)}.dss-form-field--simple.dss-type--default:not(.dss-disabled):active{background-color:var(--color-primary-400)}.dss-form-field--no-tick.dss-type--default.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--multiple.dss-type--default.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--no-tick.dss-type--default:not(.dss-disabled):not(.dss-form-field--readonly):hover,.dss-form-field--multiple.dss-type--default:not(.dss-disabled):not(.dss-form-field--readonly):hover{box-shadow:inset 0 0 0 2px var(--color-primary-600)}.dss-form-field--simple.dss-type--green.dss-form-field--match:not(.dss-disabled),.dss-form-field--simple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover{background-color:var(--color-green-600)}.dss-form-field--simple.dss-type--green.dss-form-field--match:not(.dss-disabled) label,.dss-form-field--simple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover label{color:var(--color-white)}.dss-form-field--simple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):active{background-color:var(--color-green-400)}.dss-form-field--no-tick.dss-type--green.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--multiple.dss-type--green.dss-form-field--match:not(.dss-disabled):not(.dss-form-field--readonly),.dss-form-field--no-tick.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover,.dss-form-field--multiple.dss-type--green:not(.dss-disabled):not(.dss-form-field--readonly):hover{box-shadow:inset 0 0 0 2px var(--color-green-600)}.dss-type--default.dss-disabled{cursor:not-allowed!important}.dss-form-field label{font-size:.875rem;line-height:var(--line-24)}.dss-form-field.dss-form-field--selected{background-color:var(--color-primary-50)}.dss-form-field.dss-form-field--selected.dss-type--green{background-color:var(--color-green-50)}.dss-form-field:not(.dss-form-field--selected) label span.bold{font-weight:var(--font-bold)}.dss-form-field .dss-check-overlay{width:24px;height:24px;position:absolute}.dss-selector-list-wrapper{overflow-y:auto;margin-bottom:var(--dss-spacing-xxs);width:100%}.dss-selector-list-wrapper--box-shadow{box-shadow:var(--dss-elevation-md)}.dss-selector-empty{box-sizing:border-box;min-height:150px;width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;padding:var(--dss-spacing-xs);gap:var(--dss-spacing-xs)}.dss-selector-empty .text{font-size:14px;color:var(--color-blue-800)}.dss-form-field--readonly:not(.dss-form-field--selected){background-color:var(--color-red-500);display:none}';\nexport {\n  e as default\n};\n//# sourceMappingURL=form-select-options.style.css.js.map\n","import { classMap as w } from \"lit/directives/class-map.js\";\nimport { ifDefined as U } from \"lit/directives/if-defined.js\";\nimport { unsafeHTML as T } from \"lit/directives/unsafe-html.js\";\nimport { unsafeStatic as D, literal as I, html as i } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as q } from \"../../api/custom-element-scope.js\";\nimport { highlightTextMultiple as V, highlightText as z } from \"../../api/marker/marker.js\";\nconst x = I`dss-icon${D(q())}`, F = I`dss-spinner${D(q())}`, H = (s) => {\n  var f;\n  return (f = s.elements) == null ? void 0 : f.map((e, r) => {\n    var E, _;\n    const g = (e.label ?? \"\").trim().replace(/\\s+/g, \"-\"), S = (e.value ?? \"\").trim().replace(/\\s+/g, \"-\"), b = `selector-${g}-${S}`, l = s._valueIsSelected(e.value), u = s.tick && !s.multiple, v = w({\n      disabled: s.disabled,\n      \"dss-disabled\": s.disabled,\n      \"dss-form-field\": !0,\n      \"dss-form-field--simple\": s.tick && !s.multiple,\n      \"dss-form-field--multiple\": s.multiple,\n      \"dss-form-field--readonly\": s.readonly,\n      \"dss-form-field--no-tick\": !s.tick,\n      \"dss-type--default\": s.type === \"default\",\n      \"dss-type--green\": s.type === \"green\",\n      \"dss-ticked\": u,\n      \"dss-selected\": l && u,\n      \"dss-form-field--selected\": l,\n      \"dss-first-unselected\": r && r > 0 && r === s.selectedCounter,\n      \"dss-form-field--match\": ((E = e.label) == null ? void 0 : E.toLowerCase()) === ((_ = s.filter) == null ? void 0 : _.toLowerCase())\n    }), k = w({\n      \"dss-checkbox\": s.multiple,\n      \"dss-radio\": !s.multiple,\n      \"dss-disabled\": s.disabled,\n      hidden: u\n    }), h = i`\n      <input\n        id=\"${b}\"\n        name=\"${b}\"\n        type=\"checkbox\"\n        class=\"${k}\"\n        .value=\"${e.value}\"\n        .checked=\"${l}\"\n        @focus=\"${s._focusEvent}\"\n        @blur=\"${s._blurEvent}\"\n        ?disabled=\"${s.disabled || s.readonly}\"\n      />\n      <div class=\"dss-check-overlay\"></div>\n    `, d = i`<span\n      class=\"dss-icon--checked\"\n      style=\"visibility: ${s.isOpen && u && l ? \"visible\" : \"hidden\"}\"\n    ></span>`;\n    return i`\n      <div\n        class=\"${v}\"\n        @keydown=\"${(a) => {\n      var A, p, L, C;\n      if (a.key === \"Enter\" || a.key === \" \")\n        s._manuallySelect(a, e.value);\n      else if (a.key === \"ArrowUp\") {\n        const y = a.target, $ = (p = (A = y == null ? void 0 : y.closest(\".dss-form-field\")) == null ? void 0 : A.previousElementSibling) == null ? void 0 : p.querySelector(\"input\");\n        $ == null || $.focus();\n      } else if (a.key === \"ArrowDown\") {\n        const y = a.target, $ = (C = (L = y == null ? void 0 : y.closest(\".dss-form-field\")) == null ? void 0 : L.nextElementSibling) == null ? void 0 : C.querySelector(\"input\");\n        $ == null || $.focus();\n      }\n    }}\"\n        @click=\"${(a) => {\n      s._manuallySelect(a, e.value);\n    }}\"\n        data-label=\"${e.label}\"\n      >\n        ${h}\n        <label for=${b}>\n          ${s.advancedFilter ? T(V(e.label, s.filter || \"\", s.searchThreshold)) : T(z(e.label, s.filter || \"\"))}\n        </label>\n        ${d}\n      </div>\n    `;\n  });\n}, O = (s) => {\n  var f;\n  return (f = s._elementSelectAll) == null ? void 0 : f.map((e) => {\n    var b;\n    const r = w({\n      disabled: s.disabled || s.readonly,\n      \"dss-form-field\": !0,\n      \"dss-type--default\": s.type === \"default\",\n      \"dss-type--green\": s.type === \"green\",\n      \"dss-selectAll\": !0,\n      \"dss-disabled\": s.disabled || s.readonly,\n      \"dss-form-field--match\": e.toLowerCase() === ((b = s.filter) == null ? void 0 : b.toLowerCase())\n    }), o = w({\n      \"dss-checkbox\": s.multiple\n    }), g = i`\n      <input\n        id=\"${s._elementId}\"\n        name=\"${s._elementId}\"\n        type=\"checkbox\"\n        class=\"${o}\"\n        .value=\"${e}\"\n        .checked=\"${s._isAllSelected}\"\n        @focus=\"${s._focusEvent}\"\n        @blur=\"${s._blurEvent}\"\n        ?disabled=\"${s.disabled || s.readonly}\"\n      />\n      <div class=\"dss-check-overlay\"></div>\n    `;\n    return i`\n      <div\n        class=\"${r}\"\n        @keydown=\"${(l) => {\n      var u, v, k, h;\n      if (l.key === \"Enter\" || l.key === \" \")\n        s._manuallySelectAll(l);\n      else if (l.key === \"ArrowUp\") {\n        const d = l.target, c = (v = (u = d == null ? void 0 : d.closest(\".dss-form-field\")) == null ? void 0 : u.previousElementSibling) == null ? void 0 : v.querySelector(\"input\");\n        c == null || c.focus();\n      } else if (l.key === \"ArrowDown\") {\n        const d = l.target, c = (h = (k = d == null ? void 0 : d.closest(\".dss-form-field\")) == null ? void 0 : k.nextElementSibling) == null ? void 0 : h.querySelector(\"input\");\n        c == null || c.focus();\n      }\n    }}\"\n        @click=\"${(l) => {\n      s._manuallySelectAll(l);\n    }}\"\n        data-label=\"${e}\"\n      >\n        ${g}\n        <label for=\"${s._elementId}\">${e}</label>\n      </div>\n    `;\n  });\n}, Q = (s) => {\n  let t = H(s);\n  const f = O(s);\n  s.multiple && s.selectAll && (t == null || t.unshift(f[0]), t = (t == null ? void 0 : t.length) === 1 ? [] : t);\n  const e = (r) => {\n    (r.key === \"ArrowDown\" || r.key === \"ArrowUp\") && r.preventDefault();\n  };\n  return i`\n    ${s.elements && s.elements.length > 0 ? i`\n        <div\n          aria-label=\"${U(s.ariaLabel)}\"\n          part=\"selector\"\n          class=\"list dss-selector-list-wrapper ${s.boxShadow ? \"dss-selector-list-wrapper--box-shadow\" : \"\"}\"\n          @keydown=${e}\n          style=\"${s._style}\"\n        >\n          ${t}\n        </div>\n      ` : i`\n        <div\n          part=\"selector\"\n          class=\"list dss-selector-list-wrapper\"\n          @keydown=${e}\n          style=\"${s._style}\"\n        >\n          ${s.filter && s.filter.length >= s.filterThreshold ? i`\n                <div class=\"dss-selector-empty\">\n                  <${x} icon=\"info\" size=\"sm\"></${x}>\n                  <span class=\"text\">\n                    ${s.filter || s.filter === \"\" ? i` ${s.emptySelectorLabel}: ${s.filter} ` : i`${s.emptyFilterLabel}`}\n                  </span>\n                </div>\n              ` : i`\n                <div class=\"dss-selector-empty\">\n                  <${F} size=\"md\"/>\n                </div>\n              `}\n        </div>\n      `}\n  `;\n};\nexport {\n  Q as template\n};\n//# sourceMappingURL=form-select-options.template.js.map\n","import { LitElement as m, unsafeCSS as d } from \"lit\";\nimport { property as o, state as p } from \"lit/decorators.js\";\nimport y from \"../../api/marker/marker.style.css.js\";\nimport S from \"../../shared/reset.style.css.js\";\nimport _ from \"../../shared/scrollbar.style.css.js\";\nimport { booleanType as n } from \"../../utils/property-types.js\";\nimport b from \"./form-select-options.style.css.js\";\nimport { template as v } from \"./form-select-options.template.js\";\nvar A = Object.defineProperty, s = (u, e, t, l) => {\n  for (var r = void 0, a = u.length - 1, c; a >= 0; a--)\n    (c = u[a]) && (r = c(e, t, r) || r);\n  return r && A(e, t, r), r;\n};\nclass i extends m {\n  constructor() {\n    super(...arguments), this.isOpen = !1, this.elements = null, this.value = null, this._value = null, this.type = \"default\", this.filter = null, this.multiple = !1, this.tick = !0, this.deselectable = !1, this.selectAll = !1, this.isDisplayed = !1, this.readonly = !1, this.disabled = !1, this.boxShadow = !1, this.advancedFilter = !1, this.searchThreshold = 1, this.filterThreshold = 1, this.boxStyle = \"\", this.selectedCounter = 0, this.ariaLabel = null, this.labelSelectAll = \"Seleccionar-ho tot\", this.labelDeselectAll = \"Deseleccionar-ho tot\", this.emptySelectorLabel = \"Sense resultats per\", this.emptyFilterLabel = \"Escriu per cercar.\", this._elementId = `dss-selector-${(/* @__PURE__ */ new Date()).getTime()}`, this._elementSelectAll = [], this._style = null, this._isAllSelected = !1, this._syncSelectedValue = !1;\n  }\n  static get styles() {\n    return [d(S), d(_), d(y), d(b)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n  }\n  // LIT LIFECYCLE\n  updated(e) {\n    e.has(\"value\") && queueMicrotask(() => {\n      this._updateSelectedValues();\n    }), e.has(\"elements\") && queueMicrotask(() => {\n      this._checkElements();\n    }), e.has(\"boxStyle\") && queueMicrotask(() => {\n      this._style = this.boxStyle;\n    }), e.has(\"filter\") && this.selectAll && queueMicrotask(() => {\n      this._areAllElementsSelected();\n    });\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._elementSelectAll = [this.labelSelectAll], this._areAllElementsSelected();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  // METHODS\n  _checkElements() {\n    var e;\n    this._syncSelectedValue || (e = this.elements) != null && e.length && (!this.value || this.value.length === 0 || (this._updateSelectedValues(), this._syncSelectedValue = !0));\n  }\n  _updateSelectedValues() {\n    var t, l;\n    if (!((t = this.elements) != null && t.length)) return;\n    if (!this.value || this.value.length === 0) {\n      this._value = null;\n      return;\n    }\n    this.multiple && setTimeout(() => {\n      var r;\n      this._value = ((r = this.elements) == null ? void 0 : r.filter((a) => this.value.includes(a.value))) || null;\n    }, 0);\n    const e = (l = this.elements) == null ? void 0 : l.find((r) => r.value === this.value[0]);\n    this._value = e ? [e] : null;\n  }\n  _areAllElementsSelected() {\n    if (!this.elements || !this._value) {\n      this._elementSelectAll = [this.labelSelectAll], this._isAllSelected = !1;\n      return;\n    }\n    const e = this._value.map((l) => l.value), t = this.elements.map((l) => l.value);\n    this._isAllSelected = e.length === t.length && e.every((l) => t.includes(l)), this._isAllSelected ? this._elementSelectAll = [this.labelDeselectAll] : this._elementSelectAll = [this.labelSelectAll];\n  }\n  _valueIsSelected(e) {\n    var t;\n    return ((t = this._value) == null ? void 0 : t.some((l) => l.value === e)) || !1;\n  }\n  _manuallySelect(e, t) {\n    if (e.preventDefault(), e.stopPropagation(), this.disabled || this.readonly) return;\n    const l = this._valueIsSelected(t);\n    if (!this.multiple && !this.deselectable && l) return;\n    const r = e.target, a = r.className.includes(\"dss-mark\") ? r.parentElement : r;\n    a && a.className.includes(\"dss-form-field\") ? a.querySelector(\"input\").checked = !l : a && (a.parentElement.querySelector(\"input\").checked = !l), this._returnSelectedValues(t), this._areAllElementsSelected();\n  }\n  _manuallySelectAll(e) {\n    if (e.preventDefault(), e.stopPropagation(), this.disabled || this.readonly || !this.multiple && !this.deselectable && this._isAllSelected) return;\n    const t = e.target;\n    t.className.includes(\"dss-form-field\") ? (t.querySelector(\"input\").checked = !t.querySelector(\"input\").checked, this._returnSelecteAllValues(t.querySelector(\"input\").checked)) : (t.parentElement.querySelector(\"input\").checked = !t.parentElement.querySelector(\"input\").checked, this._returnSelecteAllValues(t.parentElement.querySelector(\"input\").checked)), this._areAllElementsSelected();\n  }\n  _returnSelecteAllValues(e) {\n    var r, a;\n    e ? this._value = ((r = this.elements) == null ? void 0 : r.filter((c) => c.value)) || [] : this._value = [];\n    const l = {\n      detail: ((a = this._value) == null ? void 0 : a.map((c) => c.value)) || null,\n      bubbles: !1,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"option-changed\", l)), this.requestUpdate();\n  }\n  _returnSelectedValues(e) {\n    var c, f;\n    const t = Array.from(((c = this.shadowRoot) == null ? void 0 : c.querySelectorAll(\"input:checked\")) || []).map((h) => h.getAttribute(\"value\")).filter((h) => h == null ? !1 : this.multiple ? !0 : h === e), l = t.indexOf(this._elementSelectAll[0]);\n    l !== -1 && t.splice(l, 1), this._value = ((f = this.elements) == null ? void 0 : f.filter((h) => t.includes(h.value))) || [];\n    let r;\n    this.multiple ? r = t : r = t[0] || null;\n    const a = {\n      detail: r,\n      bubbles: !1,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"option-changed\", a)), this.requestUpdate();\n  }\n  selectFirstMatch() {\n    var l;\n    const e = (l = this.shadowRoot) == null ? void 0 : l.querySelectorAll(\".dss-form-field\");\n    let t = null;\n    for (const r of e || []) {\n      const a = r.getAttribute(\"data-label\");\n      if (a && this.filter && a.toLowerCase() === this.filter.toLowerCase()) {\n        t = r;\n        break;\n      }\n    }\n    t && t.click();\n  }\n  moveFocus() {\n    var r;\n    const e = (r = this.shadowRoot) == null ? void 0 : r.querySelectorAll(\".dss-form-field\");\n    if (!e || e.length === 0) return;\n    const l = e[0].querySelector(\"input\");\n    l && l.focus();\n  }\n  _focusEvent(e) {\n    const l = e.target.closest(\".dss-form-field\");\n    l == null || l.classList.add(\"dss-form-field__focus\");\n  }\n  _blurEvent(e) {\n    const l = e.target.closest(\".dss-form-field\");\n    l == null || l.classList.remove(\"dss-form-field__focus\");\n  }\n  render() {\n    return v(this);\n  }\n}\ns([\n  o(n)\n], i.prototype, \"isOpen\");\ns([\n  o({ type: Array })\n], i.prototype, \"elements\");\ns([\n  o({ type: Array })\n], i.prototype, \"value\");\ns([\n  p()\n], i.prototype, \"_value\");\ns([\n  o({ type: String })\n], i.prototype, \"type\");\ns([\n  o({\n    type: String,\n    converter: (u) => (u == null ? void 0 : u.toLowerCase()) ?? null\n  })\n], i.prototype, \"filter\");\ns([\n  o(n)\n], i.prototype, \"multiple\");\ns([\n  o(n)\n], i.prototype, \"tick\");\ns([\n  o(n)\n], i.prototype, \"deselectable\");\ns([\n  o(n)\n], i.prototype, \"selectAll\");\ns([\n  o(n)\n], i.prototype, \"isDisplayed\");\ns([\n  o(n)\n], i.prototype, \"readonly\");\ns([\n  o(n)\n], i.prototype, \"disabled\");\ns([\n  o(n)\n], i.prototype, \"boxShadow\");\ns([\n  o(n)\n], i.prototype, \"advancedFilter\");\ns([\n  o({ type: Number })\n], i.prototype, \"searchThreshold\");\ns([\n  o({ type: Number })\n], i.prototype, \"filterThreshold\");\ns([\n  o({ type: String })\n], i.prototype, \"boxStyle\");\ns([\n  o({ type: Number })\n], i.prototype, \"selectedCounter\");\ns([\n  o({ type: String })\n], i.prototype, \"ariaLabel\");\ns([\n  o({ type: String })\n], i.prototype, \"labelSelectAll\");\ns([\n  o({ type: String })\n], i.prototype, \"labelDeselectAll\");\ns([\n  o({ type: String })\n], i.prototype, \"emptySelectorLabel\");\ns([\n  o({ type: String })\n], i.prototype, \"emptyFilterLabel\");\ns([\n  p()\n], i.prototype, \"_elementId\");\ns([\n  p()\n], i.prototype, \"_elementSelectAll\");\ns([\n  p()\n], i.prototype, \"_style\");\ns([\n  p()\n], i.prototype, \"_isAllSelected\");\ns([\n  p()\n], i.prototype, \"_syncSelectedValue\");\nexport {\n  i as FormSelectOptions\n};\n//# sourceMappingURL=form-select-options.js.map\n","const s = \".dss-form-select-options{opacity:0;visibility:hidden;z-index:999}:host(.animation-enabled) .dss-form-select-options{transition:opacity var(--animation-delay) ease-out,visibility var(--animation-delay) ease-out}.dss-form-select-options--visible{opacity:1;visibility:visible}.dss-form-select-options--open-with-search{display:block;margin-top:var(--dss-spacing-xxs)}.dss-form-select-options--md{top:44px}.dss-input-group:has(dss-chip:focus-within){outline:0;border-color:var(--color-neutral-100)}.dss-input-group.dss-input-group--read-only:has(dss-chip:focus-within){outline:0;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:0}.dss-form-select-options--loading{position:absolute}.dss-input-tooltip{display:none}.dss-input-tooltip--visible{display:block}\";\nexport {\n  s as default\n};\n//# sourceMappingURL=form-select.style.css.js.map\n","import { nothing as l } from \"lit\";\nimport { classMap as d } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as i, literal as a, html as e } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as r } from \"../../api/custom-element-scope.js\";\nconst y = a`dss-icon${i(r())}`, u = a`dss-icon-button${i(r())}`, x = a`dss-tooltip${i(r())}`, D = a`dss-form-select-options${i(r())}`, S = a`dss-chip${i(r())}`, I = (s) => {\n  var $, t, h, b, w, f, p, g, v;\n  return e`\n  <input \n    type=\"hidden\" \n    class=\"dss-hidden-value\" \n    .name=${s.name} \n    .value=${s.value}\n    @change=${s._onChange} \n  />\n\n  <div class=\"${d({\n    \"dss-input-wrapper\": !0,\n    \"dss-input-wrapper--required\": s.required,\n    \"dss-input-wrapper--disabled\": s.disabled,\n    [`dss-input-wrapper--${s.size}`]: !!s.size,\n    \"dss-input-wrapper--no-label\": s.hideLabel\n  })}\">\n\n    ${s.size === \"sm\" && !s.hideLabel ? e`\n      <div class=\"${d({\n    \"dss-wrapper-label\": !0,\n    \"dss-wrapper-label--invalid\": s.invalid\n  })}\"\n      >\n        <label class=\"dss-label\" for=\"${s._getEffectiveId()}\">${s.label}</label>\n      </div>\n      ` : l}\n\n    <div class=\"${d({\n    \"dss-input-group\": !0,\n    [`dss-input-group--${s.size}`]: !!s.size,\n    \"dss-input-group--invalid\": s.invalid && !s.showDropdown,\n    // 'dss-input-group--invalid': component.invalid || !component._inputValidity,\n    \"dss-input-group--required\": s.required,\n    \"dss-input-group--disabled\": s.disabled,\n    \"dss-input-group--focused\": s.value || (($ = s._input) == null ? void 0 : $.value) || s.placeholder || s._isFocused,\n    \"dss-input-group--read-only\": s.readonly,\n    \"dss-input-group--no-label\": s.hideLabel,\n    \"dss-input-group--numeric\": s.type === \"number\",\n    \"dss-input-group--read-only-empty\": ((t = s._input) == null ? void 0 : t.readOnly) && ((h = s._input) == null ? void 0 : h.placeholder) === \"\" && !((b = s._input) != null && b.value)\n    // component.readOnly && component.placeholder === '' && !component._input?.value,\n  })}\">\n\n      ${s.icon ? e`\n        <${y} icon=\"${s.icon}\" class=\"dss-input-icon\"></${y}>\n        ` : l}\n\n      <div class=\"dss-input-field\" @mouseover=${s._handleInputMouseOver}>\n      \n        ${s.size !== \"sm\" && !s.hideLabel ? e`\n          <label class=\"dss-label\" for=\"${s._getEffectiveId()}\">${s.label}</label>\n          ` : l}\n\n        ${s.inputPrefix ? e`\n           <span class=\"dss-input-inputPrefix\">${s.inputPrefix}</span>\n          ` : l}\n\n        <input\n          class=\"dss-input\"\n          id=\"${s._getEffectiveId()}\"\n          .type=\"text\"\n          .name=\"${s.name ?? l}\"\n          .placeholder=${s._placeholder}\n          ?disabled=${s.disabled}\n          ?readonly=${s.readonly}\n          ?required=${s.required}\n          ?autofocus=${s.autofocus}\n          spellcheck=${s.spellcheck ? \"true\" : \"false\"}\n          autocorrect=${s.autocorrect ? \"on\" : \"off\"}\n          autocomplete=${s.autocomplete}\n          autocapitalize=${s.autocapitalize}\n          min=${s.min ?? l}\n          max=${s.max ?? l}\n          step=${s.step ?? l}\n          minlength=${s.minLength ?? l}\n          maxlength=${s.maxLength ?? l}\n          pattern=${s.pattern ?? l}\n          inputmode=${s.inputmode ?? l}\n          aria-label=\"${s.hideLabel ? s.label : l}\"\n          @input=${s._handleInput}\n          @focusin=${s._handleFocusIn}\n          @focusout=${s._handleFocusOut}\n          @keydown=${s._handleKeyDown}\n          @click=${s._handleClick}\n        />\n\n        <${x} \n          class=\"${d({\n    \"dss-input-tooltip\": !0,\n    \"dss-input-tooltip--visible\": !!(!s.showDropdown && s._isTruncated && s.selectedValue && s.selectedValue.length === 1)\n  })}\"\n          ?tooltipFixed=${s.tooltipFixed}\n          ?forceViewport=${s.forceViewport}\n          aria-hidden=\"true\"\n        >${(w = s._input) == null ? void 0 : w.value}</${x}>\n       \n\n      </div>\n\n      ${s.multiple && s._isTruncated && s.selectedValue && ((f = s.selectedValue) == null ? void 0 : f.length) > 1 ? e`\n          <${S}\n            label=\"${s.selectedValue.length}\"\n            size=\"xs\"\n            ?selected=${s.showDropdown}\n            @onToggle=${s._toggleDropdown}>\n          </${S}>\n        ` : l}\n\n      ${!s.openWithSearch && !s.readonly ? e`\n          <${u}\n            class=\"dss-icon-button dss-input-dropdown__toggle\"\n            size=\"md\"\n            icon=\"${s.showDropdown ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"}\"\n            label=\"${s.showDropdown ? \"Tancar dropdown\" : \"Obrir dropdown\"}\"\n            hideTooltip\n            ariaExpanded=\"${s.showDropdown}\"\n            variant=\"primary\"\n            ?disabled=${s.disabled}\n            disableTabindex\n            @onClick=${s._toggleDropdown}\n          ></${u}>\n        ` : s.openWithSearch ? e`\n          <${u}\n            class=\"dss-icon-button dss-input-dropdown__toggle\"\n            size=\"md\"\n            label=\"Esborra la selecció\"\n            hideTooltip\n            icon=\"close\"\n            variant=\"primary\"\n            ?disabled=${s.disabled || s.readonly}\n            disableTabindex\n            @onClick=${s._cleanInput}\n          ></${u}>\n        ` : l}\n    </div>\n\n    <${D}\n      ariaLabel=\"Llista d'elements\"\n      id=\"dss-form-select-options\"\n      class=\"${d({\n    \"dss-form-select-options\": !s.openWithSearch,\n    \"dss-form-select-options--loading\": !s._popperInstance && !s.openWithSearch,\n    \"dss-form-select-options--visible\": s.showDropdown,\n    \"dss-form-select-options--open-with-search\": s.openWithSearch,\n    \"dss-form-select-options--disabled\": s.disabled,\n    \"dss-form-select-options-dropdown\": !0,\n    \"dss-form-select-options--md\": !s.openWithSearch && s.size === \"md\"\n  })}\"\n      .isOpen=${s.showDropdown}\n      .multiple=${s.multiple}\n      .tick=${s.tick}\n      .deselectable=${s.deselectable}\n      .disabled=${s.disabled}\n      .elements=${s._filteredElements}\n      .filter=${s.showDropdown ? (p = s._input) == null ? void 0 : p.value : \"\"}\n      .filterThreshold=${s.filterThreshold}\n      .searchThreshold=${s.searchThreshold}\n      .value=${s.selectedValue}\n      .type=${s.type}\n      .labelSelectAll=${s.labelSelectAll}\n      .labelDeselectAll=${s.labelDeselectAll}\n      .selectAll=${s.selectAll}\n      isDisplayed=${s.showDropdown}\n      selectedCounter=${s._selectElements}\n      boxStyle=${s.dropdownStyle}\n      boxShadow\n      @option-changed=\"${s._handleSelectorChange}\"\n      @keydown=\"${(_) => {\n    _.key === \"Escape\" && s._handleBlurSelector(void 0, _);\n  }}\"\n      @focusout=${s._handleFocusOut}\n      ?readonly=${s.readonly}\n      .advancedFilter=${s.advancedFilter}\n    >\n    </${D}>\n\n    ${s.helpText && !s.openWithSearch ? e`\n      <div class=\"${d({\n    \"dss-input-help\": !0,\n    \"dss-input-help--invalid\": s.invalid && !s.showDropdown,\n    \"dss-input-help--disabled\": s.disabled\n  })}\">\n        <span>${s.helpText}</span>\n        ${s.maxLength ? e`\n          <span>\n            ${((v = (g = s._input) == null ? void 0 : g.value) == null ? void 0 : v.length) ?? 0}/${s.maxLength}\n          </span>` : l}\n      </div>\n      ` : l}\n  </div>  \n`;\n};\nexport {\n  I as template\n};\n//# sourceMappingURL=form-select.template.js.map\n","import { createPopper as S } from \"@popperjs/core\";\nimport { LitElement as g, unsafeCSS as f } from \"lit\";\nimport { query as w, property as l, state as u } from \"lit/decorators.js\";\nimport b from \"../../shared/reset.style.css.js\";\nimport { normalizeText as c } from \"../../utils/helpers.js\";\nimport { booleanType as p, booleanConverter as _ } from \"../../utils/property-types.js\";\nimport { sort as V } from \"../../utils/sorting.js\";\nimport E from \"../form-input/form-input.style.css.js\";\nimport F from \"./form-select.style.css.js\";\nimport { template as k } from \"./form-select.template.js\";\nimport { lazyLoading as I } from \"../../utils/lazy-loading.js\";\nvar C = Object.defineProperty, s = (y, e, t, o) => {\n  for (var r = void 0, n = y.length - 1, h; n >= 0; n--)\n    (h = y[n]) && (r = h(e, t, r) || r);\n  return r && C(e, t, r), r;\n};\nconst m = class m extends g {\n  constructor() {\n    super(), this.label = \"\", this.hideLabel = !1, this.name = \"\", this.id = \"\", this.placeholder = \"\", this.value = \"\", this.disabled = !1, this.readonly = !1, this.required = !1, this.invalid = !1, this.autocapitalize = \"none\", this.autocomplete = \"off\", this.autocorrect = !1, this.autofocus = !1, this.spellcheck = !1, this.size = \"lg\", this.icon = \"\", this.hasActions = !1, this.elements = null, this.selectedValue = null, this.placeholderOnDropdown = \"Seleccionar\", this.placeholderIfEmpty = \"Escriu per cercar\", this.type = \"default\", this.multiple = !1, this.tick = !0, this.autoSort = !1, this.deselectable = !1, this.boxStyle = \"\", this.dropdownStyle = \"\", this.labelSelectAll = \"Seleccionar-ho tot\", this.labelDeselectAll = \"Deseleccionar-ho tot\", this.filterThreshold = 1, this.searchThreshold = 2, this.selectAll = !1, this.showDropdown = !1, this.openWithSearch = !1, this.dropdownOffsetX = void 0, this.dropdownOffsetY = void 0, this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this.advancedFilter = !1, this.tooltipFixed = !1, this.forceViewport = !1, this._defaultId = `dss-select-${crypto.randomUUID()}`, this._isFocused = !1, this._isTruncated = !1, this._onHoldInterval = null, this._isFiltering = !1, this._inputValidity = !0, this._selectElements = 0, this._popperInstance = null, this._intersectionObserver = null, this._isInitialized = !1, this._syncFromValue = !1, this._placeholder = \"\", this._previousValue = null, this._elements = [], this._filteredElements = [], this._copyElements = [], this._multipleSelection = [], this._isFirstInitSelectedElements = !0, this._isOverflowChecked = !1, this._handleInputMouseOver = () => {\n      this._isOverflowChecked || (this._checkInputOverflow(), this._isOverflowChecked = !0);\n    }, this.internals = this.attachInternals(), this._handleClickOutside = this._handleClickOutside.bind(this);\n  }\n  static get styles() {\n    return [f(b), f(E), f(F)];\n  }\n  disconnectedCallback() {\n    var e;\n    super.disconnectedCallback(), this._removeListenerClickOutside(), (e = this._intersectionObserver) == null || e.disconnect();\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  formDisabledCallback(e) {\n    this.disabled = e;\n  }\n  formResetCallback() {\n    setTimeout(() => {\n      this.value = \"\", this._input.value = \"\", this._hiddenInput.value = \"\", this.selectedValue = null, this._placeholder = \"\", this._isFocused = !1;\n    }, 0);\n  }\n  formStateRestoreCallback(e) {\n    this.value = e ?? \"\", this._input.value = e ?? \"\", this._hiddenInput.value = e ?? \"\";\n  }\n  updated(e) {\n    e.has(\"value\") && (this.internals.setFormValue(this.value), queueMicrotask(() => {\n      this._isInitialized && this._applyValue();\n    })), e.has(\"elements\") && ((!this.showDropdown || this._isFiltering) && this._applyElements(this.elements), this._applyOpenWithSearch(this.openWithSearch)), e.has(\"selectedValue\") && queueMicrotask(() => {\n      if (this._syncFromValue) {\n        this._syncFromValue = !1;\n        return;\n      }\n      this._isInitialized && this._applySelectedValue(this.selectedValue);\n    }), e.has(\"placeholder\") && queueMicrotask(() => {\n      this._placeholder = this.placeholder;\n    }), e.has(\"openWithSearch\") && queueMicrotask(() => {\n      this.openWithSearch && this._placeholder === \"\" && (this._placeholder = this.placeholderOnDropdown);\n    });\n  }\n  async firstUpdated() {\n    await this.updateComplete;\n    try {\n      this._syncFormValue(), this._enableAnimations(), this._setupSearchMode(), I(this, () => {\n        this._initializeElements(), this._checkTruncatedIfMultipleSelection();\n      });\n    } catch (e) {\n      console.error(\"Error in firstUpdated:\", e);\n    }\n    this.requestUpdate();\n  }\n  render() {\n    return k(this);\n  }\n  _syncFormValue() {\n    if (this.value && !this.selectedValue) {\n      const e = this.value.split(\",\");\n      this._syncFromValue = !0, this.selectedValue = e;\n    }\n    this.multiple && this.selectedValue && this.selectedValue.length && !this._multipleSelection.length && (this._multipleSelection = [...this.selectedValue]);\n  }\n  _onChange() {\n    this._emitChange();\n  }\n  _handleValidity() {\n    var t;\n    const e = (t = this._input) == null ? void 0 : t.checkValidity();\n    this.invalid = !e, this.internals.setValidity(this._input.validity, this._input.validationMessage, this._input);\n  }\n  _emitInput() {\n    this.dispatchEvent(new Event(\"input\", { bubbles: !0, composed: !0 }));\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n  // METHODS FROM dss-input-dropdown\n  _addListenerClickOutside() {\n    document.addEventListener(\"mousedown\", this._handleClickOutside);\n  }\n  _removeListenerClickOutside() {\n    document.removeEventListener(\"mousedown\", this._handleClickOutside);\n  }\n  _handleClickOutside(e) {\n    var t, o;\n    this.showDropdown && (e.composedPath().includes(this) || (this._input && (this._input.value = \"\", this.internals.setFormValue(this.value), this._isFiltering = !1), (t = this._elements) != null && t.length && (this._initSelectedElements(), (!this.selectedValue || this.selectedValue.length <= 0) && (this._filteredElements = this._getFilteredElements())), (o = this._elements) != null && o.length || (this._placeholder = this.placeholder), this._hidePlaceholder(), this._closeDropdown()));\n  }\n  _enableAnimations() {\n    this.classList.add(\"animation-enabled\");\n  }\n  _initializeElements() {\n    this._elements && (this._filteredElements = this._getFilteredElements(), this._initSelectedElements(), this._isInitialized = !0);\n  }\n  _setupSearchMode() {\n    this.openWithSearch && this._input && (this._input.value = \"\", this.internals.setFormValue(this.value), this._input.hasAttribute(\"placeholder\") || this._input.setAttribute(\"placeholder\", this.placeholderOnDropdown));\n  }\n  _applyValue() {\n    const e = typeof this.value == \"string\" ? this.value.split(\",\").map((t) => t.trim()).filter((t) => t) : [];\n    this.selectedValue = [...e], this._applySelectedValue(e);\n  }\n  _applyOpenWithSearch(e) {\n    var t;\n    e && (this.showDropdown = e, (t = this._popperInstance) == null || t.update(), this._isFocused = !0);\n  }\n  _applyElements(e) {\n    e && (this._elements = this.autoSort ? V(e, \"label\", \"asc\", \"string\") : e, this._input && !this._isFiltering && (this._input.value = \"\", this.internals.setFormValue(this.value)), this._filteredElements = this._getFilteredElements(), this._copyElements = [...this._elements], this._isInitialized && this._initSelectedElements());\n  }\n  _applySelectedValue(e) {\n    !e || !this._elements || this.openWithSearch || (e.length > 0 && (this._isFocused = !0), this._initSelectedElements());\n  }\n  _getSelectedElements(e) {\n    var o;\n    const t = e ? this._multipleSelection : this.selectedValue;\n    return !t || t.length <= 0 ? [] : (o = this._elements) == null ? void 0 : o.filter((r) => t.includes(r.value));\n  }\n  _getFilteredElements() {\n    var t, o, r;\n    const e = ((t = this._elements) == null ? void 0 : t.filter(\n      (n) => {\n        var h;\n        return (h = this.selectedValue) == null ? void 0 : h.includes(n.value);\n      }\n    )) || [];\n    if ((o = this._input) != null && o.value && this._input.value.length >= this.searchThreshold) {\n      const n = c((r = this._input) == null ? void 0 : r.value);\n      return this.advancedFilter ? this._applyAdvancedFilter(n, e) : this._applyDefaultFilter(n, e);\n    }\n    return this._elements;\n  }\n  _applyDefaultFilter(e, t) {\n    var o;\n    if (e) {\n      const r = ((o = this._elements) == null ? void 0 : o.filter(\n        (n) => {\n          var h;\n          return !((h = this.selectedValue) != null && h.includes(n.value)) && // Excluir elementos ya seleccionados del filtro\n          c(n.label).includes(e);\n        }\n      )) || [];\n      return [...t, ...r];\n    }\n    return [...t];\n  }\n  _applyAdvancedFilter(e, t) {\n    var n;\n    const o = c(e).split(/\\s+/).filter((h) => h.length >= this.searchThreshold);\n    if (o.length === 0)\n      return [...t];\n    const r = ((n = this._elements) == null ? void 0 : n.filter(\n      (h) => {\n        var a;\n        return !((a = this.selectedValue) != null && a.includes(h.value)) && // Excluir seleccionados\n        o.every((d) => c(h.label).includes(d));\n      }\n    )) || [];\n    return [...t, ...r];\n  }\n  _initSelectedElements() {\n    this._showSelectedValues(this.selectedValue ? this.selectedValue : []), this._isOverflowChecked = !1, this.showDropdown && this.requestUpdate();\n  }\n  _checkTruncatedIfMultipleSelection() {\n    this.multiple && this.selectedValue && this.selectedValue.length > 1 && (this._checkInputOverflow(), this._isOverflowChecked = !0);\n  }\n  _showSelectedValues(e) {\n    var o;\n    !this.multiple && Array.isArray(e) && e.length > 1 && e.splice(1);\n    const t = (o = this._elements) == null ? void 0 : o.filter((r) => e.includes(r.value));\n    this._elements = [...this._copyElements ?? []], this._selectElements = this.openWithSearch ? 0 : t.length, t.length > 0 && (this._elements = this._reorderElements(t), this._filteredElements = [...this._elements]), this._updateInputValue(t);\n  }\n  _reorderElements(e) {\n    const t = this._elements.filter((r) => e.includes(r)), o = this._elements.filter((r) => !e.includes(r));\n    return [...t, ...o];\n  }\n  _updateInputValue(e) {\n    var t;\n    !this._input || this._isFiltering || this.openWithSearch || (this.multiple ? this._input.value = (e == null ? void 0 : e.map((o) => o.label).join(\", \")) ?? \"\" : (this._input.value = ((t = e == null ? void 0 : e[0]) == null ? void 0 : t.label) ?? \"\", this.deselectable && this._input.value === \"\" && (this._filteredElements = [...this._copyElements ?? []])), this.internals.setFormValue(this.value), this.requestUpdate());\n  }\n  _checkInputOverflow() {\n    var v;\n    if (!this._input || !this._input.value) return;\n    const e = window.getComputedStyle(this._input), t = `${e.fontWeight} ${e.fontSize} ${e.fontFamily}`, r = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!r) return;\n    r.font = t;\n    const n = Number.parseFloat(e.paddingLeft), h = Number.parseFloat(e.paddingRight), a = this._input.offsetWidth - n - h, d = r.measureText(this._input.value).width;\n    this._isTruncated = d > a, this._isTruncated && ((v = this.shadowRoot) == null ? void 0 : v.querySelector(\".dss-input-tooltip\")).updateTooltip();\n  }\n  _handleClick() {\n    !this.disabled && !this.readonly && (this._input && (!this.openWithSearch && !this._isFiltering && (this._input.value = \"\", this.internals.setFormValue(this.value)), this._showPlaceholder()), this._isFocused = !0, this.showDropdown = !0, this._popperInstance ? this._updatePopperDropdown() : this._createPopperDropdown(), this._addListenerClickOutside());\n  }\n  _handleInput() {\n    this._isFiltering = !0, this._dispatchFilterChange(), this._filteredElements = this._getFilteredElements(), this.requestUpdate();\n  }\n  _handleFocusIn() {\n    this._isFocused = !0;\n  }\n  _handleFocusOut(e) {\n    var h, a, d;\n    const t = e.relatedTarget;\n    if (t instanceof HTMLElement && t.contains(this)) return;\n    const o = (h = this.shadowRoot) == null ? void 0 : h.querySelector(\"dss-form-select-options\"), r = (a = this.shadowRoot) == null ? void 0 : a.querySelector(\".dss-input-dropdown__toggle\"), n = (d = this.shadowRoot) == null ? void 0 : d.querySelector(\"dss-chip\");\n    t !== null && t !== this._input && t !== o && t !== r && t !== n && (this.selectedValue && this._initSelectedElements(), this._hidePlaceholder(), this._closeDropdown());\n  }\n  _handleBlurEsc() {\n    this.readonly || this.openWithSearch || this._closeDropdown();\n  }\n  _handleKeyDown(e) {\n    var t;\n    (e == null ? void 0 : e.key) === \"Enter\" ? this.showDropdown ? this._keyboardFilterMatch() : this._handleClick() : (e == null ? void 0 : e.key) === \"Escape\" ? (this._closeDropdown(), this._initSelectedElements(), this._hidePlaceholder(), (!this.selectedValue || this.selectedValue.length <= 0) && (this._filteredElements = this._getFilteredElements())) : (e == null ? void 0 : e.key) === \"ArrowDown\" || (e == null ? void 0 : e.key) === \"ArrowUp\" ? (e.preventDefault(), e.stopPropagation(), ((t = this.shadowRoot) == null ? void 0 : t.querySelector(\"#dss-form-select-options\")).moveFocus()) : (e == null ? void 0 : e.key) !== \"Tab\" && (this.showDropdown || this._handleClick()), this.requestUpdate();\n  }\n  _dispatchFilterChange() {\n    var o;\n    const t = {\n      detail: ((o = this._input) == null ? void 0 : o.value) || \"\",\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"filter-changed\", t));\n  }\n  _cleanInput() {\n    this._isFiltering = !1, this._input.value = \"\", this.internals.setFormValue(this.value), this._filteredElements = this._getFilteredElements();\n  }\n  _keyboardFilterMatch() {\n    var o, r;\n    if (!((o = this._filteredElements) == null ? void 0 : o.find(\n      (n) => {\n        var h;\n        return n.label.toLowerCase() === ((h = this._input) == null ? void 0 : h.value.toLowerCase());\n      }\n    ))) return;\n    const t = (r = this.shadowRoot) == null ? void 0 : r.querySelector(\"#dss-form-select-options\");\n    t && t.selectFirstMatch();\n  }\n  _showPlaceholder() {\n    var e;\n    this._input && (this.placeholder || ((e = this._elements) != null && e.length ? this._input.setAttribute(\"placeholder\", this.placeholderOnDropdown) : this._input.setAttribute(\"placeholder\", this.placeholderIfEmpty)));\n  }\n  _hidePlaceholder() {\n    var e;\n    this.placeholder || (e = this._input) == null || e.removeAttribute(\"placeholder\");\n  }\n  // Selector handling\n  _handleSelectorChange(e) {\n    const t = e.detail;\n    this.multiple ? (this._multipleSelection = typeof t == \"string\" ? [t] : t, this._dispatchValueChange(!0)) : (this.openWithSearch || (this._isFiltering = !1, this._closeDropdown(), this._initSelectedElements()), this.selectedValue = typeof t == \"string\" ? [t] : t, this._handleValidity(), this._dispatchValueChange(), this._updateInternalValue(t));\n  }\n  _handleBlurSelector(e, t) {\n    var o;\n    if (e !== t.target) {\n      if (this.openWithSearch) return;\n      (o = this._input) == null || o.focus(), this._handleBlurEsc(), this._showSelectedValues(this.selectedValue ? this.selectedValue : []);\n    }\n  }\n  _updateInternalValue(e) {\n    var t;\n    this.deselectable && !e ? (this.value = \"\", this._input.value = \"\", (t = this._input) == null || t.removeAttribute(\"placeholder\"), this._placeholder = \"\", this._isFocused = !1) : this.value = e.toString(), this._hiddenInput.dispatchEvent(new Event(\"change\", { bubbles: !0 }));\n  }\n  _dispatchValueChange(e) {\n    this._input && setTimeout(() => {\n      const t = this._hiddenInput.value === \"\" && e ? this._multipleSelection.toString() : this._hiddenInput.value, o = e ? this._multipleSelection : this.selectedValue, r = this._getSelectedElements(e), n = {\n        detail: { inputValue: t, selectedValue: o, selectedItems: r },\n        bubbles: !0,\n        composed: !0\n      };\n      this.dispatchEvent(new CustomEvent(\"value-changed\", n));\n    }, 0);\n  }\n  // Popper.js dropdown handling\n  _createPopperDropdown() {\n    var o, r;\n    if (this.openWithSearch) return;\n    const e = (o = this.shadowRoot) == null ? void 0 : o.querySelector(\".dss-input-group\"), t = (r = this.shadowRoot) == null ? void 0 : r.querySelector(\".dss-form-select-options\");\n    e && t && (this._popperInstance = S(e, t, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          options: {\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        },\n        {\n          name: \"matchWidth\",\n          enabled: !0,\n          phase: \"beforeWrite\",\n          fn({ state: n }) {\n            n.elements.popper.style.width = `${e.offsetWidth}px`;\n          },\n          effect: ({ state: n }) => {\n            n.elements.popper.style.width = `${e.offsetWidth}px`;\n          }\n        }\n      ]\n    }));\n  }\n  _updatePopperDropdown() {\n    if (this.dropdownOffsetX && this.dropdownOffsetY) {\n      const e = this.dropdownOffsetX, t = this.dropdownOffsetY;\n      this._popperInstance.setOptions({\n        modifiers: [\n          {\n            name: \"popperOffsets\",\n            phase: \"write\",\n            fn({ state: o }) {\n              o.modifiersData.popperOffsets = {\n                x: e,\n                // Coordenada X deseada\n                y: t\n                // Coordenada Y deseada\n              };\n            }\n          },\n          {\n            name: \"applyStyles\",\n            phase: \"write\",\n            // Se ejecuta al final\n            fn({ state: o }) {\n              var r, n, h, a;\n              Object.assign(o.elements.popper.style, {\n                position: o.options.strategy,\n                left: `${(n = (r = o == null ? void 0 : o.modifiersData) == null ? void 0 : r.popperOffsets) == null ? void 0 : n.x}px`,\n                top: `${(a = (h = o == null ? void 0 : o.modifiersData) == null ? void 0 : h.popperOffsets) == null ? void 0 : a.y}px`,\n                transform: \"none\"\n                // Desactiva transformaciones automáticas\n              });\n            }\n          }\n        ]\n      });\n    } else\n      this._popperInstance.update();\n    setTimeout(() => {\n      this.classList.remove(\"animation-enabled\");\n    }, 400);\n  }\n  _toggleDropdown() {\n    var t, o, r;\n    if (!this._input) return;\n    const e = !!((t = this._elements) != null && t.length);\n    this.showDropdown = !this.showDropdown, this.showDropdown ? (this._popperInstance || this._createPopperDropdown(), e && ((o = this.selectedValue) != null && o.length || (this._filteredElements = this._getFilteredElements()), this._handleClick()), this._input.focus()) : (e ? (this._input.value = \"\", this.internals.setFormValue(this.value), this._showPlaceholder(), this._input.focus()) : ((r = this._input) == null || r.removeAttribute(\"placeholder\"), this._placeholder = \"\", this._isFiltering = !1, this._isFocused = !1), this.multiple && this._multipleSelection && (this.selectedValue = [...this._multipleSelection], this._updateInternalValue(this.selectedValue)), this._applySelectedValue(this.selectedValue));\n  }\n  _closeDropdown() {\n    this._removeListenerClickOutside(), this.showDropdown = !1, this._isFiltering = !1, this._isFocused = !1, this.multiple && this._multipleSelection ? (this.selectedValue = [...this._multipleSelection], this._updateInternalValue(this.selectedValue)) : this._applySelectedValue(this.selectedValue), setTimeout(() => {\n      this._checkTruncatedIfMultipleSelection();\n    }, 0), setTimeout(() => {\n      this.classList.add(\"animation-enabled\");\n    }, 400);\n  }\n};\nm.formAssociated = !0;\nlet i = m;\ns([\n  w(\"input.dss-input\")\n], i.prototype, \"_input\");\ns([\n  w(\"input.dss-hidden-value\")\n], i.prototype, \"_hiddenInput\");\ns([\n  l({ type: String })\n], i.prototype, \"label\");\ns([\n  l(p)\n], i.prototype, \"hideLabel\");\ns([\n  l({ type: String })\n], i.prototype, \"name\");\ns([\n  l({ type: String })\n], i.prototype, \"id\");\ns([\n  l({ type: String })\n], i.prototype, \"placeholder\");\ns([\n  l({ type: String })\n], i.prototype, \"value\");\ns([\n  l({ converter: _, reflect: !0 })\n], i.prototype, \"disabled\");\ns([\n  l({ converter: _, reflect: !0 })\n], i.prototype, \"readonly\");\ns([\n  l({ converter: _, reflect: !0 })\n], i.prototype, \"required\");\ns([\n  l({ converter: _, reflect: !0 })\n], i.prototype, \"invalid\");\ns([\n  l({ type: Number })\n], i.prototype, \"step\");\ns([\n  l({ type: Number })\n], i.prototype, \"min\");\ns([\n  l({ type: Number })\n], i.prototype, \"max\");\ns([\n  l({ type: Number })\n], i.prototype, \"minLength\");\ns([\n  l({ type: Number })\n], i.prototype, \"maxLength\");\ns([\n  l({ type: String })\n], i.prototype, \"pattern\");\ns([\n  l({ type: String })\n], i.prototype, \"inputmode\");\ns([\n  l({ type: String })\n], i.prototype, \"autocapitalize\");\ns([\n  l({ type: String })\n], i.prototype, \"autocomplete\");\ns([\n  l(p)\n], i.prototype, \"autocorrect\");\ns([\n  l(p)\n], i.prototype, \"autofocus\");\ns([\n  l(p)\n], i.prototype, \"spellcheck\");\ns([\n  l({ type: String })\n], i.prototype, \"size\");\ns([\n  l({ type: String })\n], i.prototype, \"icon\");\ns([\n  l({ type: String })\n], i.prototype, \"helpText\");\ns([\n  l({ type: String })\n], i.prototype, \"maskRegex\");\ns([\n  l({ type: String })\n], i.prototype, \"maskReplace\");\ns([\n  l({ type: String })\n], i.prototype, \"allowedChars\");\ns([\n  l({ type: String })\n], i.prototype, \"unit\");\ns([\n  l({ type: String })\n], i.prototype, \"inputPrefix\");\ns([\n  l(p)\n], i.prototype, \"hasActions\");\ns([\n  l({ type: Array })\n], i.prototype, \"elements\");\ns([\n  l({ type: Array })\n], i.prototype, \"selectedValue\");\ns([\n  l({ type: String })\n], i.prototype, \"placeholderOnDropdown\");\ns([\n  l({ type: String })\n], i.prototype, \"placeholderIfEmpty\");\ns([\n  l({ type: String })\n], i.prototype, \"type\");\ns([\n  l(p)\n], i.prototype, \"multiple\");\ns([\n  l(p)\n], i.prototype, \"tick\");\ns([\n  l(p)\n], i.prototype, \"autoSort\");\ns([\n  l(p)\n], i.prototype, \"deselectable\");\ns([\n  l({ type: String })\n], i.prototype, \"boxStyle\");\ns([\n  l({ type: String })\n], i.prototype, \"dropdownStyle\");\ns([\n  l({ type: String })\n], i.prototype, \"labelSelectAll\");\ns([\n  l({ type: String })\n], i.prototype, \"labelDeselectAll\");\ns([\n  l({ type: Number })\n], i.prototype, \"filterThreshold\");\ns([\n  l({ type: Number })\n], i.prototype, \"searchThreshold\");\ns([\n  l(p)\n], i.prototype, \"selectAll\");\ns([\n  l(p)\n], i.prototype, \"showDropdown\");\ns([\n  l(p)\n], i.prototype, \"openWithSearch\");\ns([\n  l({ type: Number })\n], i.prototype, \"dropdownOffsetX\");\ns([\n  l({ type: Number })\n], i.prototype, \"dropdownOffsetY\");\ns([\n  l({ type: String })\n], i.prototype, \"dropdownPlacement\");\ns([\n  l(p)\n], i.prototype, \"dropdownFixed\");\ns([\n  l(p)\n], i.prototype, \"advancedFilter\");\ns([\n  l(p)\n], i.prototype, \"tooltipFixed\");\ns([\n  l(p)\n], i.prototype, \"forceViewport\");\ns([\n  u()\n], i.prototype, \"_isFocused\");\ns([\n  u()\n], i.prototype, \"_isTruncated\");\ns([\n  u()\n], i.prototype, \"_onHoldInterval\");\ns([\n  u()\n], i.prototype, \"_isFiltering\");\ns([\n  u()\n], i.prototype, \"_inputValidity\");\ns([\n  u()\n], i.prototype, \"_selectElements\");\nexport {\n  i as FormSelect\n};\n//# sourceMappingURL=form-select.js.map\n","const o = \".dss-timepicker-help{font-family:var(--font-family)}.dss-timepicker-help{font-family:inherit;font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-timepicker-help--disabled{color:var(--color-neutral-500)}.dss-timepicker-help--invalid{color:var(--color-red-500)}.dss-timepicker-dropdown{background-color:var(--color-white);width:-moz-fit-content;width:fit-content;border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md);z-index:999;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--animation-delay) ease-out}.dss-timepicker-dropdown--list--visible,.dss-timepicker-dropdown--manual--visible{opacity:1;visibility:visible}.dss-input-group--dropdown input,.dss-timepicker-dropdown--manual{min-width:289px}.dss-timepicker-dropdown__container{overflow:auto;min-height:70px;max-height:280px;width:100%}.dss-timepicker-dropdown__option{cursor:pointer;position:relative;width:100%}.dss-timepicker-dropdown__option--selected label{background-color:var(--color-primary-50)}.dss-timepicker-dropdown__label{width:100%;height:40px;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:var(--dss-spacing-xs) var(--dss-spacing-sm);font-size:14px;color:var(--color-neutral-900);cursor:pointer;background-color:var(--color-white)}.dss-timepicker-dropdown__label:hover{background-color:var(--color-primary-600);color:var(--color-white)}.dss-timepicker-dropdown__label:active{background-color:var(--color-primary-400);color:var(--color-white);transition:background-color .3s}.option--busy .dss-timepicker-dropdown__label{background-color:var(--color-red-50)}.option--busy .dss-timepicker-dropdown__label:hover{background-color:var(--color-red-600)}.option--busy .dss-timepicker-dropdown__label:active{background-color:var(--color-red-400)}.option--busy .dss-timepicker-dropdown__label .dss-timepicker-dropdown__icon{color:var(--color-neutral-900)}.dss-timepicker-dropdown__label:focus-visible{outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-timepicker-dropdown__label:disabled{background-color:var(--color-neutral-50);color:var(--color-neutral-500);cursor:not-allowed}.dss-timepicker-dropdown__input-radio{display:none}.dss-timepicker-dropdown__input-radio:checked+.dss-timepicker-dropdown__icon{display:flex}.dss-timepicker-dropdown__icon{display:none;color:var(--color-primary-500)}.dss-timepicker-dropdown__label:hover .dss-timepicker-dropdown__icon{color:var(--color-white)}.dss-timepicker-dropdown__label:focus-visible{box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-primary-200);border-radius:var(--dss-radius-xs);outline:none}.dss-timepicker-dropdown__manual{width:100%;height:calc(220px - var(--dss-spacing-xs) - var(--dss-spacing-xs));display:flex;justify-content:center;gap:var(--dss-spacing-xs);overflow:hidden;padding:var(--dss-spacing-xs) 0}.dss-timepicker-dropdown__items{box-sizing:border-box;height:100%;width:55px;overflow-y:auto;scrollbar-width:none}.dss-timepicker-dropdown__items:hover{scrollbar-width:thin}.dss-timepicker-dropdown__actions{display:flex;justify-content:center;align-items:center;height:64px;gap:17px;border-top:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-timepicker-manual-item__label{display:flex;justify-content:center;align-items:center;height:40px;width:40px;font-weight:var(--font-semibold);font-size:16px;color:var(--color-neutral-900);border-radius:var(--dss-radius-xs);background-color:var(--color-white);cursor:pointer}.dss-timepicker-manual-item__label:focus-visible{box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-primary-200);border-radius:var(--dss-radius-xs);outline:none}.dss-timepicker-manual-item__label:hover{color:var(--color-white);background-color:var(--color-primary-600)}.dss-timepicker-manual-item__label:active{color:var(--color-white);background-color:var(--color-primary-400);transition:background-color .3s}.dss-timepicker-manual-item__input-radio{display:none}.dss-timepicker-manual-item__input-radio:checked+.dss-timepicker-manual-item__label{color:var(--color-white);background-color:var(--color-primary-500)}\";\nexport {\n  o as default\n};\n//# sourceMappingURL=form-timepicker.style.css.js.map\n","import { nothing as s } from \"lit\";\nimport { classMap as e } from \"lit/directives/class-map.js\";\nimport { ifDefined as k } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as l, literal as r, html as d } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nconst b = r`dss-icon${l(u())}`, a = r`dss-button${l(u())}`, _ = r`dss-tooltip${l(u())}`, h = (i) => {\n  var t, p, $, w, v;\n  return d`\n      <div class=\"${e({\n    \"dss-input-group\": !0,\n    [`dss-input-group--${i.size}`]: !!i.size,\n    \"dss-input-group--invalid\": i.invalid,\n    \"dss-input-group--required\": i.required,\n    \"dss-input-group--disabled\": i.disabled,\n    \"dss-input-group--focused\": i.value || ((t = i._input) == null ? void 0 : t.value) || i.placeholder || i._isFocused,\n    \"dss-input-group--read-only\": i.readonly,\n    \"dss-input-group--no-label\": i.hideLabel,\n    \"dss-input-group--numeric\": i.type === \"number\",\n    \"dss-input-group--read-only-empty\": ((p = i._input) == null ? void 0 : p.readOnly) && (($ = i._input) == null ? void 0 : $.placeholder) === \"\" && !((w = i._input) != null && w.value)\n  })}\">\n      ${i.icon ? d`\n        <${b} icon=\"${i.icon}\" class=\"dss-input-icon\"></${b}>\n        ` : s}\n      <div class=\"dss-input-field\">\n        ${i.size !== \"sm\" && !i.hideLabel ? d`\n          <label class=\"dss-label\" for=${i._getEffectiveId()} @mousedown=${i._handleLabelClick}>${i.label}</label>\n          ` : s}\n        <input\n          class=\"dss-input\"\n          .type=\"${i.type}\"\n          .name=\"${i.name ?? s}\"\n          id=\"${i._getEffectiveId()}\"\n          .placeholder=${i.placeholder}\n          .value=${i.value}\n          ?disabled=${i.disabled}\n          ?readonly=${i.readonly}\n          ?required=${i.required}\n          ?autofocus=${i.autofocus}\n          spellcheck=${i.spellcheck ? \"true\" : \"false\"}\n          autocorrect=${i.autocorrect ? \"on\" : \"off\"}\n          autocomplete=${i.autocomplete}\n          autocapitalize=${i.autocapitalize}\n          min=${i.min ?? s}\n          max=${i.max ?? s}\n          step=${i.step ?? s}\n          minlength=${i.minLength ?? s}\n          maxlength=${i.maxLength ?? s}\n          pattern=${i.pattern ?? s}\n          inputmode=${i.inputmode ?? s}\n          aria-label=\"${i.hideLabel ? i.label : s}\"\n          @click=${i._handleClick}\n          @input=${i._handleInput}\n          @focusin=${i._handleFocusin}\n          @focusout=${i._handleFocusout}\n          @keydown=${i._handleKeyDown}\n        />\n      </div>\n      ${i._isTruncated ? d`\n        <${_}\n          ?tooltipFixed=${i.tooltipFixed}\n          ?forceViewport=${i.forceViewport}\n          aria-hidden=\"true\"\n        >${(v = i._input) == null ? void 0 : v.value}</${_}>\n        ` : s}\n    </div>\n  `;\n}, M = (i) => d`\n  <div class=\"${e({\n  \"dss-input-wrapper\": !0,\n  \"dss-input-wrapper--required\": i.required,\n  \"dss-input-wrapper--disabled\": i.disabled,\n  [`dss-input-wrapper--${i.size}`]: !!i.size,\n  \"dss-input-wrapper--no-label\": i.hideLabel\n})}\">\n\n    ${i.size === \"sm\" && !i.hideLabel ? d`\n      <div class=\"${e({\n  \"dss-wrapper-label\": !0,\n  \"dss-wrapper-label--invalid\": i.invalid\n})}\"\n      >\n        <label class=\"dss-label\" for=${i._getEffectiveId()} @mousedown=${i._handleLabelClick}>${i.label}</label>\n      </div>\n      ` : s}\n\n    ${i.dropdown === \"\" ? d`\n        ${h(i)}\n      ` : d`\n        <div class=\"dss-input-dropdown-wrapper\"\n          role=\"combobox\"\n          aria-controls=\"timepicker-options\"\n          aria-expanded=${k(i.showDropdown)}\n        >\n          ${h(i)}\n\n          <div\n            id=\"timepicker-options\"\n            class=\"${e({\n  \"dss-timepicker-dropdown\": !0,\n  \"dss-timepicker-dropdown--list\": !0,\n  \"dss-timepicker-dropdown--open\": i.showDropdown,\n  \"dss-timepicker-dropdown--lg\": i.size === \"lg\",\n  \"dss-timepicker-dropdown--md\": i.size !== \"lg\",\n  \"dss-timepicker-dropdown--list--visible\": i.showDropdown && i.dropdown === \"list\"\n})}\"\n            role=\"listbox\"\n            aria-label=\"Timepicker Options\"\n          >\n            <div class=\"dss-timepicker-dropdown__container\">\n              ${d`${i._generateTimeListOptionsHTML(i._timeListOptions, i.customTimeListOptions)}`}\n            </div>\n          </div>\n\n          <div\n            id=\"timepicker-options\"\n            class=\"${e({\n  \"dss-timepicker-dropdown\": !0,\n  \"dss-timepicker-dropdown--manual\": !0,\n  \"dss-timepicker-dropdown--open\": i.showDropdown,\n  \"dss-timepicker-dropdown--lg\": i.size === \"lg\",\n  \"dss-timepicker-dropdown--md\": i.size !== \"lg\",\n  \"dss-timepicker-dropdown--manual--visible\": i.showDropdown && i.dropdown === \"manual\"\n})}\"\n            role=\"listbox\"\n            aria-label=\"Timepicker Options\"\n          >\n            <div class=\"dss-timepicker-dropdown__manual\">\n              <div\n                class=\"dss-timepicker-dropdown__items dss-timepicker-dropdown__items--hour\"\n              >\n                ${i._generateTimeManualOptionsHTML(\"timepickerManualHour\", i._timeManualHourOptions)}\n              </div>\n              <div\n                class=\"dss-timepicker-dropdown__items dss-timepicker-dropdown__items--minute\"\n              >\n                ${i._generateTimeManualOptionsHTML(\"timepickerManualMinutes\", i._timeManualMinutesOptions)}\n              </div>\n            </div>\n            <div class=\"dss-timepicker-dropdown__actions\">\n              <${a} \n                label=\"Cancel-lar\"\n                size=\"md\"\n                variant=\"secondary\"\n                @onClick=${i._timeManualSelectorCancel}\n              ></${a}>\n              <${a}\n                label=\"Seleccionar\"\n                size=\"md\"\n                variant=\"primary\"\n                ?disabled=${i._checkDisableTimeManualSelector()}\n                @onClick=${i._timeManualSelectorAccept}\n              ></${a}>\n            </div>\n          </div>\n  \n        </div>\n      `}\n\n    ${i._helpText ? d`\n      <div class=\"${e({\n  \"dss-input-help\": !0,\n  \"dss-input-help--invalid\": i.invalid,\n  \"dss-input-help--disabled\": i.disabled\n})}\">\n        <span>${i._helpText}</span>\n      </div>\n      ` : s}\n  </div>  \n`;\nexport {\n  M as template\n};\n//# sourceMappingURL=form-timepicker.template.js.map\n","import { createPopper as H } from \"@popperjs/core\";\nimport { LitElement as I, unsafeCSS as O } from \"lit\";\nimport { classMap as q } from \"lit/directives/class-map.js\";\nimport { unsafeStatic as $, literal as R, html as D } from \"lit/static-html.js\";\nimport { query as F, property as r, state as M } from \"lit/decorators.js\";\nimport { getCustomElementSuffix as V } from \"../../api/custom-element-scope.js\";\nimport A from \"../../shared/reset.style.css.js\";\nimport { booleanType as b, booleanConverter as g } from \"../../utils/property-types.js\";\nimport U from \"../form-input/form-input.style.css.js\";\nimport P from \"./form-timepicker.style.css.js\";\nimport { template as j } from \"./form-timepicker.template.js\";\nvar z = Object.defineProperty, o = (C, t, e, n) => {\n  for (var s = void 0, a = C.length - 1, c; a >= 0; a--)\n    (c = C[a]) && (s = c(t, e, s) || s);\n  return s && z(t, e, s), s;\n};\nconst E = R`dss-icon${$(V())}`, L = class L extends I {\n  constructor() {\n    super(), this.label = \"\", this.hideLabel = !1, this.name = \"\", this.id = \"\", this.type = \"text\", this.placeholder = \"\", this.value = \"\", this.disabled = !1, this.readonly = !1, this.required = !1, this.invalid = !1, this.maxLength = 5, this.autocapitalize = \"none\", this.autocomplete = \"off\", this.autocorrect = !1, this.autofocus = !1, this.spellcheck = !1, this.size = \"lg\", this.icon = \"schedule\", this.showDropdown = !1, this.dropdown = \"\", this.dropdownPlacement = \"bottom-start\", this.dropdownFixed = !1, this.customTimeListOptions = [], this.errorTimeFormatText = \"Format d'hora no vàlid\", this.errorTimeOptionText = \"Opció de temps no disponible\", this.minHour = 0, this.maxHour = 24, this.minutesRange = 1, this.tooltipFixed = !1, this.forceViewport = !1, this._defaultId = `dss-timepicker-${crypto.randomUUID()}`, this._isFocused = !1, this._isTruncated = !1, this._timePattern = /^\\d{0,4}$/g, this._timeSeparator = \":\", this._timeInputOldValue = \"\", this._placeholder = \"\", this._helpText = \"\", this._oldHelpText = \"\", this._manualHourSelector = \"\", this._manualMinuteSelector = \"\", this._timeListOptions = [], this._customTimeListOptions = [], this._timeManualHourOptions = [], this._timeManualMinutesOptions = [], this._inputValidity = !0, this._isFirstUpdated = !0, this._popperInstanceList = null, this._popperInstanceManual = null, this._labelClicked = !1, this.internals = this.attachInternals(), this._handleClickOut = this._handleClickOut.bind(this), this._handleFocusOut = this._handleFocusOut.bind(this);\n  }\n  static get styles() {\n    return [O(A), O(U), O(P)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this._removeDropdownListener();\n  }\n  _addDropdownListener() {\n    document.addEventListener(\"mousedown\", this._handleClickOut), this.addEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _removeDropdownListener() {\n    document.removeEventListener(\"mousedown\", this._handleClickOut), this.removeEventListener(\"focusout\", this._handleFocusOut);\n  }\n  _handleClickOut(t) {\n    this._checkClickOutside(t);\n  }\n  _handleFocusOut(t) {\n    this._checkFocusOut(t);\n  }\n  _checkClickOutside(t) {\n    t.composedPath().includes(this) || this.showDropdown && this._closeDropdown();\n  }\n  _checkFocusOut(t) {\n    const e = t.relatedTarget;\n    e !== null && e !== this && e !== this._input && e !== this._label && (this.showDropdown && this._closeDropdown(), this.requestUpdate());\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._createPopperList(), this._createPopperManual(), this._input && this._input.classList.add(\"dss-input-skip-native\"), this._updateTimeOptions(), this._isFirstUpdated = !1, this.requestUpdate();\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  updated(t) {\n    t.has(\"value\") && this.internals.setFormValue(this.value), t.has(\"placeholder\") && (this._placeholder = this.placeholder), t.has(\"helpText\") && (this._helpText = this.helpText ?? \"\", this._oldHelpText = this.helpText ?? \"\"), !this._isFirstUpdated && (t.has(\"minHour\") || t.has(\"maxHour\")) && this._updateTimeOptions();\n  }\n  formDisabledCallback(t) {\n    this.disabled = t;\n  }\n  formResetCallback() {\n    this.value = \"\", this._input.value = \"\";\n  }\n  formStateRestoreCallback(t) {\n    this.value = t ?? \"\", this._input.value = t ?? \"\";\n  }\n  render() {\n    return j(this);\n  }\n  /* Handle Input Events */\n  _handleClick() {\n    if (this.showDropdown = !0, this._addDropdownListener(), this._popperInstanceList && this._popperInstanceList.update(), this._popperInstanceManual && this._popperInstanceManual.update(), this.value && (this.dropdown && this.dropdown === \"list\" && this._timeListOptionsScrollTo(), this.dropdown && this.dropdown === \"manual\")) {\n      const t = this.value.slice(0, 2);\n      this._timeManualOptionsScrollTo(t), setTimeout(() => {\n        this._timeManualOptionsScrollTo();\n      }, 500);\n    }\n    this.requestUpdate();\n  }\n  _handleKeyDown(t) {\n    this._input && (this._timeInputOldValue = this._input.value, (t == null ? void 0 : t.key) === \"Enter\" || (t == null ? void 0 : t.key) === \" \" ? (this.showDropdown = !0, this._addDropdownListener(), this._popperInstanceList && this._popperInstanceList.update(), this._popperInstanceManual && this._popperInstanceManual.update(), this.requestUpdate()) : (t == null ? void 0 : t.key) === \"Escape\" && this._closeDropdown());\n  }\n  _handleInput() {\n    if (!this._input) return;\n    let t = this._input.value;\n    t = this._timeUnmask(t), t.match(this._timePattern) ? (t = this._timeMask(t, 2, this._timeSeparator), this._input.value = t) : this._input.value = this._timeInputOldValue, this._input.value.length === 5 && (this._timeValidate(this._input.value), this._handleValidity()), this.dropdown && this.dropdown === \"list\" && this._timeListOptionsScrollTo(), this.dropdown && this.dropdown === \"manual\" && this._timeManualOptionsScrollTo(), this._onInput();\n  }\n  _onInput() {\n    this.value = this._input.value, this.dispatchEvent(new Event(\"input\", { bubbles: !1, composed: !0 })), this._emitChange();\n  }\n  _handleValidity() {\n    var n;\n    let t = {}, e = \"\";\n    this.invalid ? (t = { customError: !0, valid: !1 }, e = this._helpText) : (this.invalid = !((n = this._input) != null && n.checkValidity()), t = this._input.validity, e = this._input.validationMessage), this.internals.setValidity(t, e, this._input);\n  }\n  _handleFocusin() {\n    this._input && (this._isFocused = !0, this._placeholder = \"00:00\", this._input.setAttribute(\"placeholder\", this._placeholder), this.requestUpdate());\n  }\n  _handleLabelClick(t) {\n    t.preventDefault(), this._input.focus(), this._labelClicked = !0, setTimeout(() => {\n      this._labelClicked = !1;\n    }, 50);\n  }\n  _handleFocusout() {\n    !this._input || this._labelClicked || (this._isFocused = !1, this._placeholder = \"\", this._input.removeAttribute(\"placeholder\"), this._checkInputOverflow(), this.requestUpdate());\n  }\n  _focusInput() {\n    var t;\n    this.disabled || ((t = this._input) == null || t.focus(), this._handleClick());\n  }\n  _checkInputOverflow() {\n    if (!this._input || !this._input.value) return;\n    const t = window.getComputedStyle(this._input), e = `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, s = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!s) return;\n    s.font = e;\n    const a = s.measureText(this._input.value).width;\n    this._isTruncated = a > this._input.offsetWidth;\n  }\n  _emitInput() {\n    this.dispatchEvent(new Event(\"input\", { bubbles: !0, composed: !0 }));\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n  _dispatchValueChange() {\n    if (!this._input) return;\n    const t = {\n      detail: {\n        value: this._input.value,\n        invalid: this.invalid,\n        status: this.invalid ? \"INVALID\" : \"VALID\"\n      },\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"value-changed\", t)), this.value !== this._input.value && (this.value = this._input.value), this._emitChange();\n  }\n  /* Handle Popper */\n  _createPopperList() {\n    var n, s;\n    const t = (n = this.shadowRoot) == null ? void 0 : n.querySelector(\".dss-input-group\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-timepicker-dropdown--list\");\n    t && e && (this._popperInstanceList = H(t, e, {\n      placement: this.dropdownPlacement,\n      strategy: this.dropdownFixed ? \"fixed\" : \"absolute\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"flip\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            rootBoundary: \"viewport\"\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        },\n        {\n          name: \"matchWidth\",\n          enabled: !0,\n          phase: \"write\",\n          fn({ state: a }) {\n            a.elements.popper.style.width = `${t.offsetWidth}px`;\n          },\n          effect: ({ state: a }) => {\n            a.elements.popper.style.width = `${t.offsetWidth}px`;\n          }\n        }\n      ]\n    }));\n  }\n  _createPopperManual() {\n    var n, s;\n    const t = (n = this.shadowRoot) == null ? void 0 : n.querySelector(\".dss-input-group\"), e = (s = this.shadowRoot) == null ? void 0 : s.querySelector(\".dss-timepicker-dropdown--manual\");\n    t && e && (this._popperInstanceManual = H(t, e, {\n      placement: \"bottom\",\n      modifiers: [\n        {\n          name: \"offset\",\n          options: {\n            offset: [0, 4]\n          }\n        },\n        {\n          name: \"flip\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            rootBoundary: \"viewport\"\n          }\n        },\n        {\n          name: \"preventOverflow\",\n          enabled: !0,\n          options: {\n            boundary: \"viewport\",\n            padding: { top: 8, bottom: 8, left: 16, right: 16 }\n          }\n        }\n      ]\n    }));\n  }\n  _closeDropdown() {\n    var t;\n    this._removeDropdownListener(), this.showDropdown = !1, (t = this._input) == null || t.blur(), this.requestUpdate();\n  }\n  /* Hamdle Timepicker Validations */\n  _timeMask(t, e, n) {\n    const s = [];\n    for (let a = 0; a < t.length; a += 1)\n      a !== 0 && a % e === 0 && s.push(n), s.push(t[a]);\n    return s.join(\"\");\n  }\n  _timeUnmask(t) {\n    return t.replace(/[^\\d]/g, \"\");\n  }\n  _timeValidate(t) {\n    const e = t.slice(0, 2), n = t.slice(3, 5);\n    this._input && +e >= 0 && +e <= 23 && +n >= 0 && +n <= 59 ? (this.invalid = !1, this._helpText = this._oldHelpText, this.dropdown && this.dropdown === \"list\" && !this._timeListOptions.includes(this._input.value) ? (this._helpText = this.errorTimeOptionText, this.invalid = !0) : this.dropdown && this.dropdown === \"manual\" && (!this._timeManualHourOptions.includes(e) || !this._timeManualMinutesOptions.includes(n)) ? (this._helpText = this.errorTimeOptionText, this.invalid = !0) : this._closeDropdown()) : (this._helpText = this.errorTimeFormatText, this.invalid = !0), this._dispatchValueChange(), this.requestUpdate();\n  }\n  // Timepicker specific methods\n  _updateTimeOptions() {\n    this.dropdown && (this._timeListOptions = this._generateTimeListOptions(), this._timeManualHourOptions = this._generateTimeManualHoursOptions(), this._timeManualMinutesOptions = this._generateTimeManualMinutesOptions());\n  }\n  _generateTimeListOptions() {\n    const t = [], e = +this.minHour, n = +this.maxHour, s = +this.minutesRange;\n    for (let a = e; a < n; a += 1)\n      for (let c = 0; c < 60; c += s) {\n        const l = a.toString().padStart(2, \"0\"), _ = c.toString().padStart(2, \"0\");\n        t.push(`${l}:${_}`);\n      }\n    return t;\n  }\n  _generateTimeListOptionsHTML(t, e) {\n    let n = !0;\n    const s = e && e.length > 0;\n    return (s ? e : t).map((l) => {\n      const _ = (d) => {\n        d && d.focus();\n      }, f = (d) => {\n        let p = 0;\n        const h = this.renderRoot.querySelectorAll(\".dss-timepicker-dropdown__label\"), u = h.length - 1;\n        d === h[0] ? _(h[u]) : (h.forEach((m, y) => {\n          m === d && (p = y);\n        }), _(h[p - 1]));\n      }, v = (d) => {\n        let p = 0;\n        const h = this.renderRoot.querySelectorAll(\".dss-timepicker-dropdown__label\"), u = h.length - 1;\n        d === h[u] ? _(h[0]) : (h.forEach((m, y) => {\n          m === d && (p = y);\n        }), _(h[p + 1]));\n      }, S = (d) => {\n        if (this._input) {\n          const p = d.target.getAttribute(\"value\");\n          p && (this._input.value = p, this._helpText = this._oldHelpText, this.invalid = !1, this._handleValidity(), this._closeDropdown(), this._dispatchValueChange());\n        }\n      }, k = (d) => {\n        const p = d.currentTarget, h = d;\n        let u = !1;\n        switch (h.key) {\n          case \"ArrowUp\":\n            f(p), u = !0;\n            break;\n          case \"ArrowDown\":\n            v(p), u = !0;\n            break;\n          case \"Enter\": {\n            const m = d.target.querySelector(\"input\"), y = this.renderRoot.querySelector('.dss-timepicker-dropdown__label[tabindex=\"0\"]');\n            y == null || y.setAttribute(\"tabindex\", \"-1\"), d.target.setAttribute(\"tabindex\", \"0\"), m == null || m.click(), u = !0;\n            break;\n          }\n        }\n        u && (d.stopPropagation(), d.preventDefault());\n      }, w = {\n        \"option--busy\": typeof l == \"object\" && l.state === \"ocupat\",\n        \"option--selected\": typeof l == \"object\" && l.state === \"ocupat\"\n      }, T = D`\n\t\t\t\t<div class=\"dss-timepicker-dropdown__option ${q(w)}\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tclass=\"dss-timepicker-dropdown__label\"\n\t\t\t\t\t\ttabindex=\"${n ? 0 : -1}\"\n\t\t\t\t\t\t@keydown=${k}\n\t\t\t\t\t>\n\t\t\t\t\t\t${s && typeof l == \"object\" ? l.value : l}\n\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"dss-timepicker-dropdown__input-radio\"\n\t\t\t\t\t\t\tname=\"timeList\"\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t@click=\"${S}\"\n\t\t\t\t\t\t\t.value=\"${s && typeof l == \"object\" ? l.value : l}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<${E} class=\"dss-timepicker-dropdown__icon\" size=\"md\" icon=\"check\"></${E}>\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t`;\n      return n = !1, T;\n    });\n  }\n  _generateTimeManualHoursOptions() {\n    const t = [], e = +this.minHour, n = +this.maxHour;\n    for (let s = e; s < n; s += 1) {\n      const a = s.toString().padStart(2, \"0\");\n      t.push(a);\n    }\n    return t;\n  }\n  _generateTimeManualMinutesOptions() {\n    const t = [], e = +this.minutesRange;\n    for (let n = 0; n < 60; n += e) {\n      const s = n.toString().padStart(2, \"0\");\n      t.push(s);\n    }\n    return t;\n  }\n  _generateTimeManualOptionsHTML(t, e) {\n    let n = !0;\n    return e.map((a) => {\n      const c = (f) => {\n        const v = f.target.getAttribute(\"value\");\n        v && (t === \"timepickerManualHour\" ? this._manualHourSelector = v : t === \"timepickerManualMinutes\" && (this._manualMinuteSelector = v), this.requestUpdate());\n      }, l = (f) => {\n        const v = f.currentTarget, S = f;\n        let k = !1;\n        const w = (p) => {\n          p && p.focus();\n        }, T = (p) => {\n          let h = 0;\n          const u = this.renderRoot.querySelectorAll(`.dss-timepicker-manual-item__label.${t}`), m = u.length - 1;\n          p === u[0] ? w(u[m]) : (u.forEach((y, x) => {\n            y === p && (h = x);\n          }), w(u[h - 1]));\n        }, d = (p) => {\n          let h = 0;\n          const u = this.renderRoot.querySelectorAll(`.dss-timepicker-manual-item__label.${t}`), m = u.length - 1;\n          p === u[m] ? w(u[0]) : (u.forEach((y, x) => {\n            y === p && (h = x);\n          }), w(u[h + 1]));\n        };\n        switch (S.key) {\n          case \"ArrowUp\":\n            T(v), k = !0;\n            break;\n          case \"ArrowDown\":\n            d(v), k = !0;\n            break;\n          case \"Enter\": {\n            const p = f.target.parentElement, h = p == null ? void 0 : p.querySelector(\"input\"), u = this.renderRoot.querySelector(\n              `.dss-timepicker-manual-item__label[tabindex=\"0\"].${t}`\n            );\n            if (u == null || u.setAttribute(\"tabindex\", \"-1\"), f.target.setAttribute(\"tabindex\", \"0\"), h == null || h.click(), t === \"timepickerManualHour\") {\n              const m = this.renderRoot.querySelector(\n                '.dss-timepicker-manual-item__label[tabindex=\"0\"].timepickerManualMinutes'\n              );\n              w(m);\n            } else if (t === \"timepickerManualMinutes\") {\n              const m = this.renderRoot.querySelector(\".dss-timepicker-dropdown__actions-select\");\n              setTimeout(() => {\n                m.focus();\n              }, 0);\n            }\n            k = !0;\n            break;\n          }\n        }\n        k && (f.stopPropagation(), f.preventDefault());\n      }, _ = D`\n\t\t\t\t<div class=\"dss-timepicker-manual-item\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"${t + a}\"\n\t\t\t\t\t\tclass=\"dss-timepicker-manual-item__input-radio\"\n\t\t\t\t\t\tname=\"${t}\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t@click=\"${c}\"\n\t\t\t\t\t\t.value=\"${a}\"\n\t\t\t\t\t/>\n\t\t\t\t\t<label\n\t\t\t\t\t\tfor=\"${t + a}\"\n\t\t\t\t\t\tclass=\"dss-timepicker-manual-item__label ${t}\"\n\t\t\t\t\t\ttabindex=\"${n ? 0 : -1}\"\n\t\t\t\t\t\t@keydown=${l}\n\t\t\t\t\t>\n\t\t\t\t\t\t${a}\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t`;\n      return n = !1, _;\n    });\n  }\n  _checkDisableTimeManualSelector() {\n    return this._manualHourSelector === \"\" || this._manualMinuteSelector === \"\";\n  }\n  _timeManualSelectorCancel() {\n    const t = this.renderRoot.querySelectorAll(\".dss-timepicker-manual-item__input-radio:checked\");\n    t.length && t.forEach((e) => {\n      e.checked = !1;\n    }), this._manualHourSelector = \"\", this._manualMinuteSelector = \"\", this._handleValidity(), this._closeDropdown();\n  }\n  _timeManualSelectorAccept() {\n    this._input && (this._input.value = `${this._manualHourSelector}:${this._manualMinuteSelector}`, this._helpText = this._oldHelpText, this.invalid = !1, this._handleValidity(), this._closeDropdown(), this._dispatchValueChange());\n  }\n  _timeListOptionsScrollTo() {\n    if (this._input) {\n      const t = this._input.value.trim(), e = this.renderRoot.querySelectorAll(\".dss-timepicker-dropdown__input-radio\");\n      let n = !1;\n      e.forEach((s) => {\n        const a = s.value;\n        if (!n && a.startsWith(t)) {\n          const c = s.closest(\"label\");\n          if (n = !0, c) {\n            setTimeout(() => {\n              c.scrollIntoView({\n                behavior: \"smooth\",\n                block: \"center\",\n                inline: \"nearest\"\n              });\n            }, 0);\n            const l = s.closest(\".dss-timepicker-dropdown__option\");\n            a === t ? (s.checked = !0, l == null || l.classList.add(\"dss-timepicker-dropdown__option--selected\")) : l == null || l.classList.remove(\"dss-timepicker-dropdown__option--selected\");\n          }\n        }\n      });\n    }\n  }\n  _timeManualOptionsScrollTo(t) {\n    if (!this._input) return;\n    const e = t ? t.trim() : this._input.value.trim();\n    if (e.length <= 2) {\n      const n = this.renderRoot.querySelectorAll(\n        \".dss-timepicker-dropdown__items--hour .dss-timepicker-manual-item__label\"\n      );\n      let s = !1;\n      n.forEach((a) => {\n        const c = a.innerHTML.replace(/<!--[\\s\\S]*?-->/g, \"\").trim();\n        if (!s && c.startsWith(e)) {\n          s = !0;\n          const l = this.renderRoot.querySelector(\".dss-timepicker-dropdown__items--hour\");\n          if (l) {\n            const _ = a.offsetTop - l.clientHeight / 2;\n            setTimeout(() => {\n              l.scrollTo({\n                top: _,\n                behavior: \"smooth\"\n              });\n            }, 0);\n          }\n          c === e && a.click();\n        }\n      });\n    } else {\n      const n = e.slice(3), s = this.renderRoot.querySelectorAll(\n        \".dss-timepicker-dropdown__items--minute .dss-timepicker-manual-item__label\"\n      );\n      let a = !1;\n      s.forEach((c) => {\n        const l = c.innerHTML.replace(/<!--[\\s\\S]*?-->/g, \"\").trim();\n        if (!a && l.startsWith(n)) {\n          a = !0;\n          const _ = this.renderRoot.querySelector(\".dss-timepicker-dropdown__items--minute\");\n          if (_) {\n            const f = c.offsetTop - _.clientHeight / 2;\n            setTimeout(() => {\n              _.scrollTo({\n                top: f,\n                behavior: \"smooth\"\n              });\n            }, 0);\n          }\n          l === n && c.click();\n        }\n      });\n    }\n  }\n};\nL.formAssociated = !0;\nlet i = L;\no([\n  F(\"input.dss-input\")\n], i.prototype, \"_input\");\no([\n  F(\"label.dss-label\")\n], i.prototype, \"_label\");\no([\n  r({ type: String })\n], i.prototype, \"label\");\no([\n  r(b)\n], i.prototype, \"hideLabel\");\no([\n  r({ type: String })\n], i.prototype, \"name\");\no([\n  r({ type: String })\n], i.prototype, \"id\");\no([\n  r({ type: String })\n], i.prototype, \"type\");\no([\n  r({ type: String })\n], i.prototype, \"placeholder\");\no([\n  r({ type: String })\n], i.prototype, \"value\");\no([\n  r({ converter: g, reflect: !0 })\n], i.prototype, \"disabled\");\no([\n  r({ converter: g, reflect: !0 })\n], i.prototype, \"readonly\");\no([\n  r({ converter: g, reflect: !0 })\n], i.prototype, \"required\");\no([\n  r({ converter: g, reflect: !0 })\n], i.prototype, \"invalid\");\no([\n  r({ type: Number })\n], i.prototype, \"step\");\no([\n  r({ type: Number })\n], i.prototype, \"min\");\no([\n  r({ type: Number })\n], i.prototype, \"max\");\no([\n  r({ type: Number })\n], i.prototype, \"minLength\");\no([\n  r({ type: Number })\n], i.prototype, \"maxLength\");\no([\n  r({ type: String })\n], i.prototype, \"pattern\");\no([\n  r({ type: String })\n], i.prototype, \"inputmode\");\no([\n  r({ type: String })\n], i.prototype, \"autocapitalize\");\no([\n  r({ type: String })\n], i.prototype, \"autocomplete\");\no([\n  r(b)\n], i.prototype, \"autocorrect\");\no([\n  r(b)\n], i.prototype, \"autofocus\");\no([\n  r(b)\n], i.prototype, \"spellcheck\");\no([\n  r({ type: String })\n], i.prototype, \"size\");\no([\n  r({ type: String })\n], i.prototype, \"icon\");\no([\n  r({ type: String })\n], i.prototype, \"helpText\");\no([\n  r(b)\n], i.prototype, \"showDropdown\");\no([\n  r({ type: String })\n], i.prototype, \"dropdown\");\no([\n  r({ type: String })\n], i.prototype, \"dropdownPlacement\");\no([\n  r(b)\n], i.prototype, \"dropdownFixed\");\no([\n  r({ type: Array })\n], i.prototype, \"customTimeListOptions\");\no([\n  r({ type: String })\n], i.prototype, \"errorTimeFormatText\");\no([\n  r({ type: String })\n], i.prototype, \"errorTimeOptionText\");\no([\n  r({ type: Number })\n], i.prototype, \"minHour\");\no([\n  r({ type: Number })\n], i.prototype, \"maxHour\");\no([\n  r({ type: Number })\n], i.prototype, \"minutesRange\");\no([\n  r(b)\n], i.prototype, \"tooltipFixed\");\no([\n  r(b)\n], i.prototype, \"forceViewport\");\no([\n  M()\n], i.prototype, \"_isFocused\");\no([\n  M()\n], i.prototype, \"_isTruncated\");\no([\n  M()\n], i.prototype, \"_labelClicked\");\nexport {\n  i as FormTimepicker\n};\n//# sourceMappingURL=form-timepicker.js.map\n","const o = ':host{display:inline-block;width:-moz-fit-content;width:fit-content}.dss-toggle{display:flex;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;gap:var(--dss-spacing-xs);align-items:flex-start;position:relative;transition:.3s all ease-in}.dss-toggle--hide-label{gap:0}.dss-toggle--sm .dss-toggle__slider{width:26px;min-width:26px;height:16px;margin-top:4px}.dss-toggle--md .dss-toggle__slider{width:39px;min-width:39px;height:24px}.dss-toggle--lg .dss-toggle__slider{width:52px;min-width:52px;height:32px;margin-top:-4px}.dss-toggle-input{display:none}.dss-toggle .dss-toggle__slider{position:relative;cursor:pointer;background-color:var(--color-neutral-500);border-radius:100px;transition:.3s all ease-in}.dss-toggle .dss-toggle__slider:focus-visible{outline:4px solid var(--color-blue-200)}.dss-toggle .dss-toggle__slider:before{position:absolute;content:\"\";display:flex;justify-content:center;align-items:center;background-color:#fff;border-radius:100%;box-shadow:var(--dss-elevation-sm);transition:.3s all ease-in}.dss-toggle__slider:hover{background-color:var(--color-neutral-600)}.dss-toggle__slider:active{background-color:var(--color-neutral-500);transition:none}.dss-toggle--checked .dss-toggle__slider{background-color:var(--color-primary-500)}.dss-toggle--checked .dss-toggle__slider:hover{background-color:var(--color-primary-600)}.dss-toggle--checked .dss-toggle__slider:active{background-color:var(--color-primary-400);transition:none}.dss-toggle__slider:active:before{color:var(--color-neutral-500);transition:none}.dss-toggle--checked .dss-toggle__slider:active:before{color:var(--color-primary-400);transition:none}.dss-toggle--disabled .dss-toggle__slider{cursor:not-allowed;background-color:var(--color-neutral-200)}.dss-toggle--disabled .dss-toggle__slider:before{color:var(--color-neutral-500)}.dss-toggle--disabled:not(.dss-toggle--checked) .dss-toggle__slider:before{background-color:var(--color-neutral-400);color:var(--color-neutral-100)}.dss-toggle--disabled.dss-toggle--checked .dss-toggle__slider{background-color:var(--color-neutral-200)}.dss-toggle--disabled.dss-toggle--checked .dss-toggle__slider:before{background-color:var(--color-neutral-400);color:var(--color-neutral-900)}.dss-toggle--lg.dss-toggle--disabled.dss-toggle--checked .dss-toggle__slider:before{background-color:var(--color-neutral-100)}.dss-toggle--lg .dss-toggle__slider:before{font-family:var(--icon-font);content:\"close\";color:var(--color-neutral-500);font-size:16px;height:24px;width:24px;left:4px;bottom:4px}.dss-toggle--md .dss-toggle__slider:before{height:18px;width:18px;left:3px;bottom:3px}.dss-toggle--sm .dss-toggle__slider:before{height:12px;width:12px;left:2px;bottom:2px}.dss-toggle--lg.dss-toggle--checked .dss-toggle__slider:before{transform:translate(20px);content:\"done\";color:var(--color-primary-500)}.dss-toggle--md.dss-toggle--checked .dss-toggle__slider:before{transform:translate(15px)}.dss-toggle--sm.dss-toggle--checked .dss-toggle__slider:before{transform:translate(10px)}.dss-toggle-label{font-family:var(--font-family);font-style:normal;font-weight:400;font-size:14px;line-height:24px;color:var(--color-neutral-900);cursor:pointer}.dss-toggle--lg .dss-toggle-label{font-weight:600;font-size:16px}.dss-toggle-label--disabled{color:var(--color-neutral-500);cursor:not-allowed}';\nexport {\n  o as default\n};\n//# sourceMappingURL=form-toggle.style.css.js.map\n","import { nothing as d, html as s } from \"lit\";\nimport { classMap as e } from \"lit/directives/class-map.js\";\nconst g = (l) => s`\n  <div class=\"${e({\n  \"dss-toggle\": !0,\n  \"dss-toggle--sm\": l.size === \"sm\",\n  \"dss-toggle--md\": l.size === \"md\",\n  \"dss-toggle--lg\": l.size === \"lg\",\n  \"dss-toggle--checked\": l.checked,\n  \"dss-toggle--disabled\": l.disabled,\n  \"dss-toggle--hide-label\": l.hideLabel\n})}\">\n    <div\n      class=\"dss-toggle__slider\"\n      tabindex=\"${l.disabled ? -1 : 0}\"\n      @keydown=\"${l._handleKeydown}\"\n      @click=\"${l._handleClick}\"\n    ></div>\n    <input\n      class=\"dss-toggle-input\"\n      type=\"checkbox\"\n      .name=\"${l.name ?? d}\"\n      id=\"${l._getEffectiveId()}\"\n      .value=\"${l.value ? l.value : null}\"\n      ?disabled=\"${l.disabled}\"\n      ?readonly=\"${l.readonly}\"\n      ?required=\"${l.required}\"\n      .checked=\"${l.checked}\"\n      tabIndex=\"-1\"\n      aria-label=\"${l.hideLabel ? l.label : d}\"\n      @change=${l._handleChange}\n    />\n    <label \n      class=\"${e({\n  \"dss-toggle-label\": !0,\n  \"dss-toggle-label--disabled\": l.disabled\n})}\"\n      for=\"${l._getEffectiveId()}\" \n      aria-hidden=\"${l.hideLabel}\"  \n      @click=\"${l._handleClick}\"\n    >\n      ${l.hideLabel ? d : l.label}\n    </label>\n  </div>\n`;\nexport {\n  g as template\n};\n//# sourceMappingURL=form-toggle.template.js.map\n","import { LitElement as p, unsafeCSS as d } from \"lit\";\nimport { query as c, property as s, state as f } from \"lit/decorators.js\";\nimport y from \"../../shared/reset.style.css.js\";\nimport { booleanType as v, booleanConverter as l } from \"../../utils/property-types.js\";\nimport m from \"./form-toggle.style.css.js\";\nimport { template as b } from \"./form-toggle.template.js\";\nvar k = Object.defineProperty, i = (n, e, o, _) => {\n  for (var a = void 0, r = n.length - 1, u; r >= 0; r--)\n    (u = n[r]) && (a = u(e, o, a) || a);\n  return a && k(e, o, a), a;\n};\nconst h = class h extends p {\n  constructor() {\n    super(), this.size = \"md\", this.label = \"\", this.hideLabel = !1, this.name = \"\", this.id = \"\", this.value = !1, this.disabled = !1, this.readonly = !1, this.required = !1, this.checked = !1, this.tabIndex = 0, this._defaultId = `dss-toggle-${crypto.randomUUID()}`, this.defaultValue = this.value, this.internals = this.attachInternals();\n  }\n  static get styles() {\n    return [d(y), d(m)];\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  updated(e) {\n    e.has(\"value\") && typeof this.value == \"string\" && ((this.value === \"\" || this.value === \"false\") && (this._input.checked = !1), this.internals.setFormValue(this._input.checked ? this.value : null)), e.has(\"checked\") && typeof this.value == \"boolean\" && this.internals.setFormValue(this._input.checked ? \"on\" : null);\n  }\n  formDisabledCallback(e) {\n    this.disabled = e;\n  }\n  formResetCallback() {\n    const e = typeof this.defaultValue == \"boolean\";\n    this.value = e ? !1 : this.defaultValue, this._input.checked = !1, this.checked = !1;\n  }\n  formStateRestoreCallback(e) {\n    this.value = e ?? \"\";\n  }\n  focusInput() {\n    var e;\n    (e = this._input) == null || e.focus();\n  }\n  async firstUpdated() {\n    await this.updateComplete, this.defaultValue = this.value, (this.checked || this.value === !0 || this.value === \"true\") && (this.checked = !0, this._input.checked = !0, this.internals.setFormValue(this._input.checked ? typeof this.value == \"string\" ? this.value : \"on\" : null));\n  }\n  render() {\n    return b(this);\n  }\n  _handleClick() {\n    !this.disabled && !this.readonly && this._input && (this.checked = !this.checked, this._handleChange());\n  }\n  _handleKeydown(e) {\n    (e.key === \"Enter\" || e.key === \" \") && this._handleClick();\n  }\n  _handleChange() {\n    typeof this.value == \"boolean\" && (this.value = this.checked), this.internals.setFormValue(this.checked ? typeof this.value == \"string\" ? this.value : \"on\" : null), this._emitChange();\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n};\nh.formAssociated = !0;\nlet t = h;\ni([\n  c(\"input.dss-toggle-input\")\n], t.prototype, \"_input\");\ni([\n  s({ type: String })\n], t.prototype, \"size\");\ni([\n  s({ type: String })\n], t.prototype, \"label\");\ni([\n  s(v)\n], t.prototype, \"hideLabel\");\ni([\n  s({ type: String })\n], t.prototype, \"name\");\ni([\n  s({ type: String })\n], t.prototype, \"id\");\ni([\n  s({ type: String })\n], t.prototype, \"value\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"disabled\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"readonly\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"required\");\ni([\n  s({ converter: l, reflect: !0 })\n], t.prototype, \"checked\");\ni([\n  s({ type: Number })\n], t.prototype, \"tabIndex\");\ni([\n  f()\n], t.prototype, \"defaultValue\");\nexport {\n  t as FormToggle\n};\n//# sourceMappingURL=form-toggle.js.map\n","const s = ':host{width:100%}.dss-search{position:relative}.dss-search-bar{position:relative;display:grid;grid-template-columns:30px 1fr;min-height:48px;height:auto;width:100%;box-sizing:border-box;padding:var(--dss-spacing-sm);background-color:var(--color-white);border-radius:var(--dss-radius-sm);box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-neutral-100);font-size:14px;font-family:inherit}.dss-search-bar--md{min-height:40px;padding-top:0;padding-bottom:0}.dss-search-bar--has-value{padding-right:calc((var(--dss-spacing-sm) * 2) + var(--icon-size-md))}.dss-search-bar--focused:not(.dss-search-bar--read-only){padding-right:calc((var(--dss-spacing-sm) * 2) + var(--icon-size-md));box-shadow:none;outline:var(--dss-border-width-lg) solid var(--color-blue-200)}.dss-search-bar--focused.dss-search-bar--inner-focus{border-color:transparent;outline:0;box-shadow:inset 0 0 0 var(--dss-border-width-lg) var(--color-blue-200)}.dss-search-bar--read-only{border-top:0;border-left:0;border-right:0;border-radius:0;box-shadow:none;border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-100)}.dss-search-bar--focused.dss-search-bar--read-only:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:var(--dss-border-width-lg);background-color:var(--color-blue-200)}.dss-search-bar--invalid:not(.dss-search-bar--read-only){background-color:var(--color-red-50);box-shadow:inset 0 0 0 var(--dss-border-width-sm) var(--color-red-500)}.dss-search-bar--invalid.dss-search-bar--read-only{border-bottom-color:var(--color-red-500)}.dss-search-bar--disabled{cursor:not-allowed;background-color:var(--color-neutral-50);color:var(--color-neutral-500)}.dss-search-bar__icon{color:var(--color-neutral-700);box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center}.dss-search-bar--default .dss-search-bar__container{display:block}.dss-search-bar--md.dss-search-bar--default .dss-search-bar__container input.dss-input{min-height:40px}.dss-search-bar--multiple .dss-search-bar__container{display:grid;grid-template-columns:auto minmax(min-content,1fr);gap:var(--dss-spacing-xs)}.dss-search-bar--multiple .dss-search-bar__chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dss-spacing-xs)}.dss-search-bar__chips .dss-chip{display:inline-flex}.dss-search-bar__input{min-width:0}label.dss-label{display:none;visibility:hidden;width:0}input.dss-input{height:100%;width:100%;min-width:48px;margin:0;border:0;border-radius:0;color:var(--color-neutral-900);box-sizing:border-box;background-color:transparent;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}input.dss-input:focus-visible{outline:0}input.dss-input:disabled{cursor:not-allowed}.dss-search-bar__clear{display:none;position:absolute;top:0;right:var(--dss-spacing-sm);height:100%;justify-content:center;align-items:center;box-sizing:border-box}.dss-search-bar--has-value:not(.dss-search-bar--disabled):not(.dss-search-bar--read-only) .dss-search-bar__clear{display:flex}.dss-search-help{display:flex;justify-content:space-between;font-family:var(--font-family);font-size:12px;color:var(--color-neutral-700);padding:var(--dss-spacing-xxs) var(--dss-spacing-sm)}.dss-search-bar--invalid+.dss-search-help{color:var(--color-red-500)}.dss-search-dropdown{margin-top:8px;position:absolute;top:52px;left:0;background-color:var(--color-white);width:100%;border-radius:var(--dss-radius-sm);box-shadow:var(--dss-elevation-md);z-index:800;overflow:hidden}.dss-search-catalog--empty{height:150px;max-width:100%;padding:var(--dss-spacing-xs) var(--dss-spacing-sm);display:flex;justify-content:center;align-items:center;gap:var(--dss-spacing-xs);color:var(--color-blue-800);overflow-y:auto}.dss-search-catalog--empty .text{font-size:14px}.dss-catalog-item{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;padding:var(--dss-spacing-sm) var(--dss-spacing-md);gap:var(--dss-spacing-xs);cursor:pointer}.dss-catalog-item:hover{background-color:var(--color-neutral-50)}.dss-catalog-item--selected{background-color:var(--color-primary-50)}.dss-catalog-item:focus-visible{border:var(--dss-border-width-lg) solid var(--color-blue-200);outline:0}.dss-search-title{padding:var(--dss-spacing-sm) var(--dss-spacing-md) 0;font-weight:var(--font-semibold);font-size:14px;color:var(--color-black)}.dss-catalog-item__icon{color:var(--color-neutral-900)}.dss-catalog-item__text{color:var(--color-neutral-900);font-size:16px}.dss-search-bar:not(.dss-search-bar--show-chips) .dss-search-bar__chips dss-chip.dss-chip--hide{display:none}.dss-search-bar__chips .dss-chip__counter{cursor:pointer;position:relative;box-sizing:border-box;font-weight:var(--font-semibold);border-radius:var(--dss-radius-xl);border:var(--dss-border-width-sm) solid var(--color-primary-700);box-shadow:none;background-color:var(--color-primary-100);transition:.3s all ease-in;height:24px;font-size:12px;padding:var(--dss-spacing-xxs) var(--dss-spacing-xs);line-height:var(--line-16)}.dss-search-bar__chips .dss-chip__counter:hover{background-color:var(--color-primary-50)}.dss-chip__tooltip{display:none}.dss-chip__tooltip-item{margin-right:var(--dss-spacing-xxs)}.dss-chip__tooltip-item:not(:last-child):after{content:\",\"}.dss-search-bar__chips .dss-chip__counter:hover .dss-chip__tooltip{display:block}.dss-input-tooltip{display:none}.dss-input-tooltip--visible{display:block}';\nexport {\n  s as default\n};\n//# sourceMappingURL=searchbar.style.css.js.map\n","import { nothing as e } from \"lit\";\nimport { classMap as l } from \"lit/directives/class-map.js\";\nimport { ifDefined as i } from \"lit/directives/if-defined.js\";\nimport { unsafeStatic as t, literal as h, html as a } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as u } from \"../../api/custom-element-scope.js\";\nconst d = h`dss-icon${t(u())}`, b = h`dss-spinner${t(u())}`, r = h`dss-tooltip${t(u())}`, f = h`dss-icon-button${t(u())}`, z = (s) => {\n  var $, v, _, g;\n  const y = {\n    \"dss-search-bar--invalid\": s.invalid || !s._inputValidity,\n    \"dss-search-bar--disabled\": s.disabled,\n    \"dss-search-bar--required\": s.required,\n    \"dss-search-bar--read-only\": s.readonly,\n    \"dss-search-bar--focused\": s._isFocused,\n    \"dss-search-bar--default\": !s.multiple,\n    \"dss-search-bar--multiple\": s.multiple,\n    \"dss-search-bar--show-chips\": s._showAllChips,\n    \"dss-search-bar--md\": s.size === \"md\",\n    \"dss-search-bar--inner-focus\": s.innerFocus,\n    \"dss-search-bar--has-value\": s._showClearButton || (($ = s._input) == null ? void 0 : $.value) || s.searchTerms.length > 0\n  }, w = {}, c = {};\n  return a`\n    <div class=\"dss-search\">\n        <div\n          class=\"dss-search-bar ${l(y)}\"\n          role=\"combobox\"\n          aria-controls=\"search-catalog\"\n          aria-expanded=${i(s._showDropdown)}\n        >\n          <div class=\"dss-search-bar__icon\">\n            <${d} size=\"md\" icon=\"${s.icon}\"  @click=${s._focusInput}></${d}>\n          </div>\n\n          <div class=\"dss-search-bar__container\">\n            ${s.multiple ? a`\n                  <div class=\"dss-search-bar__chips\">\n                    ${a`${s._generateSearchChips()}`}\n                    ${!s._showAllChips && s.searchTerms.length > 5 ? a`\n                          <div class=\"dss-chip__counter\">\n                            +${s.searchTerms.length - 5}\n                            <${r}\n                              class=\"dss-chip__tooltip\"\n                              position=\"bottom\"\n                              align=\"left\"\n                              noHeightLimit\n                            >\n                              ${s.searchTerms.slice(5, s.searchTerms.length).map(\n    (C) => a`<span class=\"dss-chip__tooltip-item\">\n                                        ${C}\n                                      </span>`\n  )}\n                            </${r}>\n                          </div>\n                        ` : null}\n                  </div>\n                ` : null}\n\n            <div \n              class=\"dss-search-bar__input\"\n              data-truncated=\"${s._isTruncated}\"\n              @mouseover=${s._handleMouseOver}\n            >\n              <label \n                class=\"dss-label\" \n                for=\"${s._getEffectiveId()}\" \n              >\n                ${s.label}\n              </label>\n              <input\n                class=\"dss-input\"\n                id=${s._getEffectiveId()}\n                .type=\"text\"\n                .name=\"${s.name ?? e}\"\n                .placeholder=${s.placeholder}\n                .value=${s.multiple ? \"\" : s.value}\n                ?disabled=${s.disabled}\n                ?readonly=${s.readonly}\n                ?required=${s.required}\n                ?autofocus=${s.autofocus}\n                spellcheck=${s.spellcheck ? \"true\" : \"false\"}\n                autocorrect=${s.autocorrect ? \"on\" : \"off\"}\n                autocomplete=${s.autocomplete}\n                autocapitalize=${s.autocapitalize}\n                pattern=${s.pattern ?? e}\n                inputmode=${s.inputmode ?? e}\n                @input=${s._handleInput}\n                @change=${s._handleChange}\n                @keydown=${s._handleKeyDown}\n                @focusin=${s._handleFocusIn}\n                @focusout=${s._handleFocusOut}\n              />\n\n              <${r} \n                class=\"${l({\n    \"dss-input-tooltip\": !0,\n    \"dss-input-tooltip--visible\": s._isTruncated && !s._isFocused\n  })}\"\n                ?tooltipFixed=${s.tooltipFixed}\n                ?forceViewport=${s.forceViewport}\n                aria-hidden=\"true\"\n              >${(v = s._input) == null ? void 0 : v.value}</${r}>\n            </div>\n          </div>\n\n          <div class=\"dss-search-bar__clear\">\n            <${f} \n              hideTooltip\n              icon=\"cancel\"\n              variant=\"primary\"\n              size=\"md\"\n              @click=${s._clearSearch}\n              label=\"Esborra la cerca\"\n            >\n            </${f}>\n          </div>\n        </div>\n\n        ${s.helpText ? a`\n              <div class=\"dss-search-help ${l(w)}\">\n                <span>${s.helpText}</span>\n              </div>\n            ` : null}\n\n        ${s._showDropdown && s.isCatalogLoading && ((_ = s.catalog) == null ? void 0 : _.length) === 0 && s._input.value.length >= s.threshold ? a`\n              <div\n                id=\"search-catalog\"\n                class=\"dss-search-dropdown ${l(c)}\"\n                style=${i(s._dropdownStyle)}\n              >\n                <div class=\"dss-search-catalog--empty\">\n                  <${b} size=\"md\"/>\n                </div>\n              </div>\n            ` : e}\n\n        ${s._showDropdown && ((g = s.catalog) == null ? void 0 : g.length) > 0 && s._input.value.length >= s.threshold ? a`\n              <div\n                id=\"search-catalog\"\n                class=\"dss-search-dropdown ${l(c)}\"\n                style=${i(s._dropdownStyle)}\n              >\n                ${s.isCatalogLoading ? a`\n                      <div class=\"dss-search-catalog--empty\">\n\t\t\t\t\t\t\t\t\t\t\t  <${b} size=\"md\"/>\n                      </div>\n                    ` : a`\n                      ${s._filteredCatalog.length > 0 ? a`\n                            ${s.recentSearches ? a`\n                                  <div class=\"dss-search-title\">\n                                    ${s.recentSearchesLabel}\n                                  </div>\n                                ` : null}\n                            <div \n                              class=\"dss-search-catalog\" \n                              role=\"listbox\" \n                              aria-label=\"Search Catalog\"\n                              style=${i(s.catalogStyle)}\n                            >\n                              ${a`${s._generateFilterCatalog()}`}\n                            </div>\n                          ` : a`\n                            <div\n                              class=\"dss-search-catalog dss-search-catalog--empty\"\n                              style=${i(s.catalogStyle)}\n                            >\n                              <${d} size=\"sm\" icon=\"info\"></${d}>\n                              <span class=\"text\">\n                                ${s.emptyDropdownText}: ${s._input.value}\n                              </span>\n                            </div>\n                          `}\n                    `}\n              </div>\n            ` : null}\n      </div>\n  `;\n};\nexport {\n  z as template\n};\n//# sourceMappingURL=searchbar.template.js.map\n","import { LitElement as O, unsafeCSS as x } from \"lit\";\nimport { query as L, property as i, state as _ } from \"lit/decorators.js\";\nimport { classMap as k } from \"lit/directives/class-map.js\";\nimport { unsafeHTML as D } from \"lit/directives/unsafe-html.js\";\nimport { unsafeStatic as E, literal as A, html as b } from \"lit/static-html.js\";\nimport { getCustomElementSuffix as V } from \"../../api/custom-element-scope.js\";\nimport { highlightTextMultiple as R, highlightText as q } from \"../../api/marker/marker.js\";\nimport z from \"../../api/marker/marker.style.css.js\";\nimport { normalizeText as g } from \"../../utils/helpers.js\";\nimport { booleanType as f, booleanConverter as v } from \"../../utils/property-types.js\";\nimport B from \"./searchbar.style.css.js\";\nimport { template as M } from \"./searchbar.template.js\";\nvar U = Object.defineProperty, s = (F, t, o, r) => {\n  for (var a = void 0, p = F.length - 1, d; p >= 0; p--)\n    (d = F[p]) && (a = d(t, o, a) || a);\n  return a && U(t, o, a), a;\n};\nconst I = A`dss-icon${E(V())}`, $ = A`dss-chip${E(V())}`, T = class T extends O {\n  constructor() {\n    super(), this.value = \"\", this.multiple = !1, this.icon = \"search\", this.size = \"lg\", this.helpText = void 0, this.innerFocus = !1, this.threshold = 3, this.searchTerms = [], this.searchItems = [], this.catalog = [], this.emptyDropdownText = \"Sense resultats per\", this.recentSearchesLabel = \"Últimes cerques\", this.recentSearches = !1, this.isCatalogLoading = !1, this.dropdownStyle = \"\", this.catalogStyle = \"\", this.advancedFilter = !1, this.placeholder = \"Escriu per cercar\", this._filter = \"\", this._isFocused = !1, this._showClearButton = !1, this._filteredCatalog = [], this._showAllChips = !1, this._showDropdown = !1, this._dropdownStyle = \"\", this.id = \"\", this.name = \"\", this.label = \"Cercador\", this.disabled = !1, this.readonly = !1, this.required = !1, this.invalid = !1, this.autocapitalize = \"none\", this.autocomplete = \"off\", this.autocorrect = !1, this.autofocus = !1, this.spellcheck = !1, this._defaultId = `dss-input-${crypto.randomUUID()}`, this.tooltipFixed = !1, this.forceViewport = !1, this._isTruncated = !1, this._isCatalogLoaded = !1, this._lastValue = null, this.internals = this.attachInternals();\n  }\n  static get styles() {\n    return [x(z), x(B)];\n  }\n  formDisabledCallback(t) {\n    this.disabled = t;\n  }\n  formResetCallback() {\n    this.value = \"\", this._input.value = \"\";\n  }\n  formStateRestoreCallback(t) {\n    this.value = t ?? \"\", this._input.value = t ?? \"\";\n  }\n  updated(t) {\n    t.has(\"value\") && (this.internals.setFormValue(this.value), this.requestUpdate()), t.has(\"catalog\") && queueMicrotask(() => {\n      if (!this._isCatalogLoaded) {\n        this._isCatalogLoaded = !0;\n        return;\n      }\n      this._filter.length >= this.threshold && (this._filteredCatalog = this._getFilterCatalog(this._filter));\n    });\n  }\n  _getEffectiveId() {\n    return this.id !== \"\" ? this.id : this._defaultId;\n  }\n  _getSearchStyle() {\n    return `top: ${this.renderRoot.querySelectorAll(\".dss-search-bar\")[0].offsetHeight + 4}px; ${this.dropdownStyle}`;\n  }\n  get _inputValidity() {\n    var t;\n    return this._input && this._input.value !== \"\" ? (t = this._input) == null ? void 0 : t.checkValidity() : !0;\n  }\n  _handleInput() {\n    this.multiple || this._handleValidity(), this.value = this._input.value, this._filter = this._input.value;\n    const t = this._input.value;\n    if (t.length >= this.threshold) {\n      if (this._showDropdown = !0, this._filteredCatalog = this._getFilterCatalog(t), this.multiple && t.endsWith(\",\")) {\n        const r = t.slice(0, -1);\n        this.searchTerms.push(r), this._input.value = \"\", this.searchTerms.length && this._dispatchSearchChange();\n      }\n      this._dropdownStyle = this._getSearchStyle();\n    } else\n      this._hideDropdown();\n    this._emitInput();\n  }\n  _handleFocusIn() {\n    this._isFocused = !0, this._showClearButton = !0;\n  }\n  _handleFocusOut() {\n    this._isFocused = !1, this._showClearButton = !1, this._lastValue !== this._input.value && (this._checkInputOverflow(), this._lastValue = this._input.value);\n  }\n  _handleKeyDown(t) {\n    (t == null ? void 0 : t.key) === \"Enter\" ? (this._showDropdown = !0, !this.multiple && this._input.value !== \"\" && (this.searchTerms = [], this.searchTerms.push(this._input.value), this._dispatchSearchChange(), this._showDropdown = !1), this._dropdownStyle = this._getSearchStyle()) : (t == null ? void 0 : t.key) === \"Escape\" && (this._showDropdown = !1);\n  }\n  _focusInput() {\n    var t;\n    (t = this._input) == null || t.focus();\n  }\n  _handleValidity() {\n    var o;\n    const t = (o = this._input) == null ? void 0 : o.checkValidity();\n    this.invalid = !t, this.internals.setValidity(this._input.validity, this._input.validationMessage, this._input);\n  }\n  _clearSearch() {\n    this._input && (this._input.value = \"\", this._input.focus(), this._lastValue !== this._input.value && (this._checkInputOverflow(), this._lastValue = this._input.value)), this.searchTerms = [], this.searchItems = [], this._dispatchSearchChange(), this._hideDropdown();\n  }\n  _hideDropdown() {\n    this._showDropdown = !1, this._filteredCatalog = [];\n  }\n  _getFilterCatalog(t) {\n    return this.advancedFilter ? this._applyAdvancedFilter(t) : this._applyDefaultFilter(t);\n  }\n  _applyDefaultFilter(t) {\n    const o = g(t);\n    return this.catalog.filter((r) => g(r.value).includes(o));\n  }\n  _applyAdvancedFilter(t) {\n    if (!g(t.trim())) return this.catalog;\n    const r = g(t).split(/\\s+/).filter((a) => a.length >= this.threshold);\n    return r.length === 0 ? this.catalog : this.catalog.filter((a) => {\n      const p = g(a.value);\n      return r.every((d) => p.includes(d));\n    });\n  }\n  _generateSearchChips() {\n    let t = 0;\n    return this.searchTerms.map((r) => {\n      var m;\n      const a = (w) => {\n        const S = w.detail.text;\n        this.searchTerms = this.searchTerms.filter((C) => C !== S), this._dispatchSearchChange();\n      };\n      t += 1;\n      const p = {\n        disabled: this.disabled || this.readonly,\n        \"dss-chip--selected\": !this.disabled && !this.readonly,\n        \"dss-chip--hide\": t > 5\n      };\n      return b`\n\t\t\t\t<${$}\n \t\t\t\t\tclass=\"${k(p)}\"\n\t\t\t\t\tsize=\"sm\" \n\t\t\t\t\tlabel=\"${r}\" \n\t\t\t\t\tselected \n\t\t\t\t\tdisableSelect\n\t\t\t\t\thasdelete \n\t\t\t\t\t?disabled=${(m = this._input) == null ? void 0 : m.disabled}\n\t\t\t\t\t@onDelete=\"${a}\">\n\t\t\t\t</${$}>\n      `;\n    });\n  }\n  _generateFilterCatalog() {\n    let t = !0;\n    return this._filteredCatalog.map((r) => {\n      const a = (l) => {\n        const c = l.target, h = c == null ? void 0 : c.closest(\"[value]\"), n = h == null ? void 0 : h.getAttribute(\"value\");\n        n && (this.multiple ? this.searchTerms.includes(n) ? (this.searchTerms = this.searchTerms.filter((u) => u !== n), r.data && (this.searchItems = this.searchItems.filter((u) => u !== r.data))) : (this.searchTerms.push(n), r.data && this.searchItems.push(r.data)) : (this._input.value = n, this._showDropdown = !1, this.searchTerms = [], this.searchTerms.push(n), r.data && (this.searchItems = [], this.searchItems.push(r.data))), this._dispatchSearchChange(r));\n      }, p = (l) => {\n        l && l.focus();\n      }, d = (l) => {\n        let c = 0;\n        const h = this.renderRoot.querySelectorAll(\".dss-catalog-item\"), n = h.length - 1;\n        l === h[0] ? p(h[n]) : (h.forEach((y, u) => {\n          y === l && (c = u);\n        }), p(h[c - 1]));\n      }, m = (l) => {\n        let c = 0;\n        const h = this.renderRoot.querySelectorAll(\".dss-catalog-item\"), n = h.length - 1;\n        l === h[n] ? p(h[0]) : (h.forEach((y, u) => {\n          y === l && (c = u);\n        }), p(h[c + 1]));\n      }, w = (l) => {\n        const c = l.currentTarget, h = l;\n        let n = !1;\n        switch (h.key) {\n          case \"ArrowUp\":\n            d(c), n = !0;\n            break;\n          case \"ArrowDown\":\n            m(c), n = !0;\n            break;\n          case \"Enter\": {\n            const y = l.target, u = this.renderRoot.querySelector('.dss-catalog-item[tabindex=\"0\"]');\n            u == null || u.setAttribute(\"tabindex\", \"-1\"), l.target.setAttribute(\"tabindex\", \"0\"), y.click(), n = !0;\n            break;\n          }\n        }\n        n && (l.stopPropagation(), l.preventDefault());\n      }, S = {\n        \"dss-catalog-item--selected\": this.searchTerms.includes(r.value)\n        // 'disabled': this._input?.disabled,\n        // 'dss-chip--selected': !this._input?.disabled,\n      }, C = b`\n        <div\n\t\t\t\t\trole=\"option\"\n          class=\"dss-catalog-item ${k(S)}\"\n          value=\"${r.value}\"\n          tabindex=\"${t ? 0 : -1}\"\n          @click=\"${a}\"\n          @keydown=${w}\n        >\n          ${r.icon ? b`\n\t\t\t\t\t\t\t\t<${I}\n\t\t\t\t\t\t\t\t\tclass=\"dss-catalog-item__icon\"\n\t\t\t\t\t\t\t\t\ticon=\"${r.icon}\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tvalue=\"${r.value}\"\n\t\t\t\t\t\t\t\t></${I}>\n              ` : null}\n          <div class=\"dss-catalog-item__text\" value=\"${r.value}\">\n            ${this.advancedFilter ? D(R(r.value, this._filter, this.threshold)) : D(q(r.value, this._filter))}\n\t\t\t\t\t</div>\n        </div>\n      `;\n      return t = !1, C;\n    });\n  }\n  _dispatchSearchChange(t) {\n    let o = {};\n    t && t.data ? o = {\n      values: this.searchTerms,\n      selectedItems: this.searchItems\n    } : o = this.searchTerms;\n    const r = {\n      detail: o,\n      bubbles: !0,\n      composed: !0\n    };\n    this.dispatchEvent(new CustomEvent(\"search\", r)), this.multiple ? this.value = this.searchTerms.toString() : this.value = this.searchTerms[0] || \"\", this._emitChange();\n  }\n  _emitInput() {\n    !this._input || this.multiple || (this.dispatchEvent(new Event(\"input\", { bubbles: !0, composed: !0 })), this._handleChange());\n  }\n  _handleChange() {\n    !this._input || this.multiple || this._emitChange();\n  }\n  _emitChange() {\n    this.dispatchEvent(new Event(\"change\", { bubbles: !0, composed: !0 }));\n  }\n  _closeDropdown() {\n    document.addEventListener(\"mousedown\", (t) => {\n      t.target !== this && t.target !== this._input && (this._showDropdown = !1);\n    }), document.addEventListener(\"focusout\", (t) => {\n      const o = t.relatedTarget;\n      o !== null && o !== this && o !== this._input && (this._showDropdown = !1);\n    });\n  }\n  async firstUpdated() {\n    try {\n      await this.updateComplete, this._input && (this._closeDropdown(), this._dropdownStyle = this._getSearchStyle());\n    } catch {\n      console.error(\"ERROR OCURRED\");\n    }\n  }\n  _handleMouseOver() {\n    var t, o;\n    ((t = this._input) == null ? void 0 : t.value) !== this._lastValue && (this._checkInputOverflow(), this._lastValue = ((o = this._input) == null ? void 0 : o.value) || null);\n  }\n  _checkInputOverflow() {\n    var d;\n    if (this.multiple) {\n      this._isTruncated = !1;\n      return;\n    }\n    if (!this._input) return;\n    const t = window.getComputedStyle(this._input), o = `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, a = document.createElement(\"canvas\").getContext(\"2d\");\n    if (!a) return;\n    a.font = o;\n    const p = a.measureText(this._input.value).width;\n    this._isTruncated = p > this._input.offsetWidth, this._isTruncated && ((d = this.shadowRoot) == null ? void 0 : d.querySelector(\".dss-input-tooltip\")).updateTooltip();\n  }\n  render() {\n    return M(this);\n  }\n};\nT.formAssociated = !0;\nlet e = T;\ns([\n  L(\"input.dss-input\")\n], e.prototype, \"_input\");\ns([\n  i({ type: String })\n], e.prototype, \"value\");\ns([\n  i(f)\n], e.prototype, \"multiple\");\ns([\n  i({ type: String })\n], e.prototype, \"icon\");\ns([\n  i({ type: String })\n], e.prototype, \"size\");\ns([\n  i({ type: String })\n], e.prototype, \"helpText\");\ns([\n  i(f)\n], e.prototype, \"innerFocus\");\ns([\n  i({ type: Number })\n], e.prototype, \"threshold\");\ns([\n  i({ type: Array })\n], e.prototype, \"searchTerms\");\ns([\n  i({ type: Array })\n], e.prototype, \"searchItems\");\ns([\n  i({ type: Array })\n], e.prototype, \"catalog\");\ns([\n  i({ type: String })\n], e.prototype, \"emptyDropdownText\");\ns([\n  i({ type: String })\n], e.prototype, \"recentSearchesLabel\");\ns([\n  i(f)\n], e.prototype, \"recentSearches\");\ns([\n  i(f)\n], e.prototype, \"isCatalogLoading\");\ns([\n  i({ type: String })\n], e.prototype, \"dropdownStyle\");\ns([\n  i({ type: String })\n], e.prototype, \"catalogStyle\");\ns([\n  i(f)\n], e.prototype, \"advancedFilter\");\ns([\n  i({ type: String })\n], e.prototype, \"placeholder\");\ns([\n  _()\n], e.prototype, \"_filter\");\ns([\n  _()\n], e.prototype, \"_isFocused\");\ns([\n  _()\n], e.prototype, \"_showClearButton\");\ns([\n  _()\n], e.prototype, \"_filteredCatalog\");\ns([\n  _()\n], e.prototype, \"_showAllChips\");\ns([\n  _()\n], e.prototype, \"_showDropdown\");\ns([\n  _()\n], e.prototype, \"_dropdownStyle\");\ns([\n  i({ type: String })\n], e.prototype, \"id\");\ns([\n  i({ type: String })\n], e.prototype, \"name\");\ns([\n  i({ type: String })\n], e.prototype, \"label\");\ns([\n  i({ converter: v, reflect: !0 })\n], e.prototype, \"disabled\");\ns([\n  i({ converter: v, reflect: !0 })\n], e.prototype, \"readonly\");\ns([\n  i({ converter: v, reflect: !0 })\n], e.prototype, \"required\");\ns([\n  i({ converter: v, reflect: !0 })\n], e.prototype, \"invalid\");\ns([\n  i({ type: String })\n], e.prototype, \"pattern\");\ns([\n  i({ type: String })\n], e.prototype, \"inputmode\");\ns([\n  i({ type: String })\n], e.prototype, \"autocapitalize\");\ns([\n  i({ type: String })\n], e.prototype, \"autocomplete\");\ns([\n  i(f)\n], e.prototype, \"autocorrect\");\ns([\n  i(f)\n], e.prototype, \"autofocus\");\ns([\n  i(f)\n], e.prototype, \"spellcheck\");\ns([\n  i(f)\n], e.prototype, \"tooltipFixed\");\ns([\n  i(f)\n], e.prototype, \"forceViewport\");\ns([\n  _()\n], e.prototype, \"_isTruncated\");\nexport {\n  e as SearchBar_\n};\n//# sourceMappingURL=searchbar.js.map\n","/* empty css           */\nimport { registerCustomElement as r } from \"./api/custom-element-register.js\";\nimport { getCustomElementSuffix as ts, setCustomElementSuffix as ss } from \"./api/custom-element-scope.js\";\nimport { Icon as o } from \"./foundations/icon/icon.js\";\nimport { Typography as t } from \"./foundations/typography/typography.js\";\nimport { Accordion as s } from \"./components/accordion/accordion.js\";\nimport { ActionMenuItem as m } from \"./components/action-menu-item/action-menu-item.js\";\nimport { ActionMenu as i } from \"./components/action-menu/action-menu.js\";\nimport { Alert as e } from \"./components/alert/alert.js\";\nimport { Avatar as d } from \"./components/avatar/avatar.js\";\nimport { BadgeButton as p } from \"./components/badge-button/badge-button.js\";\nimport { Badge as a } from \"./components/badge/badge.js\";\nimport { BreadcrumbBar as f } from \"./components/breadcrumb-bar/breadcrumb-bar.js\";\nimport { Button as n } from \"./components/button/button.js\";\nimport { Calendar as c } from \"./components/calendar/calendar.js\";\nimport { ChatMessage as u } from \"./components/chat-message/chat-message.js\";\nimport { Checkbox as l } from \"./components/checkbox/checkbox.js\";\nimport { Chip as b } from \"./components/chip/chip.js\";\nimport { ContentSwitcher as g } from \"./components/content-switcher/content-switcher.js\";\nimport { CustomTableHeader as h } from \"./components/custom-table-header/custom-table-header.js\";\nimport { CustomTable as k } from \"./components/custom-table/custom-table.js\";\nimport { DatepickerRange as C } from \"./components/datepicker-range/datepicker-range.js\";\nimport { Datepicker_ as B } from \"./components/datepicker/datepicker.js\";\nimport { DecorativeIcon as S } from \"./components/decorative-icon/decorative-icon.js\";\nimport { Divider as I } from \"./components/divider/divider.js\";\nimport { Drawer as F } from \"./components/drawer/drawer.js\";\nimport { Footer as T } from \"./components/footer/footer.js\";\nimport { HeaderLinks as x } from \"./components/header-links/header-links.js\";\nimport { HeaderMenuPatient as w } from \"./components/header-menu-patient/header-menu-patient.js\";\nimport { HeaderMenuProfessional as v } from \"./components/header-menu-professional/header-menu-professional.js\";\nimport { IconBadge as D } from \"./components/icon-badge/icon-badge.js\";\nimport { IconButton as L } from \"./components/icon-button/icon-button.js\";\nimport { InputAction as P } from \"./components/input-action/input-action.js\";\nimport { InputDropdown as H } from \"./components/input-dropdown/input-dropdown.js\";\nimport { InputSwitch as M } from \"./components/input-switch/input-switch.js\";\nimport { Input as y } from \"./components/input/input.js\";\nimport { ItemListBase as A } from \"./components/item-list-base/item-list-base.js\";\nimport { ItemList as R } from \"./components/item-list/item-list.js\";\nimport { Legend as E } from \"./components/legend/legend.js\";\nimport { Link as _ } from \"./components/link/link.js\";\nimport { ListMenu as G } from \"./components/list-menu/list-menu.js\";\nimport { Modal as U } from \"./components/modal/modal.js\";\nimport { ModuleHeader as N } from \"./components/module-header/module-header.js\";\nimport { NotificationBadge as O } from \"./components/notification-badge/notification-badge.js\";\nimport { Pagination as W } from \"./components/pagination/pagination.js\";\nimport { Popover as j } from \"./components/popover/popover.js\";\nimport { PopoverBody as q } from \"./components/popover/popover-body.js\";\nimport { PopoverFooter as z } from \"./components/popover/popover-footer.js\";\nimport { ProgressIndicator as J } from \"./components/progress-indicator/progress-indicator.js\";\nimport { RadioButton as K } from \"./components/radio-button/radio-button.js\";\nimport { Selector as Q } from \"./components/selector/selector.js\";\nimport { SidemenuListItem as V } from \"./components/sidemenu-list-item/sidemenu-list-item.js\";\nimport { SidemenuList as X } from \"./components/sidemenu-list/sidemenu-list.js\";\nimport { Skeleton as Y } from \"./components/skeleton/skeleton.js\";\nimport { Slider as Z } from \"./components/slider/slider.js\";\nimport { Spinner as $ } from \"./components/spinner/spinner.js\";\nimport { SplitButton as rr } from \"./components/split-button/split-button.js\";\nimport { Stepper as or } from \"./components/stepper/stepper.js\";\nimport { TablePagination as tr } from \"./components/table-pagination/table-pagination.js\";\nimport { TabsList as sr } from \"./components/tabs-list/tabs-list.js\";\nimport { TabsPanel as mr } from \"./components/tabs-panel/tabs-panel.js\";\nimport { Textarea as ir } from \"./components/textarea/textarea.js\";\nimport { Tile as er } from \"./components/tile/tile.js\";\nimport { Timepicker as dr } from \"./components/timepicker/timepicker.js\";\nimport { Toast as pr } from \"./components/toast/toast.js\";\nimport { Tooltip as ar } from \"./components/tooltip/tooltip.js\";\nimport { UploadBox as fr } from \"./components/upload-box/upload-box.js\";\nimport { UserFeedback as nr } from \"./components/user-feedback/user-feedback.js\";\nimport { SearchBar as cr } from \"./deprecated/search-bar/search-bar.js\";\nimport { Card as ur } from \"./collections/card/card.js\";\nimport { CardBody as lr } from \"./collections/card/partials/card-body.js\";\nimport { CardDescription as br } from \"./collections/card/partials/card-description.js\";\nimport { CardFooter as gr } from \"./collections/card/partials/card-footer.js\";\nimport { CardForm as hr } from \"./collections/card/partials/card-form.js\";\nimport { CardHeader as kr } from \"./collections/card/partials/card-header.js\";\nimport { CardHighlights as Cr } from \"./collections/card/partials/card-highlights.js\";\nimport { CardHighlightsItem as Br } from \"./collections/card/partials/card-highlights-item.js\";\nimport { CardImage as Sr } from \"./collections/card/partials/card-image.js\";\nimport { CardInfo as Ir } from \"./collections/card/partials/card-info.js\";\nimport { CardInfoItem as Fr } from \"./collections/card/partials/card-info-item.js\";\nimport { CardMenu as Tr } from \"./collections/card/partials/card-menu.js\";\nimport { CardSubitle as xr } from \"./collections/card/partials/card-subtitle.js\";\nimport { CardTags as wr } from \"./collections/card/partials/card-tags.js\";\nimport { CardTitle as vr } from \"./collections/card/partials/card-title.js\";\nimport { Header as Dr } from \"./collections/header/header.js\";\nimport { PresetTexts as Lr } from \"./collections/preset-texts/preset-texts.js\";\nimport { Sidemenu_ as Pr } from \"./collections/side-menu/side-menu.js\";\nimport { Sidebar as Hr } from \"./collections/sidebar/sidebar.js\";\nimport { Widget as Mr } from \"./collections/widget/widget.js\";\nimport { Breadcrumb as yr } from \"./deprecated/breadcrumb/breadcrumb.js\";\nimport { ButtonLink as Ar } from \"./deprecated/button-link/button-link.js\";\nimport { DatePicker as Rr } from \"./deprecated/datepicker/date-picker.js\";\nimport { DropDownList as Er } from \"./deprecated/dropdown-list/dropdown-list.js\";\nimport { InputField as _r } from \"./deprecated/input-field/input-field.js\";\nimport { Sidemenu as Gr } from \"./deprecated/sidemenu/sidemenu.js\";\nimport { Switch as Ur } from \"./deprecated/switch/switch.js\";\nimport { Table as Nr } from \"./deprecated/table/table.js\";\nimport { FormCheckboxGroup as Or } from \"./components/form-checkbox-group/form-checkbox-group.js\";\nimport { FormCheckbox as Wr } from \"./components/form-checkbox/form-checkbox.js\";\nimport { FormDatepickerRange as jr } from \"./components/form-datepicker-range/form-datepicker-range.js\";\nimport { FormDatepicker as qr } from \"./components/form-datepicker/form-datepicker.js\";\nimport { FormInput as zr } from \"./components/form-input/form-input.js\";\nimport { FormRadioButtonGroup as Jr } from \"./components/form-radio-button-group/form-radio-button-group.js\";\nimport { FormRadioButton as Kr } from \"./components/form-radio-button/form-radio-button.js\";\nimport { FormSelectOptions as Qr } from \"./components/form-select-options/form-select-options.js\";\nimport { FormSelect as Vr } from \"./components/form-select/form-select.js\";\nimport { FormTimepicker as Xr } from \"./components/form-timepicker/form-timepicker.js\";\nimport { FormToggle as Yr } from \"./components/form-toggle/form-toggle.js\";\nimport { SearchBar_ as Zr } from \"./components/searchbar/searchbar.js\";\nr(\"dss-accordion\", s);\nr(\"dss-action-menu\", i);\nr(\"dss-action-menu-item\", m);\nr(\"dss-alert\", e);\nr(\"dss-avatar\", d);\nr(\"dss-badge\", a);\nr(\"dss-badge-button\", p);\nr(\"dss-button\", n);\nr(\"dss-breadcrumb-bar\", f);\nr(\"dss-calendar\", c);\nr(\"dss-chat-message\", u);\nr(\"dss-checkbox\", l);\nr(\"dss-chip\", b);\nr(\"dss-content-switcher\", g);\nr(\"dss-custom-table\", k);\nr(\"dss-custom-table-header\", h);\nr(\"dss-datepicker\", B);\nr(\"dss-datepicker-range\", C);\nr(\"dss-decorative-icon\", S);\nr(\"dss-divider\", I);\nr(\"dss-drawer\", F);\nr(\"dss-footer\", T);\nr(\"dss-header-links\", x);\nr(\"dss-header-menu-patient\", w);\nr(\"dss-header-menu-professional\", v);\nr(\"dss-icon\", o);\nr(\"dss-icon-badge\", D);\nr(\"dss-icon-button\", L);\nr(\"dss-input\", y);\nr(\"dss-input-action\", P);\nr(\"dss-input-dropdown\", H);\nr(\"dss-input-switch\", M);\nr(\"dss-item-list\", R);\nr(\"dss-item-list-base\", A);\nr(\"dss-list-menu\", G);\nr(\"dss-link\", _);\nr(\"dss-legend\", E);\nr(\"dss-modal\", U);\nr(\"dss-module-header\", N);\nr(\"dss-notification-badge\", O);\nr(\"dss-pagination\", W);\nr(\"dss-progress-indicator\", J);\nr(\"dss-radio-button\", K);\nr(\"dss-search-bar\", cr);\nr(\"dss-selector\", Q);\nr(\"dss-slider\", Z);\nr(\"dss-spinner\", $);\nr(\"dss-stepper\", or);\nr(\"dss-skeleton\", Y);\nr(\"dss-tabs-list\", sr);\nr(\"dss-tabs-panel\", mr);\nr(\"dss-table-pagination\", tr);\nr(\"dss-textarea\", ir);\nr(\"dss-tile\", er);\nr(\"dss-timepicker\", dr);\nr(\"dss-toast\", pr);\nr(\"dss-tooltip\", ar);\nr(\"dss-typography\", t);\nr(\"dss-popover\", j);\nr(\"dss-popover-body\", q);\nr(\"dss-popover-footer\", z);\nr(\"dss-sidemenu-list\", X);\nr(\"dss-sidemenu-list-item\", V);\nr(\"dss-split-button\", rr);\nr(\"dss-user-feedback\", nr);\nr(\"dss-upload-box\", fr);\nr(\"dss-sidebar\", Hr);\nr(\"dss-card\", ur);\nr(\"dss-card-body\", lr);\nr(\"dss-card-description\", br);\nr(\"dss-card-footer\", gr);\nr(\"dss-card-form\", hr);\nr(\"dss-card-header\", kr);\nr(\"dss-card-highlights-item\", Br);\nr(\"dss-card-highlights\", Cr);\nr(\"dss-card-image\", Sr);\nr(\"dss-card-info-item\", Fr);\nr(\"dss-card-info\", Ir);\nr(\"dss-card-menu\", Tr);\nr(\"dss-card-subtitle\", xr);\nr(\"dss-card-tags\", wr);\nr(\"dss-card-title\", vr);\nr(\"dss-header\", Dr);\nr(\"dss-preset-texts\", Lr);\nr(\"dss-side-menu\", Pr);\nr(\"dss-widget\", Mr);\nr(\"dss-button-link\", Ar);\nr(\"dss-breadcrumb\", yr);\nr(\"dss-date-picker\", Rr);\nr(\"dss-dropdownlist\", Er);\nr(\"dss-input-field\", _r);\nr(\"dss-table\", Nr);\nr(\"dss-sidemenu\", Gr);\nr(\"dss-switch\", Ur);\nr(\"dss-form-input\", zr);\nr(\"dss-form-checkbox\", Wr);\nr(\"dss-form-checkbox-group\", Or);\nr(\"dss-form-radio-button\", Kr);\nr(\"dss-form-radio-button-group\", Jr);\nr(\"dss-form-select\", Vr);\nr(\"dss-form-select-options\", Qr);\nr(\"dss-form-toggle\", Yr);\nr(\"dss-form-datepicker\", qr);\nr(\"dss-form-datepicker-range\", jr);\nr(\"dss-form-timepicker\", Xr);\nr(\"dss-searchbar\", Zr);\nexport {\n  ts as getCustomElementSuffix,\n  ss as setCustomElementSuffix\n};\n//# sourceMappingURL=index.js.map\n","export default \"data:image/svg+xml,%3csvg%20width='94'%20height='24'%20viewBox='0%200%2094%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.36109%200.0906219C4.28803%200.0906219%200.175049%204.88609%200.175049%2010.8006C0.175049%2016.7148%204.28803%2021.5103%209.36109%2021.5103C14.4341%2021.5103%2018.5471%2016.7148%2018.5471%2010.8006C18.5471%204.88609%2014.4341%200.0906219%209.36109%200.0906219Z'%20fill='%23ED192D'/%3e%3cpath%20d='M2.94731%2016.1348C2.06504%2014.6225%201.54761%2012.784%201.54761%2010.8007C1.54761%208.81751%202.06504%206.97893%202.94731%205.46631V16.1348Z'%20fill='white'/%3e%3cpath%20d='M4.92041%203.11644C5.42915%202.69532%205.98132%202.34559%206.56749%202.07705V19.5234C5.98132%2019.2553%205.42915%2018.9048%204.92041%2018.4844V3.11644Z'%20fill='white'/%3e%3cpath%20d='M8.54004%201.5129C8.81008%201.47928%209.08354%201.46191%209.36076%201.46191C9.63986%201.46191%209.91557%201.47966%2010.1871%201.51365V20.087C9.91557%2020.121%209.63986%2020.1392%209.36076%2020.1392C9.08354%2020.1392%208.81008%2020.1214%208.54004%2020.0882V1.5129Z'%20fill='white'/%3e%3cpath%20d='M12.1604%202.07993C12.7469%202.34884%2013.2991%202.70008%2013.8075%203.12119V18.4797C13.2991%2018.9012%2012.7469%2019.2521%2012.1604%2019.521V2.07993Z'%20fill='white'/%3e%3cpath%20d='M15.7808%205.47645C16.6596%206.98681%2017.1752%208.82161%2017.1752%2010.8007C17.1752%2012.7797%2016.6596%2014.6142%2015.7808%2016.1245V5.47645Z'%20fill='white'/%3e%3cpath%20d='M0.944824%2010.8007C0.944824%208.34538%201.69906%206.09853%202.94769%204.36383V4.94963C1.89848%206.56989%201.27454%208.59843%201.27454%2010.8007C1.27454%2013.0026%201.89848%2015.0311%202.94769%2016.6514V17.2368C1.69906%2015.5025%200.944824%2013.2557%200.944824%2010.8007Z'%20fill='white'/%3e%3cpath%20d='M15.7808%2016.6428C16.8266%2015.0241%2017.4486%2012.9989%2017.4486%2010.8008C17.4486%208.6027%2016.8266%206.57755%2015.7808%204.9588V4.37226C17.0264%206.10545%2017.7776%208.34928%2017.7776%2010.8008C17.7776%2013.252%2017.0264%2015.4958%2015.7808%2017.229V16.6428Z'%20fill='white'/%3e%3cpath%20d='M18.3143%2020.3882C18.377%2020.1193%2018.5042%2019.844%2018.6523%2019.6241C18.4623%2019.5309%2018.3022%2019.4606%2018.1371%2019.3175C18.5012%2018.7675%2018.5919%2018.391%2018.6515%2017.7289L18.6259%2013.9857C18.3856%2015.0742%2017.8044%2016.5018%2017.3025%2017.2481C17.1559%2017.4664%2017.0913%2017.6047%2017.0007%2017.7501C16.9486%2017.8343%2016.6536%2018.3204%2016.6611%2018.9156C16.4553%2018.9571%2016.2665%2018.9496%2016.0274%2018.9318C16.0569%2019.1909%2016.0727%2019.2276%2016.0047%2019.6521C15.0972%2019.7223%2014.8328%2020.2666%2013.7571%2020.8482C13.2314%2021.1326%2012.8903%2021.2621%2012.104%2021.5492C13.9324%2021.5273%2015.275%2021.7871%2016.4243%2021.0144C16.555%2021.1874%2016.6521%2021.3554%2016.7382%2021.559C16.8964%2021.4348%2017.2069%2021.2814%2017.4649%2021.2149C17.7606%2021.5061%2018.1568%2021.6209%2018.6644%2021.5752C18.7361%2021.1666%2018.6345%2020.6643%2018.3143%2020.3882Z'%20fill='%23ED192D'/%3e%3cpath%20d='M18.4518%2019.6968C18.3101%2019.7546%2017.6431%2020.0008%2017.6431%2020.0008L17.6341%2020.0103C17.6307%2019.9517%2017.6167%2019.8939%2017.5922%2019.8395L17.5884%2019.8271C17.8456%2019.6734%2018.0072%2019.4558%2018.011%2019.4222C18.0091%2019.4195%2018.008%2019.4177%2018.0095%2019.418C18.0106%2019.4184%2018.011%2019.4199%2018.011%2019.4222C18.0329%2019.452%2018.2524%2019.6556%2018.4518%2019.6968Z'%20fill='white'/%3e%3cpath%20d='M17.9002%2016.5344C18.5691%2015.055%2018.4116%2015.1192%2018.5596%2014.5051C18.54%2014.8008%2018.5211%2015.174%2018.4792%2015.4444C18.1876%2017.0563%2017.7687%2018.2506%2017.2653%2019.5683C17.2653%2019.5683%2017.1271%2019.5566%2017.0576%2019.5698C16.9356%2019.4293%2016.8974%2019.2348%2016.8974%2019.2348C16.6633%2018.2634%2017.3918%2017.6584%2017.9002%2016.5344Z'%20fill='white'/%3e%3cpath%20d='M16.2266%2019.1308L16.8509%2019.652L16.8528%2019.6569C16.8339%2019.6709%2016.8154%2019.6868%2016.798%2019.7038C16.7667%2019.7355%2016.7402%2019.7699%2016.7195%2019.8069L16.7157%2019.8159C16.3977%2019.6614%2016.1851%2019.655%2016.1851%2019.655C16.2651%2019.3106%2016.2266%2019.1308%2016.2266%2019.1308Z'%20fill='white'/%3e%3cpath%20d='M13.3914%2021.3775C13.0776%2021.4493%2012.8241%2021.4459%2012.6262%2021.4546L13.2909%2021.2487C14.7314%2020.7087%2015.0982%2019.8725%2016.0711%2019.8532C16.2988%2019.8551%2016.4854%2019.9148%2016.6542%2020.0096L16.6561%2020.0356C16.6493%2020.0979%2016.655%2020.1614%2016.6731%2020.2222L16.6735%2020.2313C16.0016%2020.5648%2014.4655%2021.1313%2013.3914%2021.3775Z'%20fill='white'/%3e%3cpath%20d='M16.8149%2021.334C16.7764%2021.2309%2016.7228%2021.0643%2016.574%2020.8996C16.7745%2020.7297%2016.8157%2020.6383%2016.8829%2020.4721L16.8878%2020.4744C16.9509%2020.5118%2017.0208%2020.5333%2017.0914%2020.539L17.0997%2020.5378L16.8149%2021.334Z'%20fill='white'/%3e%3cpath%20d='M16.9431%2020.2505C16.8324%2020.1391%2016.8328%2019.9589%2016.9442%2019.8479C17.0556%2019.7372%2017.2354%2019.7376%2017.3464%2019.8494C17.4571%2019.9604%2017.4567%2020.1406%2017.3453%2020.2512C17.2339%2020.3619%2017.0537%2020.3615%2016.9431%2020.2505Z'%20fill='white'/%3e%3cpath%20d='M17.5617%2021.0476C17.4147%2020.8765%2017.3517%2020.7443%2017.2961%2020.5128C17.369%2020.4916%2017.4548%2020.4474%2017.5061%2020.3757L18.5032%2021.3883C18.1248%2021.4234%2017.7973%2021.3342%2017.5617%2021.0476Z'%20fill='white'/%3e%3cpath%20d='M18.6644%200.00993252C18.1568%20-0.0361447%2017.7606%200.0786629%2017.4649%200.369858C17.2069%200.303385%2016.8964%200.150051%2016.7382%200.0257921C16.6521%200.229364%2016.555%200.397053%2016.4243%200.57041C15.275%20-0.202332%2013.9324%200.057518%2012.104%200.0352345C12.8903%200.322652%2013.2314%200.452191%2013.7571%200.736588C14.8328%201.31822%2015.0972%201.86208%2016.0047%201.93271C16.0727%202.35723%2016.0569%202.39349%2016.0274%202.65334C16.2665%202.63521%2016.4553%202.62765%2016.6611%202.6692C16.6536%203.26405%2016.9486%203.75051%2017.0007%203.83436C17.0913%203.98014%2017.1559%204.11839%2017.3025%204.33669C17.8044%205.08299%2018.3856%206.51026%2018.6259%207.59912L18.6515%203.8559C18.5919%203.19382%2018.5012%202.81726%2018.1371%202.26735C18.3022%202.12421%2018.4623%202.05396%2018.6523%201.96067C18.5042%201.74086%2018.377%201.46515%2018.3143%201.19661C18.6345%200.920149%2018.7361%200.41821%2018.6644%200.00993252Z'%20fill='%23ED192D'/%3e%3cpath%20d='M18.4518%201.88761C18.3101%201.82982%2017.6431%201.58358%2017.6431%201.58358L17.6341%201.57414C17.6307%201.6323%2017.6167%201.69047%2017.5922%201.74485L17.5884%201.75732C17.8456%201.91104%2018.0072%202.12857%2018.011%202.16219C18.0091%202.16521%2018.008%202.16709%2018.0095%202.16634C18.0106%202.16558%2018.011%202.16445%2018.011%202.16219C18.0329%202.13273%2018.2524%201.92878%2018.4518%201.88761Z'%20fill='white'/%3e%3cpath%20d='M17.9002%205.05029C18.5691%206.52968%2018.4116%206.46547%2018.5596%207.07959C18.54%206.78386%2018.5211%206.41034%2018.4792%206.14067C18.1876%204.52834%2017.7687%203.33408%2017.2653%202.01596C17.2653%202.01596%2017.1271%202.02806%2017.0576%202.01484C16.9356%202.15534%2016.8974%202.34985%2016.8974%202.34985C16.6633%203.32125%2017.3918%203.9263%2017.9002%205.05029Z'%20fill='white'/%3e%3cpath%20d='M16.2266%202.45361L16.8509%201.9324L16.8528%201.92749C16.8339%201.91352%2016.8154%201.89766%2016.798%201.88067C16.7667%201.84932%2016.7402%201.81419%2016.7195%201.77793L16.7157%201.76812C16.3977%201.92297%2016.1851%201.929%2016.1851%201.929C16.2651%202.27345%2016.2266%202.45361%2016.2266%202.45361Z'%20fill='white'/%3e%3cpath%20d='M13.3914%200.207236C13.0776%200.135476%2012.8241%200.138873%2012.6262%200.130187L13.2909%200.336013C14.7314%200.876102%2015.0982%201.71229%2016.0711%201.73193C16.2988%201.72967%2016.4854%201.67%2016.6542%201.5752L16.6561%201.54914C16.6493%201.48682%2016.655%201.42337%2016.6731%201.36257L16.6735%201.35351C16.0016%201.01964%2014.4655%200.453108%2013.3914%200.207236Z'%20fill='white'/%3e%3cpath%20d='M16.8149%200.250924C16.7764%200.354032%2016.7228%200.52059%2016.574%200.685261C16.7745%200.855219%2016.8157%200.946612%2016.8829%201.11279L16.8878%201.11091C16.9509%201.07314%2017.0208%201.05162%2017.0914%201.04557L17.0997%201.04709L16.8149%200.250924Z'%20fill='white'/%3e%3cpath%20d='M16.9431%201.3342C16.8324%201.446%2016.8328%201.62577%2016.9442%201.73643C17.0556%201.84747%2017.2354%201.84672%2017.3464%201.73568C17.4571%201.62388%2017.4567%201.44411%2017.3453%201.33345C17.2339%201.22279%2017.0537%201.22316%2016.9431%201.3342Z'%20fill='white'/%3e%3cpath%20d='M17.5617%200.537082C17.4147%200.708173%2017.3517%200.84035%2017.2961%201.07187C17.369%201.09302%2017.4548%201.13722%2017.5061%201.20898L18.5032%200.19641C18.1248%200.161286%2017.7973%200.25042%2017.5617%200.537082Z'%20fill='white'/%3e%3cpath%20d='M0.0217433%2021.5752C0.529351%2021.6209%200.925543%2021.5061%201.22127%2021.2149C1.47923%2021.2814%201.78968%2021.4348%201.94831%2021.559C2.03405%2021.3554%202.13149%2021.1874%202.26217%2021.0144C3.41146%2021.7871%204.75375%2021.5273%206.58213%2021.5492C5.79579%2021.2621%205.45474%2021.1326%204.929%2020.8482C3.85335%2020.2666%203.58935%2019.7223%202.6814%2019.6521C2.61379%2019.2276%202.62927%2019.1909%202.65873%2018.9318C2.42004%2018.9496%202.2312%2018.9571%202.02536%2018.9156C2.03291%2018.3204%201.73794%2017.8343%201.68545%2017.7501C1.5948%2017.6047%201.5306%2017.4664%201.38368%2017.2481C0.882111%2016.5018%200.300853%2015.0742%200.0602679%2013.9857L0.0345879%2017.7289C0.0942621%2018.391%200.185284%2018.7675%200.549372%2019.3175C0.383946%2019.4606%200.224185%2019.5309%200.0342099%2019.6241C0.181884%2019.844%200.30954%2020.1193%200.372236%2020.3882C0.0515815%2020.6643%20-0.049639%2021.1666%200.0217433%2021.5752Z'%20fill='%23ED192D'/%3e%3cpath%20d='M0.234375%2019.6968C0.376007%2019.7546%201.04338%2020.0008%201.04338%2020.0008L1.05244%2020.0103C1.05546%2019.9517%201.06981%2019.8939%201.09436%2019.8395L1.09777%2019.8271C0.84094%2019.6734%200.678912%2019.4558%200.675512%2019.4222C0.677401%2019.4195%200.678535%2019.4177%200.676647%2019.418C0.675514%2019.4184%200.675135%2019.4199%200.675512%2019.4222C0.653229%2019.452%200.43417%2019.6556%200.234375%2019.6968Z'%20fill='white'/%3e%3cpath%20d='M0.785417%2016.5344C0.116538%2015.055%200.274029%2015.1192%200.125977%2014.5051C0.145238%2014.8008%200.164123%2015.174%200.206424%2015.4444C0.497996%2017.0563%200.916471%2018.2506%201.4203%2019.5683C1.4203%2019.5683%201.55816%2019.5566%201.62765%2019.5698C1.74964%2019.4293%201.78779%2019.2348%201.78779%2019.2348C2.02195%2018.2634%201.29378%2017.6584%200.785417%2016.5344Z'%20fill='white'/%3e%3cpath%20d='M2.45945%2019.1308L1.83552%2019.652L1.83325%2019.6569C1.85251%2019.6709%201.87064%2019.6868%201.88801%2019.7038C1.91936%2019.7355%201.9458%2019.7699%201.96657%2019.8069L1.97035%2019.8159C2.28836%2019.6614%202.50137%2019.655%202.50137%2019.655C2.42093%2019.3106%202.45945%2019.1308%202.45945%2019.1308Z'%20fill='white'/%3e%3cpath%20d='M5.29439%2021.3775C5.60825%2021.4493%205.86167%2021.4459%206.05958%2021.4546L5.39524%2021.2487C3.95437%2020.7087%203.58764%2019.8725%202.61472%2019.8532C2.38736%2019.8551%202.2004%2019.9148%202.03158%2020.0096L2.03007%2020.0356C2.03649%2020.0979%202.03082%2020.1614%202.01307%2020.2222L2.0127%2020.2313C2.68422%2020.5648%204.22063%2021.1313%205.29439%2021.3775Z'%20fill='white'/%3e%3cpath%20d='M1.8712%2021.334C1.90973%2021.2309%201.96336%2021.0643%202.11254%2020.8996C1.91199%2020.7297%201.87044%2020.6383%201.80359%2020.4721L1.79831%2020.4744C1.73561%2020.5118%201.66574%2020.5333%201.59473%2020.539L1.58643%2020.5378L1.8712%2021.334Z'%20fill='white'/%3e%3cpath%20d='M1.74254%2020.2505C1.85358%2020.1391%201.85282%2019.9589%201.74178%2019.8479C1.63037%2019.7372%201.45021%2019.7376%201.33955%2019.8494C1.22889%2019.9604%201.22927%2020.1406%201.34068%2020.2512C1.4521%2020.3619%201.63188%2020.3615%201.74254%2020.2505Z'%20fill='white'/%3e%3cpath%20d='M1.1243%2021.0476C1.27122%2020.8765%201.33429%2020.7443%201.39019%2020.5128C1.31729%2020.4916%201.23156%2020.4474%201.17982%2020.3757L0.183105%2021.3883C0.561545%2021.4234%200.888999%2021.3342%201.1243%2021.0476Z'%20fill='white'/%3e%3cpath%20d='M0.372236%201.19661C0.30954%201.46515%200.181884%201.74086%200.0342099%201.96067C0.224185%202.05396%200.383946%202.12421%200.549372%202.26735C0.185284%202.81726%200.0942621%203.19382%200.0345879%203.8559L0.0602679%207.59912C0.300853%206.51026%200.882111%205.08299%201.38368%204.33669C1.5306%204.11839%201.5948%203.98014%201.68545%203.83436C1.73794%203.75051%202.03291%203.26405%202.02536%202.6692C2.2312%202.62765%202.42004%202.63521%202.65873%202.65334C2.62927%202.39349%202.61379%202.35723%202.6814%201.93271C3.58935%201.86208%203.85335%201.31822%204.929%200.736588C5.45474%200.452191%205.79579%200.322652%206.58213%200.0352345C4.75375%200.057518%203.41146%20-0.202332%202.26217%200.57041C2.13149%200.397053%202.03405%200.229364%201.94831%200.0257921C1.78968%200.150051%201.47923%200.303385%201.22127%200.369858C0.925543%200.0786629%200.529351%20-0.0361447%200.0217433%200.00993252C-0.049639%200.41821%200.0515815%200.920149%200.372236%201.19661Z'%20fill='%23ED192D'/%3e%3cpath%20d='M0.234375%201.88761C0.376007%201.82982%201.04338%201.58358%201.04338%201.58358L1.05244%201.57414C1.05546%201.6323%201.06981%201.69047%201.09436%201.74485L1.09777%201.75732C0.84094%201.91104%200.678912%202.12857%200.675512%202.16219C0.677401%202.16521%200.678535%202.16709%200.676647%202.16634C0.675514%202.16558%200.675135%202.16445%200.675512%202.16219C0.653229%202.13273%200.43417%201.92878%200.234375%201.88761Z'%20fill='white'/%3e%3cpath%20d='M0.785417%205.05029C0.116538%206.52968%200.274029%206.46547%200.125977%207.07959C0.145238%206.78386%200.164123%206.41034%200.206424%206.14067C0.497996%204.52834%200.916471%203.33408%201.4203%202.01596C1.4203%202.01596%201.55816%202.02806%201.62765%202.01484C1.74964%202.15534%201.78779%202.34985%201.78779%202.34985C2.02195%203.32125%201.29378%203.9263%200.785417%205.05029Z'%20fill='white'/%3e%3cpath%20d='M2.45945%202.45361L1.83552%201.9324L1.83325%201.92749C1.85251%201.91352%201.87064%201.89766%201.88801%201.88067C1.91936%201.84932%201.9458%201.81419%201.96657%201.77793L1.97035%201.76812C2.28836%201.92297%202.50137%201.929%202.50137%201.929C2.42093%202.27345%202.45945%202.45361%202.45945%202.45361Z'%20fill='white'/%3e%3cpath%20d='M5.29439%200.207236C5.60825%200.135476%205.86167%200.138873%206.05958%200.130187L5.39524%200.336013C3.95437%200.876102%203.58764%201.71229%202.61472%201.73193C2.38736%201.72967%202.2004%201.67%202.03158%201.5752L2.03007%201.54914C2.03649%201.48682%202.03082%201.42337%202.01307%201.36257L2.0127%201.35351C2.68422%201.01964%204.22063%200.453108%205.29439%200.207236Z'%20fill='white'/%3e%3cpath%20d='M1.8712%200.250924C1.90973%200.354032%201.96336%200.52059%202.11254%200.685261C1.91199%200.855219%201.87044%200.946612%201.80359%201.11279L1.79831%201.11091C1.73561%201.07314%201.66574%201.05162%201.59473%201.04557L1.58643%201.04709L1.8712%200.250924Z'%20fill='white'/%3e%3cpath%20d='M1.74254%201.3342C1.85358%201.446%201.85282%201.62577%201.74178%201.73643C1.63037%201.84747%201.45021%201.84672%201.33955%201.73568C1.22889%201.62388%201.22927%201.44411%201.34068%201.33345C1.4521%201.22279%201.63188%201.22316%201.74254%201.3342Z'%20fill='white'/%3e%3cpath%20d='M1.1243%200.537082C1.27122%200.708173%201.33429%200.84035%201.39019%201.07187C1.31729%201.09302%201.23156%201.13722%201.17982%201.20898L0.183105%200.19641C0.561545%200.161286%200.888999%200.25042%201.1243%200.537082Z'%20fill='white'/%3e%3cpath%20d='M13.8075%202.35891V2.77588C13.2961%202.37516%2012.7443%202.04129%2012.1604%201.7856V1.42263C12.7417%201.66473%2013.2931%201.98047%2013.8075%202.35891Z'%20fill='white'/%3e%3cpath%20d='M9.36076%200.858693C9.63949%200.858693%209.91519%200.875302%2010.1871%200.906272V1.24316C9.91557%201.21068%209.63986%201.19369%209.36076%201.19369C9.08391%201.19369%208.81008%201.21031%208.54004%201.2428V0.905904C8.81046%200.874933%209.08391%200.858693%209.36076%200.858693Z'%20fill='white'/%3e%3cpath%20d='M6.56749%201.42051V1.78309C5.98396%202.03802%205.43217%202.37152%204.92041%202.77148V2.35454C5.43519%201.97648%205.98699%201.66185%206.56749%201.42051Z'%20fill='white'/%3e%3cpath%20d='M4.92041%2019.2462V18.8296C5.43217%2019.2295%205.98396%2019.5626%206.56749%2019.818V20.1802C5.98699%2019.9388%205.43519%2019.6246%204.92041%2019.2462Z'%20fill='white'/%3e%3cpath%20d='M9.36076%2020.7427C9.08391%2020.7427%208.81046%2020.7264%208.54004%2020.6955V20.3582C8.81008%2020.3907%209.08391%2020.4073%209.36076%2020.4073C9.63986%2020.4073%209.91557%2020.3903%2010.1871%2020.3574V20.6947C9.91519%2020.7261%209.63949%2020.7427%209.36076%2020.7427Z'%20fill='white'/%3e%3cpath%20d='M12.1604%2020.1777V19.8152C12.7443%2019.5598%2013.2961%2019.226%2013.8075%2018.8252V19.2415C13.2931%2019.6206%2012.7417%2019.936%2012.1604%2020.1777Z'%20fill='white'/%3e%3cpath%20d='M28.4893%205.86063H31.8881V10.2455H30.7554L30.5855%209.22543C30.1545%209.72398%2029.5317%2010.4604%2028.0474%2010.4604C26.0876%2010.4604%2024.3083%209.05546%2024.3083%206.20054C24.3083%203.98014%2025.5434%201.884%2028.2854%201.89533C30.7781%201.89533%2031.7635%203.51559%2031.8541%204.63693H30.1545C30.1545%204.31968%2029.577%203.29994%2028.376%203.29994C27.1636%203.29994%2026.0423%204.13839%2026.0423%206.22321C26.0423%208.44399%2027.2547%209.02185%2028.41%209.02185C28.7839%209.02185%2030.0303%208.87418%2030.3815%207.23163H28.4893V5.86063Z'%20fill='%23231F20'/%3e%3cpath%20d='M36.9077%208.47762C36.7831%208.90856%2036.3298%209.13517%2035.888%209.13517C34.6076%209.13517%2034.517%208.11505%2034.4716%207.6622H38.6069V7.37894C38.6069%204.62562%2036.9644%204.05946%2035.7746%204.05946C33.135%204.05946%2032.8857%206.38184%2032.8857%207.107C32.8857%209.58839%2034.1884%2010.4038%2035.888%2010.4038C36.9187%2010.4038%2038.1201%209.9283%2038.5389%208.47762H36.9077ZM34.517%206.63113C34.6076%205.83799%2035.0042%205.36211%2035.752%205.36211C36.2619%205.36211%2036.885%205.65671%2036.9757%206.63113H34.517Z'%20fill='%23231F20'/%3e%3cpath%20d='M45.1106%2010.2456H43.5243V6.58585C43.5243%206.14396%2043.5017%205.39614%2042.4933%205.39614C41.7908%205.39614%2041.2469%205.87202%2041.2469%206.78979V10.2456H39.6606V4.21776H41.1793V5.10155H41.2016C41.4172%204.73898%2041.8701%204.05951%2043.0145%204.05951C44.1928%204.05951%2045.1106%204.7503%2045.1106%206.07597V10.2456Z'%20fill='%23231F20'/%3e%3cpath%20d='M50.1294%208.47762C50.0047%208.90856%2049.5515%209.13517%2049.1096%209.13517C47.8293%209.13517%2047.7386%208.11505%2047.6933%207.6622H51.829V7.37894C51.829%204.62562%2050.186%204.05946%2048.9963%204.05946C46.3567%204.05946%2046.1074%206.38184%2046.1074%207.107C46.1074%209.58839%2047.4104%2010.4038%2049.1096%2010.4038C50.1407%2010.4038%2051.3417%209.9283%2051.7606%208.47762H50.1294ZM47.7386%206.63113C47.8293%205.83799%2048.2258%205.36211%2048.9737%205.36211C49.4835%205.36211%2050.1063%205.65671%2050.1974%206.63113H47.7386Z'%20fill='%23231F20'/%3e%3cpath%20d='M52.8713%204.21776H54.3893V5.26017H54.4123C54.7405%204.64832%2055.1031%204.05951%2056.0662%204.05951C56.1681%204.05951%2056.2701%204.07047%2056.3721%204.08217V5.69073C56.2361%205.66807%2056.0662%205.66808%2055.9189%205.66808C54.6842%205.66808%2054.4572%206.43854%2054.4572%207.10704V10.2456H52.8713V4.21776Z'%20fill='%23231F20'/%3e%3cpath%20d='M62.1731%205.80399C62.1731%204.31969%2060.6208%204.05946%2059.771%204.05946C58.5363%204.05946%2057.256%204.31969%2057.0747%206.16657H58.6039C58.6496%205.81532%2058.7856%205.32849%2059.5787%205.32849C59.9866%205.32849%2060.6208%205.3621%2060.6208%206.0306C60.6208%206.37051%2060.3152%206.47249%2060.066%206.50648L58.6379%206.72177C57.6295%206.86907%2056.8821%207.46959%2056.8821%208.64796C56.8821%209.89394%2057.8112%2010.4038%2058.7172%2010.4038C59.794%2010.4038%2060.3035%209.90526%2060.6661%209.53135C60.7001%209.87165%2060.7227%209.9623%2060.8134%2010.2456H62.5243V10.0072C62.3317%209.93926%2062.1731%209.78101%2062.1731%209.06681V5.80399ZM60.6208%208.08144C60.6208%208.81792%2059.9073%209.27076%2059.2045%209.27076C58.8989%209.27076%2058.4684%209.10118%2058.4684%208.54598C58.4684%207.88881%2058.9552%207.74151%2059.5448%207.63954C60.2015%207.53756%2060.4622%207.4356%2060.6208%207.31096V8.08144Z'%20fill='%23231F20'/%3e%3cpath%20d='M65.2206%2010.2456H63.6343V2.11066H65.2206V10.2456Z'%20fill='%23231F20'/%3e%3cpath%20d='M68.371%203.50394H66.7852V2.03136H68.371V3.50394ZM68.371%204.21776V10.2456H66.7852V4.21776H68.371Z'%20fill='%23231F20'/%3e%3cpath%20d='M71.6672%204.21763H72.653V5.35069H71.6672V8.62522C71.6672%208.97609%2071.6785%209.11243%2072.3244%209.11243C72.426%209.11243%2072.5397%209.1011%2072.653%209.0894V10.2904C72.4037%2010.3018%2072.154%2010.3135%2071.9052%2010.3135H71.7012C70.3302%2010.3135%2070.0809%209.79189%2070.0809%209.01047V5.35069H69.2651V4.21763H70.0809V2.58642H71.6672V4.21763Z'%20fill='%23231F20'/%3e%3cpath%20d='M78.5445%205.80399C78.5445%204.31969%2076.9926%204.05946%2076.1428%204.05946C74.9078%204.05946%2073.6278%204.31969%2073.4461%206.16657H74.9758C75.0211%205.81532%2075.1574%205.32849%2075.9502%205.32849C76.3581%205.32849%2076.9926%205.3621%2076.9926%206.0306C76.9926%206.37051%2076.6867%206.47249%2076.4374%206.50648L75.0098%206.72177C74.0013%206.86907%2073.2539%207.46959%2073.2539%208.64796C73.2539%209.89394%2074.1826%2010.4038%2075.0891%2010.4038C76.1655%2010.4038%2076.6753%209.90526%2077.0379%209.53135C77.0719%209.87165%2077.0942%209.9623%2077.1852%2010.2456H78.8961V10.0072C78.7031%209.93926%2078.5445%209.78101%2078.5445%209.06681V5.80399ZM76.9926%208.08144C76.9926%208.81792%2076.2788%209.27076%2075.5763%209.27076C75.2704%209.27076%2074.8398%209.10118%2074.8398%208.54598C74.8398%207.88881%2075.327%207.74151%2075.9162%207.63954C76.5734%207.53756%2076.834%207.4356%2076.9926%207.31096V8.08144Z'%20fill='%23231F20'/%3e%3cpath%20d='M81.7398%204.21763H82.7256V5.35069H81.7398V8.62522C81.7398%208.97609%2081.7515%209.11243%2082.3974%209.11243C82.499%209.11243%2082.6123%209.1011%2082.7256%209.0894V10.2904C82.4759%2010.3018%2082.227%2010.3135%2081.9778%2010.3135H81.7738C80.4028%2010.3135%2080.1536%209.79189%2080.1536%209.01047V5.35069H79.3381V4.21763H80.1536V2.58642H81.7398V4.21763Z'%20fill='%23231F20'/%3e%3cpath%20d='M30.0527%2013.4412H28.4664V16.3301H28.4438C28.1945%2015.9449%2027.7186%2015.39%2026.6989%2015.39C25.3732%2015.39%2024.1948%2016.4094%2024.1948%2018.4938C24.1948%2020.1485%2024.943%2021.7344%2026.7329%2021.7344C27.39%2021.7344%2028.0925%2021.4968%2028.4778%2020.817H28.5004V21.5761H30.0527V13.4412ZM25.8264%2018.6075C25.8264%2017.6558%2026.1663%2016.7607%2027.1751%2016.7607C28.2625%2016.7607%2028.5344%2017.7351%2028.5344%2018.6978C28.5344%2019.5933%2028.1378%2020.4318%2027.1294%2020.4318C26.1097%2020.4318%2025.8264%2019.3213%2025.8264%2018.6075Z'%20fill='%23231F20'/%3e%3cpath%20d='M35.0151%2019.8082C34.8905%2020.2387%2034.4373%2020.4657%2033.9954%2020.4657C32.7154%2020.4657%2032.6244%2019.4456%2032.5791%2018.9928H36.7143V18.7095C36.7143%2015.9562%2035.0718%2015.39%2033.8821%2015.39C31.2421%2015.39%2030.9932%2017.7124%2030.9932%2018.4376C30.9932%2020.919%2032.2958%2021.7344%2033.9954%2021.7344C35.0265%2021.7344%2036.2271%2021.2589%2036.6467%2019.8082H35.0151ZM32.6244%2017.9617C32.7154%2017.1686%2033.1116%2016.6927%2033.8594%2016.6927C34.3693%2016.6927%2034.9925%2016.9873%2035.0831%2017.9617H32.6244Z'%20fill='%23231F20'/%3e%3cpath%20d='M46.2321%2016.1035C46.0958%2015.6163%2045.8356%2014.6985%2044.4306%2014.6985C43.6148%2014.6985%2042.4137%2015.2427%2042.4137%2017.5425C42.4137%2019.0041%2042.9916%2020.3184%2044.4306%2020.3184C45.3706%2020.3184%2046.0282%2019.7859%2046.2321%2018.7888H47.9313C47.5914%2020.556%2046.4361%2021.791%2044.3962%2021.791C42.2325%2021.791%2040.6802%2020.3298%2040.6802%2017.5198C40.6802%2014.6762%2042.3231%2013.2259%2044.4193%2013.2259C46.8549%2013.2259%2047.8407%2014.9024%2047.9313%2016.1035H46.2321Z'%20fill='%23231F20'/%3e%3cpath%20d='M53.9813%2017.1346C53.9813%2015.6503%2052.429%2015.39%2051.5792%2015.39C50.3442%2015.39%2049.0642%2015.6503%2048.8826%2017.4971H50.4122C50.4575%2017.1459%2050.5935%2016.6591%2051.3866%2016.6591C51.7945%2016.6591%2052.429%2016.6927%2052.429%2017.3612C52.429%2017.7011%2052.1231%2017.8031%2051.8738%2017.8371L50.4466%2018.0523C49.4381%2018.1996%2048.6899%2018.8002%2048.6899%2019.9785C48.6899%2021.2245%2049.619%2021.7344%2050.5259%2021.7344C51.6019%2021.7344%2052.1118%2021.2358%2052.4743%2020.8619C52.5083%2021.2022%2052.531%2021.2929%2052.6216%2021.5761H54.3326V21.3378C54.1399%2021.2698%2053.9813%2021.1116%2053.9813%2020.3974V17.1346ZM52.429%2019.412C52.429%2020.1485%2051.7152%2020.6013%2051.0131%2020.6013C50.7068%2020.6013%2050.2766%2020.4317%2050.2766%2019.8765C50.2766%2019.2194%2050.7638%2019.0721%2051.3526%2018.9701C52.0098%2018.8681%2052.2704%2018.7662%2052.429%2018.6415V19.412Z'%20fill='%23231F20'/%3e%3cpath%20d='M57.1766%2015.5482H58.1627V16.6813H57.1766V19.9558C57.1766%2020.3067%2057.1879%2020.443%2057.8338%2020.443C57.9357%2020.443%2058.0494%2020.4317%2058.1627%2020.42V21.621C57.9131%2021.6323%2057.6638%2021.644%2057.4145%2021.644H57.211C55.84%2021.644%2055.5907%2021.1225%2055.5907%2020.341V16.6813H54.7749V15.5482H55.5907V13.917H57.1766V15.5482Z'%20fill='%23231F20'/%3e%3cpath%20d='M64.0532%2017.1346C64.0532%2015.6503%2062.5013%2015.39%2061.6515%2015.39C60.4165%2015.39%2059.1361%2015.6503%2058.9548%2017.4971H60.4844C60.5298%2017.1459%2060.6654%2016.6591%2061.4589%2016.6591C61.8668%2016.6591%2062.5013%2016.6927%2062.5013%2017.3612C62.5013%2017.7011%2062.195%2017.8031%2061.9461%2017.8371L60.5184%2018.0523C59.51%2018.1996%2058.7622%2018.8002%2058.7622%2019.9785C58.7622%2021.2245%2059.6913%2021.7344%2060.5977%2021.7344C61.6738%2021.7344%2062.184%2021.2358%2062.5466%2020.8619C62.5806%2021.2022%2062.6029%2021.2929%2062.6939%2021.5761H64.4044V21.3378C64.2118%2021.2698%2064.0532%2021.1116%2064.0532%2020.3974V17.1346ZM62.5013%2019.412C62.5013%2020.1485%2061.7875%2020.6013%2061.085%2020.6013C60.779%2020.6013%2060.3485%2020.4317%2060.3485%2019.8765C60.3485%2019.2194%2060.8357%2019.0721%2061.4249%2018.9701C62.0817%2018.8681%2062.3427%2018.7662%2062.5013%2018.6415V19.412Z'%20fill='%23231F20'/%3e%3cpath%20d='M67.1014%2021.5762H65.5151V13.4412H67.1014V21.5762Z'%20fill='%23231F20'/%3e%3cpath%20d='M74.0578%2021.5761H72.5395V20.7263H72.5169C72.1543%2021.3718%2071.5201%2021.7344%2070.6817%2021.7344C69.492%2021.7344%2068.6309%2021.0545%2068.6309%2019.514V15.5483H70.2168V19.2874C70.2168%2020.2165%2070.761%2020.3974%2071.2478%2020.3974C71.769%2020.3974%2072.4715%2020.1028%2072.4715%2019.0268V15.5483H74.0578V21.5761Z'%20fill='%23231F20'/%3e%3cpath%20d='M80.9916%2021.5762H79.4053V17.9164C79.4053%2017.4745%2079.3827%2016.7267%2078.3742%2016.7267C77.6721%2016.7267%2077.1279%2017.2026%2077.1279%2018.1204V21.5762H75.542V15.5483H77.0603V16.4321H77.0826C77.2982%2016.0695%2077.7514%2015.3901%2078.8955%2015.3901C80.0738%2015.3901%2080.9916%2016.0809%2080.9916%2017.4065V21.5762Z'%20fill='%23231F20'/%3e%3cpath%20d='M85.5378%2021.4741C84.7896%2023.7058%2084.586%2024%2083.2037%2024C82.9884%2024%2082.7165%2023.989%2082.4903%2023.9777V22.7091C82.5579%2022.72%2082.6598%2022.7317%2082.7958%2022.7317C83.3737%2022.7317%2083.6909%2022.652%2083.8382%2021.8253L81.6174%2015.5482H83.385L84.6767%2019.9894H84.6993L85.9344%2015.5482H87.6109L85.5378%2021.4741Z'%20fill='%23231F20'/%3e%3cpath%20d='M93.0864%2017.1346C93.0864%2015.6503%2091.5345%2015.39%2090.6847%2015.39C89.4493%2015.39%2088.1693%2015.6503%2087.988%2017.4971H89.5173C89.563%2017.1459%2089.6989%2016.6591%2090.4917%2016.6591C90.8996%2016.6591%2091.5345%2016.6927%2091.5345%2017.3612C91.5345%2017.7011%2091.2282%2017.8031%2090.9789%2017.8371L89.5516%2018.0523C88.5432%2018.1996%2087.7954%2018.8002%2087.7954%2019.9785C87.7954%2021.2245%2088.7241%2021.7344%2089.631%2021.7344C90.707%2021.7344%2091.2168%2021.2358%2091.5794%2020.8619C91.6138%2021.2022%2091.6361%2021.2929%2091.7271%2021.5761H93.4376V21.3378C93.245%2021.2698%2093.0864%2021.1116%2093.0864%2020.3974V17.1346ZM91.5345%2019.412C91.5345%2020.1485%2090.8203%2020.6013%2090.1182%2020.6013C89.8119%2020.6013%2089.3817%2020.4317%2089.3817%2019.8765C89.3817%2019.2194%2089.8689%2019.0721%2090.4577%2018.9701C91.1152%2018.8681%2091.3755%2018.7662%2091.5345%2018.6415V19.412Z'%20fill='%23231F20'/%3e%3c/svg%3e\"","import \"@salut/design-system-salut\";\nimport \"@salut/design-system-salut/css/main.css\";\nimport \"../../fonts/fonts.css\";\nimport { html, nothing } from \"lit\";\nimport gencatLogo from \"../../../UI/images/Gencat_Logotip.svg\";\nimport { PrimariaShell } from \"./primaria-shell\";\nimport { shellViews } from \"./constants\";\nimport { translate } from \"../../../locales\";\nimport { shellApi } from \"../../../api/api\";\n\nexport const template = (props: PrimariaShell) => html`\n<primaria-content-switcher id=\"main-switcher\" attrForSelected=\"view\" .selected=${props.viewSelected}>\n  <div class=\"container\" view=${shellViews.shell}>\n    <primaria-shell-header></primaria-shell-header>\n    <div class=\"main-container\">\n      <div class=\"sidebar\" ?expanded=${props.sidebarExpanded}>\n         <div id=\"menu-region-container\"></div>\n         <!-- <primaria-region id=\"menu-region\" name=${shellApi.regionManager.regions.shell.navigationMenu}></primaria-region> -->\n        <div class=\"quick-actions-content\">\n          <quick-actions-menu>\n            <div class=\"${props.sidebarExpanded ? \"create-button-opened\" : \"create-button-closed\"} \" slot=\"anchor\" id=\"usage-anchor\">\n              <div class=\"${props.quickActionBusy ? \"create-button-icon-badge\" : \"\"}\">\n                ${props.quickActionBusy ? html`<dss-notification-badge value=\"\" state=\"error\" borderwhite=\"\" type=\"default\" dot=\"\"></dss-notification-badge>` : nothing}  \n                <dss-icon class=\"${props.sidebarExpanded ? \"icon\" : \"\"}\" icon=\"add_circle_outline\" size=\"md\"></dss-icon>\n              </div>\n              ${props.sidebarExpanded ? translate(\"actions.create\") : nothing}\n              ${\n                !props.sidebarExpanded\n                  ? html`<dss-tooltip position=\"right\">\n                ${translate(\"actions.create\")}\n              </dss-tooltip>`\n                  : nothing\n              }\n            </div>\n            <dss-action-menu id=\"quick-actions-region-container\" slot=\"content\" id=\"content\" anchor=\"usage-anchor\"></dss-action-menu>\n          </quick-actions-menu>\n        </div>\n        <div class=\"bottom-content\">\n          <div class=\"bottom-content-first\">\n            <hr class=\"dss-divider--bold ${props.sidebarExpanded ? \"divider-opened\" : \"divider-closed\"}\" />\n            <div id=\"navigation-menu-lower-region-container\"></div>\n          </div>\n          <primaria-nav-item \n            .config=${{\n              icon: \"expand_circle_right\",\n              label: props.sidebarExpanded\n                ? translate(\"actions.toggleMenuClose\")\n                : translate(\"actions.toggleMenuOpen\"),\n              fill: true,\n              rotateIcon: props.sidebarExpanded,\n              callbackFn: () => props._toggleSidebar(),\n            }}\n            class=\"toggle-button\"\n          ></primaria-nav-item>\n        </div>\n      </div>\n      <div class=\"content\">\n        <div id=\"floating-region-container\"></div>\n        <primaria-content-switcher id=\"main-region-container\"></primaria-content-switcher>\n      </div>\n    </div>\n    <!-- <div class=\"footer\">\n      <div class=\"footer-logo\">\n        <img src=${gencatLogo} alt=\"logo\" />\n        <span>|</span>\n        <span>Historial Electrònic de Salut (HES)</span>\n      </div>\n    </div> -->\n  </div>\n  <primaria-error-view .error=${props.error} view=${shellViews.error}></primaria-error-view>\n</primaria-content-switcher>\n`;\n","import { IRegion, region } from \"@uxland/regions\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport { PrimariaRegionHost, shellApi } from \"../../../api/api\";\nimport { disposeShell } from \"../../../disposer\";\nimport { BROKER_EVENTS } from \"../../../api/broker/broker-events\";\nimport { translate } from \"../../../locales\";\nimport { shellViews } from \"./constants\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\nimport { BrokerDisposableHandler } from \"@uxland/harmonix\";\n\nexport class PrimariaShell extends PrimariaRegionHost(LitElement) {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  connectedCallback() {\n    super.connectedCallback();\n    this._subscribeEvents();\n  }\n\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this._unsubscribeEvents();\n  }\n\n  @region({ targetId: \"menu-region-container\", name: shellApi.regionManager.regions.shell.navigationMenu })\n  navigationMenuRegion: IRegion | undefined;\n\n  @region({ targetId: \"main-region-container\", name: shellApi.regionManager.regions.shell.main })\n  mainRegion: IRegion | undefined;\n\n  @region({ targetId: \"quick-actions-region-container\", name: shellApi.regionManager.regions.shell.quickActions })\n  quickActionsRegion: IRegion | undefined;\n\n  @region({ targetId: \"floating-region-container\", name: shellApi.regionManager.regions.shell.floating })\n  floatingRegion: IRegion | undefined;\n\n  @region({\n    targetId: \"navigation-menu-lower-region-container\",\n    name: shellApi.regionManager.regions.shell.navigationLowerLeftMenu,\n  })\n  navLowerLeftMenu: IRegion | undefined;\n\n  @state()\n  sidebarExpanded = false;\n\n  @state()\n  viewSelected = shellViews.shell;\n\n  @state()\n  error: { message: string };\n\n  @state()\n  quickActionBusy = false;\n\n  _toggleSidebar() {\n    this.sidebarExpanded = !this.sidebarExpanded;\n  }\n\n  private subscriptions: BrokerDisposableHandler[] = [];\n\n  _subscribeEvents() {\n    this.subscriptions.push(\n      shellApi.broker.subscribe(BROKER_EVENTS.shell.appCrashed, (error: { message: string }) => {\n        this._handleError(error);\n      }),\n    );\n\n    this.subscriptions.push(\n      shellApi.broker.subscribe(BROKER_EVENTS.shell.refreshTokenFailed, (detail: any) => {\n        this._handleError({ message: translate(\"errors.session\") });\n      }),\n    );\n\n    this.subscriptions.push(\n      shellApi.broker.subscribe(BROKER_EVENTS.shell.mpidHeaderInvalid, (detail: any) => {\n        this._handleError({ message: translate(\"errors.invalidPatient\") });\n      }),\n    );\n\n    this.subscriptions.push(\n      shellApi.broker.subscribe(BROKER_EVENTS.shell.quickActionBusyChanged, (detail: { busy: boolean }) => {\n        this.quickActionBusy = detail.busy;\n      }),\n    );\n\n    this.subscriptions.push(\n      shellApi.broker.subscribe(BROKER_EVENTS.shell.scrollToNavItemRequested, (navItemMenuKey: string) => {\n        this._scrollToNavItem(navItemMenuKey);\n      }),\n    );\n  }\n\n  _handleError(error: { message: string }) {\n    this.viewSelected = shellViews.error;\n    this.error = error;\n    disposeShell();\n  }\n\n  _unsubscribeEvents() {\n    this.subscriptions.forEach((s) => s.dispose());\n  }\n\n  async _scrollToNavItem(navItemMenuKey: string) {\n    const region = await shellApi.regionManager.getRegion(shellApi.regionManager.regions.shell.navigationMenu);\n\n    const allViews = region.currentActiveViews;\n\n    // Extract the actual view id from the key (remove plugin prefix)\n    // navItemMenuKey comes as \"primaria-shell::pdf-viewer\", we need just \"pdf-viewer\"\n    const viewId = navItemMenuKey.includes(\"::\") ? navItemMenuKey.split(\"::\")[1] : navItemMenuKey;\n\n    const targetView = allViews.find((view: any) => view.id === viewId);\n\n    if (!targetView) {\n      shellApi.broker.publish(BROKER_EVENTS.shell.scrollToNavItemCompleted, {\n        scrollTop: 0,\n        containerTop: 0,\n        itemIndex: -1,\n      });\n      return;\n    }\n\n    // Sort views by sortHint to find the correct position\n    const sortedViews = [...allViews].sort((a: any, b: any) => {\n      const sortHintA = a.sortHint || \"999\";\n      const sortHintB = b.sortHint || \"999\";\n      return sortHintA.localeCompare(sortHintB);\n    });\n\n    const targetIndex = sortedViews.findIndex((view: any) => view.id === viewId);\n\n    if (targetIndex === -1) {\n      shellApi.broker.publish(BROKER_EVENTS.shell.scrollToNavItemCompleted, {\n        scrollTop: 0,\n        containerTop: 0,\n        itemIndex: -1,\n      });\n      return;\n    }\n\n    const menuContainer = this.shadowRoot?.querySelector(\"#menu-region-container\") as HTMLElement;\n    if (!menuContainer) {\n      shellApi.broker.publish(BROKER_EVENTS.shell.scrollToNavItemCompleted, {\n        scrollTop: 0,\n        containerTop: 0,\n        itemIndex: targetIndex,\n      });\n      return;\n    }\n\n    const itemHeight = 51;\n    const targetPosition = itemHeight * targetIndex;\n    const containerHeight = menuContainer.clientHeight;\n\n    // Scroll to position the item in the middle of the container\n    const scrollPosition = targetPosition - containerHeight / 2 + itemHeight / 2;\n    menuContainer.scrollTo({\n      top: Math.max(0, scrollPosition),\n      behavior: \"smooth\",\n    });\n\n    // Wait for scroll to complete and then publish the completed event\n    setTimeout(() => {\n      const containerRect = menuContainer.getBoundingClientRect();\n\n      // Get all nav items from the container\n      const navItems = Array.from(menuContainer.children) as HTMLElement[];\n\n      // Find the actual DOM element for the target item\n      let itemAbsoluteY = window.innerHeight / 2; // default fallback\n\n      if (navItems[targetIndex]) {\n        const itemRect = navItems[targetIndex].getBoundingClientRect();\n        itemAbsoluteY = itemRect.top;\n      }\n\n      const data = {\n        scrollTop: menuContainer.scrollTop,\n        containerTop: containerRect.top,\n        itemIndex: targetIndex,\n        itemAbsoluteY: itemAbsoluteY,\n      };\n      shellApi.broker.publish(BROKER_EVENTS.shell.scrollToNavItemCompleted, data);\n    }, 300);\n  }\n}\n","import { html } from \"lit\";\nimport { PrimariaErrorView } from \"./component\";\n\nexport const template = (props: PrimariaErrorView) => {\n\n  return html`\n    <div class=\"container\">\n    <svg height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#e8eaed\"><path d=\"M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm-40-160h80v-240h-80v240Zm40 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"/></svg>\n    <h1>${props.error?.message}</h1>\n</div>\n`;\n};\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nexport class PrimariaErrorView extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n  ${unsafeCSS(styles)}\n`;\n\n  @property()\n  error: { message: string };\n}\n","\nimport { html } from \"lit\";\nimport { QuickActionsMenu } from \"./quick-actions-menu\";\n\nexport const template = (props: QuickActionsMenu) => html`\n<span >\n  <slot name=\"anchor\"></slot>\n  <slot name=\"content\"></slot>\n</span>\n`;\n","import { LitElement, html } from \"lit\";\nimport { template } from \"./template\";\n\nexport class QuickActionsMenu extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  firstUpdated(p) {\n    super.firstUpdated(p);\n    // Escuchar por cambios en el contenido del slot\n    const slot = this.shadowRoot?.querySelector('slot[name=\"anchor\"]');\n    slot?.addEventListener(\"slotchange\", this.handleSlotChange.bind(this));\n  }\n\n  handleSlotChange(event) {\n    const slot = event.target;\n    const assignedElements = slot.assignedElements();\n\n    // Si hay algún elemento asignado al slot\n    if (assignedElements.length > 0) {\n      const element = assignedElements[0]; // Asumimos que el primer elemento es el botón\n      if (element.id === \"usage-anchor\") {\n        // Añadir el listener de evento\n        element.addEventListener(\"click\", this._handleOpenMenu.bind(this));\n      }\n    }\n  }\n\n  _handleOpenMenu(e) {\n    // Obtener el otro slot (target-slot)\n    const contentSlot = this.shadowRoot?.querySelector('slot[name=\"content\"]') as HTMLSlotElement;\n\n    const actionMenu = this.querySelector(\"dss-action-menu\");\n\n    // Obtener los elementos asignados al otro slot\n    const assignedElements = contentSlot?.assignedElements();\n    if (assignedElements[0])\n      this._addMenuCustomStyle(contentSlot as HTMLElement, actionMenu as HTMLElement);\n\n    // Hacer target al elemento que deseas (por ejemplo, un <p>)\n    const targetElement = assignedElements.find((el) => el.id === \"content\");\n    if (targetElement) {\n      // Modificar el contenido o estilo del elemento\n      targetElement.show();\n    }\n  }\n\n  _addMenuCustomStyle(contentSlot: HTMLElement, actionMenu: HTMLElement) {\n    contentSlot.style.borderRadius = \"var(--dss-radius-sm)\";\n    const list = actionMenu.shadowRoot?.querySelector(\"ul\");\n    if (list) list.style.overflow = \"hidden\";\n  }\n}\n","export default \"data:image/svg+xml,%3csvg%20width='80'%20height='24'%20viewBox='0%200%2080%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.51539%2023.4832H0L8.22624%200.518679H10.7412L2.51539%2023.4832Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M20.1573%2024C17.1695%2024%2014.8372%2023.3218%2013.1604%2021.9659C11.4836%2020.6095%2010.633%2018.5906%2010.6094%2015.9092H13.4169C13.4812%2019.6737%2015.7275%2021.5563%2020.1573%2021.5563C22.0287%2021.5563%2023.4647%2021.1901%2024.4642%2020.4587C25.4641%2019.7269%2025.9643%2018.6581%2025.9643%2017.2522C26.0073%2016.2425%2025.5399%2015.2791%2024.7212%2014.6874C23.8941%2014.0743%2022.449%2013.5427%2020.3853%2013.091L18.3511%2012.6389C16.028%2012.0994%2014.2875%2011.3204%2013.128%2010.3019C11.969%209.28302%2011.393%207.84942%2011.4004%206.00159C11.35%204.28135%2012.1493%202.64663%2013.5381%201.63049C14.9439%200.544998%2016.844%200.00226593%2019.2383%200.00226593C20.6576%20-0.0236225%2022.0722%200.172396%2023.4314%200.582922C24.4817%200.885733%2025.4406%201.44557%2026.2209%202.21115C26.858%202.86207%2027.3573%203.63505%2027.6883%204.48384C28.0096%205.35251%2028.1797%206.26925%2028.1908%207.19525H25.4156C25.2875%205.55869%2024.7554%204.35948%2023.8197%203.59668C22.8835%202.83434%2021.3566%202.4534%2019.2383%202.4534C17.623%202.4534%2016.3808%202.76592%2015.5116%203.39049C14.6573%203.97947%2014.1645%204.96464%2014.2038%206.00159C14.1492%206.99831%2014.5612%207.96359%2015.3193%208.61313C16.0484%209.2377%2017.4732%209.78646%2019.5943%2010.2589L21.6289%2010.7115C24.1651%2011.2718%2025.9925%2012.0721%2027.1113%2013.1127C28.2301%2014.1529%2028.7881%2015.5352%2028.7858%2017.2596C28.7858%2019.3446%2028.0235%2020.9895%2026.4988%2022.1938C24.9736%2023.3976%2022.86%2024%2020.1573%2024Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M36.6945%2021.677C38.0098%2021.6978%2039.2894%2021.2521%2040.3074%2020.4195C41.3356%2019.6026%2041.8515%2018.4302%2041.8538%2016.9033V14.9366C41.1997%2015.3647%2040.4434%2015.6107%2039.6625%2015.6495L37.2437%2015.938C35.8434%2016.1123%2034.8495%2016.4331%2034.2582%2016.907C33.6558%2017.4039%2033.3262%2018.1579%2033.371%2018.9374C33.3313%2019.7025%2033.6401%2020.444%2034.212%2020.954C34.7783%2021.4348%2035.6261%2021.677%2036.6945%2021.677ZM45.2841%2021.3779H46.2175V23.4763C45.746%2023.5438%2045.2693%2023.5757%2044.7927%2023.5725C43.0498%2023.5725%2042.1146%2022.7768%2041.9893%2021.1856C40.8345%2022.9766%2039.0305%2023.8716%2036.5776%2023.8716C34.7464%2023.8716%2033.3142%2023.4444%2032.2703%2022.5965C31.2264%2021.7487%2030.7063%2020.5476%2030.7063%2019.0017C30.7063%2015.9879%2032.7594%2014.2668%2036.866%2013.8396L39.2529%2013.583C40.9935%2013.3884%2041.864%2012.6246%2041.864%2011.2923C41.864%2010.3658%2041.5792%209.69872%2041.0092%209.29005C40.4392%208.88368%2039.4771%208.67749%2038.1235%208.67749C36.6982%208.67749%2035.6298%208.91975%2035.0099%209.38991C34.3899%209.86007%2034.0159%2010.7292%2033.941%2011.9548H31.3512C31.5648%208.27807%2033.8213%206.43995%2038.1198%206.43995C42.2907%206.43995%2044.3762%208.05292%2044.3762%2011.278V20.58C44.3794%2021.1176%2044.6822%2021.3779%2045.2841%2021.3779Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M50.8951%2023.4832H48.3159V0.518679H50.8951V23.4832Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M65.7337%2016.2584V6.83891H68.3129V23.4832H65.8618V20.9896C64.5937%2022.9109%2062.8517%2023.8716%2060.6359%2023.8716C58.7876%2023.8716%2057.3471%2023.3658%2056.3143%2022.3543C55.281%2021.3423%2054.7642%2019.9175%2054.7642%2018.0789V6.83891H57.3581V17.8403C57.3581%2020.3127%2058.6262%2021.549%2061.1629%2021.549C62.3718%2021.5531%2063.5304%2021.0631%2064.3694%2020.1916C65.2788%2019.2915%2065.7337%2017.9804%2065.7337%2016.2584Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M79.4708%206.83878V9.09759H76.0544V19.903C76.0544%2020.8507%2076.6882%2021.3279%2077.9568%2021.3279H79.4708V23.4905C78.7584%2023.5548%2078.1459%2023.5867%2077.6323%2023.5867C74.8607%2023.5867%2073.4748%2022.436%2073.4748%2020.1346V9.09066H70.7314V6.83878H73.4748V2.13992H76.0544V6.83878H79.4708Z'%20fill='%236AAAE4'/%3e%3c/svg%3e\"","import { html, nothing } from \"lit\";\nimport salutLogo from \"../../../../UI/images/Salut_Logotip.svg\";\nimport { PrimariaShellHeader } from \"./shell-header\";\nimport { when } from \"lit/directives/when.js\";\nimport { translate } from \"../../../../locales\";\n\nexport const template = (props: PrimariaShellHeader) => {\n  const workCenterElements = [{ label: props.professional?.workCenter, value: \"1\" }];\n  const roleElements = [{ label: props.professional?.role, value: \"1\" }];\n  const specialityElements = [{ label: props.professional?.speciality, value: \"1\" }];\n\n  return html`\n  <div class=\"header\">\n    <div class=\"header__left\">\n      <div class=\"header-logo\">\n        <img src=${salutLogo} alt=\"logo\" />\n      </div>\n      <header-divider></header-divider>\n      <div id=\"header-region-container\"></div>\n    </div>\n    <div class=\"header__right\">\n      <div id=\"header-actions-region-container\"></div>\n      <header-divider></header-divider>\n      ${when(\n        props.professional,\n        () => html`<dss-header-menu-professional tooltipFixed @onExit=${props.logout} slot=\"professional-menu\" name=\"${props.professional.firstName} ${props.professional?.familyName} ${props.professional?.lastName}\" center=\"${props.professional.workCenter}\" collegiate=\"${props.professional.registrationNumber}\">\n        <dss-avatar size=\"xl\" name=\"${props.professional.firstName}\" surname=\"${props.professional?.familyName}\" slot=\"avatar\"></dss-avatar>\n        <dss-input-dropdown icon=\"maps_home_work\" type=\"default\" .elements=${workCenterElements} selectedvalue=\"[&quot;1&quot;]\">\n            <label slot=\"label\" for=\"preferences1\">${translate(\"header.workCenter\")}</label>\n            <input id=\"preferences1\" slot=\"input\" type=\"text\" class=\"dss-input\" readonly=\"\">\n        </dss-input-dropdown>\n        <dss-input-dropdown icon=\"business_center\" type=\"default\" .elements=${roleElements} selectedvalue=\"[&quot;1&quot;]\">\n          <label slot=\"label\" for=\"preferences2\">${translate(\"header.role\")}</label>\n          <input id=\"preferences2\" slot=\"input\" type=\"text\" class=\"dss-input\" readonly=\"\">\n        </dss-input-dropdown>\n        <dss-input-dropdown icon=\"people_alt\" type=\"default\" .elements=${specialityElements} selectedvalue=\"[&quot;1&quot;]\">\n          <label slot=\"label\" for=\"preferences3\">${translate(\"header.speciality\")}</label>\n          <input id=\"preferences3\" slot=\"input\" type=\"text\" class=\"dss-input\" readonly=\"\">\n        </dss-input-dropdown>\n      </dss-header-menu-professional>`,\n      )}\n    </div>\n  </div>\n`;\n};\n","import { IRegion, region } from \"@uxland/regions\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { PrimariaRegionHost, shellApi } from \"../../../../api/api\";\nimport { ExitShell } from \"../../../../features/exit/request\";\nimport { GetUserInfo } from \"../../../../features/get-user-info/request\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\nimport { IUserInfo } from \"../../../../features/get-user-info/model\";\n\nexport class PrimariaShellHeader extends PrimariaRegionHost(LitElement) {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n  ${unsafeCSS(styles)}\n`;\n\n  @region({ targetId: \"header-region-container\", name: shellApi.regionManager.regions.shell.header })\n  headerRegion: IRegion | undefined;\n\n  @region({ targetId: \"header-actions-region-container\", name: shellApi.regionManager.regions.shell.headerRightActions })\n  headerRightActionsRegion: IRegion | undefined;\n\n  @property({ type: Object })\n  professional: IUserInfo;\n\n  @state()\n  menuOpened = false;\n\n  toggleMenu() {\n    this.menuOpened = !this.menuOpened;\n  }\n\n  logout() {\n    shellApi.broker.send(new ExitShell());\n  }\n\n  connectedCallback() {\n    super.connectedCallback();\n    shellApi.broker.send(new GetUserInfo()).then((response: IUserInfo) => {\n      this.professional = response;\n    });\n  }\n\n  firstUpdated() {\n    const container = this.renderRoot?.querySelector(\"#header-region-container\");\n    if (!container) return;\n\n    let observer: MutationObserver;\n\n    const updateDividers = () => {\n      observer.disconnect();\n\n      Array.from(container.querySelectorAll(\"header-divider\")).forEach((div) => (div as HTMLElement).remove());\n\n      const children = Array.from(container.children).filter((el) => (el as HTMLElement).tagName !== \"HEADER-DIVIDER\");\n\n      for (let i = 1; i < children.length; i++) {\n        const divider = document.createElement(\"header-divider\");\n        container.insertBefore(divider, children[i]);\n      }\n\n      observer.observe(container, { childList: true });\n    };\n\n    observer = new MutationObserver(updateDividers);\n    observer.observe(container, { childList: true });\n  }\n}\n","import { LitElement, css, html } from \"lit\";\nimport { shellApi } from \"../../../api/api\";\n\nexport class PocEventsEcap extends LitElement {\n  render() {\n    return html`<div>\n        <h1>POC ECAP Test </h1>\n    <hr>\n    <p>Emplenar valors de url i accio per navegar a ECAP</p>\n    <form>\n        <label for=\"eventType\">Tipus d'event (TipusEvent)</label>\n        <input type=\"text\" id=\"eventType\" name=\"eventType\" placeholder=\"IA_DEV\">\n        <label for=\"Accio\">Acció a executar (Accio)</label>\n        <input type=\"text\" id=\"accio\" name=\"accio\" placeholder=\"NO_TANCAR\">\n        <label for=\"parameterName\">Nom del parametre</label>\n        <input type=\"text\" id=\"parameterName\" name=\"parameterName\" placeholder=\"CIP\">\n        <label for=\"parameterValue\">Valor del parametre</label>\n        <input type=\"text\" id=\"parameterValue\" name=\"parameterValue\" placeholder=\"12345678\">\n\n    </form>\n    <button @click=${(e) => this.goToLinkOnEcap()}>LLennçar event ecap</button>\n    </div>\n    \n    <form>\n        <label for=\"pdfId\">PDF ID</label>\n        <input type=\"text\" id=\"pdfId\" name=\"pdfId\" placeholder=\"unique-id\">\n        <label for=\"pdfName\">PDF Name</label>\n        <input type=\"text\" id=\"pdfName\" name=\"pdfName\" placeholder=\"pdfName\">\n        <label for=\"pdfDate\">PDF Date</label>\n        <input type=\"text\" id=\"pdfDate\" name=\"pdfDate\" placeholder=\"2024-01-15\">\n        <label for=\"url\">URL</label>\n        <input type=\"text\" id=\"url\" name=\"url\" placeholder=\"url\">\n\n\n    </form>\n    <button @click=${(e) => this.sendPdfToViewer()}>Add PDF</button>\n\n\n    <button @click=${(e) => this.getPDFS()}>GET PDFs</button>\n    `;\n  }\n\n  sendPdfToViewer() {\n    const pdfId = (this as any).shadowRoot?.getElementById(\"pdfId\")?.value as string;\n    const pdfName = (this as any).shadowRoot?.getElementById(\"pdfName\")?.value as string;\n    const pdfDate = (this as any).shadowRoot?.getElementById(\"pdfDate\")?.value as string;\n    const fileName = (this as any).shadowRoot?.getElementById(\"url\")?.value as string;\n\n    shellApi.pdfViewerManager.add({ id: pdfId, name: pdfName, date: pdfDate, url: fileName });\n  }\n\n  getPDFS() {\n    const pdfs = shellApi.pdfViewerManager.getPdfs();\n    return pdfs;\n  }\n\n  goToLinkOnEcap() {\n    const eventType = (this as any).shadowRoot?.getElementById(\"eventType\")?.value;\n    const accio = (this as any).shadowRoot?.getElementById(\"accio\")?.value;\n    const parameterName = (this as any).shadowRoot?.getElementById(\"parameterName\")?.value;\n    const parameterValue = (this as any).shadowRoot?.getElementById(\"parameterValue\")?.value;\n\n    //sending data to parent window if opened inside iframe\n    shellApi.ecapEventManager.publish(eventType, accio, {\n      [parameterName]: parameterValue,\n    });\n  }\n\n  static styles = css`\n  `;\n}\n","import { LitElement, html, css } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nexport class PrimariaAccordion extends LitElement {\n  @property({ type: Boolean })\n  isOpen;\n\n  static styles = css`\n    :host {\n      display: block;\n    }\n\n    .content {\n      overflow: hidden;\n      max-height: 0;\n    }\n\n    .content.open {\n      margin-top: 8px;\n      max-height: unset; \n    }\n\n    .title {\n      cursor: pointer;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n  `;\n\n  toggle() {\n    this.isOpen = !this.isOpen;\n  }\n\n  render() {\n    return html`\n    <div class=\"title\" @click=${this.toggle}>\n      <slot name=\"title\"></slot>\n      <dss-icon-button size=\"md\" variant=\"primary\" icon=${this.isOpen ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"}></dss-icon-button>\n    </div>\n    <div class=\"content ${this.isOpen ? \"open\" : \"\"}\">\n      <slot name=\"content\"></slot>\n    </div>\n    `;\n  }\n}\n","import { html, nothing } from \"lit\";\nimport { CommunicationActionMenu } from \"./communication-action-menu\";\n\nexport const template = (props: CommunicationActionMenu) => {\n  return html`\n    <div class=\"item\" ?expanded=${props.showText}>\n      <div class=\"icon-label\">\n        <dss-icon icon=${props.icon} size=\"md\"></dss-icon>\n        ${props.showText ? html`<span>${props.label}</span>` : \"\"}\n        ${\n          !props.showText\n            ? html`\n          <dss-tooltip position=\"right\">\n            ${props.label}\n          </dss-tooltip>`\n            : nothing\n        }\n      </div>\n      <dss-action-menu id=\"communication-sidenav-region-container\" slot=\"content\" >\n      </dss-action-menu>\n      ${props.showText ? html`<dss-icon icon=\"chevron_right\" size=\"md\"></dss-icon>` : nothing}\n    </div>\n  `;\n};\n","import { LitElement, html, css, unsafeCSS, PropertyValues } from \"lit\";\nimport { template } from \"./template\";\nimport { property, state } from \"lit/decorators.js\";\nimport { IRegion, region } from \"@uxland/regions\";\nimport { PrimariaRegionHost, shellApi } from \"../../../api/api\";\nimport styles from \"./styles.css?inline\";\n\nexport class CommunicationActionMenu extends PrimariaRegionHost(LitElement) {\n  constructor(icon: string, label: string) {\n    super();\n    this.icon = icon;\n    this.label = label;\n  }\n\n  @state() showText = false;\n\n  @region({ targetId: \"communication-sidenav-region-container\", name: shellApi.regionManager.regions.shell.communicationSidenav })\n  comminucationSidenavRegion: IRegion | undefined;\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  firstUpdated(_changedProps: PropertyValues<CommunicationActionMenu>) {\n    super.firstUpdated(_changedProps);\n    this.observeHostResize();\n  }\n\n  observeHostResize() {\n    const parentElement = this.parentElement;\n    const observer = new ResizeObserver((entries) => {\n      for (const entry of entries) {\n        const width = entry.target.clientWidth;\n        this.showText = width > 100;\n      }\n    });\n\n    observer.observe(parentElement as HTMLElement);\n  }\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  @property({ type: String }) icon = \"\";\n  @property({ type: String }) label = \"\";\n}\n","import { html, nothing } from \"lit\";\nimport { ClinicalPathwaysActionMenu } from \"./clinical-pathways-action-menu\";\n\nexport const template = (props: ClinicalPathwaysActionMenu) => {\n  return html`\n    <div class=\"item\" ?expanded=${props.showText}>\n      <div class=\"icon-label\">\n        <dss-icon icon=${props.icon} size=\"md\"></dss-icon>\n        ${props.showText ? html`<span>${props.label}</span>` : \"\"}\n        ${\n          !props.showText\n            ? html`\n          <dss-tooltip position=\"right\">\n            ${props.label}\n          </dss-tooltip>`\n            : nothing\n        }\n      </div>\n      <dss-action-menu id=\"clinical-pathways-sidenav-region-container\" slot=\"content\" >\n      </dss-action-menu>\n      ${props.showText ? html`<dss-icon icon=\"chevron_right\" size=\"md\"></dss-icon>` : nothing}\n    </div>\n  `;\n};\n","import { LitElement, html, css, unsafeCSS, PropertyValues } from \"lit\";\nimport { template } from \"./template\";\nimport { property, state } from \"lit/decorators.js\";\nimport { IRegion, region } from \"@uxland/regions\";\nimport { PrimariaRegionHost, shellApi } from \"../../../api/api\";\nimport styles from \"./styles.css?inline\";\n\nexport class ClinicalPathwaysActionMenu extends PrimariaRegionHost(LitElement) {\n  constructor(icon: string, label: string) {\n    super();\n    this.icon = icon;\n    this.label = label;\n  }\n\n  @state() showText = false;\n\n  @region({ targetId: \"clinical-pathways-sidenav-region-container\", name: shellApi.regionManager.regions.shell.clinicalPathwaysSidenav })\n  clinicalPathwaysSidenavRegion: IRegion | undefined;\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  firstUpdated(_changedProps: PropertyValues<ClinicalPathwaysActionMenu>) {\n    super.firstUpdated(_changedProps);\n    this.observeHostResize();\n  }\n\n  observeHostResize() {\n    const parentElement = this.parentElement;\n    const observer = new ResizeObserver((entries) => {\n      for (const entry of entries) {\n        const width = entry.target.clientWidth;\n        this.showText = width > 100;\n      }\n    });\n\n    observer.observe(parentElement as HTMLElement);\n  }\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  @property({ type: String }) icon = \"\";\n  @property({ type: String }) label = \"\";\n}\n","import { html, nothing } from \"lit\";\nimport { PetitionerActionMenu } from \"./petitioner-action-menu\";\n\nexport const template = (props: PetitionerActionMenu) => {\n  return html`\n    <div class=\"item\" ?expanded=${props.showText}>\n      <div class=\"icon-label\">\n        <dss-icon icon=${props.icon} size=\"md\"></dss-icon>\n        ${props.showText ? html`<span>${props.label}</span>` : \"\"}\n        ${\n          !props.showText\n            ? html`\n          <dss-tooltip position=\"right\">\n            ${props.label}\n          </dss-tooltip>`\n            : nothing\n        }\n      </div>\n      <dss-action-menu id=\"petitioner-sidenav-region-container\" slot=\"content\" >\n      </dss-action-menu>\n      ${props.showText ? html`<dss-icon icon=\"chevron_right\" size=\"md\"></dss-icon>` : nothing}\n    </div>\n  `;\n};\n","import { LitElement, html, css, unsafeCSS, PropertyValues } from \"lit\";\nimport { template } from \"./template\";\nimport { property, state } from \"lit/decorators.js\";\nimport { IRegion, region } from \"@uxland/regions\";\nimport { PrimariaRegionHost, shellApi } from \"../../../api/api\";\nimport styles from \"./styles.css?inline\";\n\nexport class PetitionerActionMenu extends PrimariaRegionHost(LitElement) {\n  constructor(icon: string, label: string) {\n    super();\n    this.icon = icon;\n    this.label = label;\n  }\n\n  @state() showText = false;\n\n  @region({ targetId: \"petitioner-sidenav-region-container\", name: shellApi.regionManager.regions.shell.petitionerSidenav })\n  petitionerSidenavRegion: IRegion | undefined;\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  firstUpdated(_changedProps: PropertyValues<PetitionerActionMenu>) {\n    super.firstUpdated(_changedProps);\n    this.observeHostResize();\n  }\n\n  observeHostResize() {\n    const parentElement = this.parentElement;\n    const observer = new ResizeObserver((entries) => {\n      for (const entry of entries) {\n        const width = entry.target.clientWidth;\n        this.showText = width > 100;\n      }\n    });\n\n    observer.observe(parentElement as HTMLElement);\n  }\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  @property({ type: String }) icon = \"\";\n  @property({ type: String }) label = \"\";\n}\n","import { html } from \"lit\";\nimport { HeaderDivider } from \"./header-divider\";\n\nexport const template = (props: HeaderDivider) => {\n  return html`\n    <div class=\"header-container\"></div>\n  `;\n};\n","import { html, LitElement, css, unsafeCSS } from \"lit\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nexport class HeaderDivider extends LitElement {\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n  ${unsafeCSS(styles)}\n`;\n}\n","import { customElement } from \"lit/decorators.js\";\nimport { PrimariaShell } from \"./primaria-shell/primaria-shell\";\nimport { PrimariaErrorView } from \"./error-view/component\";\nimport { QuickActionsMenu } from \"./quick-actions-menu/quick-actions-menu\";\nimport { PrimariaShellHeader } from \"./primaria-shell/shell-header/shell-header\";\nimport { PocEventsEcap } from \"./poc-events-ecap/poc-events-ecap\";\nimport { PrimariaAccordion } from \"./primaria-accordion/primaria-accordion\";\nimport { CommunicationActionMenu } from \"./communication-action-menu/communication-action-menu\";\nimport { ClinicalPathwaysActionMenu } from \"./clinical-pathways-action-menu/clinical-pathways-action-menu\";\nimport { PetitionerActionMenu } from \"./petitioner-action-menu/petitioner-action-menu\";\nimport { HeaderDivider } from \"./primaria-shell/shell-header/header-divider/header-divider\";\n\nexport const useComponents = () => {\n  //@ts-ignore\n  customElement(\"primaria-shell\")(PrimariaShell);\n  //@ts-ignore\n  customElement(\"primaria-shell-header\")(PrimariaShellHeader);\n  customElement(\"primaria-error-view\")(PrimariaErrorView);\n  customElement(\"quick-actions-menu\")(QuickActionsMenu);\n  customElement('header-divider')(HeaderDivider);\n  //@ts-ignore\n  customElement(\"communication-action-menu\")(CommunicationActionMenu);\n  //@ts-ignore\n  customElement(\"clinical-pathways-action-menu\")(ClinicalPathwaysActionMenu);\n  //@ts-ignore\n  customElement(\"petitioner-action-menu\")(PetitionerActionMenu);\n  //@ts-ignore\n  customElement(\"poc-events-ecap\")(PocEventsEcap);\n  customElement(\"primaria-accordion\")(PrimariaAccordion);\n};\n","import { LitElement, css, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nconst isSelected = (item: HTMLElement, attrForSelected: string, selection: string) =>\n  item[attrForSelected] === selection ||\n  Array.from(item.attributes).some(\n    (attr) => attr.name === attrForSelected && attr.value === selection,\n  );\n\nexport class PrimariaContentSwitcher extends LitElement {\n  render() {\n    return html` <slot></slot> `;\n  }\n\n  static styles = css`\n    :host {\n      display: flex;\n      flex: 1;\n    }\n    :host > ::slotted(:not(slot):not(.selected)) {\n      display: none !important;\n    }\n  `;\n\n  @property()\n  selected: any;\n\n  @property()\n  attrForSelected: string;\n\n  @property()\n  animation = \"fade\";\n\n  updated(props): any {\n    this.select();\n  }\n\n  get items(): HTMLCollection {\n    return this.children;\n  }\n\n  selectIndex() {\n    return this.selected || this.selected === 0\n      ? this.attrForSelected\n        ? Array.from(this.items).findIndex((item: any) =>\n            isSelected(item, this.attrForSelected, this.selected),\n          )\n        : Number.parseInt(this.selected)\n      : -1;\n  }\n\n  select() {\n    if (this.items.length) {\n      const index = this.selectIndex();\n      if (index !== -1) {\n        const items = Array.from(this.items);\n        items.forEach((i) => i.classList.remove(\"selected\"));\n        items[index]?.classList.add(\"selected\");\n      }\n    }\n  }\n\n  doAnimation(item) {\n    switch (this.animation) {\n      case \"fade\":\n        return item?.classList.add(\"fade-in\");\n      case \"slideDown\":\n        return item?.classList.add(\"slide-down\");\n      case \"slideLeft\":\n        return item?.classList.add(\"slide-left\");\n      case \"slideRight\":\n        return item?.classList.add(\"slide-right\");\n      case \"disabled\":\n        return;\n      default:\n        return item?.classList.add(\"fade-in\");\n    }\n  }\n}\n","import { html, nothing } from \"lit\";\nimport { PrimariaNavItem } from \"./primaria-nav-item\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\nexport const template = (props: PrimariaNavItem) => {\n  return html`\n  <div\n    class=${classMap({ item: true, active: props.isActive })}\n    ?expanded=${props.showText}\n  >\n    <div class=\"icon-label\" @click=${props.config.callbackFn}>\n      <dss-icon icon=${props.config.icon} size=\"md\" ?fill=${props.config.fill} style=${props.config.rotateIcon ? \"transform: rotate(180deg);\" : \"\"}></dss-icon>\n      ${props.showText ? html`<span>${props.config.label}</span>` : \"\"}\n    </div>\n    ${props.showText && props.config.showArrow ? html`<dss-icon icon=\"chevron_right\" size=\"md\"></dss-icon>` : \"\"}\n    ${\n      !props.showText\n        ? html`\n      <dss-tooltip position=\"right\">\n        ${props.config.label}\n      </dss-tooltip>`\n        : nothing\n    }\n  </div>\n`;\n};\n","import { regionView } from \"@uxland/regions\";\nimport { LitElement, PropertyValues, css, html, unsafeCSS } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { shellApi } from \"../../../api/api\";\nimport { BROKER_EVENTS } from \"../../../api/broker/broker-events\";\nimport { PrimariaNavItemConfig } from \"../typings\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\nimport { BrokerDisposableHandler } from \"@uxland/harmonix\";\n\nexport class PrimariaNavItem extends regionView(LitElement) {\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  constructor(config: PrimariaNavItemConfig) {\n    super();\n    this.config = config;\n  }\n\n  private subscriptions: BrokerDisposableHandler[] = [];\n\n  connectedCallback(): void {\n    super.connectedCallback();\n    this._subscribeEvents();\n  }\n\n  disconnectedCallback(): void {\n    this._unsubscribeEvents();\n  }\n\n  firstUpdated(_changedProps: PropertyValues<PrimariaNavItem>) {\n    super.firstUpdated(_changedProps);\n    this.observeHostResize();\n  }\n\n  observeHostResize() {\n    const parentElement = this.parentElement;\n    const observer = new ResizeObserver((entries) => {\n      for (const entry of entries) {\n        const width = entry.target.clientWidth; // Obtenemos el ancho del host\n        this.showText = width > 100; // Mostrar texto si el ancho del host es mayor que 150px\n      }\n    });\n\n    observer.observe(parentElement as HTMLElement);\n  }\n\n  _subscribeEvents() {\n    const subscription = shellApi.broker.subscribe(BROKER_EVENTS.shell.mainViewChanged, (payload: { viewId: string }) => {\n      this.isActive = payload.viewId === this.view?.id;\n    });\n    this.subscriptions.push(subscription);\n  }\n\n  _unsubscribeEvents() {\n    this.subscriptions.forEach((s) => s.dispose());\n  }\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  @property({ type: Number }) containerWidth = 0;\n  @state() showText = false;\n  @state() isActive = false;\n\n  @property({ type: Object }) config: PrimariaNavItemConfig;\n}\n","import { html } from \"lit\";\nimport { PrimariaNavTreeMenu } from \"./primaria-nav-tree-menu\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\nexport const template = (props: PrimariaNavTreeMenu) => html`\n  <div class=\"wrapper\">\n    <primaria-nav-item\n      .config=${props.primariaNavItemConfig}\n      class=\"${classMap({ \"menu-active\": props.showActionMenu })}\"\n    ></primaria-nav-item>\n    <dss-action-menu\n      @onCloseActionMenu=${props.handleCloseMenu}\n      ?hidden=${!props.showActionMenu}\n    >\n      ${props.config.actionMenuItems?.map((item) =>\n        item.hasNestedMenu\n          ? html`\n            <dss-action-menu-item\n              righticon=${item.icon}\n              .label=${item.label}\n              hasnestedmenu\n            >\n              <dss-action-menu>\n                ${item.nestedMenuItems?.map(\n                  (nestedItem) => html`\n                    <dss-action-menu-item\n                      righticon=${nestedItem.icon}\n                      .label=${nestedItem.label}\n                      @click=${nestedItem.callbackFn}\n                    ></dss-action-menu-item>\n                  `,\n                )}\n              </dss-action-menu>\n            </dss-action-menu-item>\n          `\n          : html`\n            <dss-action-menu-item\n              righticon=${item.icon}\n              .label=${item.label}\n              @click=${item.callbackFn}\n            ></dss-action-menu-item>\n          `,\n      )}\n    </dss-action-menu>\n  </div>\n`;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { PrimariaNavItemConfig, PrimariaNavTreeMenuConfig } from \"../typings\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nexport class PrimariaNavTreeMenu extends LitElement {\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  @property({ type: Object }) config: PrimariaNavTreeMenuConfig;\n\n  @state() showActionMenu = false;\n\n  constructor(config: PrimariaNavTreeMenuConfig) {\n    super();\n    this.config = config;\n  }\n\n  get primariaNavItemConfig(): PrimariaNavItemConfig {\n    return {\n      icon: this.config.icon,\n      label: this.config.label,\n      showArrow: true,\n      callbackFn: this.handleItemClick,\n    };\n  }\n\n  handleItemClick = () => {\n    this.showActionMenu = true;\n  };\n\n  handleCloseMenu = () => {\n    this.showActionMenu = false;\n  };\n\n  render() {\n    return html`${template(this)}`;\n  }\n}\n","/*!\n * Quill Editor v1.3.6\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 110);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(46);\nvar inline_1 = __webpack_require__(47);\nvar block_1 = __webpack_require__(48);\nvar embed_1 = __webpack_require__(49);\nvar text_1 = __webpack_require__(50);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n    Scope: Registry.Scope,\n    create: Registry.create,\n    find: Registry.find,\n    query: Registry.query,\n    register: Registry.register,\n    Container: container_1.default,\n    Format: format_1.default,\n    Leaf: leaf_1.default,\n    Embed: embed_1.default,\n    Scroll: scroll_1.default,\n    Block: block_1.default,\n    Inline: inline_1.default,\n    Text: text_1.default,\n    Attributor: {\n        Attribute: attributor_1.default,\n        Class: class_1.default,\n        Style: style_1.default,\n        Store: store_1.default,\n    },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n    __extends(ParchmentError, _super);\n    function ParchmentError(message) {\n        var _this = this;\n        message = '[Parchment] ' + message;\n        _this = _super.call(this, message) || this;\n        _this.message = message;\n        _this.name = _this.constructor.name;\n        return _this;\n    }\n    return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n    Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n    Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n    Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n    Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n    Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n    Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n    Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n    Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n    Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n    Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n    Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n    var match = query(input);\n    if (match == null) {\n        throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n    }\n    var BlotClass = match;\n    var node = \n    // @ts-ignore\n    input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n    return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n    if (bubble === void 0) { bubble = false; }\n    if (node == null)\n        return null;\n    // @ts-ignore\n    if (node[exports.DATA_KEY] != null)\n        return node[exports.DATA_KEY].blot;\n    if (bubble)\n        return find(node.parentNode, bubble);\n    return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n    if (scope === void 0) { scope = Scope.ANY; }\n    var match;\n    if (typeof query === 'string') {\n        match = types[query] || attributes[query];\n        // @ts-ignore\n    }\n    else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n        match = types['text'];\n    }\n    else if (typeof query === 'number') {\n        if (query & Scope.LEVEL & Scope.BLOCK) {\n            match = types['block'];\n        }\n        else if (query & Scope.LEVEL & Scope.INLINE) {\n            match = types['inline'];\n        }\n    }\n    else if (query instanceof HTMLElement) {\n        var names = (query.getAttribute('class') || '').split(/\\s+/);\n        for (var i in names) {\n            match = classes[names[i]];\n            if (match)\n                break;\n        }\n        match = match || tags[query.tagName];\n    }\n    if (match == null)\n        return null;\n    // @ts-ignore\n    if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n        return match;\n    return null;\n}\nexports.query = query;\nfunction register() {\n    var Definitions = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        Definitions[_i] = arguments[_i];\n    }\n    if (Definitions.length > 1) {\n        return Definitions.map(function (d) {\n            return register(d);\n        });\n    }\n    var Definition = Definitions[0];\n    if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n        throw new ParchmentError('Invalid definition');\n    }\n    else if (Definition.blotName === 'abstract') {\n        throw new ParchmentError('Cannot register abstract class');\n    }\n    types[Definition.blotName || Definition.attrName] = Definition;\n    if (typeof Definition.keyName === 'string') {\n        attributes[Definition.keyName] = Definition;\n    }\n    else {\n        if (Definition.className != null) {\n            classes[Definition.className] = Definition;\n        }\n        if (Definition.tagName != null) {\n            if (Array.isArray(Definition.tagName)) {\n                Definition.tagName = Definition.tagName.map(function (tagName) {\n                    return tagName.toUpperCase();\n                });\n            }\n            else {\n                Definition.tagName = Definition.tagName.toUpperCase();\n            }\n            var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n            tagNames.forEach(function (tag) {\n                if (tags[tag] == null || Definition.className == null) {\n                    tags[tag] = Definition;\n                }\n            });\n        }\n    }\n    return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(52);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0);  // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n  // Assume we are given a well formed ops\n  if (Array.isArray(ops)) {\n    this.ops = ops;\n  } else if (ops != null && Array.isArray(ops.ops)) {\n    this.ops = ops.ops;\n  } else {\n    this.ops = [];\n  }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n  var newOp = {};\n  if (text.length === 0) return this;\n  newOp.insert = text;\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n    newOp.attributes = attributes;\n  }\n  return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n  if (length <= 0) return this;\n  return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n  if (length <= 0) return this;\n  var newOp = { retain: length };\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n    newOp.attributes = attributes;\n  }\n  return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n  var index = this.ops.length;\n  var lastOp = this.ops[index - 1];\n  newOp = extend(true, {}, newOp);\n  if (typeof lastOp === 'object') {\n    if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n      this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n      return this;\n    }\n    // Since it does not matter if we insert before or after deleting at the same index,\n    // always prefer to insert first\n    if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n      index -= 1;\n      lastOp = this.ops[index - 1];\n      if (typeof lastOp !== 'object') {\n        this.ops.unshift(newOp);\n        return this;\n      }\n    }\n    if (equal(newOp.attributes, lastOp.attributes)) {\n      if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n        this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n        return this;\n      } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n        this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n        return this;\n      }\n    }\n  }\n  if (index === this.ops.length) {\n    this.ops.push(newOp);\n  } else {\n    this.ops.splice(index, 0, newOp);\n  }\n  return this;\n};\n\nDelta.prototype.chop = function () {\n  var lastOp = this.ops[this.ops.length - 1];\n  if (lastOp && lastOp.retain && !lastOp.attributes) {\n    this.ops.pop();\n  }\n  return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n  return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n  this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n  return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n  var passed = [], failed = [];\n  this.forEach(function(op) {\n    var target = predicate(op) ? passed : failed;\n    target.push(op);\n  });\n  return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n  return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n  return this.reduce(function (length, elem) {\n    if (elem.insert) {\n      return length + op.length(elem);\n    } else if (elem.delete) {\n      return length - elem.delete;\n    }\n    return length;\n  }, 0);\n};\n\nDelta.prototype.length = function () {\n  return this.reduce(function (length, elem) {\n    return length + op.length(elem);\n  }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n  start = start || 0;\n  if (typeof end !== 'number') end = Infinity;\n  var ops = [];\n  var iter = op.iterator(this.ops);\n  var index = 0;\n  while (index < end && iter.hasNext()) {\n    var nextOp;\n    if (index < start) {\n      nextOp = iter.next(start - index);\n    } else {\n      nextOp = iter.next(end - index);\n      ops.push(nextOp);\n    }\n    index += op.length(nextOp);\n  }\n  return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  var ops = [];\n  var firstOther = otherIter.peek();\n  if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n    var firstLeft = firstOther.retain;\n    while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n      firstLeft -= thisIter.peekLength();\n      ops.push(thisIter.next());\n    }\n    if (firstOther.retain - firstLeft > 0) {\n      otherIter.next(firstOther.retain - firstLeft);\n    }\n  }\n  var delta = new Delta(ops);\n  while (thisIter.hasNext() || otherIter.hasNext()) {\n    if (otherIter.peekType() === 'insert') {\n      delta.push(otherIter.next());\n    } else if (thisIter.peekType() === 'delete') {\n      delta.push(thisIter.next());\n    } else {\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n      var thisOp = thisIter.next(length);\n      var otherOp = otherIter.next(length);\n      if (typeof otherOp.retain === 'number') {\n        var newOp = {};\n        if (typeof thisOp.retain === 'number') {\n          newOp.retain = length;\n        } else {\n          newOp.insert = thisOp.insert;\n        }\n        // Preserve null when composing with a retain, otherwise remove it for inserts\n        var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n        if (attributes) newOp.attributes = attributes;\n        delta.push(newOp);\n\n        // Optimization if rest of other is just retain\n        if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n          var rest = new Delta(thisIter.rest());\n          return delta.concat(rest).chop();\n        }\n\n      // Other op should be delete, we could be an insert or retain\n      // Insert + delete cancels out\n      } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n        delta.push(otherOp);\n      }\n    }\n  }\n  return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n  var delta = new Delta(this.ops.slice());\n  if (other.ops.length > 0) {\n    delta.push(other.ops[0]);\n    delta.ops = delta.ops.concat(other.ops.slice(1));\n  }\n  return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n  if (this.ops === other.ops) {\n    return new Delta();\n  }\n  var strings = [this, other].map(function (delta) {\n    return delta.map(function (op) {\n      if (op.insert != null) {\n        return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n      }\n      var prep = (delta === other) ? 'on' : 'with';\n      throw new Error('diff() called ' + prep + ' non-document');\n    }).join('');\n  });\n  var delta = new Delta();\n  var diffResult = diff(strings[0], strings[1], index);\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  diffResult.forEach(function (component) {\n    var length = component[1].length;\n    while (length > 0) {\n      var opLength = 0;\n      switch (component[0]) {\n        case diff.INSERT:\n          opLength = Math.min(otherIter.peekLength(), length);\n          delta.push(otherIter.next(opLength));\n          break;\n        case diff.DELETE:\n          opLength = Math.min(length, thisIter.peekLength());\n          thisIter.next(opLength);\n          delta['delete'](opLength);\n          break;\n        case diff.EQUAL:\n          opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n          var thisOp = thisIter.next(opLength);\n          var otherOp = otherIter.next(opLength);\n          if (equal(thisOp.insert, otherOp.insert)) {\n            delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n          } else {\n            delta.push(otherOp)['delete'](opLength);\n          }\n          break;\n      }\n      length -= opLength;\n    }\n  });\n  return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n  newline = newline || '\\n';\n  var iter = op.iterator(this.ops);\n  var line = new Delta();\n  var i = 0;\n  while (iter.hasNext()) {\n    if (iter.peekType() !== 'insert') return;\n    var thisOp = iter.peek();\n    var start = op.length(thisOp) - iter.peekLength();\n    var index = typeof thisOp.insert === 'string' ?\n      thisOp.insert.indexOf(newline, start) - start : -1;\n    if (index < 0) {\n      line.push(iter.next());\n    } else if (index > 0) {\n      line.push(iter.next(index));\n    } else {\n      if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n        return;\n      }\n      i += 1;\n      line = new Delta();\n    }\n  }\n  if (line.length() > 0) {\n    predicate(line, {}, i);\n  }\n};\n\nDelta.prototype.transform = function (other, priority) {\n  priority = !!priority;\n  if (typeof other === 'number') {\n    return this.transformPosition(other, priority);\n  }\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  var delta = new Delta();\n  while (thisIter.hasNext() || otherIter.hasNext()) {\n    if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n      delta.retain(op.length(thisIter.next()));\n    } else if (otherIter.peekType() === 'insert') {\n      delta.push(otherIter.next());\n    } else {\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n      var thisOp = thisIter.next(length);\n      var otherOp = otherIter.next(length);\n      if (thisOp['delete']) {\n        // Our delete either makes their delete redundant or removes their retain\n        continue;\n      } else if (otherOp['delete']) {\n        delta.push(otherOp);\n      } else {\n        // We retain either their retain or insert\n        delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n      }\n    }\n  }\n  return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n  priority = !!priority;\n  var thisIter = op.iterator(this.ops);\n  var offset = 0;\n  while (thisIter.hasNext() && offset <= index) {\n    var length = thisIter.peekLength();\n    var nextType = thisIter.peekType();\n    thisIter.next();\n    if (nextType === 'delete') {\n      index -= Math.min(length, index - offset);\n      continue;\n    } else if (nextType === 'insert' && (offset < index || !priority)) {\n      index += length;\n    }\n    offset += length;\n  }\n  return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n  _inherits(BlockEmbed, _Parchment$Embed);\n\n  function BlockEmbed() {\n    _classCallCheck(this, BlockEmbed);\n\n    return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n  }\n\n  _createClass(BlockEmbed, [{\n    key: 'attach',\n    value: function attach() {\n      _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n      this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n    }\n  }, {\n    key: 'delta',\n    value: function delta() {\n      return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n      if (attribute != null) {\n        this.attributes.attribute(attribute, value);\n      }\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      this.format(name, value);\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (typeof value === 'string' && value.endsWith('\\n')) {\n        var block = _parchment2.default.create(Block.blotName);\n        this.parent.insertBefore(block, index === 0 ? this : this.next);\n        block.insertAt(0, value.slice(0, -1));\n      } else {\n        _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n      }\n    }\n  }]);\n\n  return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n  _inherits(Block, _Parchment$Block);\n\n  function Block(domNode) {\n    _classCallCheck(this, Block);\n\n    var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n    _this2.cache = {};\n    return _this2;\n  }\n\n  _createClass(Block, [{\n    key: 'delta',\n    value: function delta() {\n      if (this.cache.delta == null) {\n        this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n          if (leaf.length() === 0) {\n            return delta;\n          } else {\n            return delta.insert(leaf.value(), bubbleFormats(leaf));\n          }\n        }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n      }\n      return this.cache.delta;\n    }\n  }, {\n    key: 'deleteAt',\n    value: function deleteAt(index, length) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n      this.cache = {};\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (length <= 0) return;\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n        if (index + length === this.length()) {\n          this.format(name, value);\n        }\n      } else {\n        _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n      }\n      this.cache = {};\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n      if (value.length === 0) return;\n      var lines = value.split('\\n');\n      var text = lines.shift();\n      if (text.length > 0) {\n        if (index < this.length() - 1 || this.children.tail == null) {\n          _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n        } else {\n          this.children.tail.insertAt(this.children.tail.length(), text);\n        }\n        this.cache = {};\n      }\n      var block = this;\n      lines.reduce(function (index, line) {\n        block = block.split(index, true);\n        block.insertAt(0, line);\n        return line.length;\n      }, index + text.length);\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      var head = this.children.head;\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n      if (head instanceof _break2.default) {\n        head.remove();\n      }\n      this.cache = {};\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      if (this.cache.length == null) {\n        this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n      }\n      return this.cache.length;\n    }\n  }, {\n    key: 'moveChildren',\n    value: function moveChildren(target, ref) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n      this.cache = {};\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n      this.cache = {};\n    }\n  }, {\n    key: 'path',\n    value: function path(index) {\n      return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n    }\n  }, {\n    key: 'removeChild',\n    value: function removeChild(child) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n      this.cache = {};\n    }\n  }, {\n    key: 'split',\n    value: function split(index) {\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n        var clone = this.clone();\n        if (index === 0) {\n          this.parent.insertBefore(clone, this);\n          return this;\n        } else {\n          this.parent.insertBefore(clone, this.next);\n          return clone;\n        }\n      } else {\n        var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n        this.cache = {};\n        return next;\n      }\n    }\n  }]);\n\n  return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n  var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  if (blot == null) return formats;\n  if (typeof blot.formats === 'function') {\n    formats = (0, _extend2.default)(formats, blot.formats());\n  }\n  if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n    return formats;\n  }\n  return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(51);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(35);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n  _createClass(Quill, null, [{\n    key: 'debug',\n    value: function debug(limit) {\n      if (limit === true) {\n        limit = 'log';\n      }\n      _logger2.default.level(limit);\n    }\n  }, {\n    key: 'find',\n    value: function find(node) {\n      return node.__quill || _parchment2.default.find(node);\n    }\n  }, {\n    key: 'import',\n    value: function _import(name) {\n      if (this.imports[name] == null) {\n        debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n      }\n      return this.imports[name];\n    }\n  }, {\n    key: 'register',\n    value: function register(path, target) {\n      var _this = this;\n\n      var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n      if (typeof path !== 'string') {\n        var name = path.attrName || path.blotName;\n        if (typeof name === 'string') {\n          // register(Blot | Attributor, overwrite)\n          this.register('formats/' + name, path, target);\n        } else {\n          Object.keys(path).forEach(function (key) {\n            _this.register(key, path[key], target);\n          });\n        }\n      } else {\n        if (this.imports[path] != null && !overwrite) {\n          debug.warn('Overwriting ' + path + ' with', target);\n        }\n        this.imports[path] = target;\n        if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n          _parchment2.default.register(target);\n        } else if (path.startsWith('modules') && typeof target.register === 'function') {\n          target.register();\n        }\n      }\n    }\n  }]);\n\n  function Quill(container) {\n    var _this2 = this;\n\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    _classCallCheck(this, Quill);\n\n    this.options = expandConfig(container, options);\n    this.container = this.options.container;\n    if (this.container == null) {\n      return debug.error('Invalid Quill container', container);\n    }\n    if (this.options.debug) {\n      Quill.debug(this.options.debug);\n    }\n    var html = this.container.innerHTML.trim();\n    this.container.classList.add('ql-container');\n    this.container.innerHTML = '';\n    this.container.__quill = this;\n    this.root = this.addContainer('ql-editor');\n    this.root.classList.add('ql-blank');\n    this.root.setAttribute('data-gramm', false);\n    this.scrollingContainer = this.options.scrollingContainer || this.root;\n    this.emitter = new _emitter4.default();\n    this.scroll = _parchment2.default.create(this.root, {\n      emitter: this.emitter,\n      whitelist: this.options.formats\n    });\n    this.editor = new _editor2.default(this.scroll);\n    this.selection = new _selection2.default(this.scroll, this.emitter);\n    this.theme = new this.options.theme(this, this.options);\n    this.keyboard = this.theme.addModule('keyboard');\n    this.clipboard = this.theme.addModule('clipboard');\n    this.history = this.theme.addModule('history');\n    this.theme.init();\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n      if (type === _emitter4.default.events.TEXT_CHANGE) {\n        _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n      }\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n      var range = _this2.selection.lastRange;\n      var index = range && range.length === 0 ? range.index : undefined;\n      modify.call(_this2, function () {\n        return _this2.editor.update(null, mutations, index);\n      }, source);\n    });\n    var contents = this.clipboard.convert('<div class=\\'ql-editor\\' style=\"white-space: normal;\">' + html + '<p><br></p></div>');\n    this.setContents(contents);\n    this.history.clear();\n    if (this.options.placeholder) {\n      this.root.setAttribute('data-placeholder', this.options.placeholder);\n    }\n    if (this.options.readOnly) {\n      this.disable();\n    }\n  }\n\n  _createClass(Quill, [{\n    key: 'addContainer',\n    value: function addContainer(container) {\n      var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      if (typeof container === 'string') {\n        var className = container;\n        container = document.createElement('div');\n        container.classList.add(className);\n      }\n      this.container.insertBefore(container, refNode);\n      return container;\n    }\n  }, {\n    key: 'blur',\n    value: function blur() {\n      this.selection.setRange(null);\n    }\n  }, {\n    key: 'deleteText',\n    value: function deleteText(index, length, source) {\n      var _this3 = this;\n\n      var _overload = overload(index, length, source);\n\n      var _overload2 = _slicedToArray(_overload, 4);\n\n      index = _overload2[0];\n      length = _overload2[1];\n      source = _overload2[3];\n\n      return modify.call(this, function () {\n        return _this3.editor.deleteText(index, length);\n      }, source, index, -1 * length);\n    }\n  }, {\n    key: 'disable',\n    value: function disable() {\n      this.enable(false);\n    }\n  }, {\n    key: 'enable',\n    value: function enable() {\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      this.scroll.enable(enabled);\n      this.container.classList.toggle('ql-disabled', !enabled);\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      var scrollTop = this.scrollingContainer.scrollTop;\n      this.selection.focus();\n      this.scrollingContainer.scrollTop = scrollTop;\n      this.scrollIntoView();\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      var _this4 = this;\n\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        var range = _this4.getSelection(true);\n        var change = new _quillDelta2.default();\n        if (range == null) {\n          return change;\n        } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n          change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n        } else if (range.length === 0) {\n          _this4.selection.format(name, value);\n          return change;\n        } else {\n          change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n        }\n        _this4.setSelection(range, _emitter4.default.sources.SILENT);\n        return change;\n      }, source);\n    }\n  }, {\n    key: 'formatLine',\n    value: function formatLine(index, length, name, value, source) {\n      var _this5 = this;\n\n      var formats = void 0;\n\n      var _overload3 = overload(index, length, name, value, source);\n\n      var _overload4 = _slicedToArray(_overload3, 4);\n\n      index = _overload4[0];\n      length = _overload4[1];\n      formats = _overload4[2];\n      source = _overload4[3];\n\n      return modify.call(this, function () {\n        return _this5.editor.formatLine(index, length, formats);\n      }, source, index, 0);\n    }\n  }, {\n    key: 'formatText',\n    value: function formatText(index, length, name, value, source) {\n      var _this6 = this;\n\n      var formats = void 0;\n\n      var _overload5 = overload(index, length, name, value, source);\n\n      var _overload6 = _slicedToArray(_overload5, 4);\n\n      index = _overload6[0];\n      length = _overload6[1];\n      formats = _overload6[2];\n      source = _overload6[3];\n\n      return modify.call(this, function () {\n        return _this6.editor.formatText(index, length, formats);\n      }, source, index, 0);\n    }\n  }, {\n    key: 'getBounds',\n    value: function getBounds(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var bounds = void 0;\n      if (typeof index === 'number') {\n        bounds = this.selection.getBounds(index, length);\n      } else {\n        bounds = this.selection.getBounds(index.index, index.length);\n      }\n      var containerBounds = this.container.getBoundingClientRect();\n      return {\n        bottom: bounds.bottom - containerBounds.top,\n        height: bounds.height,\n        left: bounds.left - containerBounds.left,\n        right: bounds.right - containerBounds.left,\n        top: bounds.top - containerBounds.top,\n        width: bounds.width\n      };\n    }\n  }, {\n    key: 'getContents',\n    value: function getContents() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n      var _overload7 = overload(index, length);\n\n      var _overload8 = _slicedToArray(_overload7, 2);\n\n      index = _overload8[0];\n      length = _overload8[1];\n\n      return this.editor.getContents(index, length);\n    }\n  }, {\n    key: 'getFormat',\n    value: function getFormat() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      if (typeof index === 'number') {\n        return this.editor.getFormat(index, length);\n      } else {\n        return this.editor.getFormat(index.index, index.length);\n      }\n    }\n  }, {\n    key: 'getIndex',\n    value: function getIndex(blot) {\n      return blot.offset(this.scroll);\n    }\n  }, {\n    key: 'getLength',\n    value: function getLength() {\n      return this.scroll.length();\n    }\n  }, {\n    key: 'getLeaf',\n    value: function getLeaf(index) {\n      return this.scroll.leaf(index);\n    }\n  }, {\n    key: 'getLine',\n    value: function getLine(index) {\n      return this.scroll.line(index);\n    }\n  }, {\n    key: 'getLines',\n    value: function getLines() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n      if (typeof index !== 'number') {\n        return this.scroll.lines(index.index, index.length);\n      } else {\n        return this.scroll.lines(index, length);\n      }\n    }\n  }, {\n    key: 'getModule',\n    value: function getModule(name) {\n      return this.theme.modules[name];\n    }\n  }, {\n    key: 'getSelection',\n    value: function getSelection() {\n      var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (focus) this.focus();\n      this.update(); // Make sure we access getRange with editor in consistent state\n      return this.selection.getRange()[0];\n    }\n  }, {\n    key: 'getText',\n    value: function getText() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n      var _overload9 = overload(index, length);\n\n      var _overload10 = _slicedToArray(_overload9, 2);\n\n      index = _overload10[0];\n      length = _overload10[1];\n\n      return this.editor.getText(index, length);\n    }\n  }, {\n    key: 'hasFocus',\n    value: function hasFocus() {\n      return this.selection.hasFocus();\n    }\n  }, {\n    key: 'insertEmbed',\n    value: function insertEmbed(index, embed, value) {\n      var _this7 = this;\n\n      var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n      return modify.call(this, function () {\n        return _this7.editor.insertEmbed(index, embed, value);\n      }, source, index);\n    }\n  }, {\n    key: 'insertText',\n    value: function insertText(index, text, name, value, source) {\n      var _this8 = this;\n\n      var formats = void 0;\n\n      var _overload11 = overload(index, 0, name, value, source);\n\n      var _overload12 = _slicedToArray(_overload11, 4);\n\n      index = _overload12[0];\n      formats = _overload12[2];\n      source = _overload12[3];\n\n      return modify.call(this, function () {\n        return _this8.editor.insertText(index, text, formats);\n      }, source, index, text.length);\n    }\n  }, {\n    key: 'isEnabled',\n    value: function isEnabled() {\n      return !this.container.classList.contains('ql-disabled');\n    }\n  }, {\n    key: 'off',\n    value: function off() {\n      return this.emitter.off.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'on',\n    value: function on() {\n      return this.emitter.on.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'once',\n    value: function once() {\n      return this.emitter.once.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'pasteHTML',\n    value: function pasteHTML(index, html, source) {\n      this.clipboard.dangerouslyPasteHTML(index, html, source);\n    }\n  }, {\n    key: 'removeFormat',\n    value: function removeFormat(index, length, source) {\n      var _this9 = this;\n\n      var _overload13 = overload(index, length, source);\n\n      var _overload14 = _slicedToArray(_overload13, 4);\n\n      index = _overload14[0];\n      length = _overload14[1];\n      source = _overload14[3];\n\n      return modify.call(this, function () {\n        return _this9.editor.removeFormat(index, length);\n      }, source, index);\n    }\n  }, {\n    key: 'scrollIntoView',\n    value: function scrollIntoView() {\n      this.selection.scrollIntoView(this.scrollingContainer);\n    }\n  }, {\n    key: 'setContents',\n    value: function setContents(delta) {\n      var _this10 = this;\n\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        delta = new _quillDelta2.default(delta);\n        var length = _this10.getLength();\n        var deleted = _this10.editor.deleteText(0, length);\n        var applied = _this10.editor.applyDelta(delta);\n        var lastOp = applied.ops[applied.ops.length - 1];\n        if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n          _this10.editor.deleteText(_this10.getLength() - 1, 1);\n          applied.delete(1);\n        }\n        var ret = deleted.compose(applied);\n        return ret;\n      }, source);\n    }\n  }, {\n    key: 'setSelection',\n    value: function setSelection(index, length, source) {\n      if (index == null) {\n        this.selection.setRange(null, length || Quill.sources.API);\n      } else {\n        var _overload15 = overload(index, length, source);\n\n        var _overload16 = _slicedToArray(_overload15, 4);\n\n        index = _overload16[0];\n        length = _overload16[1];\n        source = _overload16[3];\n\n        this.selection.setRange(new _selection.Range(index, length), source);\n        if (source !== _emitter4.default.sources.SILENT) {\n          this.selection.scrollIntoView(this.scrollingContainer);\n        }\n      }\n    }\n  }, {\n    key: 'setText',\n    value: function setText(text) {\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      var delta = new _quillDelta2.default().insert(text);\n      return this.setContents(delta, source);\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n      var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n      this.selection.update(source);\n      return change;\n    }\n  }, {\n    key: 'updateContents',\n    value: function updateContents(delta) {\n      var _this11 = this;\n\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        delta = new _quillDelta2.default(delta);\n        return _this11.editor.applyDelta(delta, source);\n      }, source, true);\n    }\n  }]);\n\n  return Quill;\n}();\n\nQuill.DEFAULTS = {\n  bounds: null,\n  formats: null,\n  modules: {},\n  placeholder: '',\n  readOnly: false,\n  scrollingContainer: null,\n  strict: true,\n  theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version =  false ? 'dev' : \"1.3.6\";\n\nQuill.imports = {\n  'delta': _quillDelta2.default,\n  'parchment': _parchment2.default,\n  'core/module': _module2.default,\n  'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n  userConfig = (0, _extend2.default)(true, {\n    container: container,\n    modules: {\n      clipboard: true,\n      keyboard: true,\n      history: true\n    }\n  }, userConfig);\n  if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n    userConfig.theme = _theme2.default;\n  } else {\n    userConfig.theme = Quill.import('themes/' + userConfig.theme);\n    if (userConfig.theme == null) {\n      throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n    }\n  }\n  var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n  [themeConfig, userConfig].forEach(function (config) {\n    config.modules = config.modules || {};\n    Object.keys(config.modules).forEach(function (module) {\n      if (config.modules[module] === true) {\n        config.modules[module] = {};\n      }\n    });\n  });\n  var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n  var moduleConfig = moduleNames.reduce(function (config, name) {\n    var moduleClass = Quill.import('modules/' + name);\n    if (moduleClass == null) {\n      debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n    } else {\n      config[name] = moduleClass.DEFAULTS || {};\n    }\n    return config;\n  }, {});\n  // Special case toolbar shorthand\n  if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n    userConfig.modules.toolbar = {\n      container: userConfig.modules.toolbar\n    };\n  }\n  userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n  ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n    if (typeof userConfig[key] === 'string') {\n      userConfig[key] = document.querySelector(userConfig[key]);\n    }\n  });\n  userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n    if (userConfig.modules[name]) {\n      config[name] = userConfig.modules[name];\n    }\n    return config;\n  }, {});\n  return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n  if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n    return new _quillDelta2.default();\n  }\n  var range = index == null ? null : this.getSelection();\n  var oldDelta = this.editor.delta;\n  var change = modifier();\n  if (range != null) {\n    if (index === true) index = range.index;\n    if (shift == null) {\n      range = shiftRange(range, change, source);\n    } else if (shift !== 0) {\n      range = shiftRange(range, index, shift, source);\n    }\n    this.setSelection(range, _emitter4.default.sources.SILENT);\n  }\n  if (change.length() > 0) {\n    var _emitter;\n\n    var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n    (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n    if (source !== _emitter4.default.sources.SILENT) {\n      var _emitter2;\n\n      (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n    }\n  }\n  return change;\n}\n\nfunction overload(index, length, name, value, source) {\n  var formats = {};\n  if (typeof index.index === 'number' && typeof index.length === 'number') {\n    // Allow for throwaway end (used by insertText/insertEmbed)\n    if (typeof length !== 'number') {\n      source = value, value = name, name = length, length = index.length, index = index.index;\n    } else {\n      length = index.length, index = index.index;\n    }\n  } else if (typeof length !== 'number') {\n    source = value, value = name, name = length, length = 0;\n  }\n  // Handle format being object, two format name/value strings or excluded\n  if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n    formats = name;\n    source = value;\n  } else if (typeof name === 'string') {\n    if (value != null) {\n      formats[name] = value;\n    } else {\n      source = name;\n    }\n  }\n  // Handle optional source\n  source = source || _emitter4.default.sources.API;\n  return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n  if (range == null) return null;\n  var start = void 0,\n      end = void 0;\n  if (index instanceof _quillDelta2.default) {\n    var _map = [range.index, range.index + range.length].map(function (pos) {\n      return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n    });\n\n    var _map2 = _slicedToArray(_map, 2);\n\n    start = _map2[0];\n    end = _map2[1];\n  } else {\n    var _map3 = [range.index, range.index + range.length].map(function (pos) {\n      if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n      if (length >= 0) {\n        return pos + length;\n      } else {\n        return Math.max(index, pos + length);\n      }\n    });\n\n    var _map4 = _slicedToArray(_map3, 2);\n\n    start = _map4[0];\n    end = _map4[1];\n  }\n  return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n  _inherits(Inline, _Parchment$Inline);\n\n  function Inline() {\n    _classCallCheck(this, Inline);\n\n    return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n  }\n\n  _createClass(Inline, [{\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n        var blot = this.isolate(index, length);\n        if (value) {\n          blot.wrap(name, value);\n        }\n      } else {\n        _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n      if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n        var parent = this.parent.isolate(this.offset(), this.length());\n        this.moveChildren(parent);\n        parent.wrap(this);\n      }\n    }\n  }], [{\n    key: 'compare',\n    value: function compare(self, other) {\n      var selfIndex = Inline.order.indexOf(self);\n      var otherIndex = Inline.order.indexOf(other);\n      if (selfIndex >= 0 || otherIndex >= 0) {\n        return selfIndex - otherIndex;\n      } else if (self === other) {\n        return 0;\n      } else if (self < other) {\n        return -1;\n      } else {\n        return 1;\n      }\n    }\n  }]);\n\n  return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n  _inherits(TextBlot, _Parchment$Text);\n\n  function TextBlot() {\n    _classCallCheck(this, TextBlot);\n\n    return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n  }\n\n  return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(55);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _shadowSelectionPolyfill = __webpack_require__(34);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = [_shadowSelectionPolyfill.SHADOW_SELECTIONCHANGE, 'mousedown', 'mouseup', 'click'];\nvar EMITTERS = [];\nvar supportsRootNode = 'getRootNode' in document;\n\nEVENTS.forEach(function (eventName) {\n  document.addEventListener(eventName, function () {\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    EMITTERS.forEach(function (em) {\n      em.handleDOM.apply(em, args);\n    });\n  });\n});\n\nvar Emitter = function (_EventEmitter) {\n  _inherits(Emitter, _EventEmitter);\n\n  function Emitter() {\n    _classCallCheck(this, Emitter);\n\n    var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n    _this.listeners = {};\n    EMITTERS.push(_this);\n    _this.on('error', debug.error);\n    return _this;\n  }\n\n  _createClass(Emitter, [{\n    key: 'emit',\n    value: function emit() {\n      debug.log.apply(debug, arguments);\n      _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n    }\n  }, {\n    key: 'handleDOM',\n    value: function handleDOM(event) {\n      for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      var target = event.composedPath ? event.composedPath()[0] : event.target;\n      var containsNode = function containsNode(node, target) {\n        if (!supportsRootNode || target.getRootNode() === document) {\n          return node.contains(target);\n        }\n\n        while (!node.contains(target)) {\n          var root = target.getRootNode();\n          if (!root || !root.host) {\n            return false;\n          }\n          target = root.host;\n        }\n\n        return true;\n      };\n\n      (this.listeners[event.type] || []).forEach(function (_ref) {\n        var node = _ref.node,\n            handler = _ref.handler;\n\n        if (target === node || containsNode(node, target)) {\n          handler.apply(undefined, [event].concat(args));\n        }\n      });\n    }\n  }, {\n    key: 'listenDOM',\n    value: function listenDOM(eventName, node, handler) {\n      if (!this.listeners[eventName]) {\n        this.listeners[eventName] = [];\n      }\n      this.listeners[eventName].push({ node: node, handler: handler });\n    }\n  }]);\n\n  return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n  EDITOR_CHANGE: 'editor-change',\n  SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n  SCROLL_OPTIMIZE: 'scroll-optimize',\n  SCROLL_UPDATE: 'scroll-update',\n  SELECTION_CHANGE: 'selection-change',\n  TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n  API: 'api',\n  SILENT: 'silent',\n  USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  _classCallCheck(this, Module);\n\n  this.quill = quill;\n  this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n  if (levels.indexOf(method) <= levels.indexOf(level)) {\n    var _console;\n\n    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n  }\n}\n\nfunction namespace(ns) {\n  return levels.reduce(function (logger, method) {\n    logger[method] = debug.bind(console, method, ns);\n    return logger;\n  }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n  level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(53);\nvar isArguments = __webpack_require__(54);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n  if (!opts) opts = {};\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (actual === expected) {\n    return true;\n\n  } else if (actual instanceof Date && expected instanceof Date) {\n    return actual.getTime() === expected.getTime();\n\n  // 7.3. Other pairs that do not both pass typeof value == 'object',\n  // equivalence is determined by ==.\n  } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n    return opts.strict ? actual === expected : actual == expected;\n\n  // 7.4. For all other Object pairs, including Array objects, equivalence is\n  // determined by having the same number of owned properties (as verified\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\n  // (although not necessarily the same order), equivalent values for every\n  // corresponding key, and an identical 'prototype' property. Note: this\n  // accounts for both named and indexed properties on Arrays.\n  } else {\n    return objEquiv(actual, expected, opts);\n  }\n}\n\nfunction isUndefinedOrNull(value) {\n  return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n    return false;\n  }\n  if (x.length > 0 && typeof x[0] !== 'number') return false;\n  return true;\n}\n\nfunction objEquiv(a, b, opts) {\n  var i, key;\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n    return false;\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) return false;\n  //~~~I've managed to break Object.keys through screwy arguments passing.\n  //   Converting to array solves the problem.\n  if (isArguments(a)) {\n    if (!isArguments(b)) {\n      return false;\n    }\n    a = pSlice.call(a);\n    b = pSlice.call(b);\n    return deepEqual(a, b, opts);\n  }\n  if (isBuffer(a)) {\n    if (!isBuffer(b)) {\n      return false;\n    }\n    if (a.length !== b.length) return false;\n    for (i = 0; i < a.length; i++) {\n      if (a[i] !== b[i]) return false;\n    }\n    return true;\n  }\n  try {\n    var ka = objectKeys(a),\n        kb = objectKeys(b);\n  } catch (e) {//happens when one is a string literal and the other isn't\n    return false;\n  }\n  // having the same number of owned properties (keys incorporates\n  // hasOwnProperty)\n  if (ka.length != kb.length)\n    return false;\n  //the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  //~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i])\n      return false;\n  }\n  //equivalent values for every corresponding key, and\n  //~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!deepEqual(a[key], b[key], opts)) return false;\n  }\n  return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n    function Attributor(attrName, keyName, options) {\n        if (options === void 0) { options = {}; }\n        this.attrName = attrName;\n        this.keyName = keyName;\n        var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n        if (options.scope != null) {\n            // Ignore type bits, force attribute bit\n            this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n        }\n        else {\n            this.scope = Registry.Scope.ATTRIBUTE;\n        }\n        if (options.whitelist != null)\n            this.whitelist = options.whitelist;\n    }\n    Attributor.keys = function (node) {\n        return [].map.call(node.attributes, function (item) {\n            return item.name;\n        });\n    };\n    Attributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        node.setAttribute(this.keyName, value);\n        return true;\n    };\n    Attributor.prototype.canAdd = function (node, value) {\n        var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n        if (match == null)\n            return false;\n        if (this.whitelist == null)\n            return true;\n        if (typeof value === 'string') {\n            return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n        }\n        else {\n            return this.whitelist.indexOf(value) > -1;\n        }\n    };\n    Attributor.prototype.remove = function (node) {\n        node.removeAttribute(this.keyName);\n    };\n    Attributor.prototype.value = function (node) {\n        var value = node.getAttribute(this.keyName);\n        if (this.canAdd(node, value) && value) {\n            return value;\n        }\n        return '';\n    };\n    return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n  _inherits(Code, _Inline);\n\n  function Code() {\n    _classCallCheck(this, Code);\n\n    return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n  }\n\n  return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n  _inherits(CodeBlock, _Block);\n\n  function CodeBlock() {\n    _classCallCheck(this, CodeBlock);\n\n    return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n  }\n\n  _createClass(CodeBlock, [{\n    key: 'delta',\n    value: function delta() {\n      var _this3 = this;\n\n      var text = this.domNode.textContent;\n      if (text.endsWith('\\n')) {\n        // Should always be true\n        text = text.slice(0, -1);\n      }\n      return text.split('\\n').reduce(function (delta, frag) {\n        return delta.insert(frag).insert('\\n', _this3.formats());\n      }, new _quillDelta2.default());\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      if (name === this.statics.blotName && value) return;\n\n      var _descendant = this.descendant(_text2.default, this.length() - 1),\n          _descendant2 = _slicedToArray(_descendant, 1),\n          text = _descendant2[0];\n\n      if (text != null) {\n        text.deleteAt(text.length() - 1, 1);\n      }\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (length === 0) return;\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n        return;\n      }\n      var nextNewline = this.newlineIndex(index);\n      if (nextNewline < 0 || nextNewline >= index + length) return;\n      var prevNewline = this.newlineIndex(index, true) + 1;\n      var isolateLength = nextNewline - prevNewline + 1;\n      var blot = this.isolate(prevNewline, isolateLength);\n      var next = blot.next;\n      blot.format(name, value);\n      if (next instanceof CodeBlock) {\n        next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n      }\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null) return;\n\n      var _descendant3 = this.descendant(_text2.default, index),\n          _descendant4 = _slicedToArray(_descendant3, 2),\n          text = _descendant4[0],\n          offset = _descendant4[1];\n\n      text.insertAt(offset, value);\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      var length = this.domNode.textContent.length;\n      if (!this.domNode.textContent.endsWith('\\n')) {\n        return length + 1;\n      }\n      return length;\n    }\n  }, {\n    key: 'newlineIndex',\n    value: function newlineIndex(searchIndex) {\n      var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (!reverse) {\n        var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n        return offset > -1 ? searchIndex + offset : -1;\n      } else {\n        return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      if (!this.domNode.textContent.endsWith('\\n')) {\n        this.appendChild(_parchment2.default.create('text', '\\n'));\n      }\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n      var next = this.next;\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n        next.optimize(context);\n        next.moveChildren(this);\n        next.remove();\n      }\n    }\n  }, {\n    key: 'replace',\n    value: function replace(target) {\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n      [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n        var blot = _parchment2.default.find(node);\n        if (blot == null) {\n          node.parentNode.removeChild(node);\n        } else if (blot instanceof _parchment2.default.Embed) {\n          blot.remove();\n        } else {\n          blot.unwrap();\n        }\n      });\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n      domNode.setAttribute('spellcheck', false);\n      return domNode;\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      return true;\n    }\n  }]);\n\n  return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = '  ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n  function Editor(scroll) {\n    _classCallCheck(this, Editor);\n\n    this.scroll = scroll;\n    this.delta = this.getDelta();\n  }\n\n  _createClass(Editor, [{\n    key: 'applyDelta',\n    value: function applyDelta(delta) {\n      var _this = this;\n\n      var consumeNextNewline = false;\n      this.scroll.update();\n      var scrollLength = this.scroll.length();\n      this.scroll.batchStart();\n      delta = normalizeDelta(delta);\n      delta.reduce(function (index, op) {\n        var length = op.retain || op.delete || op.insert.length || 1;\n        var attributes = op.attributes || {};\n        if (op.insert != null) {\n          if (typeof op.insert === 'string') {\n            var text = op.insert;\n            if (text.endsWith('\\n') && consumeNextNewline) {\n              consumeNextNewline = false;\n              text = text.slice(0, -1);\n            }\n            if (index >= scrollLength && !text.endsWith('\\n')) {\n              consumeNextNewline = true;\n            }\n            _this.scroll.insertAt(index, text);\n\n            var _scroll$line = _this.scroll.line(index),\n                _scroll$line2 = _slicedToArray(_scroll$line, 2),\n                line = _scroll$line2[0],\n                offset = _scroll$line2[1];\n\n            var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n            if (line instanceof _block2.default) {\n              var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n                  _line$descendant2 = _slicedToArray(_line$descendant, 1),\n                  leaf = _line$descendant2[0];\n\n              formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n            }\n            attributes = _op2.default.attributes.diff(formats, attributes) || {};\n          } else if (_typeof(op.insert) === 'object') {\n            var key = Object.keys(op.insert)[0]; // There should only be one key\n            if (key == null) return index;\n            _this.scroll.insertAt(index, key, op.insert[key]);\n          }\n          scrollLength += length;\n        }\n        Object.keys(attributes).forEach(function (name) {\n          _this.scroll.formatAt(index, length, name, attributes[name]);\n        });\n        return index + length;\n      }, 0);\n      delta.reduce(function (index, op) {\n        if (typeof op.delete === 'number') {\n          _this.scroll.deleteAt(index, op.delete);\n          return index;\n        }\n        return index + (op.retain || op.insert.length || 1);\n      }, 0);\n      this.scroll.batchEnd();\n      return this.update(delta);\n    }\n  }, {\n    key: 'deleteText',\n    value: function deleteText(index, length) {\n      this.scroll.deleteAt(index, length);\n      return this.update(new _quillDelta2.default().retain(index).delete(length));\n    }\n  }, {\n    key: 'formatLine',\n    value: function formatLine(index, length) {\n      var _this2 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      this.scroll.update();\n      Object.keys(formats).forEach(function (format) {\n        if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n        var lines = _this2.scroll.lines(index, Math.max(length, 1));\n        var lengthRemaining = length;\n        lines.forEach(function (line) {\n          var lineLength = line.length();\n          if (!(line instanceof _code2.default)) {\n            line.format(format, formats[format]);\n          } else {\n            var codeIndex = index - line.offset(_this2.scroll);\n            var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n            line.formatAt(codeIndex, codeLength, format, formats[format]);\n          }\n          lengthRemaining -= lineLength;\n        });\n      });\n      this.scroll.optimize();\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'formatText',\n    value: function formatText(index, length) {\n      var _this3 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      Object.keys(formats).forEach(function (format) {\n        _this3.scroll.formatAt(index, length, format, formats[format]);\n      });\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'getContents',\n    value: function getContents(index, length) {\n      return this.delta.slice(index, index + length);\n    }\n  }, {\n    key: 'getDelta',\n    value: function getDelta() {\n      return this.scroll.lines().reduce(function (delta, line) {\n        return delta.concat(line.delta());\n      }, new _quillDelta2.default());\n    }\n  }, {\n    key: 'getFormat',\n    value: function getFormat(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var lines = [],\n          leaves = [];\n      if (length === 0) {\n        this.scroll.path(index).forEach(function (path) {\n          var _path = _slicedToArray(path, 1),\n              blot = _path[0];\n\n          if (blot instanceof _block2.default) {\n            lines.push(blot);\n          } else if (blot instanceof _parchment2.default.Leaf) {\n            leaves.push(blot);\n          }\n        });\n      } else {\n        lines = this.scroll.lines(index, length);\n        leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n      }\n      var formatsArr = [lines, leaves].map(function (blots) {\n        if (blots.length === 0) return {};\n        var formats = (0, _block.bubbleFormats)(blots.shift());\n        while (Object.keys(formats).length > 0) {\n          var blot = blots.shift();\n          if (blot == null) return formats;\n          formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n        }\n        return formats;\n      });\n      return _extend2.default.apply(_extend2.default, formatsArr);\n    }\n  }, {\n    key: 'getText',\n    value: function getText(index, length) {\n      return this.getContents(index, length).filter(function (op) {\n        return typeof op.insert === 'string';\n      }).map(function (op) {\n        return op.insert;\n      }).join('');\n    }\n  }, {\n    key: 'insertEmbed',\n    value: function insertEmbed(index, embed, value) {\n      this.scroll.insertAt(index, embed, value);\n      return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n    }\n  }, {\n    key: 'insertText',\n    value: function insertText(index, text) {\n      var _this4 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n      this.scroll.insertAt(index, text);\n      Object.keys(formats).forEach(function (format) {\n        _this4.scroll.formatAt(index, text.length, format, formats[format]);\n      });\n      return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'isBlank',\n    value: function isBlank() {\n      if (this.scroll.children.length == 0) return true;\n      if (this.scroll.children.length > 1) return false;\n      var block = this.scroll.children.head;\n      if (block.statics.blotName !== _block2.default.blotName) return false;\n      if (block.children.length > 1) return false;\n      return block.children.head instanceof _break2.default;\n    }\n  }, {\n    key: 'removeFormat',\n    value: function removeFormat(index, length) {\n      var text = this.getText(index, length);\n\n      var _scroll$line3 = this.scroll.line(index + length),\n          _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n          line = _scroll$line4[0],\n          offset = _scroll$line4[1];\n\n      var suffixLength = 0,\n          suffix = new _quillDelta2.default();\n      if (line != null) {\n        if (!(line instanceof _code2.default)) {\n          suffixLength = line.length() - offset;\n        } else {\n          suffixLength = line.newlineIndex(offset) - offset + 1;\n        }\n        suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n      }\n      var contents = this.getContents(index, length + suffixLength);\n      var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n      var delta = new _quillDelta2.default().retain(index).concat(diff);\n      return this.applyDelta(delta);\n    }\n  }, {\n    key: 'update',\n    value: function update(change) {\n      var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n      var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n      var oldDelta = this.delta;\n      if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n        // Optimization for character changes\n        var textBlot = _parchment2.default.find(mutations[0].target);\n        var formats = (0, _block.bubbleFormats)(textBlot);\n        var index = textBlot.offset(this.scroll);\n        var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n        var oldText = new _quillDelta2.default().insert(oldValue);\n        var newText = new _quillDelta2.default().insert(textBlot.value());\n        var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n        change = diffDelta.reduce(function (delta, op) {\n          if (op.insert) {\n            return delta.insert(op.insert, formats);\n          } else {\n            return delta.push(op);\n          }\n        }, new _quillDelta2.default());\n        this.delta = oldDelta.compose(change);\n      } else {\n        this.delta = this.getDelta();\n        if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n          change = oldDelta.diff(this.delta, cursorIndex);\n        }\n      }\n      return change;\n    }\n  }]);\n\n  return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n  return Object.keys(combined).reduce(function (merged, name) {\n    if (formats[name] == null) return merged;\n    if (combined[name] === formats[name]) {\n      merged[name] = combined[name];\n    } else if (Array.isArray(combined[name])) {\n      if (combined[name].indexOf(formats[name]) < 0) {\n        merged[name] = combined[name].concat([formats[name]]);\n      }\n    } else {\n      merged[name] = [combined[name], formats[name]];\n    }\n    return merged;\n  }, {});\n}\n\nfunction normalizeDelta(delta) {\n  return delta.reduce(function (delta, op) {\n    if (op.insert === 1) {\n      var attributes = (0, _clone2.default)(op.attributes);\n      delete attributes['image'];\n      return delta.insert({ image: op.attributes.image }, attributes);\n    }\n    if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n      op = (0, _clone2.default)(op);\n      if (op.attributes.list) {\n        op.attributes.list = 'ordered';\n      } else {\n        op.attributes.list = 'bullet';\n        delete op.attributes.bullet;\n      }\n    }\n    if (typeof op.insert === 'string') {\n      var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n      return delta.insert(text, op.attributes);\n    }\n    return delta.push(op);\n  }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _shadowSelectionPolyfill = __webpack_require__(34);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n  _classCallCheck(this, Range);\n\n  this.index = index;\n  this.length = length;\n};\n\nvar Selection = function () {\n  function Selection(scroll, emitter) {\n    var _this = this;\n\n    _classCallCheck(this, Selection);\n\n    this.emitter = emitter;\n    this.scroll = scroll;\n    this.composing = false;\n    this.mouseDown = false;\n    this.root = this.scroll.domNode;\n    this.rootDocument = this.root.getRootNode ? this.root.getRootNode() : document;\n    this.cursor = _parchment2.default.create('cursor', this);\n    // savedRange is last non-null range\n    this.lastRange = this.savedRange = new Range(0, 0);\n    this.handleComposition();\n    this.handleDragging();\n    this.emitter.listenDOM(_shadowSelectionPolyfill.SHADOW_SELECTIONCHANGE, document, function () {\n      if (!_this.mouseDown) {\n        setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n      }\n    });\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n      if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n        _this.update(_emitter4.default.sources.SILENT);\n      }\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n      if (!_this.hasFocus()) return;\n      var native = _this.getNativeRange();\n      if (native == null) return;\n      if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n      // TODO unclear if this has negative side effects\n      _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n        try {\n          _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n        } catch (ignored) {}\n      });\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n      if (context.range) {\n        var _context$range = context.range,\n            startNode = _context$range.startNode,\n            startOffset = _context$range.startOffset,\n            endNode = _context$range.endNode,\n            endOffset = _context$range.endOffset;\n\n        _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n      }\n    });\n    this.update(_emitter4.default.sources.SILENT);\n  }\n\n  _createClass(Selection, [{\n    key: 'handleComposition',\n    value: function handleComposition() {\n      var _this2 = this;\n\n      this.root.addEventListener('compositionstart', function () {\n        _this2.composing = true;\n      });\n      this.root.addEventListener('compositionend', function () {\n        _this2.composing = false;\n        if (_this2.cursor.parent) {\n          var range = _this2.cursor.restore();\n          if (!range) return;\n          setTimeout(function () {\n            _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n          }, 1);\n        }\n      });\n    }\n  }, {\n    key: 'handleDragging',\n    value: function handleDragging() {\n      var _this3 = this;\n\n      this.emitter.listenDOM('mousedown', document.body, function () {\n        _this3.mouseDown = true;\n      });\n      this.emitter.listenDOM('mouseup', document.body, function () {\n        _this3.mouseDown = false;\n        _this3.update(_emitter4.default.sources.USER);\n      });\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      if (this.hasFocus()) return;\n      this.root.focus();\n      this.setRange(this.savedRange);\n    }\n  }, {\n    key: 'format',\n    value: function format(_format, value) {\n      if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n      this.scroll.update();\n      var nativeRange = this.getNativeRange();\n      if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n      if (nativeRange.start.node !== this.cursor.textNode) {\n        var blot = _parchment2.default.find(nativeRange.start.node, false);\n        if (blot == null) return;\n        // TODO Give blot ability to not split\n        if (blot instanceof _parchment2.default.Leaf) {\n          var after = blot.split(nativeRange.start.offset);\n          blot.parent.insertBefore(this.cursor, after);\n        } else {\n          blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n        }\n        this.cursor.attach();\n      }\n      this.cursor.format(_format, value);\n      this.scroll.optimize();\n      this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n      this.update();\n    }\n  }, {\n    key: 'getBounds',\n    value: function getBounds(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var scrollLength = this.scroll.length();\n      index = Math.min(index, scrollLength - 1);\n      length = Math.min(index + length, scrollLength - 1) - index;\n      var node = void 0,\n          _scroll$leaf = this.scroll.leaf(index),\n          _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n          leaf = _scroll$leaf2[0],\n          offset = _scroll$leaf2[1];\n      if (leaf == null) return null;\n\n      var _leaf$position = leaf.position(offset, true);\n\n      var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n      node = _leaf$position2[0];\n      offset = _leaf$position2[1];\n\n      var range = document.createRange();\n      if (length > 0) {\n        range.setStart(node, offset);\n\n        var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n        var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n        leaf = _scroll$leaf4[0];\n        offset = _scroll$leaf4[1];\n\n        if (leaf == null) return null;\n\n        var _leaf$position3 = leaf.position(offset, true);\n\n        var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n        node = _leaf$position4[0];\n        offset = _leaf$position4[1];\n\n        range.setEnd(node, offset);\n        return range.getBoundingClientRect();\n      } else {\n        var side = 'left';\n        var rect = void 0;\n        if (node instanceof Text) {\n          if (offset < node.data.length) {\n            range.setStart(node, offset);\n            range.setEnd(node, offset + 1);\n          } else {\n            range.setStart(node, offset - 1);\n            range.setEnd(node, offset);\n            side = 'right';\n          }\n          rect = range.getBoundingClientRect();\n        } else {\n          rect = leaf.domNode.getBoundingClientRect();\n          if (offset > 0) side = 'right';\n        }\n        return {\n          bottom: rect.top + rect.height,\n          height: rect.height,\n          left: rect[side],\n          right: rect[side],\n          top: rect.top,\n          width: 0\n        };\n      }\n    }\n  }, {\n    key: 'getNativeRange',\n    value: function getNativeRange() {\n      var nativeRange = (0, _shadowSelectionPolyfill.getRange)(this.rootDocument);\n      if (nativeRange == null) return null;\n      var range = this.normalizeNative(nativeRange);\n      debug.info('getNativeRange', range);\n      return range;\n    }\n  }, {\n    key: 'getRange',\n    value: function getRange() {\n      var normalized = this.getNativeRange();\n      if (normalized == null) return [null, null];\n      var range = this.normalizedToRange(normalized);\n      return [range, normalized];\n    }\n  }, {\n    key: 'hasFocus',\n    value: function hasFocus() {\n      return this.rootDocument.activeElement === this.root;\n    }\n  }, {\n    key: 'normalizedToRange',\n    value: function normalizedToRange(range) {\n      var _this4 = this;\n\n      var positions = [[range.start.node, range.start.offset]];\n      if (!range.native.collapsed) {\n        positions.push([range.end.node, range.end.offset]);\n      }\n      var indexes = positions.map(function (position) {\n        var _position = _slicedToArray(position, 2),\n            node = _position[0],\n            offset = _position[1];\n\n        var blot = _parchment2.default.find(node, true);\n        var index = blot.offset(_this4.scroll);\n        if (offset === 0) {\n          return index;\n        } else if (blot instanceof _parchment2.default.Container) {\n          return index + blot.length();\n        } else {\n          return index + blot.index(node, offset);\n        }\n      });\n      var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n      var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n      return new Range(start, end - start);\n    }\n  }, {\n    key: 'normalizeNative',\n    value: function normalizeNative(nativeRange) {\n      if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n        return null;\n      }\n      var range = {\n        start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n        end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n        native: nativeRange\n      };\n      [range.start, range.end].forEach(function (position) {\n        var node = position.node,\n            offset = position.offset;\n        while (!(node instanceof Text) && node.childNodes.length > 0) {\n          if (node.childNodes.length > offset) {\n            node = node.childNodes[offset];\n            offset = 0;\n          } else if (node.childNodes.length === offset) {\n            node = node.lastChild;\n            offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n          } else {\n            break;\n          }\n        }\n        position.node = node, position.offset = offset;\n      });\n      return range;\n    }\n  }, {\n    key: 'rangeToNative',\n    value: function rangeToNative(range) {\n      var _this5 = this;\n\n      var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n      var args = [];\n      var scrollLength = this.scroll.length();\n      indexes.forEach(function (index, i) {\n        index = Math.min(scrollLength - 1, index);\n        var node = void 0,\n            _scroll$leaf5 = _this5.scroll.leaf(index),\n            _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n            leaf = _scroll$leaf6[0],\n            offset = _scroll$leaf6[1];\n        var _leaf$position5 = leaf.position(offset, i !== 0);\n\n        var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n        node = _leaf$position6[0];\n        offset = _leaf$position6[1];\n\n        args.push(node, offset);\n      });\n      if (args.length < 2) {\n        args = args.concat(args);\n      }\n      return args;\n    }\n  }, {\n    key: 'scrollIntoView',\n    value: function scrollIntoView(scrollingContainer) {\n      var range = this.lastRange;\n      if (range == null) return;\n      var bounds = this.getBounds(range.index, range.length);\n      if (bounds == null) return;\n      var limit = this.scroll.length() - 1;\n\n      var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n          _scroll$line2 = _slicedToArray(_scroll$line, 1),\n          first = _scroll$line2[0];\n\n      var last = first;\n      if (range.length > 0) {\n        var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n        var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n        last = _scroll$line4[0];\n      }\n      if (first == null || last == null) return;\n      var scrollBounds = scrollingContainer.getBoundingClientRect();\n      if (bounds.top < scrollBounds.top) {\n        scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n      } else if (bounds.bottom > scrollBounds.bottom) {\n        scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n      }\n    }\n  }, {\n    key: 'setNativeRange',\n    value: function setNativeRange(startNode, startOffset) {\n      var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n      var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n      var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n      debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n      if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n        return;\n      }\n      var selection = typeof this.rootDocument.getSelection === 'function' ? this.rootDocument.getSelection() : document.getSelection();\n      if (selection == null) return;\n      if (startNode != null) {\n        if (!this.hasFocus()) this.root.focus();\n        var native = (this.getNativeRange() || {}).native;\n        if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n          if (startNode.tagName == \"BR\") {\n            startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n            startNode = startNode.parentNode;\n          }\n          if (endNode.tagName == \"BR\") {\n            endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n            endNode = endNode.parentNode;\n          }\n          var range = document.createRange();\n          range.setStart(startNode, startOffset);\n          range.setEnd(endNode, endOffset);\n          selection.removeAllRanges();\n          selection.addRange(range);\n        }\n      } else {\n        selection.removeAllRanges();\n        this.root.blur();\n        document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n      }\n    }\n  }, {\n    key: 'setRange',\n    value: function setRange(range) {\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n      if (typeof force === 'string') {\n        source = force;\n        force = false;\n      }\n      debug.info('setRange', range);\n      if (range != null) {\n        var args = this.rangeToNative(range);\n        this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n      } else {\n        this.setNativeRange(null);\n      }\n      this.update(source);\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n      var oldRange = this.lastRange;\n\n      var _getRange = this.getRange(),\n          _getRange2 = _slicedToArray(_getRange, 2),\n          lastRange = _getRange2[0],\n          nativeRange = _getRange2[1];\n\n      this.lastRange = lastRange;\n      if (this.lastRange != null) {\n        this.savedRange = this.lastRange;\n      }\n      if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n        var _emitter;\n\n        if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n          this.cursor.restore();\n        }\n        var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n        (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n        if (source !== _emitter4.default.sources.SILENT) {\n          var _emitter2;\n\n          (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n        }\n      }\n    }\n  }]);\n\n  return Selection;\n}();\n\nfunction contains(parent, descendant) {\n  try {\n    // Firefox inserts inaccessible nodes around video elements\n    descendant.parentNode;\n  } catch (e) {\n    return false;\n  }\n  // IE11 has bug with Text nodes\n  // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n  if (descendant instanceof Text) {\n    descendant = descendant.parentNode;\n  }\n  return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n  _inherits(Break, _Parchment$Embed);\n\n  function Break() {\n    _classCallCheck(this, Break);\n\n    return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n  }\n\n  _createClass(Break, [{\n    key: 'insertInto',\n    value: function insertInto(parent, ref) {\n      if (parent.children.length === 0) {\n        _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n      } else {\n        this.remove();\n      }\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      return 0;\n    }\n  }, {\n    key: 'value',\n    value: function value() {\n      return '';\n    }\n  }], [{\n    key: 'value',\n    value: function value() {\n      return undefined;\n    }\n  }]);\n\n  return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(45);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n    __extends(ContainerBlot, _super);\n    function ContainerBlot(domNode) {\n        var _this = _super.call(this, domNode) || this;\n        _this.build();\n        return _this;\n    }\n    ContainerBlot.prototype.appendChild = function (other) {\n        this.insertBefore(other);\n    };\n    ContainerBlot.prototype.attach = function () {\n        _super.prototype.attach.call(this);\n        this.children.forEach(function (child) {\n            child.attach();\n        });\n    };\n    ContainerBlot.prototype.build = function () {\n        var _this = this;\n        this.children = new linked_list_1.default();\n        // Need to be reversed for if DOM nodes already in order\n        [].slice\n            .call(this.domNode.childNodes)\n            .reverse()\n            .forEach(function (node) {\n            try {\n                var child = makeBlot(node);\n                _this.insertBefore(child, _this.children.head || undefined);\n            }\n            catch (err) {\n                if (err instanceof Registry.ParchmentError)\n                    return;\n                else\n                    throw err;\n            }\n        });\n    };\n    ContainerBlot.prototype.deleteAt = function (index, length) {\n        if (index === 0 && length === this.length()) {\n            return this.remove();\n        }\n        this.children.forEachAt(index, length, function (child, offset, length) {\n            child.deleteAt(offset, length);\n        });\n    };\n    ContainerBlot.prototype.descendant = function (criteria, index) {\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\n        if ((criteria.blotName == null && criteria(child)) ||\n            (criteria.blotName != null && child instanceof criteria)) {\n            return [child, offset];\n        }\n        else if (child instanceof ContainerBlot) {\n            return child.descendant(criteria, offset);\n        }\n        else {\n            return [null, -1];\n        }\n    };\n    ContainerBlot.prototype.descendants = function (criteria, index, length) {\n        if (index === void 0) { index = 0; }\n        if (length === void 0) { length = Number.MAX_VALUE; }\n        var descendants = [];\n        var lengthLeft = length;\n        this.children.forEachAt(index, length, function (child, index, length) {\n            if ((criteria.blotName == null && criteria(child)) ||\n                (criteria.blotName != null && child instanceof criteria)) {\n                descendants.push(child);\n            }\n            if (child instanceof ContainerBlot) {\n                descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n            }\n            lengthLeft -= length;\n        });\n        return descendants;\n    };\n    ContainerBlot.prototype.detach = function () {\n        this.children.forEach(function (child) {\n            child.detach();\n        });\n        _super.prototype.detach.call(this);\n    };\n    ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n        this.children.forEachAt(index, length, function (child, offset, length) {\n            child.formatAt(offset, length, name, value);\n        });\n    };\n    ContainerBlot.prototype.insertAt = function (index, value, def) {\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\n        if (child) {\n            child.insertAt(offset, value, def);\n        }\n        else {\n            var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n            this.appendChild(blot);\n        }\n    };\n    ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n        if (this.statics.allowedChildren != null &&\n            !this.statics.allowedChildren.some(function (child) {\n                return childBlot instanceof child;\n            })) {\n            throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n        }\n        childBlot.insertInto(this, refBlot);\n    };\n    ContainerBlot.prototype.length = function () {\n        return this.children.reduce(function (memo, child) {\n            return memo + child.length();\n        }, 0);\n    };\n    ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n        this.children.forEach(function (child) {\n            targetParent.insertBefore(child, refNode);\n        });\n    };\n    ContainerBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        if (this.children.length === 0) {\n            if (this.statics.defaultChild != null) {\n                var child = Registry.create(this.statics.defaultChild);\n                this.appendChild(child);\n                child.optimize(context);\n            }\n            else {\n                this.remove();\n            }\n        }\n    };\n    ContainerBlot.prototype.path = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n        var position = [[this, index]];\n        if (child instanceof ContainerBlot) {\n            return position.concat(child.path(offset, inclusive));\n        }\n        else if (child != null) {\n            position.push([child, offset]);\n        }\n        return position;\n    };\n    ContainerBlot.prototype.removeChild = function (child) {\n        this.children.remove(child);\n    };\n    ContainerBlot.prototype.replace = function (target) {\n        if (target instanceof ContainerBlot) {\n            target.moveChildren(this);\n        }\n        _super.prototype.replace.call(this, target);\n    };\n    ContainerBlot.prototype.split = function (index, force) {\n        if (force === void 0) { force = false; }\n        if (!force) {\n            if (index === 0)\n                return this;\n            if (index === this.length())\n                return this.next;\n        }\n        var after = this.clone();\n        this.parent.insertBefore(after, this.next);\n        this.children.forEachAt(index, this.length(), function (child, offset, length) {\n            child = child.split(offset, force);\n            after.appendChild(child);\n        });\n        return after;\n    };\n    ContainerBlot.prototype.unwrap = function () {\n        this.moveChildren(this.parent, this.next);\n        this.remove();\n    };\n    ContainerBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        var addedNodes = [];\n        var removedNodes = [];\n        mutations.forEach(function (mutation) {\n            if (mutation.target === _this.domNode && mutation.type === 'childList') {\n                addedNodes.push.apply(addedNodes, mutation.addedNodes);\n                removedNodes.push.apply(removedNodes, mutation.removedNodes);\n            }\n        });\n        removedNodes.forEach(function (node) {\n            // Check node has actually been removed\n            // One exception is Chrome does not immediately remove IFRAMEs\n            // from DOM but MutationRecord is correct in its reported removal\n            if (node.parentNode != null &&\n                // @ts-ignore\n                node.tagName !== 'IFRAME' &&\n                document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n                return;\n            }\n            var blot = Registry.find(node);\n            if (blot == null)\n                return;\n            if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n                blot.detach();\n            }\n        });\n        addedNodes\n            .filter(function (node) {\n            return node.parentNode == _this.domNode;\n        })\n            .sort(function (a, b) {\n            if (a === b)\n                return 0;\n            if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n                return 1;\n            }\n            return -1;\n        })\n            .forEach(function (node) {\n            var refBlot = null;\n            if (node.nextSibling != null) {\n                refBlot = Registry.find(node.nextSibling);\n            }\n            var blot = makeBlot(node);\n            if (blot.next != refBlot || blot.next == null) {\n                if (blot.parent != null) {\n                    blot.parent.removeChild(_this);\n                }\n                _this.insertBefore(blot, refBlot || undefined);\n            }\n        });\n    };\n    return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n    var blot = Registry.find(node);\n    if (blot == null) {\n        try {\n            blot = Registry.create(node);\n        }\n        catch (e) {\n            blot = Registry.create(Registry.Scope.INLINE);\n            [].slice.call(node.childNodes).forEach(function (child) {\n                // @ts-ignore\n                blot.domNode.appendChild(child);\n            });\n            if (node.parentNode) {\n                node.parentNode.replaceChild(blot.domNode, node);\n            }\n            blot.attach();\n        }\n    }\n    return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n    __extends(FormatBlot, _super);\n    function FormatBlot(domNode) {\n        var _this = _super.call(this, domNode) || this;\n        _this.attributes = new store_1.default(_this.domNode);\n        return _this;\n    }\n    FormatBlot.formats = function (domNode) {\n        if (typeof this.tagName === 'string') {\n            return true;\n        }\n        else if (Array.isArray(this.tagName)) {\n            return domNode.tagName.toLowerCase();\n        }\n        return undefined;\n    };\n    FormatBlot.prototype.format = function (name, value) {\n        var format = Registry.query(name);\n        if (format instanceof attributor_1.default) {\n            this.attributes.attribute(format, value);\n        }\n        else if (value) {\n            if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n                this.replaceWith(name, value);\n            }\n        }\n    };\n    FormatBlot.prototype.formats = function () {\n        var formats = this.attributes.values();\n        var format = this.statics.formats(this.domNode);\n        if (format != null) {\n            formats[this.statics.blotName] = format;\n        }\n        return formats;\n    };\n    FormatBlot.prototype.replaceWith = function (name, value) {\n        var replacement = _super.prototype.replaceWith.call(this, name, value);\n        this.attributes.copy(replacement);\n        return replacement;\n    };\n    FormatBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        _super.prototype.update.call(this, mutations, context);\n        if (mutations.some(function (mutation) {\n            return mutation.target === _this.domNode && mutation.type === 'attributes';\n        })) {\n            this.attributes.build();\n        }\n    };\n    FormatBlot.prototype.wrap = function (name, value) {\n        var wrapper = _super.prototype.wrap.call(this, name, value);\n        if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n            this.attributes.move(wrapper);\n        }\n        return wrapper;\n    };\n    return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n    __extends(LeafBlot, _super);\n    function LeafBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    LeafBlot.value = function (domNode) {\n        return true;\n    };\n    LeafBlot.prototype.index = function (node, offset) {\n        if (this.domNode === node ||\n            this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n            return Math.min(offset, 1);\n        }\n        return -1;\n    };\n    LeafBlot.prototype.position = function (index, inclusive) {\n        var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n        if (index > 0)\n            offset += 1;\n        return [this.parent.domNode, offset];\n    };\n    LeafBlot.prototype.value = function () {\n        var _a;\n        return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n    };\n    LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n    return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n  attributes: {\n    compose: function (a, b, keepNull) {\n      if (typeof a !== 'object') a = {};\n      if (typeof b !== 'object') b = {};\n      var attributes = extend(true, {}, b);\n      if (!keepNull) {\n        attributes = Object.keys(attributes).reduce(function (copy, key) {\n          if (attributes[key] != null) {\n            copy[key] = attributes[key];\n          }\n          return copy;\n        }, {});\n      }\n      for (var key in a) {\n        if (a[key] !== undefined && b[key] === undefined) {\n          attributes[key] = a[key];\n        }\n      }\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    },\n\n    diff: function(a, b) {\n      if (typeof a !== 'object') a = {};\n      if (typeof b !== 'object') b = {};\n      var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n        if (!equal(a[key], b[key])) {\n          attributes[key] = b[key] === undefined ? null : b[key];\n        }\n        return attributes;\n      }, {});\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    },\n\n    transform: function (a, b, priority) {\n      if (typeof a !== 'object') return b;\n      if (typeof b !== 'object') return undefined;\n      if (!priority) return b;  // b simply overwrites us without priority\n      var attributes = Object.keys(b).reduce(function (attributes, key) {\n        if (a[key] === undefined) attributes[key] = b[key];  // null is a valid value\n        return attributes;\n      }, {});\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    }\n  },\n\n  iterator: function (ops) {\n    return new Iterator(ops);\n  },\n\n  length: function (op) {\n    if (typeof op['delete'] === 'number') {\n      return op['delete'];\n    } else if (typeof op.retain === 'number') {\n      return op.retain;\n    } else {\n      return typeof op.insert === 'string' ? op.insert.length : 1;\n    }\n  }\n};\n\n\nfunction Iterator(ops) {\n  this.ops = ops;\n  this.index = 0;\n  this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n  return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n  if (!length) length = Infinity;\n  var nextOp = this.ops[this.index];\n  if (nextOp) {\n    var offset = this.offset;\n    var opLength = lib.length(nextOp)\n    if (length >= opLength - offset) {\n      length = opLength - offset;\n      this.index += 1;\n      this.offset = 0;\n    } else {\n      this.offset += length;\n    }\n    if (typeof nextOp['delete'] === 'number') {\n      return { 'delete': length };\n    } else {\n      var retOp = {};\n      if (nextOp.attributes) {\n        retOp.attributes = nextOp.attributes;\n      }\n      if (typeof nextOp.retain === 'number') {\n        retOp.retain = length;\n      } else if (typeof nextOp.insert === 'string') {\n        retOp.insert = nextOp.insert.substr(offset, length);\n      } else {\n        // offset should === 0, length should === 1\n        retOp.insert = nextOp.insert;\n      }\n      return retOp;\n    }\n  } else {\n    return { retain: Infinity };\n  }\n};\n\nIterator.prototype.peek = function () {\n  return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n  if (this.ops[this.index]) {\n    // Should never return 0 if our index is being managed correctly\n    return lib.length(this.ops[this.index]) - this.offset;\n  } else {\n    return Infinity;\n  }\n};\n\nIterator.prototype.peekType = function () {\n  if (this.ops[this.index]) {\n    if (typeof this.ops[this.index]['delete'] === 'number') {\n      return 'delete';\n    } else if (typeof this.ops[this.index].retain === 'number') {\n      return 'retain';\n    } else {\n      return 'insert';\n    }\n  }\n  return 'retain';\n};\n\nIterator.prototype.rest = function () {\n  if (!this.hasNext()) {\n    return [];\n  } else if (this.offset === 0) {\n    return this.ops.slice(this.index);\n  } else {\n    var offset = this.offset;\n    var index = this.index;\n    var next = this.next();\n    var rest = this.ops.slice(this.index);\n    this.offset = offset;\n    this.index = index;\n    return [next].concat(rest);\n  }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n  return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n  nativeMap = Map;\n} catch(_) {\n  // maybe a reference error because no `Map`. Give it a dummy value that no\n  // value will ever be an instanceof.\n  nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n  nativeSet = Set;\n} catch(_) {\n  nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n  nativePromise = Promise;\n} catch(_) {\n  nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n *    circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n *    a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n *    (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n *    should be cloned as well. Non-enumerable properties on the prototype\n *    chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n  if (typeof circular === 'object') {\n    depth = circular.depth;\n    prototype = circular.prototype;\n    includeNonEnumerable = circular.includeNonEnumerable;\n    circular = circular.circular;\n  }\n  // maintain two arrays for circular references, where corresponding parents\n  // and children have the same index\n  var allParents = [];\n  var allChildren = [];\n\n  var useBuffer = typeof Buffer != 'undefined';\n\n  if (typeof circular == 'undefined')\n    circular = true;\n\n  if (typeof depth == 'undefined')\n    depth = Infinity;\n\n  // recurse this function so we don't reset allParents and allChildren\n  function _clone(parent, depth) {\n    // cloning null always returns null\n    if (parent === null)\n      return null;\n\n    if (depth === 0)\n      return parent;\n\n    var child;\n    var proto;\n    if (typeof parent != 'object') {\n      return parent;\n    }\n\n    if (_instanceof(parent, nativeMap)) {\n      child = new nativeMap();\n    } else if (_instanceof(parent, nativeSet)) {\n      child = new nativeSet();\n    } else if (_instanceof(parent, nativePromise)) {\n      child = new nativePromise(function (resolve, reject) {\n        parent.then(function(value) {\n          resolve(_clone(value, depth - 1));\n        }, function(err) {\n          reject(_clone(err, depth - 1));\n        });\n      });\n    } else if (clone.__isArray(parent)) {\n      child = [];\n    } else if (clone.__isRegExp(parent)) {\n      child = new RegExp(parent.source, __getRegExpFlags(parent));\n      if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n    } else if (clone.__isDate(parent)) {\n      child = new Date(parent.getTime());\n    } else if (useBuffer && Buffer.isBuffer(parent)) {\n      if (Buffer.allocUnsafe) {\n        // Node.js >= 4.5.0\n        child = Buffer.allocUnsafe(parent.length);\n      } else {\n        // Older Node.js versions\n        child = new Buffer(parent.length);\n      }\n      parent.copy(child);\n      return child;\n    } else if (_instanceof(parent, Error)) {\n      child = Object.create(parent);\n    } else {\n      if (typeof prototype == 'undefined') {\n        proto = Object.getPrototypeOf(parent);\n        child = Object.create(proto);\n      }\n      else {\n        child = Object.create(prototype);\n        proto = prototype;\n      }\n    }\n\n    if (circular) {\n      var index = allParents.indexOf(parent);\n\n      if (index != -1) {\n        return allChildren[index];\n      }\n      allParents.push(parent);\n      allChildren.push(child);\n    }\n\n    if (_instanceof(parent, nativeMap)) {\n      parent.forEach(function(value, key) {\n        var keyChild = _clone(key, depth - 1);\n        var valueChild = _clone(value, depth - 1);\n        child.set(keyChild, valueChild);\n      });\n    }\n    if (_instanceof(parent, nativeSet)) {\n      parent.forEach(function(value) {\n        var entryChild = _clone(value, depth - 1);\n        child.add(entryChild);\n      });\n    }\n\n    for (var i in parent) {\n      var attrs;\n      if (proto) {\n        attrs = Object.getOwnPropertyDescriptor(proto, i);\n      }\n\n      if (attrs && attrs.set == null) {\n        continue;\n      }\n      child[i] = _clone(parent[i], depth - 1);\n    }\n\n    if (Object.getOwnPropertySymbols) {\n      var symbols = Object.getOwnPropertySymbols(parent);\n      for (var i = 0; i < symbols.length; i++) {\n        // Don't need to worry about cloning a symbol because it is a primitive,\n        // like a number or string.\n        var symbol = symbols[i];\n        var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n        if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n          continue;\n        }\n        child[symbol] = _clone(parent[symbol], depth - 1);\n        if (!descriptor.enumerable) {\n          Object.defineProperty(child, symbol, {\n            enumerable: false\n          });\n        }\n      }\n    }\n\n    if (includeNonEnumerable) {\n      var allPropertyNames = Object.getOwnPropertyNames(parent);\n      for (var i = 0; i < allPropertyNames.length; i++) {\n        var propertyName = allPropertyNames[i];\n        var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n        if (descriptor && descriptor.enumerable) {\n          continue;\n        }\n        child[propertyName] = _clone(parent[propertyName], depth - 1);\n        Object.defineProperty(child, propertyName, {\n          enumerable: false\n        });\n      }\n    }\n\n    return child;\n  }\n\n  return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n  if (parent === null)\n    return null;\n\n  var c = function () {};\n  c.prototype = parent;\n  return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n  return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n  var flags = '';\n  if (re.global) flags += 'g';\n  if (re.ignoreCase) flags += 'i';\n  if (re.multiline) flags += 'm';\n  return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n  module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n  return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n  _inherits(Scroll, _Parchment$Scroll);\n\n  function Scroll(domNode, config) {\n    _classCallCheck(this, Scroll);\n\n    var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n    _this.emitter = config.emitter;\n    if (Array.isArray(config.whitelist)) {\n      _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n        whitelist[format] = true;\n        return whitelist;\n      }, {});\n    }\n    // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n    _this.domNode.addEventListener('DOMNodeInserted', function () {});\n    _this.optimize();\n    _this.enable();\n    return _this;\n  }\n\n  _createClass(Scroll, [{\n    key: 'batchStart',\n    value: function batchStart() {\n      this.batch = true;\n    }\n  }, {\n    key: 'batchEnd',\n    value: function batchEnd() {\n      this.batch = false;\n      this.optimize();\n    }\n  }, {\n    key: 'deleteAt',\n    value: function deleteAt(index, length) {\n      var _line = this.line(index),\n          _line2 = _slicedToArray(_line, 2),\n          first = _line2[0],\n          offset = _line2[1];\n\n      var _line3 = this.line(index + length),\n          _line4 = _slicedToArray(_line3, 1),\n          last = _line4[0];\n\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n      if (last != null && first !== last && offset > 0) {\n        if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n          this.optimize();\n          return;\n        }\n        if (first instanceof _code2.default) {\n          var newlineIndex = first.newlineIndex(first.length(), true);\n          if (newlineIndex > -1) {\n            first = first.split(newlineIndex + 1);\n            if (first === last) {\n              this.optimize();\n              return;\n            }\n          }\n        } else if (last instanceof _code2.default) {\n          var _newlineIndex = last.newlineIndex(0);\n          if (_newlineIndex > -1) {\n            last.split(_newlineIndex + 1);\n          }\n        }\n        var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n        first.moveChildren(last, ref);\n        first.remove();\n      }\n      this.optimize();\n    }\n  }, {\n    key: 'enable',\n    value: function enable() {\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      this.domNode.setAttribute('contenteditable', enabled);\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, format, value) {\n      if (this.whitelist != null && !this.whitelist[format]) return;\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n      this.optimize();\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n      if (index >= this.length()) {\n        if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n          var blot = _parchment2.default.create(this.statics.defaultChild);\n          this.appendChild(blot);\n          if (def == null && value.endsWith('\\n')) {\n            value = value.slice(0, -1);\n          }\n          blot.insertAt(0, value, def);\n        } else {\n          var embed = _parchment2.default.create(value, def);\n          this.appendChild(embed);\n        }\n      } else {\n        _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n      }\n      this.optimize();\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n        var wrapper = _parchment2.default.create(this.statics.defaultChild);\n        wrapper.appendChild(blot);\n        blot = wrapper;\n      }\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n    }\n  }, {\n    key: 'leaf',\n    value: function leaf(index) {\n      return this.path(index).pop() || [null, -1];\n    }\n  }, {\n    key: 'line',\n    value: function line(index) {\n      if (index === this.length()) {\n        return this.line(index - 1);\n      }\n      return this.descendant(isLine, index);\n    }\n  }, {\n    key: 'lines',\n    value: function lines() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n      var getLines = function getLines(blot, index, length) {\n        var lines = [],\n            lengthLeft = length;\n        blot.children.forEachAt(index, length, function (child, index, length) {\n          if (isLine(child)) {\n            lines.push(child);\n          } else if (child instanceof _parchment2.default.Container) {\n            lines = lines.concat(getLines(child, index, lengthLeft));\n          }\n          lengthLeft -= length;\n        });\n        return lines;\n      };\n      return getLines(this, index, length);\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize() {\n      var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      if (this.batch === true) return;\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n      }\n    }\n  }, {\n    key: 'path',\n    value: function path(index) {\n      return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations) {\n      if (this.batch === true) return;\n      var source = _emitter2.default.sources.USER;\n      if (typeof mutations === 'string') {\n        source = mutations;\n      }\n      if (!Array.isArray(mutations)) {\n        mutations = this.observer.takeRecords();\n      }\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n      }\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n      }\n    }\n  }]);\n\n  return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n  _inherits(Keyboard, _Module);\n\n  _createClass(Keyboard, null, [{\n    key: 'match',\n    value: function match(evt, binding) {\n      binding = normalize(binding);\n      if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n        return !!binding[key] !== evt[key] && binding[key] !== null;\n      })) {\n        return false;\n      }\n      return binding.key === (evt.which || evt.keyCode);\n    }\n  }]);\n\n  function Keyboard(quill, options) {\n    _classCallCheck(this, Keyboard);\n\n    var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n    _this.bindings = {};\n    Object.keys(_this.options.bindings).forEach(function (name) {\n      if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n        return;\n      }\n      if (_this.options.bindings[name]) {\n        _this.addBinding(_this.options.bindings[name]);\n      }\n    });\n    _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n    _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n    if (/Firefox/i.test(navigator.userAgent)) {\n      // Need to handle delete and backspace for Firefox in the general case #1171\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n    } else {\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n    }\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n    _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n    _this.listen();\n    return _this;\n  }\n\n  _createClass(Keyboard, [{\n    key: 'addBinding',\n    value: function addBinding(key) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      var binding = normalize(key);\n      if (binding == null || binding.key == null) {\n        return debug.warn('Attempted to add invalid keyboard binding', binding);\n      }\n      if (typeof context === 'function') {\n        context = { handler: context };\n      }\n      if (typeof handler === 'function') {\n        handler = { handler: handler };\n      }\n      binding = (0, _extend2.default)(binding, context, handler);\n      this.bindings[binding.key] = this.bindings[binding.key] || [];\n      this.bindings[binding.key].push(binding);\n    }\n  }, {\n    key: 'listen',\n    value: function listen() {\n      var _this2 = this;\n\n      this.quill.root.addEventListener('keydown', function (evt) {\n        if (evt.defaultPrevented) return;\n        var which = evt.which || evt.keyCode;\n        var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n          return Keyboard.match(evt, binding);\n        });\n        if (bindings.length === 0) return;\n        var range = _this2.quill.getSelection();\n        if (range == null || !_this2.quill.hasFocus()) return;\n\n        var _quill$getLine = _this2.quill.getLine(range.index),\n            _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n            line = _quill$getLine2[0],\n            offset = _quill$getLine2[1];\n\n        var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n            _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n            leafStart = _quill$getLeaf2[0],\n            offsetStart = _quill$getLeaf2[1];\n\n        var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n            _ref2 = _slicedToArray(_ref, 2),\n            leafEnd = _ref2[0],\n            offsetEnd = _ref2[1];\n\n        var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n        var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n        var curContext = {\n          collapsed: range.length === 0,\n          empty: range.length === 0 && line.length() <= 1,\n          format: _this2.quill.getFormat(range),\n          offset: offset,\n          prefix: prefixText,\n          suffix: suffixText\n        };\n        var prevented = bindings.some(function (binding) {\n          if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n          if (binding.empty != null && binding.empty !== curContext.empty) return false;\n          if (binding.offset != null && binding.offset !== curContext.offset) return false;\n          if (Array.isArray(binding.format)) {\n            // any format is present\n            if (binding.format.every(function (name) {\n              return curContext.format[name] == null;\n            })) {\n              return false;\n            }\n          } else if (_typeof(binding.format) === 'object') {\n            // all formats must match\n            if (!Object.keys(binding.format).every(function (name) {\n              if (binding.format[name] === true) return curContext.format[name] != null;\n              if (binding.format[name] === false) return curContext.format[name] == null;\n              return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n            })) {\n              return false;\n            }\n          }\n          if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n          if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n          return binding.handler.call(_this2, range, curContext) !== true;\n        });\n        if (prevented) {\n          evt.preventDefault();\n        }\n      });\n    }\n  }]);\n\n  return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n  BACKSPACE: 8,\n  TAB: 9,\n  ENTER: 13,\n  ESCAPE: 27,\n  LEFT: 37,\n  UP: 38,\n  RIGHT: 39,\n  DOWN: 40,\n  DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n  bindings: {\n    'bold': makeFormatHandler('bold'),\n    'italic': makeFormatHandler('italic'),\n    'underline': makeFormatHandler('underline'),\n    'indent': {\n      // highlight tab or tab at beginning of list, indent or blockquote\n      key: Keyboard.keys.TAB,\n      format: ['blockquote', 'indent', 'list'],\n      handler: function handler(range, context) {\n        if (context.collapsed && context.offset !== 0) return true;\n        this.quill.format('indent', '+1', _quill2.default.sources.USER);\n      }\n    },\n    'outdent': {\n      key: Keyboard.keys.TAB,\n      shiftKey: true,\n      format: ['blockquote', 'indent', 'list'],\n      // highlight tab or tab at beginning of list, indent or blockquote\n      handler: function handler(range, context) {\n        if (context.collapsed && context.offset !== 0) return true;\n        this.quill.format('indent', '-1', _quill2.default.sources.USER);\n      }\n    },\n    'outdent backspace': {\n      key: Keyboard.keys.BACKSPACE,\n      collapsed: true,\n      shiftKey: null,\n      metaKey: null,\n      ctrlKey: null,\n      altKey: null,\n      format: ['indent', 'list'],\n      offset: 0,\n      handler: function handler(range, context) {\n        if (context.format.indent != null) {\n          this.quill.format('indent', '-1', _quill2.default.sources.USER);\n        } else if (context.format.list != null) {\n          this.quill.format('list', false, _quill2.default.sources.USER);\n        }\n      }\n    },\n    'indent code-block': makeCodeBlockHandler(true),\n    'outdent code-block': makeCodeBlockHandler(false),\n    'remove tab': {\n      key: Keyboard.keys.TAB,\n      shiftKey: true,\n      collapsed: true,\n      prefix: /\\t$/,\n      handler: function handler(range) {\n        this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n      }\n    },\n    'tab': {\n      key: Keyboard.keys.TAB,\n      handler: function handler(range) {\n        this.quill.history.cutoff();\n        var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n      }\n    },\n    'list empty enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['list'],\n      empty: true,\n      handler: function handler(range, context) {\n        this.quill.format('list', false, _quill2.default.sources.USER);\n        if (context.format.indent) {\n          this.quill.format('indent', false, _quill2.default.sources.USER);\n        }\n      }\n    },\n    'checklist enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: { list: 'checked' },\n      handler: function handler(range) {\n        var _quill$getLine3 = this.quill.getLine(range.index),\n            _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n            line = _quill$getLine4[0],\n            offset = _quill$getLine4[1];\n\n        var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n        this.quill.scrollIntoView();\n      }\n    },\n    'header enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['header'],\n      suffix: /^$/,\n      handler: function handler(range, context) {\n        var _quill$getLine5 = this.quill.getLine(range.index),\n            _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n            line = _quill$getLine6[0],\n            offset = _quill$getLine6[1];\n\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n        this.quill.scrollIntoView();\n      }\n    },\n    'list autofill': {\n      key: ' ',\n      collapsed: true,\n      format: { list: false },\n      prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n      handler: function handler(range, context) {\n        var length = context.prefix.length;\n\n        var _quill$getLine7 = this.quill.getLine(range.index),\n            _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n            line = _quill$getLine8[0],\n            offset = _quill$getLine8[1];\n\n        if (offset > length) return true;\n        var value = void 0;\n        switch (context.prefix.trim()) {\n          case '[]':case '[ ]':\n            value = 'unchecked';\n            break;\n          case '[x]':\n            value = 'checked';\n            break;\n          case '-':case '*':\n            value = 'bullet';\n            break;\n          default:\n            value = 'ordered';\n        }\n        this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n      }\n    },\n    'code exit': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['code-block'],\n      prefix: /\\n\\n$/,\n      suffix: /^\\s+$/,\n      handler: function handler(range) {\n        var _quill$getLine9 = this.quill.getLine(range.index),\n            _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n            line = _quill$getLine10[0],\n            offset = _quill$getLine10[1];\n\n        var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n      }\n    },\n    'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n    'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n    'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n    'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n  }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n  var _ref3;\n\n  var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n  return _ref3 = {\n    key: key,\n    shiftKey: shiftKey,\n    altKey: null\n  }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n    var index = range.index;\n    if (key === Keyboard.keys.RIGHT) {\n      index += range.length + 1;\n    }\n\n    var _quill$getLeaf3 = this.quill.getLeaf(index),\n        _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n        leaf = _quill$getLeaf4[0];\n\n    if (!(leaf instanceof _parchment2.default.Embed)) return true;\n    if (key === Keyboard.keys.LEFT) {\n      if (shiftKey) {\n        this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n      } else {\n        this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n      }\n    } else {\n      if (shiftKey) {\n        this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n      } else {\n        this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n      }\n    }\n    return false;\n  }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n  if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n  var _quill$getLine11 = this.quill.getLine(range.index),\n      _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n      line = _quill$getLine12[0];\n\n  var formats = {};\n  if (context.offset === 0) {\n    var _quill$getLine13 = this.quill.getLine(range.index - 1),\n        _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n        prev = _quill$getLine14[0];\n\n    if (prev != null && prev.length() > 1) {\n      var curFormats = line.formats();\n      var prevFormats = this.quill.getFormat(range.index - 1, 1);\n      formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n    }\n  }\n  // Check for astral symbols\n  var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n  this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n  }\n  this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n  // Check for astral symbols\n  var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n  if (range.index >= this.quill.getLength() - length) return;\n  var formats = {},\n      nextLength = 0;\n\n  var _quill$getLine15 = this.quill.getLine(range.index),\n      _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n      line = _quill$getLine16[0];\n\n  if (context.offset >= line.length() - 1) {\n    var _quill$getLine17 = this.quill.getLine(range.index + 1),\n        _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n        next = _quill$getLine18[0];\n\n    if (next) {\n      var curFormats = line.formats();\n      var nextFormats = this.quill.getFormat(range.index, 1);\n      formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n      nextLength = next.length();\n    }\n  }\n  this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n  }\n}\n\nfunction handleDeleteRange(range) {\n  var lines = this.quill.getLines(range);\n  var formats = {};\n  if (lines.length > 1) {\n    var firstFormats = lines[0].formats();\n    var lastFormats = lines[lines.length - 1].formats();\n    formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n  }\n  this.quill.deleteText(range, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n  }\n  this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n  this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n  var _this3 = this;\n\n  if (range.length > 0) {\n    this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n  }\n  var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n    if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n      lineFormats[format] = context.format[format];\n    }\n    return lineFormats;\n  }, {});\n  this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n  // Earlier scroll.deleteAt might have messed up our selection,\n  // so insertText's built in selection preservation is not reliable\n  this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n  this.quill.focus();\n  Object.keys(context.format).forEach(function (name) {\n    if (lineFormats[name] != null) return;\n    if (Array.isArray(context.format[name])) return;\n    if (name === 'link') return;\n    _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n  });\n}\n\nfunction makeCodeBlockHandler(indent) {\n  return {\n    key: Keyboard.keys.TAB,\n    shiftKey: !indent,\n    format: { 'code-block': true },\n    handler: function handler(range) {\n      var CodeBlock = _parchment2.default.query('code-block');\n      var index = range.index,\n          length = range.length;\n\n      var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n          _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n          block = _quill$scroll$descend2[0],\n          offset = _quill$scroll$descend2[1];\n\n      if (block == null) return;\n      var scrollIndex = this.quill.getIndex(block);\n      var start = block.newlineIndex(offset, true) + 1;\n      var end = block.newlineIndex(scrollIndex + offset + length);\n      var lines = block.domNode.textContent.slice(start, end).split('\\n');\n      offset = 0;\n      lines.forEach(function (line, i) {\n        if (indent) {\n          block.insertAt(start + offset, CodeBlock.TAB);\n          offset += CodeBlock.TAB.length;\n          if (i === 0) {\n            index += CodeBlock.TAB.length;\n          } else {\n            length += CodeBlock.TAB.length;\n          }\n        } else if (line.startsWith(CodeBlock.TAB)) {\n          block.deleteAt(start + offset, CodeBlock.TAB.length);\n          offset -= CodeBlock.TAB.length;\n          if (i === 0) {\n            index -= CodeBlock.TAB.length;\n          } else {\n            length -= CodeBlock.TAB.length;\n          }\n        }\n        offset += line.length + 1;\n      });\n      this.quill.update(_quill2.default.sources.USER);\n      this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n    }\n  };\n}\n\nfunction makeFormatHandler(format) {\n  return {\n    key: format[0].toUpperCase(),\n    shortKey: true,\n    handler: function handler(range, context) {\n      this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n    }\n  };\n}\n\nfunction normalize(binding) {\n  if (typeof binding === 'string' || typeof binding === 'number') {\n    return normalize({ key: binding });\n  }\n  if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n    binding = (0, _clone2.default)(binding, false);\n  }\n  if (typeof binding.key === 'string') {\n    if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n      binding.key = Keyboard.keys[binding.key.toUpperCase()];\n    } else if (binding.key.length === 1) {\n      binding.key = binding.key.toUpperCase().charCodeAt(0);\n    } else {\n      return null;\n    }\n  }\n  if (binding.shortKey) {\n    binding[SHORTKEY] = binding.shortKey;\n    delete binding.shortKey;\n  }\n  return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n  _inherits(Cursor, _Parchment$Embed);\n\n  _createClass(Cursor, null, [{\n    key: 'value',\n    value: function value() {\n      return undefined;\n    }\n  }]);\n\n  function Cursor(domNode, selection) {\n    _classCallCheck(this, Cursor);\n\n    var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n    _this.selection = selection;\n    _this.textNode = document.createTextNode(Cursor.CONTENTS);\n    _this.domNode.appendChild(_this.textNode);\n    _this._length = 0;\n    return _this;\n  }\n\n  _createClass(Cursor, [{\n    key: 'detach',\n    value: function detach() {\n      // super.detach() will also clear domNode.__blot\n      if (this.parent != null) this.parent.removeChild(this);\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      if (this._length !== 0) {\n        return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n      }\n      var target = this,\n          index = 0;\n      while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n        index += target.offset(target.parent);\n        target = target.parent;\n      }\n      if (target != null) {\n        this._length = Cursor.CONTENTS.length;\n        target.optimize();\n        target.formatAt(index, Cursor.CONTENTS.length, name, value);\n        this._length = 0;\n      }\n    }\n  }, {\n    key: 'index',\n    value: function index(node, offset) {\n      if (node === this.textNode) return 0;\n      return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      return this._length;\n    }\n  }, {\n    key: 'position',\n    value: function position() {\n      return [this.textNode, this.textNode.data.length];\n    }\n  }, {\n    key: 'remove',\n    value: function remove() {\n      _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n      this.parent = null;\n    }\n  }, {\n    key: 'restore',\n    value: function restore() {\n      if (this.selection.composing || this.parent == null) return;\n      var textNode = this.textNode;\n      var range = this.selection.getNativeRange();\n      var restoreText = void 0,\n          start = void 0,\n          end = void 0;\n      if (range != null && range.start.node === textNode && range.end.node === textNode) {\n        var _ref = [textNode, range.start.offset, range.end.offset];\n        restoreText = _ref[0];\n        start = _ref[1];\n        end = _ref[2];\n      }\n      // Link format will insert text outside of anchor tag\n      while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n        this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n      }\n      if (this.textNode.data !== Cursor.CONTENTS) {\n        var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n        if (this.next instanceof _text2.default) {\n          restoreText = this.next.domNode;\n          this.next.insertAt(0, text);\n          this.textNode.data = Cursor.CONTENTS;\n        } else {\n          this.textNode.data = text;\n          this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n          this.textNode = document.createTextNode(Cursor.CONTENTS);\n          this.domNode.appendChild(this.textNode);\n        }\n      }\n      this.remove();\n      if (start != null) {\n        var _map = [start, end].map(function (offset) {\n          return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n        });\n\n        var _map2 = _slicedToArray(_map, 2);\n\n        start = _map2[0];\n        end = _map2[1];\n\n        return {\n          startNode: restoreText,\n          startOffset: start,\n          endNode: restoreText,\n          endOffset: end\n        };\n      }\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations, context) {\n      var _this2 = this;\n\n      if (mutations.some(function (mutation) {\n        return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n      })) {\n        var range = this.restore();\n        if (range) context.range = range;\n      }\n    }\n  }, {\n    key: 'value',\n    value: function value() {\n      return '';\n    }\n  }]);\n\n  return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n  _inherits(Container, _Parchment$Container);\n\n  function Container() {\n    _classCallCheck(this, Container);\n\n    return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n  }\n\n  return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n  _inherits(ColorAttributor, _Parchment$Attributor);\n\n  function ColorAttributor() {\n    _classCallCheck(this, ColorAttributor);\n\n    return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n  }\n\n  _createClass(ColorAttributor, [{\n    key: 'value',\n    value: function value(domNode) {\n      var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n      if (!value.startsWith('rgb(')) return value;\n      value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n      return '#' + value.split(',').map(function (component) {\n        return ('00' + parseInt(component).toString(16)).slice(-2);\n      }).join('');\n    }\n  }]);\n\n  return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n  scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n  _inherits(Link, _Inline);\n\n  function Link() {\n    _classCallCheck(this, Link);\n\n    return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n  }\n\n  _createClass(Link, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n      value = this.constructor.sanitize(value);\n      this.domNode.setAttribute('href', value);\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n      value = this.sanitize(value);\n      node.setAttribute('href', value);\n      node.setAttribute('target', '_blank');\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return domNode.getAttribute('href');\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n    }\n  }]);\n\n  return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n  var anchor = document.createElement('a');\n  anchor.href = url;\n  var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n  return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(108);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n  element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n  function Picker(select) {\n    var _this = this;\n\n    _classCallCheck(this, Picker);\n\n    this.select = select;\n    this.container = document.createElement('span');\n    this.buildPicker();\n    this.select.style.display = 'none';\n    this.select.parentNode.insertBefore(this.container, this.select);\n\n    this.label.addEventListener('mousedown', function () {\n      _this.togglePicker();\n    });\n    this.label.addEventListener('keydown', function (event) {\n      switch (event.keyCode) {\n        // Allows the \"Enter\" key to open the picker\n        case _keyboard2.default.keys.ENTER:\n          _this.togglePicker();\n          break;\n\n        // Allows the \"Escape\" key to close the picker\n        case _keyboard2.default.keys.ESCAPE:\n          _this.escape();\n          event.preventDefault();\n          break;\n        default:\n      }\n    });\n    this.select.addEventListener('change', this.update.bind(this));\n  }\n\n  _createClass(Picker, [{\n    key: 'togglePicker',\n    value: function togglePicker() {\n      this.container.classList.toggle('ql-expanded');\n      // Toggle aria-expanded and aria-hidden to make the picker accessible\n      toggleAriaAttribute(this.label, 'aria-expanded');\n      toggleAriaAttribute(this.options, 'aria-hidden');\n    }\n  }, {\n    key: 'buildItem',\n    value: function buildItem(option) {\n      var _this2 = this;\n\n      var item = document.createElement('span');\n      item.tabIndex = '0';\n      item.setAttribute('role', 'button');\n\n      item.classList.add('ql-picker-item');\n      if (option.hasAttribute('value')) {\n        item.setAttribute('data-value', option.getAttribute('value'));\n      }\n      if (option.textContent) {\n        item.setAttribute('data-label', option.textContent);\n      }\n      item.addEventListener('click', function () {\n        _this2.selectItem(item, true);\n      });\n      item.addEventListener('keydown', function (event) {\n        switch (event.keyCode) {\n          // Allows the \"Enter\" key to select an item\n          case _keyboard2.default.keys.ENTER:\n            _this2.selectItem(item, true);\n            event.preventDefault();\n            break;\n\n          // Allows the \"Escape\" key to close the picker\n          case _keyboard2.default.keys.ESCAPE:\n            _this2.escape();\n            event.preventDefault();\n            break;\n          default:\n        }\n      });\n\n      return item;\n    }\n  }, {\n    key: 'buildLabel',\n    value: function buildLabel() {\n      var label = document.createElement('span');\n      label.classList.add('ql-picker-label');\n      label.innerHTML = _dropdown2.default;\n      label.tabIndex = '0';\n      label.setAttribute('role', 'button');\n      label.setAttribute('aria-expanded', 'false');\n      this.container.appendChild(label);\n      return label;\n    }\n  }, {\n    key: 'buildOptions',\n    value: function buildOptions() {\n      var _this3 = this;\n\n      var options = document.createElement('span');\n      options.classList.add('ql-picker-options');\n\n      // Don't want screen readers to read this until options are visible\n      options.setAttribute('aria-hidden', 'true');\n      options.tabIndex = '-1';\n\n      // Need a unique id for aria-controls\n      options.id = 'ql-picker-options-' + optionsCounter;\n      optionsCounter += 1;\n      this.label.setAttribute('aria-controls', options.id);\n\n      this.options = options;\n\n      [].slice.call(this.select.options).forEach(function (option) {\n        var item = _this3.buildItem(option);\n        options.appendChild(item);\n        if (option.selected === true) {\n          _this3.selectItem(item);\n        }\n      });\n      this.container.appendChild(options);\n    }\n  }, {\n    key: 'buildPicker',\n    value: function buildPicker() {\n      var _this4 = this;\n\n      [].slice.call(this.select.attributes).forEach(function (item) {\n        _this4.container.setAttribute(item.name, item.value);\n      });\n      this.container.classList.add('ql-picker');\n      this.label = this.buildLabel();\n      this.buildOptions();\n    }\n  }, {\n    key: 'escape',\n    value: function escape() {\n      var _this5 = this;\n\n      // Close menu and return focus to trigger label\n      this.close();\n      // Need setTimeout for accessibility to ensure that the browser executes\n      // focus on the next process thread and after any DOM content changes\n      setTimeout(function () {\n        return _this5.label.focus();\n      }, 1);\n    }\n  }, {\n    key: 'close',\n    value: function close() {\n      this.container.classList.remove('ql-expanded');\n      this.label.setAttribute('aria-expanded', 'false');\n      this.options.setAttribute('aria-hidden', 'true');\n    }\n  }, {\n    key: 'selectItem',\n    value: function selectItem(item) {\n      var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      var selected = this.container.querySelector('.ql-selected');\n      if (item === selected) return;\n      if (selected != null) {\n        selected.classList.remove('ql-selected');\n      }\n      if (item == null) return;\n      item.classList.add('ql-selected');\n      this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n      if (item.hasAttribute('data-value')) {\n        this.label.setAttribute('data-value', item.getAttribute('data-value'));\n      } else {\n        this.label.removeAttribute('data-value');\n      }\n      if (item.hasAttribute('data-label')) {\n        this.label.setAttribute('data-label', item.getAttribute('data-label'));\n      } else {\n        this.label.removeAttribute('data-label');\n      }\n      if (trigger) {\n        if (typeof Event === 'function') {\n          this.select.dispatchEvent(new Event('change'));\n        } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n          // IE11\n          var event = document.createEvent('Event');\n          event.initEvent('change', true, true);\n          this.select.dispatchEvent(event);\n        }\n        this.close();\n      }\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var option = void 0;\n      if (this.select.selectedIndex > -1) {\n        var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n        option = this.select.options[this.select.selectedIndex];\n        this.selectItem(item);\n      } else {\n        this.selectItem(null);\n      }\n      var isActive = option != null && option !== this.select.querySelector('option[selected]');\n      this.label.classList.toggle('ql-active', isActive);\n    }\n  }]);\n\n  return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(36);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(56);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(43);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n  'blots/block': _block2.default,\n  'blots/block/embed': _block.BlockEmbed,\n  'blots/break': _break2.default,\n  'blots/container': _container2.default,\n  'blots/cursor': _cursor2.default,\n  'blots/embed': _embed2.default,\n  'blots/inline': _inline2.default,\n  'blots/scroll': _scroll2.default,\n  'blots/text': _text2.default,\n\n  'modules/clipboard': _clipboard2.default,\n  'modules/history': _history2.default,\n  'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n    function ShadowBlot(domNode) {\n        this.domNode = domNode;\n        // @ts-ignore\n        this.domNode[Registry.DATA_KEY] = { blot: this };\n    }\n    Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n        // Hack for accessing inherited static methods\n        get: function () {\n            return this.constructor;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ShadowBlot.create = function (value) {\n        if (this.tagName == null) {\n            throw new Registry.ParchmentError('Blot definition missing tagName');\n        }\n        var node;\n        if (Array.isArray(this.tagName)) {\n            if (typeof value === 'string') {\n                value = value.toUpperCase();\n                if (parseInt(value).toString() === value) {\n                    value = parseInt(value);\n                }\n            }\n            if (typeof value === 'number') {\n                node = document.createElement(this.tagName[value - 1]);\n            }\n            else if (this.tagName.indexOf(value) > -1) {\n                node = document.createElement(value);\n            }\n            else {\n                node = document.createElement(this.tagName[0]);\n            }\n        }\n        else {\n            node = document.createElement(this.tagName);\n        }\n        if (this.className) {\n            node.classList.add(this.className);\n        }\n        return node;\n    };\n    ShadowBlot.prototype.attach = function () {\n        if (this.parent != null) {\n            this.scroll = this.parent.scroll;\n        }\n    };\n    ShadowBlot.prototype.clone = function () {\n        var domNode = this.domNode.cloneNode(false);\n        return Registry.create(domNode);\n    };\n    ShadowBlot.prototype.detach = function () {\n        if (this.parent != null)\n            this.parent.removeChild(this);\n        // @ts-ignore\n        delete this.domNode[Registry.DATA_KEY];\n    };\n    ShadowBlot.prototype.deleteAt = function (index, length) {\n        var blot = this.isolate(index, length);\n        blot.remove();\n    };\n    ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n        var blot = this.isolate(index, length);\n        if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n            blot.wrap(name, value);\n        }\n        else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n            var parent = Registry.create(this.statics.scope);\n            blot.wrap(parent);\n            parent.format(name, value);\n        }\n    };\n    ShadowBlot.prototype.insertAt = function (index, value, def) {\n        var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n        var ref = this.split(index);\n        this.parent.insertBefore(blot, ref);\n    };\n    ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n        if (refBlot === void 0) { refBlot = null; }\n        if (this.parent != null) {\n            this.parent.children.remove(this);\n        }\n        var refDomNode = null;\n        parentBlot.children.insertBefore(this, refBlot);\n        if (refBlot != null) {\n            refDomNode = refBlot.domNode;\n        }\n        if (this.domNode.parentNode != parentBlot.domNode ||\n            this.domNode.nextSibling != refDomNode) {\n            parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n        }\n        this.parent = parentBlot;\n        this.attach();\n    };\n    ShadowBlot.prototype.isolate = function (index, length) {\n        var target = this.split(index);\n        target.split(length);\n        return target;\n    };\n    ShadowBlot.prototype.length = function () {\n        return 1;\n    };\n    ShadowBlot.prototype.offset = function (root) {\n        if (root === void 0) { root = this.parent; }\n        if (this.parent == null || this == root)\n            return 0;\n        return this.parent.children.offset(this) + this.parent.offset(root);\n    };\n    ShadowBlot.prototype.optimize = function (context) {\n        // TODO clean up once we use WeakMap\n        // @ts-ignore\n        if (this.domNode[Registry.DATA_KEY] != null) {\n            // @ts-ignore\n            delete this.domNode[Registry.DATA_KEY].mutations;\n        }\n    };\n    ShadowBlot.prototype.remove = function () {\n        if (this.domNode.parentNode != null) {\n            this.domNode.parentNode.removeChild(this.domNode);\n        }\n        this.detach();\n    };\n    ShadowBlot.prototype.replace = function (target) {\n        if (target.parent == null)\n            return;\n        target.parent.insertBefore(this, target.next);\n        target.remove();\n    };\n    ShadowBlot.prototype.replaceWith = function (name, value) {\n        var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n        replacement.replace(this);\n        return replacement;\n    };\n    ShadowBlot.prototype.split = function (index, force) {\n        return index === 0 ? this : this.next;\n    };\n    ShadowBlot.prototype.update = function (mutations, context) {\n        // Nothing to do by default\n    };\n    ShadowBlot.prototype.wrap = function (name, value) {\n        var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n        if (this.parent != null) {\n            this.parent.insertBefore(wrapper, this.next);\n        }\n        wrapper.appendChild(this);\n        return wrapper;\n    };\n    ShadowBlot.blotName = 'abstract';\n    return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n    function AttributorStore(domNode) {\n        this.attributes = {};\n        this.domNode = domNode;\n        this.build();\n    }\n    AttributorStore.prototype.attribute = function (attribute, value) {\n        // verb\n        if (value) {\n            if (attribute.add(this.domNode, value)) {\n                if (attribute.value(this.domNode) != null) {\n                    this.attributes[attribute.attrName] = attribute;\n                }\n                else {\n                    delete this.attributes[attribute.attrName];\n                }\n            }\n        }\n        else {\n            attribute.remove(this.domNode);\n            delete this.attributes[attribute.attrName];\n        }\n    };\n    AttributorStore.prototype.build = function () {\n        var _this = this;\n        this.attributes = {};\n        var attributes = attributor_1.default.keys(this.domNode);\n        var classes = class_1.default.keys(this.domNode);\n        var styles = style_1.default.keys(this.domNode);\n        attributes\n            .concat(classes)\n            .concat(styles)\n            .forEach(function (name) {\n            var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n            if (attr instanceof attributor_1.default) {\n                _this.attributes[attr.attrName] = attr;\n            }\n        });\n    };\n    AttributorStore.prototype.copy = function (target) {\n        var _this = this;\n        Object.keys(this.attributes).forEach(function (key) {\n            var value = _this.attributes[key].value(_this.domNode);\n            target.format(key, value);\n        });\n    };\n    AttributorStore.prototype.move = function (target) {\n        var _this = this;\n        this.copy(target);\n        Object.keys(this.attributes).forEach(function (key) {\n            _this.attributes[key].remove(_this.domNode);\n        });\n        this.attributes = {};\n    };\n    AttributorStore.prototype.values = function () {\n        var _this = this;\n        return Object.keys(this.attributes).reduce(function (attributes, name) {\n            attributes[name] = _this.attributes[name].value(_this.domNode);\n            return attributes;\n        }, {});\n    };\n    return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n    var className = node.getAttribute('class') || '';\n    return className.split(/\\s+/).filter(function (name) {\n        return name.indexOf(prefix + \"-\") === 0;\n    });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n    __extends(ClassAttributor, _super);\n    function ClassAttributor() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ClassAttributor.keys = function (node) {\n        return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n            return name\n                .split('-')\n                .slice(0, -1)\n                .join('-');\n        });\n    };\n    ClassAttributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        this.remove(node);\n        node.classList.add(this.keyName + \"-\" + value);\n        return true;\n    };\n    ClassAttributor.prototype.remove = function (node) {\n        var matches = match(node, this.keyName);\n        matches.forEach(function (name) {\n            node.classList.remove(name);\n        });\n        if (node.classList.length === 0) {\n            node.removeAttribute('class');\n        }\n    };\n    ClassAttributor.prototype.value = function (node) {\n        var result = match(node, this.keyName)[0] || '';\n        var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n        return this.canAdd(node, value) ? value : '';\n    };\n    return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n    var parts = name.split('-');\n    var rest = parts\n        .slice(1)\n        .map(function (part) {\n        return part[0].toUpperCase() + part.slice(1);\n    })\n        .join('');\n    return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n    __extends(StyleAttributor, _super);\n    function StyleAttributor() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    StyleAttributor.keys = function (node) {\n        return (node.getAttribute('style') || '').split(';').map(function (value) {\n            var arr = value.split(':');\n            return arr[0].trim();\n        });\n    };\n    StyleAttributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        // @ts-ignore\n        node.style[camelize(this.keyName)] = value;\n        return true;\n    };\n    StyleAttributor.prototype.remove = function (node) {\n        // @ts-ignore\n        node.style[camelize(this.keyName)] = '';\n        if (!node.getAttribute('style')) {\n            node.removeAttribute('style');\n        }\n    };\n    StyleAttributor.prototype.value = function (node) {\n        // @ts-ignore\n        var value = node.style[camelize(this.keyName)];\n        return this.canAdd(node, value) ? value : '';\n    };\n    return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getRange = getRange;\nexports.internalGetShadowSelection = internalGetShadowSelection;\n/**\n * Copyright 2018 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n\n// NOTE: copied from https://github.com/GoogleChromeLabs/shadow-selection-polyfill\n\nvar SHADOW_SELECTIONCHANGE = exports.SHADOW_SELECTIONCHANGE = '-shadow-selectionchange';\n\nvar hasShadow = 'attachShadow' in Element.prototype && 'getRootNode' in Element.prototype;\nvar hasSelection = !!(hasShadow && document.createElement('div').attachShadow({ mode: 'open' }).getSelection);\nvar hasShady = window.ShadyDOM && window.ShadyDOM.inUse;\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\nvar useDocument = !hasShadow || hasShady || !hasSelection && !isSafari;\n\nvar validNodeTypes = [Node.ELEMENT_NODE, Node.TEXT_NODE, Node.DOCUMENT_FRAGMENT_NODE];\nfunction isValidNode(node) {\n  return validNodeTypes.includes(node.nodeType);\n}\n\nfunction findNode(s, parentNode, isLeft) {\n  var nodes = parentNode.childNodes || parentNode.children;\n  if (!nodes) {\n    return parentNode; // found it, probably text\n  }\n\n  for (var i = 0; i < nodes.length; ++i) {\n    var j = isLeft ? i : nodes.length - 1 - i;\n    var childNode = nodes[j];\n    if (!isValidNode(childNode)) {\n      continue; // eslint-disable-line no-continue\n    }\n\n    if (s.containsNode(childNode, true)) {\n      if (s.containsNode(childNode, false)) {\n        return childNode;\n      }\n      return findNode(s, childNode, isLeft);\n    }\n  }\n  return parentNode;\n}\n\n/**\n * @param {function(!Event)} fn to add to selectionchange internals\n */\nvar addInternalListener = function () {\n  if (hasSelection || useDocument) {\n    // getSelection exists or document API can be used\n    document.addEventListener('selectionchange', function () {\n      document.dispatchEvent(new CustomEvent(SHADOW_SELECTIONCHANGE));\n    });\n    return function () {};\n  }\n\n  var withinInternals = false;\n  var handlers = [];\n\n  document.addEventListener('selectionchange', function (ev) {\n    if (withinInternals) {\n      return;\n    }\n    document.dispatchEvent(new CustomEvent(SHADOW_SELECTIONCHANGE));\n    withinInternals = true;\n    window.setTimeout(function () {\n      withinInternals = false;\n    }, 2); // FIXME: should be > 1 to prevent infinite Selection.update() loop\n    handlers.forEach(function (fn) {\n      return fn(ev);\n    });\n  });\n\n  return function (fn) {\n    return handlers.push(fn);\n  };\n}();\n\nvar wasCaret = false;\nvar resolveTask = null;\naddInternalListener(function () {\n  var s = window.getSelection();\n  if (s.type === 'Caret') {\n    wasCaret = true;\n  } else if (wasCaret && !resolveTask) {\n    resolveTask = Promise.resolve(true).then(function () {\n      wasCaret = false;\n      resolveTask = null;\n    });\n  }\n});\n\n/**\n * @param {!Selection} s the window selection to use\n * @param {!Node} node the node to walk from\n * @param {boolean} walkForward should this walk in natural direction\n * @return {boolean} whether the selection contains the following node (even partially)\n */\nfunction containsNextElement(s, node, walkForward) {\n  var start = node;\n  while (node = walkFromNode(node, walkForward)) {\n    // eslint-disable-line no-cond-assign\n    // walking (left) can contain our own parent, which we don't want\n    if (!node.contains(start)) {\n      break;\n    }\n  }\n  if (!node) {\n    return false;\n  }\n  // we look for Element as .containsNode says true for _every_ text node, and we only care about\n  // elements themselves\n  return node instanceof Element && s.containsNode(node, true);\n}\n\n/**\n * @param {!Selection} s the window selection to use\n * @param {!Node} leftNode the left node\n * @param {!Node} rightNode the right node\n * @return {boolean|undefined} whether this has natural direction\n */\nfunction getSelectionDirection(s, leftNode, rightNode) {\n  if (s.type !== 'Range') {\n    return undefined; // no direction\n  }\n  var measure = function measure() {\n    return s.toString().length;\n  };\n\n  var initialSize = measure();\n\n  if (initialSize === 1 && wasCaret && leftNode === rightNode) {\n    // nb. We need to reset a single selection as Safari _always_ tells us the cursor was dragged\n    // left to right (maybe RTL on those devices).\n    // To be fair, Chrome has the same bug.\n    s.extend(leftNode, 0);\n    s.collapseToEnd();\n    return undefined;\n  }\n\n  var updatedSize = void 0;\n\n  // Try extending forward and seeing what happens.\n  s.modify('extend', 'forward', 'character');\n  updatedSize = measure();\n\n  if (updatedSize > initialSize || containsNextElement(s, rightNode, true)) {\n    s.modify('extend', 'backward', 'character');\n    return true;\n  } else if (updatedSize < initialSize || !s.containsNode(leftNode)) {\n    s.modify('extend', 'backward', 'character');\n    return false;\n  }\n\n  // Maybe we were at the end of something. Extend backwards.\n  // TODO(samthor): We seem to be able to get away without the 'backwards' case.\n  s.modify('extend', 'backward', 'character');\n  updatedSize = measure();\n\n  if (updatedSize > initialSize || containsNextElement(s, leftNode, false)) {\n    s.modify('extend', 'forward', 'character');\n    return false;\n  } else if (updatedSize < initialSize || !s.containsNode(rightNode)) {\n    s.modify('extend', 'forward', 'character');\n    return true;\n  }\n\n  // This is likely a select-all.\n  return undefined;\n}\n\n/**\n * Returns the next valid node (element or text). This is needed as Safari doesn't support\n * TreeWalker inside Shadow DOM. Don't escape shadow roots.\n *\n * @param {!Node} node to start from\n * @param {boolean} walkForward should this walk in natural direction\n * @return {Node} node found, if any\n */\nfunction walkFromNode(node, walkForward) {\n  if (!walkForward) {\n    return node.previousSibling || node.parentNode || null;\n  }\n  while (node) {\n    if (node.nextSibling) {\n      return node.nextSibling;\n    }\n    node = node.parentNode;\n  }\n  return null;\n}\n\n/**\n * @param {!Node} node to check for initial space\n * @return {number} count of initial space\n */\nfunction initialSpace(node) {\n  if (node.nodeType !== Node.TEXT_NODE) {\n    return 0;\n  }\n  return (/^\\s*/.exec(node.textContent)[0].length\n  );\n}\n\n/**\n * @param {!Node} node to check for trailing space\n * @return {number} count of ignored trailing space\n */\nfunction ignoredTrailingSpace(node) {\n  if (node.nodeType !== Node.TEXT_NODE) {\n    return 0;\n  }\n  var trailingSpaceCount = /\\s*$/.exec(node.textContent)[0].length;\n  if (!trailingSpaceCount) {\n    return 0;\n  }\n  return trailingSpaceCount - 1; // always allow single last\n}\n\nvar cachedRange = new Map();\nfunction getRange(root) {\n  if (hasSelection || useDocument) {\n    var s = (useDocument ? document : root).getSelection();\n    return s.rangeCount ? s.getRangeAt(0) : null;\n  }\n\n  var thisFrame = cachedRange.get(root);\n  if (thisFrame) {\n    return thisFrame;\n  }\n\n  var result = internalGetShadowSelection(root);\n\n  cachedRange.set(root, result.range);\n  window.setTimeout(function () {\n    cachedRange.delete(root);\n  }, 0);\n  return result.range;\n}\n\nvar fakeSelectionNode = document.createTextNode('');\nfunction internalGetShadowSelection(root) {\n  var range = document.createRange();\n\n  var s = window.getSelection();\n  if (!s.containsNode(root.host, true)) {\n    return { range: null, mode: 'none' };\n  }\n\n  // TODO: inserting fake nodes isn't ideal, but containsNode doesn't work on nearby adjacent\n  // text nodes (in fact it returns true for all text nodes on the page?!).\n\n  // insert a fake 'before' node to see if it's selected\n  root.insertBefore(fakeSelectionNode, root.childNodes[0]);\n  var includesBeforeRoot = s.containsNode(fakeSelectionNode);\n  fakeSelectionNode.remove();\n  if (includesBeforeRoot) {\n    return { range: null, mode: 'outside-before' };\n  }\n\n  // insert a fake 'after' node to see if it's selected\n  root.appendChild(fakeSelectionNode);\n  var includesAfterRoot = s.containsNode(fakeSelectionNode);\n  fakeSelectionNode.remove();\n  if (includesAfterRoot) {\n    return { range: null, mode: 'outside-after' };\n  }\n\n  var measure = function measure() {\n    return s.toString().length;\n  };\n  if (!(s.type === 'Caret' || s.type === 'Range')) {\n    throw new TypeError('unexpected type: ' + s.type);\n  }\n\n  var leftNode = findNode(s, root, true);\n  var rightNode = void 0;\n  var isNaturalDirection = void 0;\n  if (s.type === 'Range') {\n    rightNode = findNode(s, root, false); // get right node here _before_ getSelectionDirection\n    isNaturalDirection = getSelectionDirection(s, leftNode, rightNode);\n    // isNaturalDirection means \"going right\"\n  }\n\n  if (s.type === 'Caret') {\n    // we might transition to being a caret, so don't check initial value\n    s.extend(leftNode, 0);\n    var at = measure();\n    s.collapseToEnd();\n\n    range.setStart(leftNode, at);\n    range.setEnd(leftNode, at);\n    return { range: range, mode: 'caret' };\n  } else if (isNaturalDirection === undefined) {\n    if (s.type !== 'Range') {\n      throw new TypeError('unexpected type: ' + s.type);\n    }\n    // This occurs when we can't move because we can't extend left or right to measure the\n    // direction we're moving in. Good news though: we don't need to _change_ the selection\n    // to measure it, so just return immediately.\n    range.setStart(leftNode, 0);\n    range.setEnd(rightNode, rightNode.length);\n    return { range: range, mode: 'all' };\n  }\n\n  var size = measure();\n  var offsetLeft = void 0,\n      offsetRight = void 0;\n\n  // only one newline/space char is cared about\n  var validRightLength = rightNode.length - ignoredTrailingSpace(rightNode);\n\n  if (isNaturalDirection) {\n    // walk in the opposite direction first\n    s.extend(leftNode, 0);\n    offsetLeft = measure() + initialSpace(leftNode); // measure doesn't include initial space\n\n    // then in our actual direction\n    s.extend(rightNode, validRightLength);\n    offsetRight = validRightLength - (measure() - size);\n\n    // then revert to the original position\n    s.extend(rightNode, offsetRight);\n  } else {\n    // walk in the opposite direction first\n    s.extend(rightNode, validRightLength);\n    offsetRight = validRightLength - measure();\n\n    // then in our actual direction\n    s.extend(leftNode, 0);\n    offsetLeft = measure() - size + initialSpace(leftNode); // doesn't include initial space\n\n    // then revert to the original position\n    s.extend(leftNode, offsetLeft);\n  }\n\n  range.setStart(leftNode, offsetLeft);\n  range.setEnd(rightNode, offsetRight);\n  return {\n    mode: isNaturalDirection ? 'right' : 'left',\n    range: range\n  };\n}\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n  function Theme(quill, options) {\n    _classCallCheck(this, Theme);\n\n    this.quill = quill;\n    this.options = options;\n    this.modules = {};\n  }\n\n  _createClass(Theme, [{\n    key: 'init',\n    value: function init() {\n      var _this = this;\n\n      Object.keys(this.options.modules).forEach(function (name) {\n        if (_this.modules[name] == null) {\n          _this.addModule(name);\n        }\n      });\n    }\n  }, {\n    key: 'addModule',\n    value: function addModule(name) {\n      var moduleClass = this.quill.constructor.import('modules/' + name);\n      this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n      return this.modules[name];\n    }\n  }]);\n\n  return Theme;\n}();\n\nTheme.DEFAULTS = {\n  modules: {}\n};\nTheme.themes = {\n  'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n  _inherits(Embed, _Parchment$Embed);\n\n  function Embed(node) {\n    _classCallCheck(this, Embed);\n\n    var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n    _this.contentNode = document.createElement('span');\n    _this.contentNode.setAttribute('contenteditable', false);\n    [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n      _this.contentNode.appendChild(childNode);\n    });\n    _this.leftGuard = document.createTextNode(GUARD_TEXT);\n    _this.rightGuard = document.createTextNode(GUARD_TEXT);\n    _this.domNode.appendChild(_this.leftGuard);\n    _this.domNode.appendChild(_this.contentNode);\n    _this.domNode.appendChild(_this.rightGuard);\n    return _this;\n  }\n\n  _createClass(Embed, [{\n    key: 'index',\n    value: function index(node, offset) {\n      if (node === this.leftGuard) return 0;\n      if (node === this.rightGuard) return 1;\n      return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n    }\n  }, {\n    key: 'restore',\n    value: function restore(node) {\n      var range = void 0,\n          textNode = void 0;\n      var text = node.data.split(GUARD_TEXT).join('');\n      if (node === this.leftGuard) {\n        if (this.prev instanceof _text2.default) {\n          var prevLength = this.prev.length();\n          this.prev.insertAt(prevLength, text);\n          range = {\n            startNode: this.prev.domNode,\n            startOffset: prevLength + text.length\n          };\n        } else {\n          textNode = document.createTextNode(text);\n          this.parent.insertBefore(_parchment2.default.create(textNode), this);\n          range = {\n            startNode: textNode,\n            startOffset: text.length\n          };\n        }\n      } else if (node === this.rightGuard) {\n        if (this.next instanceof _text2.default) {\n          this.next.insertAt(0, text);\n          range = {\n            startNode: this.next.domNode,\n            startOffset: text.length\n          };\n        } else {\n          textNode = document.createTextNode(text);\n          this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n          range = {\n            startNode: textNode,\n            startOffset: text.length\n          };\n        }\n      }\n      node.data = GUARD_TEXT;\n      return range;\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations, context) {\n      var _this2 = this;\n\n      mutations.forEach(function (mutation) {\n        if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n          var range = _this2.restore(mutation.target);\n          if (range) context.range = range;\n        }\n      });\n    }\n  }]);\n\n  return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n  scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n  _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n  function FontStyleAttributor() {\n    _classCallCheck(this, FontStyleAttributor);\n\n    return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n  }\n\n  _createClass(FontStyleAttributor, [{\n    key: 'value',\n    value: function value(node) {\n      return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n    }\n  }]);\n\n  return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n  'align': {\n    '': __webpack_require__(77),\n    'center': __webpack_require__(78),\n    'right': __webpack_require__(79),\n    'justify': __webpack_require__(80)\n  },\n  'background': __webpack_require__(81),\n  'blockquote': __webpack_require__(82),\n  'bold': __webpack_require__(83),\n  'clean': __webpack_require__(84),\n  'code': __webpack_require__(59),\n  'code-block': __webpack_require__(59),\n  'color': __webpack_require__(85),\n  'direction': {\n    '': __webpack_require__(86),\n    'rtl': __webpack_require__(87)\n  },\n  'float': {\n    'center': __webpack_require__(88),\n    'full': __webpack_require__(89),\n    'left': __webpack_require__(90),\n    'right': __webpack_require__(91)\n  },\n  'formula': __webpack_require__(92),\n  'header': {\n    '1': __webpack_require__(93),\n    '2': __webpack_require__(94)\n  },\n  'italic': __webpack_require__(95),\n  'image': __webpack_require__(96),\n  'indent': {\n    '+1': __webpack_require__(97),\n    '-1': __webpack_require__(98)\n  },\n  'link': __webpack_require__(99),\n  'list': {\n    'ordered': __webpack_require__(100),\n    'bullet': __webpack_require__(101),\n    'check': __webpack_require__(102)\n  },\n  'script': {\n    'sub': __webpack_require__(103),\n    'super': __webpack_require__(104)\n  },\n  'strike': __webpack_require__(105),\n  'underline': __webpack_require__(106),\n  'video': __webpack_require__(107)\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n  _inherits(History, _Module);\n\n  function History(quill, options) {\n    _classCallCheck(this, History);\n\n    var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n    _this.lastRecorded = 0;\n    _this.ignoreChange = false;\n    _this.clear();\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n      if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n      if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n        _this.record(delta, oldDelta);\n      } else {\n        _this.transform(delta);\n      }\n    });\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n    if (/Win/i.test(navigator.platform)) {\n      _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n    }\n    return _this;\n  }\n\n  _createClass(History, [{\n    key: 'change',\n    value: function change(source, dest) {\n      if (this.stack[source].length === 0) return;\n      var delta = this.stack[source].pop();\n      this.stack[dest].push(delta);\n      this.lastRecorded = 0;\n      this.ignoreChange = true;\n      this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n      this.ignoreChange = false;\n      var index = getLastChangeIndex(delta[source]);\n      this.quill.setSelection(index);\n    }\n  }, {\n    key: 'clear',\n    value: function clear() {\n      this.stack = { undo: [], redo: [] };\n    }\n  }, {\n    key: 'cutoff',\n    value: function cutoff() {\n      this.lastRecorded = 0;\n    }\n  }, {\n    key: 'record',\n    value: function record(changeDelta, oldDelta) {\n      if (changeDelta.ops.length === 0) return;\n      this.stack.redo = [];\n      var undoDelta = this.quill.getContents().diff(oldDelta);\n      var timestamp = Date.now();\n      if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n        var delta = this.stack.undo.pop();\n        undoDelta = undoDelta.compose(delta.undo);\n        changeDelta = delta.redo.compose(changeDelta);\n      } else {\n        this.lastRecorded = timestamp;\n      }\n      this.stack.undo.push({\n        redo: changeDelta,\n        undo: undoDelta\n      });\n      if (this.stack.undo.length > this.options.maxStack) {\n        this.stack.undo.shift();\n      }\n    }\n  }, {\n    key: 'redo',\n    value: function redo() {\n      this.change('redo', 'undo');\n    }\n  }, {\n    key: 'transform',\n    value: function transform(delta) {\n      this.stack.undo.forEach(function (change) {\n        change.undo = delta.transform(change.undo, true);\n        change.redo = delta.transform(change.redo, true);\n      });\n      this.stack.redo.forEach(function (change) {\n        change.undo = delta.transform(change.undo, true);\n        change.redo = delta.transform(change.redo, true);\n      });\n    }\n  }, {\n    key: 'undo',\n    value: function undo() {\n      this.change('undo', 'redo');\n    }\n  }]);\n\n  return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n  delay: 1000,\n  maxStack: 100,\n  userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n  var lastOp = delta.ops[delta.ops.length - 1];\n  if (lastOp == null) return false;\n  if (lastOp.insert != null) {\n    return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n  }\n  if (lastOp.attributes != null) {\n    return Object.keys(lastOp.attributes).some(function (attr) {\n      return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n    });\n  }\n  return false;\n}\n\nfunction getLastChangeIndex(delta) {\n  var deleteLength = delta.reduce(function (length, op) {\n    length += op.delete || 0;\n    return length;\n  }, 0);\n  var changeIndex = delta.length() - deleteLength;\n  if (endsWithNewlineChange(delta)) {\n    changeIndex -= 1;\n  }\n  return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(35);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(60);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(61);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(62);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['petita', false, 'gran', 'enorme'];\n\nvar BaseTheme = function (_Theme) {\n  _inherits(BaseTheme, _Theme);\n\n  function BaseTheme(quill, options) {\n    _classCallCheck(this, BaseTheme);\n\n    var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n    var listener = function listener(e) {\n      if (!document.body.contains(quill.root)) {\n        return document.body.removeEventListener('click', listener);\n      }\n      if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n        _this.tooltip.hide();\n      }\n      if (_this.pickers != null) {\n        _this.pickers.forEach(function (picker) {\n          if (!picker.container.contains(e.target)) {\n            picker.close();\n          }\n        });\n      }\n    };\n    quill.emitter.listenDOM('click', document.body, listener);\n    return _this;\n  }\n\n  _createClass(BaseTheme, [{\n    key: 'addModule',\n    value: function addModule(name) {\n      var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n      if (name === 'toolbar') {\n        this.extendToolbar(module);\n      }\n      return module;\n    }\n  }, {\n    key: 'buildButtons',\n    value: function buildButtons(buttons, icons) {\n      buttons.forEach(function (button) {\n        var className = button.getAttribute('class') || '';\n        className.split(/\\s+/).forEach(function (name) {\n          if (!name.startsWith('ql-')) return;\n          name = name.slice('ql-'.length);\n          if (icons[name] == null) return;\n          if (name === 'direction') {\n            button.innerHTML = icons[name][''] + icons[name]['rtl'];\n          } else if (typeof icons[name] === 'string') {\n            button.innerHTML = icons[name];\n          } else {\n            var value = button.value || '';\n            if (value != null && icons[name][value]) {\n              button.innerHTML = icons[name][value];\n            }\n          }\n        });\n      });\n    }\n  }, {\n    key: 'buildPickers',\n    value: function buildPickers(selects, icons) {\n      var _this2 = this;\n\n      this.pickers = selects.map(function (select) {\n        if (select.classList.contains('ql-align')) {\n          if (select.querySelector('option') == null) {\n            fillSelect(select, ALIGNS);\n          }\n          return new _iconPicker2.default(select, icons.align);\n        } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n          var format = select.classList.contains('ql-background') ? 'background' : 'color';\n          if (select.querySelector('option') == null) {\n            fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n          }\n          return new _colorPicker2.default(select, icons[format]);\n        } else {\n          if (select.querySelector('option') == null) {\n            if (select.classList.contains('ql-font')) {\n              fillSelect(select, FONTS);\n            } else if (select.classList.contains('ql-header')) {\n              fillSelect(select, HEADERS);\n            } else if (select.classList.contains('ql-size')) {\n              fillSelect(select, SIZES);\n            }\n          }\n          return new _picker2.default(select);\n        }\n      });\n      var update = function update() {\n        _this2.pickers.forEach(function (picker) {\n          picker.update();\n        });\n      };\n      this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n    }\n  }]);\n\n  return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        formula: function formula() {\n          this.quill.theme.tooltip.edit('formula');\n        },\n        image: function image() {\n          var _this3 = this;\n\n          var fileInput = this.container.querySelector('input.ql-image[type=file]');\n          if (fileInput == null) {\n            fileInput = document.createElement('input');\n            fileInput.setAttribute('type', 'file');\n            fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n            fileInput.classList.add('ql-image');\n            fileInput.addEventListener('change', function () {\n              if (fileInput.files != null && fileInput.files[0] != null) {\n                var reader = new FileReader();\n                reader.onload = function (e) {\n                  var range = _this3.quill.getSelection(true);\n                  _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n                  _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n                  fileInput.value = \"\";\n                };\n                reader.readAsDataURL(fileInput.files[0]);\n              }\n            });\n            this.container.appendChild(fileInput);\n          }\n          fileInput.click();\n        },\n        video: function video() {\n          this.quill.theme.tooltip.edit('video');\n        }\n      }\n    }\n  }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n  _inherits(BaseTooltip, _Tooltip);\n\n  function BaseTooltip(quill, boundsContainer) {\n    _classCallCheck(this, BaseTooltip);\n\n    var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n    _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n    _this4.listen();\n    return _this4;\n  }\n\n  _createClass(BaseTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this5 = this;\n\n      this.textbox.addEventListener('keydown', function (event) {\n        if (_keyboard2.default.match(event, 'enter')) {\n          _this5.save();\n          event.preventDefault();\n        } else if (_keyboard2.default.match(event, 'escape')) {\n          _this5.cancel();\n          event.preventDefault();\n        }\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel() {\n      this.hide();\n    }\n  }, {\n    key: 'edit',\n    value: function edit() {\n      var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n      var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      this.root.classList.remove('ql-hidden');\n      this.root.classList.add('ql-editing');\n      if (preview != null) {\n        this.textbox.value = preview;\n      } else if (mode !== this.root.getAttribute('data-mode')) {\n        this.textbox.value = '';\n      }\n      this.position(this.quill.getBounds(this.quill.selection.savedRange));\n      this.textbox.select();\n      this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n      this.root.setAttribute('data-mode', mode);\n    }\n  }, {\n    key: 'restoreFocus',\n    value: function restoreFocus() {\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\n      this.quill.focus();\n      this.quill.scrollingContainer.scrollTop = scrollTop;\n    }\n  }, {\n    key: 'save',\n    value: function save() {\n      var value = this.textbox.value;\n      switch (this.root.getAttribute('data-mode')) {\n        case 'link':\n          {\n            var scrollTop = this.quill.root.scrollTop;\n            if (this.linkRange) {\n              this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n              delete this.linkRange;\n            } else {\n              this.restoreFocus();\n              this.quill.format('link', value, _emitter2.default.sources.USER);\n            }\n            this.quill.root.scrollTop = scrollTop;\n            break;\n          }\n        case 'video':\n          {\n            value = extractVideoUrl(value);\n          } // eslint-disable-next-line no-fallthrough\n        case 'formula':\n          {\n            if (!value) break;\n            var range = this.quill.getSelection(true);\n            if (range != null) {\n              var index = range.index + range.length;\n              this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n              if (this.root.getAttribute('data-mode') === 'formula') {\n                this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n              }\n              this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n            }\n            break;\n          }\n        default:\n      }\n      this.textbox.value = '';\n      this.hide();\n    }\n  }]);\n\n  return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n  var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n  if (match) {\n    return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n  }\n  if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n    // eslint-disable-line no-cond-assign\n    return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n  }\n  return url;\n}\n\nfunction fillSelect(select, values) {\n  var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  values.forEach(function (value) {\n    var option = document.createElement('option');\n    if (value === defaultValue) {\n      option.setAttribute('selected', 'selected');\n    } else {\n      option.setAttribute('value', value);\n    }\n    select.appendChild(option);\n  });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n    function LinkedList() {\n        this.head = this.tail = null;\n        this.length = 0;\n    }\n    LinkedList.prototype.append = function () {\n        var nodes = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            nodes[_i] = arguments[_i];\n        }\n        this.insertBefore(nodes[0], null);\n        if (nodes.length > 1) {\n            this.append.apply(this, nodes.slice(1));\n        }\n    };\n    LinkedList.prototype.contains = function (node) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            if (cur === node)\n                return true;\n        }\n        return false;\n    };\n    LinkedList.prototype.insertBefore = function (node, refNode) {\n        if (!node)\n            return;\n        node.next = refNode;\n        if (refNode != null) {\n            node.prev = refNode.prev;\n            if (refNode.prev != null) {\n                refNode.prev.next = node;\n            }\n            refNode.prev = node;\n            if (refNode === this.head) {\n                this.head = node;\n            }\n        }\n        else if (this.tail != null) {\n            this.tail.next = node;\n            node.prev = this.tail;\n            this.tail = node;\n        }\n        else {\n            node.prev = null;\n            this.head = this.tail = node;\n        }\n        this.length += 1;\n    };\n    LinkedList.prototype.offset = function (target) {\n        var index = 0, cur = this.head;\n        while (cur != null) {\n            if (cur === target)\n                return index;\n            index += cur.length();\n            cur = cur.next;\n        }\n        return -1;\n    };\n    LinkedList.prototype.remove = function (node) {\n        if (!this.contains(node))\n            return;\n        if (node.prev != null)\n            node.prev.next = node.next;\n        if (node.next != null)\n            node.next.prev = node.prev;\n        if (node === this.head)\n            this.head = node.next;\n        if (node === this.tail)\n            this.tail = node.prev;\n        this.length -= 1;\n    };\n    LinkedList.prototype.iterator = function (curNode) {\n        if (curNode === void 0) { curNode = this.head; }\n        // TODO use yield when we can\n        return function () {\n            var ret = curNode;\n            if (curNode != null)\n                curNode = curNode.next;\n            return ret;\n        };\n    };\n    LinkedList.prototype.find = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            var length = cur.length();\n            if (index < length ||\n                (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n                return [cur, index];\n            }\n            index -= length;\n        }\n        return [null, 0];\n    };\n    LinkedList.prototype.forEach = function (callback) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            callback(cur);\n        }\n    };\n    LinkedList.prototype.forEachAt = function (index, length, callback) {\n        if (length <= 0)\n            return;\n        var _a = this.find(index), startNode = _a[0], offset = _a[1];\n        var cur, curIndex = index - offset, next = this.iterator(startNode);\n        while ((cur = next()) && curIndex < index + length) {\n            var curLength = cur.length();\n            if (index > curIndex) {\n                callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n            }\n            else {\n                callback(cur, 0, Math.min(curLength, index + length - curIndex));\n            }\n            curIndex += curLength;\n        }\n    };\n    LinkedList.prototype.map = function (callback) {\n        return this.reduce(function (memo, cur) {\n            memo.push(callback(cur));\n            return memo;\n        }, []);\n    };\n    LinkedList.prototype.reduce = function (callback, memo) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            memo = callback(memo, cur);\n        }\n        return memo;\n    };\n    return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n    attributes: true,\n    characterData: true,\n    characterDataOldValue: true,\n    childList: true,\n    subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n    __extends(ScrollBlot, _super);\n    function ScrollBlot(node) {\n        var _this = _super.call(this, node) || this;\n        _this.scroll = _this;\n        _this.observer = new MutationObserver(function (mutations) {\n            _this.update(mutations);\n        });\n        _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n        _this.attach();\n        return _this;\n    }\n    ScrollBlot.prototype.detach = function () {\n        _super.prototype.detach.call(this);\n        this.observer.disconnect();\n    };\n    ScrollBlot.prototype.deleteAt = function (index, length) {\n        this.update();\n        if (index === 0 && length === this.length()) {\n            this.children.forEach(function (child) {\n                child.remove();\n            });\n        }\n        else {\n            _super.prototype.deleteAt.call(this, index, length);\n        }\n    };\n    ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n        this.update();\n        _super.prototype.formatAt.call(this, index, length, name, value);\n    };\n    ScrollBlot.prototype.insertAt = function (index, value, def) {\n        this.update();\n        _super.prototype.insertAt.call(this, index, value, def);\n    };\n    ScrollBlot.prototype.optimize = function (mutations, context) {\n        var _this = this;\n        if (mutations === void 0) { mutations = []; }\n        if (context === void 0) { context = {}; }\n        _super.prototype.optimize.call(this, context);\n        // We must modify mutations directly, cannot make copy and then modify\n        var records = [].slice.call(this.observer.takeRecords());\n        // Array.push currently seems to be implemented by a non-tail recursive function\n        // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n        while (records.length > 0)\n            mutations.push(records.pop());\n        // TODO use WeakMap\n        var mark = function (blot, markParent) {\n            if (markParent === void 0) { markParent = true; }\n            if (blot == null || blot === _this)\n                return;\n            if (blot.domNode.parentNode == null)\n                return;\n            // @ts-ignore\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations = [];\n            }\n            if (markParent)\n                mark(blot.parent);\n        };\n        var optimize = function (blot) {\n            // Post-order traversal\n            if (\n            // @ts-ignore\n            blot.domNode[Registry.DATA_KEY] == null ||\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations == null) {\n                return;\n            }\n            if (blot instanceof container_1.default) {\n                blot.children.forEach(optimize);\n            }\n            blot.optimize(context);\n        };\n        var remaining = mutations;\n        for (var i = 0; remaining.length > 0; i += 1) {\n            if (i >= MAX_OPTIMIZE_ITERATIONS) {\n                throw new Error('[Parchment] Maximum optimize iterations reached');\n            }\n            remaining.forEach(function (mutation) {\n                var blot = Registry.find(mutation.target, true);\n                if (blot == null)\n                    return;\n                if (blot.domNode === mutation.target) {\n                    if (mutation.type === 'childList') {\n                        mark(Registry.find(mutation.previousSibling, false));\n                        [].forEach.call(mutation.addedNodes, function (node) {\n                            var child = Registry.find(node, false);\n                            mark(child, false);\n                            if (child instanceof container_1.default) {\n                                child.children.forEach(function (grandChild) {\n                                    mark(grandChild, false);\n                                });\n                            }\n                        });\n                    }\n                    else if (mutation.type === 'attributes') {\n                        mark(blot.prev);\n                    }\n                }\n                mark(blot);\n            });\n            this.children.forEach(optimize);\n            remaining = [].slice.call(this.observer.takeRecords());\n            records = remaining.slice();\n            while (records.length > 0)\n                mutations.push(records.pop());\n        }\n    };\n    ScrollBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        if (context === void 0) { context = {}; }\n        mutations = mutations || this.observer.takeRecords();\n        // TODO use WeakMap\n        mutations\n            .map(function (mutation) {\n            var blot = Registry.find(mutation.target, true);\n            if (blot == null)\n                return null;\n            // @ts-ignore\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n                return blot;\n            }\n            else {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n                return null;\n            }\n        })\n            .forEach(function (blot) {\n            if (blot == null ||\n                blot === _this ||\n                //@ts-ignore\n                blot.domNode[Registry.DATA_KEY] == null)\n                return;\n            // @ts-ignore\n            blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n        });\n        // @ts-ignore\n        if (this.domNode[Registry.DATA_KEY].mutations != null) {\n            // @ts-ignore\n            _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n        }\n        this.optimize(mutations, context);\n    };\n    ScrollBlot.blotName = 'scroll';\n    ScrollBlot.defaultChild = 'block';\n    ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n    ScrollBlot.tagName = 'DIV';\n    return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n    if (Object.keys(obj1).length !== Object.keys(obj2).length)\n        return false;\n    // @ts-ignore\n    for (var prop in obj1) {\n        // @ts-ignore\n        if (obj1[prop] !== obj2[prop])\n            return false;\n    }\n    return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n    __extends(InlineBlot, _super);\n    function InlineBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    InlineBlot.formats = function (domNode) {\n        if (domNode.tagName === InlineBlot.tagName)\n            return undefined;\n        return _super.formats.call(this, domNode);\n    };\n    InlineBlot.prototype.format = function (name, value) {\n        var _this = this;\n        if (name === this.statics.blotName && !value) {\n            this.children.forEach(function (child) {\n                if (!(child instanceof format_1.default)) {\n                    child = child.wrap(InlineBlot.blotName, true);\n                }\n                _this.attributes.copy(child);\n            });\n            this.unwrap();\n        }\n        else {\n            _super.prototype.format.call(this, name, value);\n        }\n    };\n    InlineBlot.prototype.formatAt = function (index, length, name, value) {\n        if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n            var blot = this.isolate(index, length);\n            blot.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    InlineBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        var formats = this.formats();\n        if (Object.keys(formats).length === 0) {\n            return this.unwrap(); // unformatted span\n        }\n        var next = this.next;\n        if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n            next.moveChildren(this);\n            next.remove();\n        }\n    };\n    InlineBlot.blotName = 'inline';\n    InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n    InlineBlot.tagName = 'SPAN';\n    return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n    __extends(BlockBlot, _super);\n    function BlockBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    BlockBlot.formats = function (domNode) {\n        var tagName = Registry.query(BlockBlot.blotName).tagName;\n        if (domNode.tagName === tagName)\n            return undefined;\n        return _super.formats.call(this, domNode);\n    };\n    BlockBlot.prototype.format = function (name, value) {\n        if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n            return;\n        }\n        else if (name === this.statics.blotName && !value) {\n            this.replaceWith(BlockBlot.blotName);\n        }\n        else {\n            _super.prototype.format.call(this, name, value);\n        }\n    };\n    BlockBlot.prototype.formatAt = function (index, length, name, value) {\n        if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n            this.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    BlockBlot.prototype.insertAt = function (index, value, def) {\n        if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n            // Insert text or inline\n            _super.prototype.insertAt.call(this, index, value, def);\n        }\n        else {\n            var after = this.split(index);\n            var blot = Registry.create(value, def);\n            after.parent.insertBefore(blot, after);\n        }\n    };\n    BlockBlot.prototype.update = function (mutations, context) {\n        if (navigator.userAgent.match(/Trident/)) {\n            this.build();\n        }\n        else {\n            _super.prototype.update.call(this, mutations, context);\n        }\n    };\n    BlockBlot.blotName = 'block';\n    BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n    BlockBlot.tagName = 'P';\n    return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n    __extends(EmbedBlot, _super);\n    function EmbedBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    EmbedBlot.formats = function (domNode) {\n        return undefined;\n    };\n    EmbedBlot.prototype.format = function (name, value) {\n        // super.formatAt wraps, which is what we want in general,\n        // but this allows subclasses to overwrite for formats\n        // that just apply to particular embeds\n        _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n    };\n    EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n        if (index === 0 && length === this.length()) {\n            this.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    EmbedBlot.prototype.formats = function () {\n        return this.statics.formats(this.domNode);\n    };\n    return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n    __extends(TextBlot, _super);\n    function TextBlot(node) {\n        var _this = _super.call(this, node) || this;\n        _this.text = _this.statics.value(_this.domNode);\n        return _this;\n    }\n    TextBlot.create = function (value) {\n        return document.createTextNode(value);\n    };\n    TextBlot.value = function (domNode) {\n        var text = domNode.data;\n        // @ts-ignore\n        if (text['normalize'])\n            text = text['normalize']();\n        return text;\n    };\n    TextBlot.prototype.deleteAt = function (index, length) {\n        this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n    };\n    TextBlot.prototype.index = function (node, offset) {\n        if (this.domNode === node) {\n            return offset;\n        }\n        return -1;\n    };\n    TextBlot.prototype.insertAt = function (index, value, def) {\n        if (def == null) {\n            this.text = this.text.slice(0, index) + value + this.text.slice(index);\n            this.domNode.data = this.text;\n        }\n        else {\n            _super.prototype.insertAt.call(this, index, value, def);\n        }\n    };\n    TextBlot.prototype.length = function () {\n        return this.text.length;\n    };\n    TextBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        this.text = this.statics.value(this.domNode);\n        if (this.text.length === 0) {\n            this.remove();\n        }\n        else if (this.next instanceof TextBlot && this.next.prev === this) {\n            this.insertAt(this.length(), this.next.value());\n            this.next.remove();\n        }\n    };\n    TextBlot.prototype.position = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        return [this.domNode, index];\n    };\n    TextBlot.prototype.split = function (index, force) {\n        if (force === void 0) { force = false; }\n        if (!force) {\n            if (index === 0)\n                return this;\n            if (index === this.length())\n                return this.next;\n        }\n        var after = Registry.create(this.domNode.splitText(index));\n        this.parent.insertBefore(after, this.next);\n        this.text = this.statics.value(this.domNode);\n        return after;\n    };\n    TextBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        if (mutations.some(function (mutation) {\n            return mutation.type === 'characterData' && mutation.target === _this.domNode;\n        })) {\n            this.text = this.statics.value(this.domNode);\n        }\n    };\n    TextBlot.prototype.value = function () {\n        return this.text;\n    };\n    TextBlot.blotName = 'text';\n    TextBlot.scope = Registry.Scope.INLINE_BLOT;\n    return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n  var _toggle = DOMTokenList.prototype.toggle;\n  DOMTokenList.prototype.toggle = function (token, force) {\n    if (arguments.length > 1 && !this.contains(token) === !force) {\n      return force;\n    } else {\n      return _toggle.call(this, token);\n    }\n  };\n}\n\nif (!String.prototype.startsWith) {\n  String.prototype.startsWith = function (searchString, position) {\n    position = position || 0;\n    return this.substr(position, searchString.length) === searchString;\n  };\n}\n\nif (!String.prototype.endsWith) {\n  String.prototype.endsWith = function (searchString, position) {\n    var subjectString = this.toString();\n    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n      position = subjectString.length;\n    }\n    position -= searchString.length;\n    var lastIndex = subjectString.indexOf(searchString, position);\n    return lastIndex !== -1 && lastIndex === position;\n  };\n}\n\nif (!Array.prototype.find) {\n  Object.defineProperty(Array.prototype, \"find\", {\n    value: function value(predicate) {\n      if (this === null) {\n        throw new TypeError('Array.prototype.find called on null or undefined');\n      }\n      if (typeof predicate !== 'function') {\n        throw new TypeError('predicate must be a function');\n      }\n      var list = Object(this);\n      var length = list.length >>> 0;\n      var thisArg = arguments[1];\n      var value;\n\n      for (var i = 0; i < length; i++) {\n        value = list[i];\n        if (predicate.call(thisArg, value, i, list)) {\n          return value;\n        }\n      }\n      return undefined;\n    }\n  });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  // Disable resizing in Firefox\n  document.execCommand(\"enableObjectResizing\", false, false);\n  // Disable automatic linkifying in IE11\n  document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts.  Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n  // Check for equality (speedup).\n  if (text1 == text2) {\n    if (text1) {\n      return [[DIFF_EQUAL, text1]];\n    }\n    return [];\n  }\n\n  // Check cursor_pos within bounds\n  if (cursor_pos < 0 || text1.length < cursor_pos) {\n    cursor_pos = null;\n  }\n\n  // Trim off common prefix (speedup).\n  var commonlength = diff_commonPrefix(text1, text2);\n  var commonprefix = text1.substring(0, commonlength);\n  text1 = text1.substring(commonlength);\n  text2 = text2.substring(commonlength);\n\n  // Trim off common suffix (speedup).\n  commonlength = diff_commonSuffix(text1, text2);\n  var commonsuffix = text1.substring(text1.length - commonlength);\n  text1 = text1.substring(0, text1.length - commonlength);\n  text2 = text2.substring(0, text2.length - commonlength);\n\n  // Compute the diff on the middle block.\n  var diffs = diff_compute_(text1, text2);\n\n  // Restore the prefix and suffix.\n  if (commonprefix) {\n    diffs.unshift([DIFF_EQUAL, commonprefix]);\n  }\n  if (commonsuffix) {\n    diffs.push([DIFF_EQUAL, commonsuffix]);\n  }\n  diff_cleanupMerge(diffs);\n  if (cursor_pos != null) {\n    diffs = fix_cursor(diffs, cursor_pos);\n  }\n  diffs = fix_emoji(diffs);\n  return diffs;\n};\n\n\n/**\n * Find the differences between two texts.  Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n  var diffs;\n\n  if (!text1) {\n    // Just add some text (speedup).\n    return [[DIFF_INSERT, text2]];\n  }\n\n  if (!text2) {\n    // Just delete some text (speedup).\n    return [[DIFF_DELETE, text1]];\n  }\n\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  var i = longtext.indexOf(shorttext);\n  if (i != -1) {\n    // Shorter text is inside the longer text (speedup).\n    diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n             [DIFF_EQUAL, shorttext],\n             [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n    // Swap insertions for deletions if diff is reversed.\n    if (text1.length > text2.length) {\n      diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n    }\n    return diffs;\n  }\n\n  if (shorttext.length == 1) {\n    // Single character string.\n    // After the previous speedup, the character can't be an equality.\n    return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n  }\n\n  // Check to see if the problem can be split in two.\n  var hm = diff_halfMatch_(text1, text2);\n  if (hm) {\n    // A half-match was found, sort out the return data.\n    var text1_a = hm[0];\n    var text1_b = hm[1];\n    var text2_a = hm[2];\n    var text2_b = hm[3];\n    var mid_common = hm[4];\n    // Send both pairs off for separate processing.\n    var diffs_a = diff_main(text1_a, text2_a);\n    var diffs_b = diff_main(text1_b, text2_b);\n    // Merge the results.\n    return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n  }\n\n  return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n  // Cache the text lengths to prevent multiple calls.\n  var text1_length = text1.length;\n  var text2_length = text2.length;\n  var max_d = Math.ceil((text1_length + text2_length) / 2);\n  var v_offset = max_d;\n  var v_length = 2 * max_d;\n  var v1 = new Array(v_length);\n  var v2 = new Array(v_length);\n  // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n  // integers and undefined.\n  for (var x = 0; x < v_length; x++) {\n    v1[x] = -1;\n    v2[x] = -1;\n  }\n  v1[v_offset + 1] = 0;\n  v2[v_offset + 1] = 0;\n  var delta = text1_length - text2_length;\n  // If the total number of characters is odd, then the front path will collide\n  // with the reverse path.\n  var front = (delta % 2 != 0);\n  // Offsets for start and end of k loop.\n  // Prevents mapping of space beyond the grid.\n  var k1start = 0;\n  var k1end = 0;\n  var k2start = 0;\n  var k2end = 0;\n  for (var d = 0; d < max_d; d++) {\n    // Walk the front path one step.\n    for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n      var k1_offset = v_offset + k1;\n      var x1;\n      if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n        x1 = v1[k1_offset + 1];\n      } else {\n        x1 = v1[k1_offset - 1] + 1;\n      }\n      var y1 = x1 - k1;\n      while (x1 < text1_length && y1 < text2_length &&\n             text1.charAt(x1) == text2.charAt(y1)) {\n        x1++;\n        y1++;\n      }\n      v1[k1_offset] = x1;\n      if (x1 > text1_length) {\n        // Ran off the right of the graph.\n        k1end += 2;\n      } else if (y1 > text2_length) {\n        // Ran off the bottom of the graph.\n        k1start += 2;\n      } else if (front) {\n        var k2_offset = v_offset + delta - k1;\n        if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n          // Mirror x2 onto top-left coordinate system.\n          var x2 = text1_length - v2[k2_offset];\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n\n    // Walk the reverse path one step.\n    for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n      var k2_offset = v_offset + k2;\n      var x2;\n      if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n        x2 = v2[k2_offset + 1];\n      } else {\n        x2 = v2[k2_offset - 1] + 1;\n      }\n      var y2 = x2 - k2;\n      while (x2 < text1_length && y2 < text2_length &&\n             text1.charAt(text1_length - x2 - 1) ==\n             text2.charAt(text2_length - y2 - 1)) {\n        x2++;\n        y2++;\n      }\n      v2[k2_offset] = x2;\n      if (x2 > text1_length) {\n        // Ran off the left of the graph.\n        k2end += 2;\n      } else if (y2 > text2_length) {\n        // Ran off the top of the graph.\n        k2start += 2;\n      } else if (!front) {\n        var k1_offset = v_offset + delta - k2;\n        if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n          var x1 = v1[k1_offset];\n          var y1 = v_offset + x1 - k1_offset;\n          // Mirror x2 onto top-left coordinate system.\n          x2 = text1_length - x2;\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n  }\n  // Diff took too long and hit the deadline or\n  // number of diffs equals number of characters, no commonality at all.\n  return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n  var text1a = text1.substring(0, x);\n  var text2a = text2.substring(0, y);\n  var text1b = text1.substring(x);\n  var text2b = text2.substring(y);\n\n  // Compute both diffs serially.\n  var diffs = diff_main(text1a, text2a);\n  var diffsb = diff_main(text1b, text2b);\n\n  return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n *     string.\n */\nfunction diff_commonPrefix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerstart = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(pointerstart, pointermid) ==\n        text2.substring(pointerstart, pointermid)) {\n      pointermin = pointermid;\n      pointerstart = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 ||\n      text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerend = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n        text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n      pointermin = pointermid;\n      pointerend = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n *     text1, the suffix of text1, the prefix of text2, the suffix of\n *     text2 and the common middle.  Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n    return null;  // Pointless.\n  }\n\n  /**\n   * Does a substring of shorttext exist within longtext such that the substring\n   * is at least half the length of longtext?\n   * Closure, but does not reference any external variables.\n   * @param {string} longtext Longer string.\n   * @param {string} shorttext Shorter string.\n   * @param {number} i Start index of quarter length substring within longtext.\n   * @return {Array.<string>} Five element Array, containing the prefix of\n   *     longtext, the suffix of longtext, the prefix of shorttext, the suffix\n   *     of shorttext and the common middle.  Or null if there was no match.\n   * @private\n   */\n  function diff_halfMatchI_(longtext, shorttext, i) {\n    // Start with a 1/4 length substring at position i as a seed.\n    var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n    var j = -1;\n    var best_common = '';\n    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n    while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n      var prefixLength = diff_commonPrefix(longtext.substring(i),\n                                           shorttext.substring(j));\n      var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n                                           shorttext.substring(0, j));\n      if (best_common.length < suffixLength + prefixLength) {\n        best_common = shorttext.substring(j - suffixLength, j) +\n            shorttext.substring(j, j + prefixLength);\n        best_longtext_a = longtext.substring(0, i - suffixLength);\n        best_longtext_b = longtext.substring(i + prefixLength);\n        best_shorttext_a = shorttext.substring(0, j - suffixLength);\n        best_shorttext_b = shorttext.substring(j + prefixLength);\n      }\n    }\n    if (best_common.length * 2 >= longtext.length) {\n      return [best_longtext_a, best_longtext_b,\n              best_shorttext_a, best_shorttext_b, best_common];\n    } else {\n      return null;\n    }\n  }\n\n  // First check if the second quarter is the seed for a half-match.\n  var hm1 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 4));\n  // Check again based on the third quarter.\n  var hm2 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 2));\n  var hm;\n  if (!hm1 && !hm2) {\n    return null;\n  } else if (!hm2) {\n    hm = hm1;\n  } else if (!hm1) {\n    hm = hm2;\n  } else {\n    // Both matched.  Select the longest.\n    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n  }\n\n  // A half-match was found, sort out the return data.\n  var text1_a, text1_b, text2_a, text2_b;\n  if (text1.length > text2.length) {\n    text1_a = hm[0];\n    text1_b = hm[1];\n    text2_a = hm[2];\n    text2_b = hm[3];\n  } else {\n    text2_a = hm[0];\n    text2_b = hm[1];\n    text1_a = hm[2];\n    text1_b = hm[3];\n  }\n  var mid_common = hm[4];\n  return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections.  Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n  diffs.push([DIFF_EQUAL, '']);  // Add a dummy entry at the end.\n  var pointer = 0;\n  var count_delete = 0;\n  var count_insert = 0;\n  var text_delete = '';\n  var text_insert = '';\n  var commonlength;\n  while (pointer < diffs.length) {\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_EQUAL:\n        // Upon reaching an equality, check for prior redundancies.\n        if (count_delete + count_insert > 1) {\n          if (count_delete !== 0 && count_insert !== 0) {\n            // Factor out any common prefixies.\n            commonlength = diff_commonPrefix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              if ((pointer - count_delete - count_insert) > 0 &&\n                  diffs[pointer - count_delete - count_insert - 1][0] ==\n                  DIFF_EQUAL) {\n                diffs[pointer - count_delete - count_insert - 1][1] +=\n                    text_insert.substring(0, commonlength);\n              } else {\n                diffs.splice(0, 0, [DIFF_EQUAL,\n                                    text_insert.substring(0, commonlength)]);\n                pointer++;\n              }\n              text_insert = text_insert.substring(commonlength);\n              text_delete = text_delete.substring(commonlength);\n            }\n            // Factor out any common suffixies.\n            commonlength = diff_commonSuffix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              diffs[pointer][1] = text_insert.substring(text_insert.length -\n                  commonlength) + diffs[pointer][1];\n              text_insert = text_insert.substring(0, text_insert.length -\n                  commonlength);\n              text_delete = text_delete.substring(0, text_delete.length -\n                  commonlength);\n            }\n          }\n          // Delete the offending records and add the merged ones.\n          if (count_delete === 0) {\n            diffs.splice(pointer - count_insert,\n                count_delete + count_insert, [DIFF_INSERT, text_insert]);\n          } else if (count_insert === 0) {\n            diffs.splice(pointer - count_delete,\n                count_delete + count_insert, [DIFF_DELETE, text_delete]);\n          } else {\n            diffs.splice(pointer - count_delete - count_insert,\n                count_delete + count_insert, [DIFF_DELETE, text_delete],\n                [DIFF_INSERT, text_insert]);\n          }\n          pointer = pointer - count_delete - count_insert +\n                    (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n        } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n          // Merge this equality with the previous one.\n          diffs[pointer - 1][1] += diffs[pointer][1];\n          diffs.splice(pointer, 1);\n        } else {\n          pointer++;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = '';\n        text_insert = '';\n        break;\n    }\n  }\n  if (diffs[diffs.length - 1][1] === '') {\n    diffs.pop();  // Remove the dummy entry at the end.\n  }\n\n  // Second pass: look for single edits surrounded on both sides by equalities\n  // which can be shifted sideways to eliminate an equality.\n  // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n  var changes = false;\n  pointer = 1;\n  // Intentionally ignore the first and last element (don't need checking).\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n        diffs[pointer + 1][0] == DIFF_EQUAL) {\n      // This is a single edit surrounded by equalities.\n      if (diffs[pointer][1].substring(diffs[pointer][1].length -\n          diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n        // Shift the edit over the previous equality.\n        diffs[pointer][1] = diffs[pointer - 1][1] +\n            diffs[pointer][1].substring(0, diffs[pointer][1].length -\n                                        diffs[pointer - 1][1].length);\n        diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n        diffs.splice(pointer - 1, 1);\n        changes = true;\n      } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n          diffs[pointer + 1][1]) {\n        // Shift the edit over the next equality.\n        diffs[pointer - 1][1] += diffs[pointer + 1][1];\n        diffs[pointer][1] =\n            diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n            diffs[pointer + 1][1];\n        diffs.splice(pointer + 1, 1);\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  // If shifts were made, the diff needs reordering and another shift sweep.\n  if (changes) {\n    diff_cleanupMerge(diffs);\n  }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n *   cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n *     => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n *   cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n *     => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n  if (cursor_pos === 0) {\n    return [DIFF_EQUAL, diffs];\n  }\n  for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n    var d = diffs[i];\n    if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n      var next_pos = current_pos + d[1].length;\n      if (cursor_pos === next_pos) {\n        return [i + 1, diffs];\n      } else if (cursor_pos < next_pos) {\n        // copy to prevent side effects\n        diffs = diffs.slice();\n        // split d into two diff changes\n        var split_pos = cursor_pos - current_pos;\n        var d_left = [d[0], d[1].slice(0, split_pos)];\n        var d_right = [d[0], d[1].slice(split_pos)];\n        diffs.splice(i, 1, d_left, d_right);\n        return [i + 1, diffs];\n      } else {\n        current_pos = next_pos;\n      }\n    }\n  }\n  throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n *   Check if a naive shift is possible:\n *     [0, X], [ 1, Y] -> [ 1, Y], [0, X]    (if X + Y === Y + X)\n *     [0, X], [-1, Y] -> [-1, Y], [0, X]    (if X + Y === Y + X) - holds same result\n * Case 2)\n *   Check if the following shifts are possible:\n *     [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n *     [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n *         ^            ^\n *         d          d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n  var norm = cursor_normalize_diff(diffs, cursor_pos);\n  var ndiffs = norm[1];\n  var cursor_pointer = norm[0];\n  var d = ndiffs[cursor_pointer];\n  var d_next = ndiffs[cursor_pointer + 1];\n\n  if (d == null) {\n    // Text was deleted from end of original string,\n    // cursor is now out of bounds in new string\n    return diffs;\n  } else if (d[0] !== DIFF_EQUAL) {\n    // A modification happened at the cursor location.\n    // This is the expected outcome, so we can return the original diff.\n    return diffs;\n  } else {\n    if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n      // Case 1)\n      // It is possible to perform a naive shift\n      ndiffs.splice(cursor_pointer, 2, d_next, d)\n      return merge_tuples(ndiffs, cursor_pointer, 2)\n    } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n      // Case 2)\n      // d[1] is a prefix of d_next[1]\n      // We can assume that d_next[0] !== 0, since d[0] === 0\n      // Shift edit locations..\n      ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n      var suffix = d_next[1].slice(d[1].length);\n      if (suffix.length > 0) {\n        ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n      }\n      return merge_tuples(ndiffs, cursor_pointer, 3)\n    } else {\n      // Not possible to perform any modification\n      return diffs;\n    }\n  }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n *     '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n  var compact = false;\n  var starts_with_pair_end = function(str) {\n    return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n  }\n  var ends_with_pair_start = function(str) {\n    return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n  }\n  for (var i = 2; i < diffs.length; i += 1) {\n    if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n        diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n        diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n      compact = true;\n\n      diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n      diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n      diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n    }\n  }\n  if (!compact) {\n    return diffs;\n  }\n  var fixed_diffs = [];\n  for (var i = 0; i < diffs.length; i += 1) {\n    if (diffs[i][1].length > 0) {\n      fixed_diffs.push(diffs[i]);\n    }\n  }\n  return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n  // Check from (start-1) to (start+length).\n  for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n    if (i + 1 < diffs.length) {\n      var left_d = diffs[i];\n      var right_d = diffs[i+1];\n      if (left_d[0] === right_d[1]) {\n        diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n      }\n    }\n  }\n  return diffs;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n  ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n  var keys = [];\n  for (var key in obj) keys.push(key);\n  return keys;\n}\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n  return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n  return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n  return object &&\n    typeof object == 'object' &&\n    typeof object.length == 'number' &&\n    Object.prototype.hasOwnProperty.call(object, 'callee') &&\n    !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n    false;\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n  Events.prototype = Object.create(null);\n\n  //\n  // This hack is needed because the `__proto__` property is still inherited in\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n  //\n  if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n  this.fn = fn;\n  this.context = context;\n  this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n  this._events = new Events();\n  this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n  var names = []\n    , events\n    , name;\n\n  if (this._eventsCount === 0) return names;\n\n  for (name in (events = this._events)) {\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    return names.concat(Object.getOwnPropertySymbols(events));\n  }\n\n  return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n  var evt = prefix ? prefix + event : event\n    , available = this._events[evt];\n\n  if (exists) return !!available;\n  if (!available) return [];\n  if (available.fn) return [available.fn];\n\n  for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n    ee[i] = available[i].fn;\n  }\n\n  return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return false;\n\n  var listeners = this._events[evt]\n    , len = arguments.length\n    , args\n    , i;\n\n  if (listeners.fn) {\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n    switch (len) {\n      case 1: return listeners.fn.call(listeners.context), true;\n      case 2: return listeners.fn.call(listeners.context, a1), true;\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n    }\n\n    for (i = 1, args = new Array(len -1); i < len; i++) {\n      args[i - 1] = arguments[i];\n    }\n\n    listeners.fn.apply(listeners.context, args);\n  } else {\n    var length = listeners.length\n      , j;\n\n    for (i = 0; i < length; i++) {\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n      switch (len) {\n        case 1: listeners[i].fn.call(listeners[i].context); break;\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n        default:\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n            args[j - 1] = arguments[j];\n          }\n\n          listeners[i].fn.apply(listeners[i].context, args);\n      }\n    }\n  }\n\n  return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n  var listener = new EE(fn, context || this)\n    , evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\n  else this._events[evt] = [this._events[evt], listener];\n\n  return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n  var listener = new EE(fn, context || this, true)\n    , evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\n  else this._events[evt] = [this._events[evt], listener];\n\n  return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return this;\n  if (!fn) {\n    if (--this._eventsCount === 0) this._events = new Events();\n    else delete this._events[evt];\n    return this;\n  }\n\n  var listeners = this._events[evt];\n\n  if (listeners.fn) {\n    if (\n         listeners.fn === fn\n      && (!once || listeners.once)\n      && (!context || listeners.context === context)\n    ) {\n      if (--this._eventsCount === 0) this._events = new Events();\n      else delete this._events[evt];\n    }\n  } else {\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n      if (\n           listeners[i].fn !== fn\n        || (once && !listeners[i].once)\n        || (context && listeners[i].context !== context)\n      ) {\n        events.push(listeners[i]);\n      }\n    }\n\n    //\n    // Reset the array, or remove it completely if we have no more listeners.\n    //\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n    else if (--this._eventsCount === 0) this._events = new Events();\n    else delete this._events[evt];\n  }\n\n  return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n  var evt;\n\n  if (event) {\n    evt = prefix ? prefix + event : event;\n    if (this._events[evt]) {\n      if (--this._eventsCount === 0) this._events = new Events();\n      else delete this._events[evt];\n    }\n  } else {\n    this._events = new Events();\n    this._eventsCount = 0;\n  }\n\n  return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n  return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n  module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(37);\n\nvar _background = __webpack_require__(38);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(39);\n\nvar _font = __webpack_require__(40);\n\nvar _size = __webpack_require__(41);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n  memo[attr.keyName] = attr;\n  return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n  memo[attr.keyName] = attr;\n  return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n  _inherits(Clipboard, _Module);\n\n  function Clipboard(quill, options) {\n    _classCallCheck(this, Clipboard);\n\n    var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n    _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n    _this.container = _this.quill.addContainer('ql-clipboard');\n    _this.container.setAttribute('contenteditable', true);\n    _this.container.setAttribute('tabindex', -1);\n    _this.matchers = [];\n    CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          selector = _ref2[0],\n          matcher = _ref2[1];\n\n      if (!options.matchVisual && matcher === matchSpacing) return;\n      _this.addMatcher(selector, matcher);\n    });\n    return _this;\n  }\n\n  _createClass(Clipboard, [{\n    key: 'addMatcher',\n    value: function addMatcher(selector, matcher) {\n      this.matchers.push([selector, matcher]);\n    }\n  }, {\n    key: 'convert',\n    value: function convert(html) {\n      if (typeof html === 'string') {\n        this.container.innerHTML = html.replace(/\\>\\r?\\n +\\</g, '><'); // Remove spaces between tags\n        return this.convert();\n      }\n      var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n      if (formats[_code2.default.blotName]) {\n        var text = this.container.innerText;\n        this.container.innerHTML = '';\n        return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n      }\n\n      var _prepareMatching = this.prepareMatching(),\n          _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n          elementMatchers = _prepareMatching2[0],\n          textMatchers = _prepareMatching2[1];\n\n      var delta = traverse(this.container, elementMatchers, textMatchers);\n      // Remove trailing newline\n      if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n        delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n      }\n      debug.log('convert', this.container.innerHTML, delta);\n      this.container.innerHTML = '';\n      return delta;\n    }\n  }, {\n    key: 'dangerouslyPasteHTML',\n    value: function dangerouslyPasteHTML(index, html) {\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n      if (typeof index === 'string') {\n        this.quill.setContents(this.convert(index), html);\n        this.quill.setSelection(0, _quill2.default.sources.SILENT);\n      } else {\n        var paste = this.convert(html);\n        this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n        this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n      }\n    }\n  }, {\n    key: 'onPaste',\n    value: function onPaste(e) {\n      var _this2 = this;\n\n      if (e.defaultPrevented || !this.quill.isEnabled()) return;\n      var range = this.quill.getSelection();\n      var delta = new _quillDelta2.default().retain(range.index);\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\n      this.container.focus();\n      this.quill.selection.update(_quill2.default.sources.SILENT);\n      setTimeout(function () {\n        delta = delta.concat(_this2.convert()).delete(range.length);\n        _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n        // range.length contributes to delta.length()\n        _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n        _this2.quill.scrollingContainer.scrollTop = scrollTop;\n        _this2.quill.focus();\n      }, 1);\n    }\n  }, {\n    key: 'prepareMatching',\n    value: function prepareMatching() {\n      var _this3 = this;\n\n      var elementMatchers = [],\n          textMatchers = [];\n      this.matchers.forEach(function (pair) {\n        var _pair = _slicedToArray(pair, 2),\n            selector = _pair[0],\n            matcher = _pair[1];\n\n        switch (selector) {\n          case Node.TEXT_NODE:\n            textMatchers.push(matcher);\n            break;\n          case Node.ELEMENT_NODE:\n            elementMatchers.push(matcher);\n            break;\n          default:\n            [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n              // TODO use weakmap\n              node[DOM_KEY] = node[DOM_KEY] || [];\n              node[DOM_KEY].push(matcher);\n            });\n            break;\n        }\n      });\n      return [elementMatchers, textMatchers];\n    }\n  }]);\n\n  return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n  matchers: [],\n  matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n  if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n    return Object.keys(format).reduce(function (delta, key) {\n      return applyFormat(delta, key, format[key]);\n    }, delta);\n  } else {\n    return delta.reduce(function (delta, op) {\n      if (op.attributes && op.attributes[format]) {\n        return delta.push(op);\n      } else {\n        return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n      }\n    }, new _quillDelta2.default());\n  }\n}\n\nfunction computeStyle(node) {\n  if (node.nodeType !== Node.ELEMENT_NODE) return {};\n  var DOM_KEY = '__ql-computed-style';\n  return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n  var endText = \"\";\n  for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n    var op = delta.ops[i];\n    if (typeof op.insert !== 'string') break;\n    endText = op.insert + endText;\n  }\n  return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n  if (node.childNodes.length === 0) return false; // Exclude embed blocks\n  var style = computeStyle(node);\n  return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n  // Post-order\n  if (node.nodeType === node.TEXT_NODE) {\n    return textMatchers.reduce(function (delta, matcher) {\n      return matcher(node, delta);\n    }, new _quillDelta2.default());\n  } else if (node.nodeType === node.ELEMENT_NODE) {\n    return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n      var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n      if (childNode.nodeType === node.ELEMENT_NODE) {\n        childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n          return matcher(childNode, childrenDelta);\n        }, childrenDelta);\n        childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n          return matcher(childNode, childrenDelta);\n        }, childrenDelta);\n      }\n      return delta.concat(childrenDelta);\n    }, new _quillDelta2.default());\n  } else {\n    return new _quillDelta2.default();\n  }\n}\n\nfunction matchAlias(format, node, delta) {\n  return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n  var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n  var classes = _parchment2.default.Attributor.Class.keys(node);\n  var styles = _parchment2.default.Attributor.Style.keys(node);\n  var formats = {};\n  attributes.concat(classes).concat(styles).forEach(function (name) {\n    var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n    if (attr != null) {\n      formats[attr.attrName] = attr.value(node);\n      if (formats[attr.attrName]) return;\n    }\n    attr = ATTRIBUTE_ATTRIBUTORS[name];\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n      formats[attr.attrName] = attr.value(node) || undefined;\n    }\n    attr = STYLE_ATTRIBUTORS[name];\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n      attr = STYLE_ATTRIBUTORS[name];\n      formats[attr.attrName] = attr.value(node) || undefined;\n    }\n  });\n  if (Object.keys(formats).length > 0) {\n    delta = applyFormat(delta, formats);\n  }\n  return delta;\n}\n\nfunction matchBlot(node, delta) {\n  var match = _parchment2.default.query(node);\n  if (match == null) return delta;\n  if (match.prototype instanceof _parchment2.default.Embed) {\n    var embed = {};\n    var value = match.value(node);\n    if (value != null) {\n      embed[match.blotName] = value;\n      delta = new _quillDelta2.default().insert(embed, match.formats(node));\n    }\n  } else if (typeof match.formats === 'function') {\n    delta = applyFormat(delta, match.blotName, match.formats(node));\n  }\n  return delta;\n}\n\nfunction matchBreak(node, delta) {\n  if (!deltaEndsWith(delta, '\\n')) {\n    delta.insert('\\n');\n  }\n  return delta;\n}\n\nfunction matchIgnore() {\n  return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n  var match = _parchment2.default.query(node);\n  if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n    return delta;\n  }\n  var indent = -1,\n      parent = node.parentNode;\n  while (!parent.classList.contains('ql-clipboard')) {\n    if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n      indent += 1;\n    }\n    parent = parent.parentNode;\n  }\n  if (indent <= 0) return delta;\n  return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n  if (!deltaEndsWith(delta, '\\n')) {\n    if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n      delta.insert('\\n');\n    }\n  }\n  return delta;\n}\n\nfunction matchSpacing(node, delta) {\n  if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n    var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n    if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n      delta.insert('\\n');\n    }\n  }\n  return delta;\n}\n\nfunction matchStyles(node, delta) {\n  var formats = {};\n  var style = node.style || {};\n  if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n    formats.italic = true;\n  }\n  if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n    formats.bold = true;\n  }\n  if (Object.keys(formats).length > 0) {\n    delta = applyFormat(delta, formats);\n  }\n  if (parseFloat(style.textIndent || 0) > 0) {\n    // Could be 0.5in\n    delta = new _quillDelta2.default().insert('\\t').concat(delta);\n  }\n  return delta;\n}\n\nfunction matchText(node, delta) {\n  var text = node.data;\n  // Word represents empty line with <o:p>&nbsp;</o:p>\n  if (node.parentNode.tagName === 'O:P') {\n    return delta.insert(text.trim());\n  }\n  if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n    return delta;\n  }\n  if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n    // eslint-disable-next-line func-style\n    var replacer = function replacer(collapse, match) {\n      match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n      return match.length < 1 && collapse ? ' ' : match;\n    };\n    text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n    text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n    if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n      text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n    }\n    if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n      text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n    }\n  }\n  return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n  _inherits(Bold, _Inline);\n\n  function Bold() {\n    _classCallCheck(this, Bold);\n\n    return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n  }\n\n  _createClass(Bold, [{\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n      if (this.domNode.tagName !== this.statics.tagName[0]) {\n        this.replaceWith(this.statics.blotName);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create() {\n      return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      return true;\n    }\n  }]);\n\n  return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar supportsRootNode = 'getRootNode' in document;\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n  _inherits(Toolbar, _Module);\n\n  function Toolbar(quill, options) {\n    _classCallCheck(this, Toolbar);\n\n    var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n    if (Array.isArray(_this.options.container)) {\n      var container = document.createElement('div');\n      addControls(container, _this.options.container);\n      quill.container.parentNode.insertBefore(container, quill.container);\n      _this.container = container;\n    } else if (typeof _this.options.container === 'string') {\n      var rootDocument = supportsRootNode ? quill.container.getRootNode() : document;\n      _this.container = rootDocument.querySelector(_this.options.container);\n    } else {\n      _this.container = _this.options.container;\n    }\n    if (!(_this.container instanceof HTMLElement)) {\n      var _ret;\n\n      return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n    }\n    _this.container.classList.add('ql-toolbar');\n    _this.controls = [];\n    _this.handlers = {};\n    Object.keys(_this.options.handlers).forEach(function (format) {\n      _this.addHandler(format, _this.options.handlers[format]);\n    });\n    [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n      _this.attach(input);\n    });\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n      if (type === _quill2.default.events.SELECTION_CHANGE) {\n        _this.update(range);\n      }\n    });\n    _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n      var _this$quill$selection = _this.quill.selection.getRange(),\n          _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n          range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n      _this.update(range);\n    });\n    return _this;\n  }\n\n  _createClass(Toolbar, [{\n    key: 'addHandler',\n    value: function addHandler(format, handler) {\n      this.handlers[format] = handler;\n    }\n  }, {\n    key: 'attach',\n    value: function attach(input) {\n      var _this2 = this;\n\n      var format = [].find.call(input.classList, function (className) {\n        return className.indexOf('ql-') === 0;\n      });\n      if (!format) return;\n      format = format.slice('ql-'.length);\n      if (input.tagName === 'BUTTON') {\n        input.setAttribute('type', 'button');\n      }\n      if (this.handlers[format] == null) {\n        if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n          debug.warn('ignoring attaching to disabled format', format, input);\n          return;\n        }\n        if (_parchment2.default.query(format) == null) {\n          debug.warn('ignoring attaching to nonexistent format', format, input);\n          return;\n        }\n      }\n      var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n      input.addEventListener(eventName, function (e) {\n        var value = void 0;\n        if (input.tagName === 'SELECT') {\n          if (input.selectedIndex < 0) return;\n          var selected = input.options[input.selectedIndex];\n          if (selected.hasAttribute('selected')) {\n            value = false;\n          } else {\n            value = selected.value || false;\n          }\n        } else {\n          if (input.classList.contains('ql-active')) {\n            value = false;\n          } else {\n            value = input.value || !input.hasAttribute('value');\n          }\n          e.preventDefault();\n        }\n        _this2.quill.focus();\n\n        var _quill$selection$getR = _this2.quill.selection.getRange(),\n            _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n            range = _quill$selection$getR2[0];\n\n        if (_this2.handlers[format] != null) {\n          _this2.handlers[format].call(_this2, value);\n        } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n          value = prompt('Enter ' + format);\n          if (!value) return;\n          _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n        } else {\n          _this2.quill.format(format, value, _quill2.default.sources.USER);\n        }\n        _this2.update(range);\n      });\n      // TODO use weakmap\n      this.controls.push([format, input]);\n    }\n  }, {\n    key: 'update',\n    value: function update(range) {\n      var formats = range == null ? {} : this.quill.getFormat(range);\n      this.controls.forEach(function (pair) {\n        var _pair = _slicedToArray(pair, 2),\n            format = _pair[0],\n            input = _pair[1];\n\n        if (input.tagName === 'SELECT') {\n          var option = void 0;\n          if (range == null) {\n            option = null;\n          } else if (formats[format] == null) {\n            option = input.querySelector('option[selected]');\n          } else if (!Array.isArray(formats[format])) {\n            var value = formats[format];\n            if (typeof value === 'string') {\n              value = value.replace(/\\\"/g, '\\\\\"');\n            }\n            option = input.querySelector('option[value=\"' + value + '\"]');\n          }\n          if (option == null) {\n            input.value = ''; // TODO make configurable?\n            input.selectedIndex = -1;\n          } else {\n            option.selected = true;\n          }\n        } else {\n          if (range == null) {\n            input.classList.remove('ql-active');\n          } else if (input.hasAttribute('value')) {\n            // both being null should match (default values)\n            // '1' should match with 1 (headers)\n            var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n            input.classList.toggle('ql-active', isActive);\n          } else {\n            input.classList.toggle('ql-active', formats[format] != null);\n          }\n        }\n      });\n    }\n  }]);\n\n  return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n  var input = document.createElement('button');\n  input.setAttribute('type', 'button');\n  input.classList.add('ql-' + format);\n  if (value != null) {\n    input.value = value;\n  }\n  container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n  if (!Array.isArray(groups[0])) {\n    groups = [groups];\n  }\n  groups.forEach(function (controls) {\n    var group = document.createElement('span');\n    group.classList.add('ql-formats');\n    controls.forEach(function (control) {\n      if (typeof control === 'string') {\n        addButton(group, control);\n      } else {\n        var format = Object.keys(control)[0];\n        var value = control[format];\n        if (Array.isArray(value)) {\n          addSelect(group, format, value);\n        } else {\n          addButton(group, format, value);\n        }\n      }\n    });\n    container.appendChild(group);\n  });\n}\n\nfunction addSelect(container, format, values) {\n  var input = document.createElement('select');\n  input.classList.add('ql-' + format);\n  values.forEach(function (value) {\n    var option = document.createElement('option');\n    if (value !== false) {\n      option.setAttribute('value', value);\n    } else {\n      option.setAttribute('selected', 'selected');\n    }\n    input.appendChild(option);\n  });\n  container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n  container: null,\n  handlers: {\n    clean: function clean() {\n      var _this3 = this;\n\n      var range = this.quill.getSelection();\n      if (range == null) return;\n      if (range.length == 0) {\n        var formats = this.quill.getFormat();\n        Object.keys(formats).forEach(function (name) {\n          // Clean functionality in existing apps only clean inline formats\n          if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n            _this3.quill.format(name, false);\n          }\n        });\n      } else {\n        this.quill.removeFormat(range, _quill2.default.sources.USER);\n      }\n    },\n    direction: function direction(value) {\n      var align = this.quill.getFormat()['align'];\n      if (value === 'rtl' && align == null) {\n        this.quill.format('align', 'right', _quill2.default.sources.USER);\n      } else if (!value && align === 'right') {\n        this.quill.format('align', false, _quill2.default.sources.USER);\n      }\n      this.quill.format('direction', value, _quill2.default.sources.USER);\n    },\n    indent: function indent(value) {\n      var range = this.quill.getSelection();\n      var formats = this.quill.getFormat(range);\n      var indent = parseInt(formats.indent || 0);\n      if (value === '+1' || value === '-1') {\n        var modifier = value === '+1' ? 1 : -1;\n        if (formats.direction === 'rtl') modifier *= -1;\n        this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n      }\n    },\n    link: function link(value) {\n      if (value === true) {\n        value = prompt('Enter link URL:');\n      }\n      this.quill.format('link', value, _quill2.default.sources.USER);\n    },\n    list: function list(value) {\n      var range = this.quill.getSelection();\n      var formats = this.quill.getFormat(range);\n      if (value === 'check') {\n        if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n          this.quill.format('list', false, _quill2.default.sources.USER);\n        } else {\n          this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n        }\n      } else {\n        this.quill.format('list', value, _quill2.default.sources.USER);\n      }\n    }\n  }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polyline class=\\\"ql-even ql-stroke\\\" points=\\\"5 7 3 9 5 11\\\"></polyline> <polyline class=\\\"ql-even ql-stroke\\\" points=\\\"13 7 15 9 13 11\\\"></polyline> <line class=ql-stroke x1=10 x2=8 y1=5 y2=13></line> </svg>\";\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n  _inherits(ColorPicker, _Picker);\n\n  function ColorPicker(select, label) {\n    _classCallCheck(this, ColorPicker);\n\n    var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n    _this.label.innerHTML = label;\n    _this.container.classList.add('ql-color-picker');\n    [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n      item.classList.add('ql-primary');\n    });\n    return _this;\n  }\n\n  _createClass(ColorPicker, [{\n    key: 'buildItem',\n    value: function buildItem(option) {\n      var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n      item.style.backgroundColor = option.getAttribute('value') || '';\n      return item;\n    }\n  }, {\n    key: 'selectItem',\n    value: function selectItem(item, trigger) {\n      _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n      var colorLabel = this.label.querySelector('.ql-color-label');\n      var value = item ? item.getAttribute('data-value') || '' : '';\n      if (colorLabel) {\n        if (colorLabel.tagName === 'line') {\n          colorLabel.style.stroke = value;\n        } else {\n          colorLabel.style.fill = value;\n        }\n      }\n    }\n  }]);\n\n  return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n  _inherits(IconPicker, _Picker);\n\n  function IconPicker(select, icons) {\n    _classCallCheck(this, IconPicker);\n\n    var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n    _this.container.classList.add('ql-icon-picker');\n    [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n      item.innerHTML = icons[item.getAttribute('data-value') || ''];\n    });\n    _this.defaultItem = _this.container.querySelector('.ql-selected');\n    _this.selectItem(_this.defaultItem);\n    return _this;\n  }\n\n  _createClass(IconPicker, [{\n    key: 'selectItem',\n    value: function selectItem(item, trigger) {\n      _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n      item = item || this.defaultItem;\n      this.label.innerHTML = item.innerHTML;\n    }\n  }]);\n\n  return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n  function Tooltip(quill, boundsContainer) {\n    var _this = this;\n\n    _classCallCheck(this, Tooltip);\n\n    this.quill = quill;\n    this.boundsContainer = boundsContainer || document.body;\n    this.root = quill.addContainer('ql-tooltip');\n    this.root.innerHTML = this.constructor.TEMPLATE;\n    if (this.quill.root === this.quill.scrollingContainer) {\n      this.quill.root.addEventListener('scroll', function () {\n        _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n      });\n    }\n    this.hide();\n  }\n\n  _createClass(Tooltip, [{\n    key: 'hide',\n    value: function hide() {\n      this.root.classList.add('ql-hidden');\n    }\n  }, {\n    key: 'position',\n    value: function position(reference) {\n      var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n      // root.scrollTop should be 0 if scrollContainer !== root\n      var top = reference.bottom + this.quill.root.scrollTop;\n      this.root.style.left = left + 'px';\n      this.root.style.top = top + 'px';\n      this.root.classList.remove('ql-flip');\n      var containerBounds = this.boundsContainer.getBoundingClientRect();\n      var rootBounds = this.root.getBoundingClientRect();\n      var shift = 0;\n      if (rootBounds.right > containerBounds.right) {\n        shift = containerBounds.right - rootBounds.right;\n        this.root.style.left = left + shift + 'px';\n      }\n      if (rootBounds.left < containerBounds.left) {\n        shift = containerBounds.left - rootBounds.left;\n        this.root.style.left = left + shift + 'px';\n      }\n      if (rootBounds.bottom > containerBounds.bottom) {\n        var height = rootBounds.bottom - rootBounds.top;\n        var verticalShift = reference.bottom - reference.top + height;\n        this.root.style.top = top - verticalShift + 'px';\n        this.root.classList.add('ql-flip');\n      }\n      return shift;\n    }\n  }, {\n    key: 'show',\n    value: function show() {\n      this.root.classList.remove('ql-editing');\n      this.root.classList.remove('ql-hidden');\n    }\n  }]);\n\n  return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(44);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(42);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n  _inherits(SnowTheme, _BaseTheme);\n\n  function SnowTheme(quill, options) {\n    _classCallCheck(this, SnowTheme);\n\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\n    }\n\n    var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n    _this.quill.container.classList.add('ql-snow');\n    return _this;\n  }\n\n  _createClass(SnowTheme, [{\n    key: 'extendToolbar',\n    value: function extendToolbar(toolbar) {\n      toolbar.container.classList.add('ql-snow');\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n      this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n      if (toolbar.container.querySelector('.ql-link')) {\n        this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n          toolbar.handlers['link'].call(toolbar, !context.format.link);\n        });\n      }\n    }\n  }]);\n\n  return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        link: function link(value) {\n          if (value) {\n            var range = this.quill.getSelection();\n            if (range == null || range.length == 0) return;\n            var preview = this.quill.getText(range);\n            if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n              preview = 'mailto:' + preview;\n            }\n            var tooltip = this.quill.theme.tooltip;\n            tooltip.edit('link', preview);\n          } else {\n            this.quill.format('link', false);\n          }\n        }\n      }\n    }\n  }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n  _inherits(SnowTooltip, _BaseTooltip);\n\n  function SnowTooltip(quill, bounds) {\n    _classCallCheck(this, SnowTooltip);\n\n    var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n    _this2.preview = _this2.root.querySelector('a.ql-preview');\n    return _this2;\n  }\n\n  _createClass(SnowTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this3 = this;\n\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n      this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n        if (_this3.root.classList.contains('ql-editing')) {\n          _this3.save();\n        } else {\n          _this3.edit('link', _this3.preview.textContent);\n        }\n        event.preventDefault();\n      });\n      this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n        if (_this3.linkRange != null) {\n          var range = _this3.linkRange;\n          _this3.restoreFocus();\n          _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n          delete _this3.linkRange;\n        }\n        event.preventDefault();\n        _this3.hide();\n      });\n      this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n        if (range == null) return;\n        if (range.length === 0 && source === _emitter2.default.sources.USER) {\n          var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n              _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n              link = _quill$scroll$descend2[0],\n              offset = _quill$scroll$descend2[1];\n\n          if (link != null) {\n            _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n            var preview = _link2.default.formats(link.domNode);\n            _this3.preview.textContent = preview;\n            _this3.preview.setAttribute('href', preview);\n            _this3.show();\n            _this3.position(_this3.quill.getBounds(_this3.linkRange));\n            return;\n          }\n        } else {\n          delete _this3.linkRange;\n        }\n        _this3.hide();\n      });\n    }\n  }, {\n    key: 'show',\n    value: function show() {\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n      this.root.removeAttribute('data-mode');\n    }\n  }]);\n\n  return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['<a class=\"ql-preview\" target=\"_blank\" href=\"about:blank\"></a>', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-action\"></a>', '<a class=\"ql-remove\"></a>'].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(37);\n\nvar _direction = __webpack_require__(39);\n\nvar _indent = __webpack_require__(65);\n\nvar _blockquote = __webpack_require__(66);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(67);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(68);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(38);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(40);\n\nvar _size = __webpack_require__(41);\n\nvar _bold = __webpack_require__(57);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(69);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(70);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(71);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(72);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(73);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(74);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(75);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(76);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(58);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(42);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(60);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(61);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(62);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(109);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(63);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n  'attributors/attribute/direction': _direction.DirectionAttribute,\n\n  'attributors/class/align': _align.AlignClass,\n  'attributors/class/background': _background.BackgroundClass,\n  'attributors/class/color': _color.ColorClass,\n  'attributors/class/direction': _direction.DirectionClass,\n  'attributors/class/font': _font.FontClass,\n  'attributors/class/size': _size.SizeClass,\n\n  'attributors/style/align': _align.AlignStyle,\n  'attributors/style/background': _background.BackgroundStyle,\n  'attributors/style/color': _color.ColorStyle,\n  'attributors/style/direction': _direction.DirectionStyle,\n  'attributors/style/font': _font.FontStyle,\n  'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n  'formats/align': _align.AlignClass,\n  'formats/direction': _direction.DirectionClass,\n  'formats/indent': _indent.IndentClass,\n\n  'formats/background': _background.BackgroundStyle,\n  'formats/color': _color.ColorStyle,\n  'formats/font': _font.FontClass,\n  'formats/size': _size.SizeClass,\n\n  'formats/blockquote': _blockquote2.default,\n  'formats/code-block': _code2.default,\n  'formats/header': _header2.default,\n  'formats/list': _list2.default,\n\n  'formats/bold': _bold2.default,\n  'formats/code': _code.Code,\n  'formats/italic': _italic2.default,\n  'formats/link': _link2.default,\n  'formats/script': _script2.default,\n  'formats/strike': _strike2.default,\n  'formats/underline': _underline2.default,\n\n  'formats/image': _image2.default,\n  'formats/video': _video2.default,\n\n  'formats/list/item': _list.ListItem,\n\n  'modules/formula': _formula2.default,\n  'modules/syntax': _syntax2.default,\n  'modules/toolbar': _toolbar2.default,\n\n  'themes/bubble': _bubble2.default,\n  'themes/snow': _snow2.default,\n\n  'ui/icons': _icons2.default,\n  'ui/picker': _picker2.default,\n  'ui/icon-picker': _iconPicker2.default,\n  'ui/color-picker': _colorPicker2.default,\n  'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n  _inherits(IdentAttributor, _Parchment$Attributor);\n\n  function IdentAttributor() {\n    _classCallCheck(this, IdentAttributor);\n\n    return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n  }\n\n  _createClass(IdentAttributor, [{\n    key: 'add',\n    value: function add(node, value) {\n      if (value === '+1' || value === '-1') {\n        var indent = this.value(node) || 0;\n        value = value === '+1' ? indent + 1 : indent - 1;\n      }\n      if (value === 0) {\n        this.remove(node);\n        return true;\n      } else {\n        return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n      }\n    }\n  }, {\n    key: 'canAdd',\n    value: function canAdd(node, value) {\n      return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n    }\n  }, {\n    key: 'value',\n    value: function value(node) {\n      return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n    }\n  }]);\n\n  return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n  _inherits(Blockquote, _Block);\n\n  function Blockquote() {\n    _classCallCheck(this, Blockquote);\n\n    return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n  }\n\n  return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n  _inherits(Header, _Block);\n\n  function Header() {\n    _classCallCheck(this, Header);\n\n    return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n  }\n\n  _createClass(Header, null, [{\n    key: 'formats',\n    value: function formats(domNode) {\n      return this.tagName.indexOf(domNode.tagName) + 1;\n    }\n  }]);\n\n  return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n  _inherits(ListItem, _Block);\n\n  function ListItem() {\n    _classCallCheck(this, ListItem);\n\n    return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n  }\n\n  _createClass(ListItem, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (name === List.blotName && !value) {\n        this.replaceWith(_parchment2.default.create(this.statics.scope));\n      } else {\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }, {\n    key: 'remove',\n    value: function remove() {\n      if (this.prev == null && this.next == null) {\n        this.parent.remove();\n      } else {\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n      }\n    }\n  }, {\n    key: 'replaceWith',\n    value: function replaceWith(name, value) {\n      this.parent.isolate(this.offset(this.parent), this.length());\n      if (name === this.parent.statics.blotName) {\n        this.parent.replaceWith(name, value);\n        return this;\n      } else {\n        this.parent.unwrap();\n        return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'formats',\n    value: function formats(domNode) {\n      return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n    }\n  }]);\n\n  return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n  _inherits(List, _Container);\n\n  _createClass(List, null, [{\n    key: 'create',\n    value: function create(value) {\n      var tagName = value === 'ordered' ? 'OL' : 'UL';\n      var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n      if (value === 'checked' || value === 'unchecked') {\n        node.setAttribute('data-checked', value === 'checked');\n      }\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      if (domNode.tagName === 'OL') return 'ordered';\n      if (domNode.tagName === 'UL') {\n        if (domNode.hasAttribute('data-checked')) {\n          return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n        } else {\n          return 'bullet';\n        }\n      }\n      return undefined;\n    }\n  }]);\n\n  function List(domNode) {\n    _classCallCheck(this, List);\n\n    var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n    var listEventHandler = function listEventHandler(e) {\n      if (e.target.parentNode !== domNode) return;\n      var format = _this2.statics.formats(domNode);\n      var blot = _parchment2.default.find(e.target);\n      if (format === 'checked') {\n        blot.format('list', 'unchecked');\n      } else if (format === 'unchecked') {\n        blot.format('list', 'checked');\n      }\n    };\n\n    domNode.addEventListener('touchstart', listEventHandler);\n    domNode.addEventListener('mousedown', listEventHandler);\n    return _this2;\n  }\n\n  _createClass(List, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (this.children.length > 0) {\n        this.children.tail.format(name, value);\n      }\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      // We don't inherit from FormatBlot\n      return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      if (blot instanceof ListItem) {\n        _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n      } else {\n        var index = ref == null ? this.length() : ref.offset(this);\n        var after = this.split(index);\n        after.parent.insertBefore(blot, after);\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n      var next = this.next;\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n        next.moveChildren(this);\n        next.remove();\n      }\n    }\n  }, {\n    key: 'replace',\n    value: function replace(target) {\n      if (target.statics.blotName !== this.statics.blotName) {\n        var item = _parchment2.default.create(this.statics.defaultChild);\n        target.moveChildren(item);\n        this.appendChild(item);\n      }\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n    }\n  }]);\n\n  return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _bold = __webpack_require__(57);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n  _inherits(Italic, _Bold);\n\n  function Italic() {\n    _classCallCheck(this, Italic);\n\n    return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n  }\n\n  return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n  _inherits(Script, _Inline);\n\n  function Script() {\n    _classCallCheck(this, Script);\n\n    return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n  }\n\n  _createClass(Script, null, [{\n    key: 'create',\n    value: function create(value) {\n      if (value === 'super') {\n        return document.createElement('sup');\n      } else if (value === 'sub') {\n        return document.createElement('sub');\n      } else {\n        return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n      }\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      if (domNode.tagName === 'SUB') return 'sub';\n      if (domNode.tagName === 'SUP') return 'super';\n      return undefined;\n    }\n  }]);\n\n  return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n  _inherits(Strike, _Inline);\n\n  function Strike() {\n    _classCallCheck(this, Strike);\n\n    return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n  }\n\n  return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n  _inherits(Underline, _Inline);\n\n  function Underline() {\n    _classCallCheck(this, Underline);\n\n    return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n  }\n\n  return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n  _inherits(Image, _Parchment$Embed);\n\n  function Image() {\n    _classCallCheck(this, Image);\n\n    return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n  }\n\n  _createClass(Image, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (ATTRIBUTES.indexOf(name) > -1) {\n        if (value) {\n          this.domNode.setAttribute(name, value);\n        } else {\n          this.domNode.removeAttribute(name);\n        }\n      } else {\n        _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n      if (typeof value === 'string') {\n        node.setAttribute('src', this.sanitize(value));\n      }\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return ATTRIBUTES.reduce(function (formats, attribute) {\n        if (domNode.hasAttribute(attribute)) {\n          formats[attribute] = domNode.getAttribute(attribute);\n        }\n        return formats;\n      }, {});\n    }\n  }, {\n    key: 'match',\n    value: function match(url) {\n      return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n      );\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('src');\n    }\n  }]);\n\n  return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n  _inherits(Video, _BlockEmbed);\n\n  function Video() {\n    _classCallCheck(this, Video);\n\n    return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n  }\n\n  _createClass(Video, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (ATTRIBUTES.indexOf(name) > -1) {\n        if (value) {\n          this.domNode.setAttribute(name, value);\n        } else {\n          this.domNode.removeAttribute(name);\n        }\n      } else {\n        _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n      node.setAttribute('frameborder', '0');\n      node.setAttribute('allowfullscreen', true);\n      node.setAttribute('src', this.sanitize(value));\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return ATTRIBUTES.reduce(function (formats, attribute) {\n        if (domNode.hasAttribute(attribute)) {\n          formats[attribute] = domNode.getAttribute(attribute);\n        }\n        return formats;\n      }, {});\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return _link2.default.sanitize(url);\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('src');\n    }\n  }]);\n\n  return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(36);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n  _inherits(FormulaBlot, _Embed);\n\n  function FormulaBlot() {\n    _classCallCheck(this, FormulaBlot);\n\n    return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n  }\n\n  _createClass(FormulaBlot, null, [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n      if (typeof value === 'string') {\n        window.katex.render(value, node, {\n          throwOnError: false,\n          errorColor: '#f00'\n        });\n        node.setAttribute('data-value', value);\n      }\n      return node;\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('data-value');\n    }\n  }]);\n\n  return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n  _inherits(Formula, _Module);\n\n  _createClass(Formula, null, [{\n    key: 'register',\n    value: function register() {\n      _quill2.default.register(FormulaBlot, true);\n    }\n  }]);\n\n  function Formula() {\n    _classCallCheck(this, Formula);\n\n    var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n    if (window.katex == null) {\n      throw new Error('Formula module requires KaTeX.');\n    }\n    return _this2;\n  }\n\n  return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n  _inherits(SyntaxCodeBlock, _CodeBlock);\n\n  function SyntaxCodeBlock() {\n    _classCallCheck(this, SyntaxCodeBlock);\n\n    return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n  }\n\n  _createClass(SyntaxCodeBlock, [{\n    key: 'replaceWith',\n    value: function replaceWith(block) {\n      this.domNode.textContent = this.domNode.textContent;\n      this.attach();\n      _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n    }\n  }, {\n    key: 'highlight',\n    value: function highlight(_highlight) {\n      var text = this.domNode.textContent;\n      if (this.cachedText !== text) {\n        if (text.trim().length > 0 || this.cachedText == null) {\n          this.domNode.innerHTML = _highlight(text);\n          this.domNode.normalize();\n          this.attach();\n        }\n        this.cachedText = text;\n      }\n    }\n  }]);\n\n  return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n  _inherits(Syntax, _Module);\n\n  _createClass(Syntax, null, [{\n    key: 'register',\n    value: function register() {\n      _quill2.default.register(CodeToken, true);\n      _quill2.default.register(SyntaxCodeBlock, true);\n    }\n  }]);\n\n  function Syntax(quill, options) {\n    _classCallCheck(this, Syntax);\n\n    var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n    if (typeof _this2.options.highlight !== 'function') {\n      throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n    }\n    var timer = null;\n    _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n      clearTimeout(timer);\n      timer = setTimeout(function () {\n        _this2.highlight();\n        timer = null;\n      }, _this2.options.interval);\n    });\n    _this2.highlight();\n    return _this2;\n  }\n\n  _createClass(Syntax, [{\n    key: 'highlight',\n    value: function highlight() {\n      var _this3 = this;\n\n      if (this.quill.selection.composing) return;\n      this.quill.update(_quill2.default.sources.USER);\n      var range = this.quill.getSelection();\n      this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n        code.highlight(_this3.options.highlight);\n      });\n      this.quill.update(_quill2.default.sources.SILENT);\n      if (range != null) {\n        this.quill.setSelection(range, _quill2.default.sources.SILENT);\n      }\n    }\n  }]);\n\n  return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n  highlight: function () {\n    if (window.hljs == null) return null;\n    return function (text) {\n      var result = window.hljs.highlightAuto(text);\n      return result.value;\n    };\n  }(),\n  interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=13 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=9 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=14 x2=4 y1=14 y2=14></line> <line class=ql-stroke x1=12 x2=6 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=5 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=9 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=3 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=3 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <g class=\\\"ql-fill ql-color-label\\\"> <polygon points=\\\"6 6.868 6 6 5 6 5 7 5.942 7 6 6.868\\\"></polygon> <rect height=1 width=1 x=4 y=4></rect> <polygon points=\\\"6.817 5 6 5 6 6 6.38 6 6.817 5\\\"></polygon> <rect height=1 width=1 x=2 y=6></rect> <rect height=1 width=1 x=3 y=5></rect> <rect height=1 width=1 x=4 y=7></rect> <polygon points=\\\"4 11.439 4 11 3 11 3 12 3.755 12 4 11.439\\\"></polygon> <rect height=1 width=1 x=2 y=12></rect> <rect height=1 width=1 x=2 y=9></rect> <rect height=1 width=1 x=2 y=15></rect> <polygon points=\\\"4.63 10 4 10 4 11 4.192 11 4.63 10\\\"></polygon> <rect height=1 width=1 x=3 y=8></rect> <path d=M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z></path> <path d=M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z></path> <path d=M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z></path> <rect height=1 width=1 x=12 y=2></rect> <rect height=1 width=1 x=11 y=3></rect> <path d=M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z></path> <rect height=1 width=1 x=2 y=3></rect> <rect height=1 width=1 x=6 y=2></rect> <rect height=1 width=1 x=3 y=2></rect> <rect height=1 width=1 x=5 y=3></rect> <rect height=1 width=1 x=9 y=2></rect> <rect height=1 width=1 x=15 y=14></rect> <polygon points=\\\"13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174\\\"></polygon> <rect height=1 width=1 x=13 y=7></rect> <rect height=1 width=1 x=15 y=5></rect> <rect height=1 width=1 x=14 y=6></rect> <rect height=1 width=1 x=15 y=8></rect> <rect height=1 width=1 x=14 y=9></rect> <path d=M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z></path> <rect height=1 width=1 x=14 y=3></rect> <polygon points=\\\"12 6.868 12 6 11.62 6 12 6.868\\\"></polygon> <rect height=1 width=1 x=15 y=2></rect> <rect height=1 width=1 x=12 y=5></rect> <rect height=1 width=1 x=13 y=4></rect> <polygon points=\\\"12.933 9 13 9 13 8 12.495 8 12.933 9\\\"></polygon> <rect height=1 width=1 x=9 y=14></rect> <rect height=1 width=1 x=8 y=15></rect> <path d=M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z></path> <rect height=1 width=1 x=5 y=15></rect> <path d=M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z></path> <rect height=1 width=1 x=11 y=15></rect> <path d=M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z></path> <rect height=1 width=1 x=14 y=15></rect> <rect height=1 width=1 x=15 y=11></rect> </g> <polyline class=ql-stroke points=\\\"5.5 13 9 5 12.5 13\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=11 y2=11></line> </svg>\";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=\\\"ql-fill ql-stroke\\\" height=3 width=3 x=4 y=5></rect> <rect class=\\\"ql-fill ql-stroke\\\" height=3 width=3 x=11 y=5></rect> <path class=\\\"ql-even ql-fill ql-stroke\\\" d=M7,8c0,4.031-3,5-3,5></path> <path class=\\\"ql-even ql-fill ql-stroke\\\" d=M14,8c0,4.031-3,5-3,5></path> </svg>\";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-stroke d=M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z></path> <path class=ql-stroke d=M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z></path> </svg>\";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=5 x2=13 y1=3 y2=3></line> <line class=ql-stroke x1=6 x2=9.35 y1=12 y2=3></line> <line class=ql-stroke x1=11 x2=15 y1=11 y2=15></line> <line class=ql-stroke x1=15 x2=11 y1=11 y2=15></line> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=7 x=2 y=14></rect> </svg>\";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=\\\"ql-color-label ql-stroke ql-transparent\\\" x1=3 x2=15 y1=15 y2=15></line> <polyline class=ql-stroke points=\\\"5.5 11 9 3 12.5 11\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=9 y2=9></line> </svg>\";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"3 11 5 9 3 7 3 11\\\"></polygon> <line class=\\\"ql-stroke ql-fill\\\" x1=15 x2=11 y1=4 y2=4></line> <path class=ql-fill d=M11,3a3,3,0,0,0,0,6h1V3H11Z></path> <rect class=ql-fill height=11 width=1 x=11 y=4></rect> <rect class=ql-fill height=11 width=1 x=13 y=4></rect> </svg>\";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"15 12 13 10 15 8 15 12\\\"></polygon> <line class=\\\"ql-stroke ql-fill\\\" x1=9 x2=5 y1=4 y2=4></line> <path class=ql-fill d=M5,3A3,3,0,0,0,5,9H6V3H5Z></path> <rect class=ql-fill height=11 width=1 x=5 y=4></rect> <rect class=ql-fill height=11 width=1 x=7 y=4></rect> </svg>\";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M14,16H4a1,1,0,0,1,0-2H14A1,1,0,0,1,14,16Z /> <path class=ql-fill d=M14,4H4A1,1,0,0,1,4,2H14A1,1,0,0,1,14,4Z /> <rect class=ql-fill x=3 y=6 width=12 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M13,16H5a1,1,0,0,1,0-2h8A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H5A1,1,0,0,1,5,2h8A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=2 y=6 width=14 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15,8H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,8Z /> <path class=ql-fill d=M15,12H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,12Z /> <path class=ql-fill d=M15,16H5a1,1,0,0,1,0-2H15A1,1,0,0,1,15,16Z /> <path class=ql-fill d=M15,4H5A1,1,0,0,1,5,2H15A1,1,0,0,1,15,4Z /> <rect class=ql-fill x=2 y=6 width=8 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M5,8H3A1,1,0,0,1,3,6H5A1,1,0,0,1,5,8Z /> <path class=ql-fill d=M5,12H3a1,1,0,0,1,0-2H5A1,1,0,0,1,5,12Z /> <path class=ql-fill d=M13,16H3a1,1,0,0,1,0-2H13A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H3A1,1,0,0,1,3,2H13A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=8 y=6 width=8 height=6 rx=1 ry=1 transform=\\\"translate(24 18) rotate(-180)\\\"/> </svg>\";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z></path> <rect class=ql-fill height=1.6 rx=0.8 ry=0.8 width=5 x=5.15 y=6.2></rect> <path class=ql-fill d=M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z></path> </svg>\";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z /> </svg>\";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z /> </svg>\";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=13 y1=4 y2=4></line> <line class=ql-stroke x1=5 x2=11 y1=14 y2=14></line> <line class=ql-stroke x1=8 x2=10 y1=14 y2=4></line> </svg>\";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=ql-stroke height=10 width=12 x=3 y=4></rect> <circle class=ql-fill cx=6 cy=7 r=1></circle> <polyline class=\\\"ql-even ql-fill\\\" points=\\\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=\\\"ql-fill ql-stroke\\\" points=\\\"3 7 3 11 5 9 3 7\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\"5 7 5 11 3 9 5 7\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=11 y1=7 y2=11></line> <path class=\\\"ql-even ql-stroke\\\" d=M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z></path> <path class=\\\"ql-even ql-stroke\\\" d=M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z></path> </svg>\";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=7 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=7 x2=15 y1=14 y2=14></line> <line class=\\\"ql-stroke ql-thin\\\" x1=2.5 x2=4.5 y1=5.5 y2=5.5></line> <path class=ql-fill d=M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z></path> <path class=\\\"ql-stroke ql-thin\\\" d=M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156></path> <path class=\\\"ql-stroke ql-thin\\\" d=M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109></path> </svg>\";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=6 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=6 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=6 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=3 y1=4 y2=4></line> <line class=ql-stroke x1=3 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=3 y1=14 y2=14></line> </svg>\";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=9 x2=15 y1=4 y2=4></line> <polyline class=ql-stroke points=\\\"3 4 4 5 6 3\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=14 y2=14></line> <polyline class=ql-stroke points=\\\"3 14 4 15 6 13\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\"3 9 4 10 6 8\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z /> <path class=ql-fill d=M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z /> </svg>\";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z /> <path class=ql-fill d=M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z /> </svg>\";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=\\\"ql-stroke ql-thin\\\" x1=15.5 x2=2.5 y1=8.5 y2=9.5></line> <path class=ql-fill d=M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z></path> <path class=ql-fill d=M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z></path> </svg>\";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-stroke d=M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3></path> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=12 x=3 y=15></rect> </svg>\";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=ql-stroke height=12 width=12 x=3 y=3></rect> <rect class=ql-fill height=12 width=1 x=5 y=3></rect> <rect class=ql-fill height=12 width=1 x=12 y=3></rect> <rect class=ql-fill height=2 width=8 x=5 y=8></rect> <rect class=ql-fill height=1 width=3 x=3 y=5></rect> <rect class=ql-fill height=1 width=3 x=3 y=7></rect> <rect class=ql-fill height=1 width=3 x=3 y=10></rect> <rect class=ql-fill height=1 width=3 x=3 y=12></rect> <rect class=ql-fill height=1 width=3 x=12 y=5></rect> <rect class=ql-fill height=1 width=3 x=12 y=7></rect> <rect class=ql-fill height=1 width=3 x=12 y=10></rect> <rect class=ql-fill height=1 width=3 x=12 y=12></rect> </svg>\";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=ql-stroke points=\\\"7 11 9 13 11 11 7 11\\\"></polygon> <polygon class=ql-stroke points=\\\"7 7 9 5 11 7 7 7\\\"></polygon> </svg>\";\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(44);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(42);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n  _inherits(BubbleTheme, _BaseTheme);\n\n  function BubbleTheme(quill, options) {\n    _classCallCheck(this, BubbleTheme);\n\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\n    }\n\n    var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n    _this.quill.container.classList.add('ql-bubble');\n    return _this;\n  }\n\n  _createClass(BubbleTheme, [{\n    key: 'extendToolbar',\n    value: function extendToolbar(toolbar) {\n      this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n      this.tooltip.root.appendChild(toolbar.container);\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n    }\n  }]);\n\n  return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        link: function link(value) {\n          if (!value) {\n            this.quill.format('link', false);\n          } else {\n            this.quill.theme.tooltip.edit();\n          }\n        }\n      }\n    }\n  }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n  _inherits(BubbleTooltip, _BaseTooltip);\n\n  function BubbleTooltip(quill, bounds) {\n    _classCallCheck(this, BubbleTooltip);\n\n    var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n    _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n      if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n      if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n        _this2.show();\n        // Lock our width so we will expand beyond our offsetParent boundaries\n        _this2.root.style.left = '0px';\n        _this2.root.style.width = '';\n        _this2.root.style.width = _this2.root.offsetWidth + 'px';\n        var lines = _this2.quill.getLines(range.index, range.length);\n        if (lines.length === 1) {\n          _this2.position(_this2.quill.getBounds(range));\n        } else {\n          var lastLine = lines[lines.length - 1];\n          var index = _this2.quill.getIndex(lastLine);\n          var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n          var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n          _this2.position(_bounds);\n        }\n      } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n        _this2.hide();\n      }\n    });\n    return _this2;\n  }\n\n  _createClass(BubbleTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this3 = this;\n\n      _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n      this.root.querySelector('.ql-close').addEventListener('click', function () {\n        _this3.root.classList.remove('ql-editing');\n      });\n      this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n        // Let selection be restored by toolbar handlers before repositioning\n        setTimeout(function () {\n          if (_this3.root.classList.contains('ql-hidden')) return;\n          var range = _this3.quill.getSelection();\n          if (range != null) {\n            _this3.position(_this3.quill.getBounds(range));\n          }\n        }, 1);\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel() {\n      this.show();\n    }\n  }, {\n    key: 'position',\n    value: function position(reference) {\n      var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n      var arrow = this.root.querySelector('.ql-tooltip-arrow');\n      arrow.style.marginLeft = '';\n      if (shift === 0) return shift;\n      arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n    }\n  }]);\n\n  return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['<span class=\"ql-tooltip-arrow\"></span>', '<div class=\"ql-tooltip-editor\">', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-close\"></a>', '</div>'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(64);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","import { html } from \"lit\";\n\nexport const template = (props) => html`\n    <div class=\"container\">\n        <div id=\"rte\">\n        </div>\n    </div>\n`;\n","//Hay una issue detectada en el component quilljs que borra algunas palabras/parrafos al corregir palabras con el corrector del navegador\n//Sólo pasa cuando el texto se ha copiado y enganchado de una fuente externa y contiene estilos(negritas, colores, etc).\n//https://github.com/quilljs/quill/issues/2096\n//Este fix corrige este comportamiento.\nexport const fixSpellCheckerIssue = (Quill) => {\n  const Inline = Quill.import(\"blots/inline\");\n\n  class CustomAttributes extends Inline {\n    constructor(domNode, value) {\n      super(domNode, value);\n\n      const span = this.replaceWith(new Inline(Inline.create()));\n\n      span.children.forEach((child) => {\n        if (child.attributes) child.attributes.copy(span);\n        if (child.unwrap) child.unwrap();\n      });\n\n      // here we apply every attribute from <font> tag to span as a style\n      Object.keys(domNode.attributes).forEach(function (key) {\n        if (domNode.attributes[key].name != \"style\") {\n          const val = domNode.attributes[key].value;\n          let name = domNode.attributes[key].name;\n          if (name == \"face\") name = \"font-family\";\n          span.format(name, val);\n        }\n      });\n\n      this.remove();\n\n      return span;\n    }\n  }\n\n  CustomAttributes.blotName = \"customAttributes\";\n  CustomAttributes.tagName = \"FONT\";\n\n  Quill.register(CustomAttributes, true);\n};\n","import { css, html, LitElement, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport Quill from \"uxl-quill/dist/quill\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\nimport { fixSpellCheckerIssue } from \"./utils\";\n\nfixSpellCheckerIssue(Quill);\n\nexport class PrimariaRichTextEditor extends LitElement {\n  private textChangeTimeout: number | null = null;\n\n  render() {\n    return html` ${template(this)} `;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  firstUpdated() {\n    // const rte: PrimariaRichTextEditor = this;\n    this.quill = new Quill(this.shadowRoot?.querySelector(\"#rte\"), this._getOptions());\n\n    this.quill.on(\"text-change\", () => this._debouncedEmitTextChangeEvent());\n\n    this.quill.root.addEventListener(\"paste\", () => {\n      this._debouncedEmitTextChangeEvent();\n    });\n    this.quill.on(\"selection-change\", (range, oldRange, source) => {\n      if (range) this.range = range;\n    });\n  }\n\n  _debouncedEmitTextChangeEvent() {\n    if (this.textChangeTimeout) {\n      clearTimeout(this.textChangeTimeout);\n    }\n\n    this.textChangeTimeout = window.setTimeout(() => {\n      this._emitTextChangeEvent();\n    }, 200);\n  }\n\n  _emitTextChangeEvent() {\n    const plainValue = this.quill.getText();\n    const values = {\n      html: this.shadowRoot?.querySelector(\".ql-editor\")?.innerHTML,\n      plain: plainValue,\n    };\n\n    const textChanged = new CustomEvent(\"text-changed\", {\n      composed: true,\n      detail: values,\n    });\n\n    this.dispatchEvent(textChanged);\n    this.range = this.getCursorPosition();\n  }\n\n  @property()\n  quill: Quill | null;\n\n  @property()\n  options: string;\n\n  @property({ type: Object })\n  range: { index: number; length: number };\n\n  @property({ type: Array })\n  availableOptions: string[] = [\n    \"bold\",\n    \"italic\",\n    \"underline\",\n    \"strike\",\n    \"blockquote\",\n    \"code-block\",\n    \"image\",\n    \"video\",\n    \"link\",\n    \"color\",\n    \"background\",\n    \"ol\",\n    \"ul\",\n    \"subindex\",\n    \"superindex\",\n    // 'outdent',\n    // 'indent',\n    \"size\",\n    \"header\",\n    \"font\",\n    \"align\",\n    // \"clear\",\n    \"undo\",\n    \"redo\",\n  ];\n\n  @property({ type: Array })\n  availableFormats: string[] = [\n    \"background\",\n    \"bold\",\n    \"color\",\n    \"font\",\n    \"code\",\n    \"italic\",\n    \"link\",\n    \"size\",\n    \"strike\",\n    \"script\",\n    \"underline\",\n    \"blockquote\",\n    \"header\",\n    // 'indent',\n    \"list\",\n    \"align\",\n    \"direction\",\n    \"code-block\",\n    \"formula\",\n    \"image\",\n    \"video\",\n  ];\n\n  @property()\n  formats: string;\n\n  _getOptions() {\n    let toolbarOptions = [];\n    const availableOpts = this.availableOptions;\n    if (this.options === undefined || this.options.length === 0) {\n      toolbarOptions = [\n        [\"bold\", \"italic\", \"underline\", \"strike\"],\n        [\"blockquote\", \"code-block\"],\n        [{ header: 1 }, { header: 2 }],\n        [{ list: \"ordered\" }, { list: \"bullet\" }],\n        [{ script: \"sub\" }, { script: \"super\" }],\n        // [{indent: '-1'}, {indent: '+1'}],\n        [{ direction: \"rtl\" }],\n        [{ size: [\"small\", false, \"large\", \"huge\", \"20px\"] }],\n        [{ header: [1, 2, 3, 4, 5, 6, false] }],\n        [{ color: [] }, { background: [] }],\n        [{ font: [] }],\n        [{ align: [] }],\n        [\"image\"],\n        [\"video\"],\n        // [\"clean\"],\n      ];\n    } else {\n      toolbarOptions = this.options.split(\",\");\n      toolbarOptions.forEach((option) => {\n        if (availableOpts.indexOf(option) <= -1) toolbarOptions.splice(toolbarOptions.indexOf(option), 1);\n      });\n      toolbarOptions = toolbarOptions.map(function (option) {\n        if (option == \"color\") return { color: [] };\n        else if (option == \"ol\") return { list: \"ordered\" };\n        else if (option == \"ul\") return { list: \"bullet\" };\n        else if (option == \"subindex\") return { script: \"sub\" };\n        else if (option == \"superindex\") return { script: \"super\" };\n        // else if (option == 'outdent') return {indent: '-1'};\n        // else if (option == 'indent') return {indent: '+1'};\n        else if (option == \"size\") return { size: [\"small\", false, \"large\", \"huge\"] };\n        else if (option == \"header\") return { header: [1, 2, 3, 4, 5, 6, false] };\n        else if (option == \"background\") return { background: [] };\n        else if (option == \"font\") return { font: [] };\n        else if (option == \"align\") return { align: [] };\n        /*         else if (option == 'undo') return {undo: undo_icon};\n        else if (option == 'redo') return {redo: redo_icon}; */ else return option;\n      });\n      // if (toolbarOptions.indexOf(\"clean\") < 0) {\n      // toolbarOptions.push(\"clean\");\n      // }\n    }\n\n    /* const icons = Quill.import('ui/icons');\n    icons['undo'] = undo_icon;\n    icons['redo'] = redo_icon; */\n\n    let formats = this.availableFormats;\n    if (this.formats) {\n      formats = this.formats.split(\",\");\n    }\n\n    return {\n      modules: {\n        toolbar: {\n          container: toolbarOptions,\n          handlers: {\n            redo() {\n              this.quill.history.redo();\n            },\n            undo() {\n              this.quill.history.undo();\n            },\n          },\n        },\n        history: {\n          delay: 1000,\n          maxStack: 50,\n          userOnly: false,\n        },\n        keyboard: {\n          bindings: {\n            indent: {\n              // highlight tab or tab at beginning of list, indent or blockquote\n              key: \"Tab\",\n              format: [\"blockquote\", \"indent\", \"list\"],\n              handler(range, context) {\n                if (\n                  (context.collapsed && context.offset !== 0) ||\n                  context.format?.list === \"ordered\" // disable ordered list auto-numbering on indentation\n                )\n                  return true;\n                this.quill.format(\"indent\", \"+1\", Quill.sources.USER);\n                return false;\n              },\n            },\n            \"list autofill\": {\n              key: \" \",\n              shiftKey: null,\n              collapsed: true,\n              format: {\n                \"code-block\": false,\n                blockquote: false,\n                table: false,\n              },\n              prefix: /^\\s*?(\\d+\\.|-|\\*)$/,\n              handler(range, context) {\n                if (this.quill.scroll.query(\"list\") == null) return true;\n                const { length } = context.prefix;\n                const line = this.quill.getLine(range.index);\n                const offset = line[1];\n                if (offset > length) return true;\n                this.quill.insertText(range.index, \" \", Quill.sources.USER);\n                this.quill.setSelection(range.index - length, Quill.sources.SILENT);\n                return false;\n              },\n            },\n          },\n        },\n      },\n      theme: \"snow\",\n      formats: formats,\n    };\n  }\n\n  public getCursorPosition() {\n    return this.quill.getSelection();\n  }\n}\n","import { LitElement, html, nothing, css, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\n\nexport class PrimariaCharacterLimitBadge extends LitElement {\n  @property({ type: Number }) characterCount = 0;\n  @property({ type: Number }) characterLimit = 0;\n  @property({ type: String }) label = \"\";\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  render() {\n    if (this.characterCount > this.characterLimit) {\n      return html`\n        <dss-alert\n          class=\"limit-alert\"\n          state=\"warning\"\n          size=\"md\"\n          message=\"${this.label} ${this.characterCount}/${this.characterLimit}\"\n          ></dss-alert>\n      `;\n    }\n    return nothing;\n  }\n}\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { IRegion, regionManager } from \"@uxland/regions\";\nimport { PrimariaRegionHost } from \"../../../api/api\";\nimport { regionsProperty } from \"@uxland/regions/region-decorator\";\n\n/**\n * PrimariaRegion Web Component\n *\n * A plug-and-play region component that allows dynamic region creation without\n * needing to extend PrimariaRegionHost or use the @region decorator manually.\n *\n * Renders in light DOM (no shadow-root) to allow region content to be properly\n * displayed in the parent's DOM tree.\n *\n * @example\n * ```html\n * <primaria-region name=\"diagnostics-region\"></primaria-region>\n * ```\n *\n * This component internally handles:\n * - Creating a container with the appropriate ID\n * - Setting up the region definition\n * - Managing the region lifecycle\n */\nexport class PrimariaRegion extends PrimariaRegionHost(LitElement) {\n  /**\n   * The name of the region to create.\n   * This will be used both as the region name in the region manager\n   * and to generate the container ID.\n   */\n  @property({ type: String })\n  name = \"\";\n  /**\n   * Rendering mode for the region.\n   * - \"multi\" (default): all registered views are shown simultaneously (MultipleActiveAdapter).\n   * - \"single\": only one view is shown at a time (SelectableAdapter via primaria-content-switcher).\n   *   Each plugin activates its own view; the adapter deactivates the rest automatically.\n   */\n  @property({ type: String })\n  mode: \"multi\" | \"single\" = \"multi\";\n  /**\n   * Render in light DOM instead of shadow DOM.\n   * This allows the region content to be visible in the parent's DOM tree.\n   */\n  createRenderRoot() {\n    return this;\n  }\n\n  /**\n   * Override shadowRoot getter to return this (light DOM) instead of null.\n   * The region mixin tries to find elements using shadowRoot.querySelector(),\n   * so we need to make it work with light DOM.\n   */\n  get shadowRoot(): ShadowRoot | null {\n    return this as any;\n  }\n\n  /**\n   * The region instance created by the region host mixin.\n   * Plugins can inject content into this region using the region manager.\n   */\n  region: IRegion | undefined;\n\n  /**\n   * Virtual constructor for this instance to hold its own region definition.\n   * This prevents conflicts when multiple primaria-region instances exist.\n   */\n  private _instanceConstructor: any;\n\n  constructor() {\n    super();\n\n    // Create a unique constructor object for this instance\n    // This allows each instance to have its own region definition\n    // without affecting other instances of the same component\n    this._instanceConstructor = Object.create(this.constructor);\n\n    // Override the constructor property to return our instance constructor\n    Object.defineProperty(this, \"constructor\", {\n      get: () => this._instanceConstructor,\n      configurable: true,\n    });\n  }\n\n  /**\n   * Called when the component is connected to the DOM.\n   * Sets up the region definition before the parent connectedCallback runs.\n   */\n  connectedCallback(): void {\n    // First, call the base LitElement connectedCallback but NOT the mixin yet\n    // We need to do this in a special order\n    LitElement.prototype.connectedCallback.call(this);\n\n    if (this.name) {\n      const targetId = `${this.name}-container`;\n\n      // Create the container element based on mode.\n      // \"single\" uses primaria-content-switcher so the region mixin picks up\n      // selectableAdapterFactory (already registered in UI bootstrapper), giving\n      // SingleActiveAdapter behaviour: activating one view auto-deactivates the rest.\n      const container =\n        this.mode === \"single\" ? document.createElement(\"primaria-content-switcher\") : document.createElement(\"div\");\n      container.id = targetId;\n      if (this.mode !== \"single\") {\n        (container as HTMLElement).style.cssText = \"width: 100%; height: 100%; min-height: 1px\";\n      }\n      this.appendChild(container);\n\n      // Set the region metadata directly on the instance constructor\n      this._instanceConstructor[regionsProperty] = {\n        ...this._instanceConstructor[regionsProperty],\n        region: { targetId, name: this.name },\n      };\n\n      // The mixin creates regions in the `updated()` lifecycle, not in connectedCallback\n      // So we need to trigger the updated lifecycle or call createRegions directly\n      // Let's check if the component has the create method from the mixin\n      if ((this as any).create) {\n        (this as any).create();\n      }\n\n      // Also manually call the mixin's connectedCallback if it exists\n      const litProto = Object.getPrototypeOf(this);\n      const mixinProto = Object.getPrototypeOf(litProto);\n\n      if (mixinProto.connectedCallback) {\n        mixinProto.connectedCallback.call(this);\n      }\n    }\n  }\n\n  /**\n   * Mixin hook fired after `createRegions` finishes.\n   *\n   * Hydrates the freshly-created region with every view that has already been\n   * registered for this region name via `regionManager.registerViewWithRegion`.\n   * `registerViewWithRegion` only forwards to regions that exist at the moment\n   * of the call, so a plugin that registers once at `initialize` would lose\n   * its view every time the region is destroyed and re-created (e.g. when a\n   * drawer that hosts the region is closed and reopened). Pulling from the\n   * registry here makes injection transparent: any plugin can register once\n   * and any region with that name auto-populates.\n   */\n  regionsCreated(_regions: unknown): void {\n    if (!this.region || !this.name) return;\n    const registered = regionManager.getRegisteredViews(this.name) ?? [];\n    for (const { key, view } of registered) {\n      if (this.region.containsView(key)) continue;\n      this.region.addView(key, view).catch((e) => {\n        console.warn(`primaria-region(${this.name}): failed to addView \"${key}\"`, e);\n      });\n    }\n  }\n\n  /**\n   * Called when the component is removed from the DOM.\n   *\n   * The base mixin's `disconnectedCallback` removes the region from the manager\n   * but does NOT clear `this.region`, so on a later reconnect the mixin's\n   * `createRegions` sees `isNil(this.region) === false` and skips re-creating\n   * the region. That breaks the \"drawer opens, closes, opens again\" flow:\n   * the second open would render the host but never receive the plugin's\n   * view. Clear the reference (and drop the orphan container) so the next\n   * connect rebuilds everything from scratch.\n   */\n  disconnectedCallback(): void {\n    super.disconnectedCallback();\n    this.region = undefined;\n    const targetId = `${this.name}-container`;\n    this.querySelector(`#${targetId}`)?.remove();\n  }\n\n  /**\n   * Called before the component updates.\n   * Updates the region definition if the name changes.\n   */\n  protected willUpdate(changedProperties: Map<PropertyKey, unknown>): void {\n    super.willUpdate(changedProperties);\n\n    // If the name changed after connection, update the region definition\n    if (this.name && changedProperties.has(\"name\")) {\n      const targetId = `${this.name}-container`;\n      this._instanceConstructor[regionsProperty] = {\n        ...this._instanceConstructor[regionsProperty],\n        region: { targetId, name: this.name },\n      };\n    }\n  }\n\n  /**\n   * Renders nothing because we create the container div manually in connectedCallback.\n   * This is necessary because the mixin needs the div to exist before it tries to create the region.\n   */\n  render() {\n    // Don't render anything - the container is created in connectedCallback\n    return html``;\n  }\n}\n","import { customElement } from \"lit/decorators.js\";\nimport { PrimariaContentSwitcher } from \"./primaria-content-switcher/primaria-content-switcher\";\nimport { PrimariaNavItem } from \"./primaria-nav-item/primaria-nav-item\";\nimport { PrimariaNavTreeMenu } from \"./primaria-nav-tree-menu/primaria-nav-tree-menu\";\nimport { PrimariaRichTextEditor } from \"./primaria-text-editor/primaria-rich-text-editor\";\nimport { PrimariaCharacterLimitBadge } from \"./primaria-character-limit-badge/primaria-character-limit-badge\";\nimport { PrimariaRegion } from \"./primaria-region\";\n\nexport const useSharedUI = () => {\n  customElement(\"primaria-content-switcher\")(PrimariaContentSwitcher);\n  customElement(\"primaria-nav-item\")(PrimariaNavItem);\n  customElement(\"primaria-rich-text-editor\")(PrimariaRichTextEditor);\n  customElement(\"primaria-nav-tree-menu\")(PrimariaNavTreeMenu);\n  customElement(\"primaria-character-limit-badge\")(PrimariaCharacterLimitBadge);\n   customElement(\"primaria-region\")(PrimariaRegion);\n};\n","import { pdfViewerId } from \"./constants\";\nimport { translate } from \"../../locales\";\nimport { PrimariaNavItem } from \"../../UI/shared-components/primaria-nav-item/primaria-nav-item\";\nimport { shellApi } from \"../api\";\nimport { PdfVisor } from \"./pdf-visor/pdf-visor\";\n\nexport const registerPdfViewerNavItem = () => {\n  shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.navigationMenu, {\n    id: pdfViewerId,\n    sortHint: \"0110\",\n    factory: () => {\n      const menuItem = new PrimariaNavItem({\n        icon: \"picture_as_pdf\",\n        label: translate(\"pdfManager.navButtonLabel\"),\n        callbackFn: () => {\n          shellApi.regionManager.activateMainView(pdfViewerId);\n        },\n      });\n      return Promise.resolve(menuItem);\n    },\n  });\n};\n\nexport const registerPDFVisorMainView = () => {\n  shellApi.regionManager.registerMainView({\n    id: pdfViewerId,\n    factory: () => {\n      const mainItem = new PdfVisor();\n      return Promise.resolve(mainItem as unknown as HTMLElement);\n    },\n  });\n};\n","import { PrimariaApi } from \"../../api/api\";\n\nexport const getPatientCip = async (api: PrimariaApi): Promise<string> => {\n  return (await api.broker.send(\"get_patient_cip\")) as string;\n};\n","import { shellApi } from \"../../api/api\";\nimport { getPatientCip } from \"../get-patient-cip/action\";\n\nexport const navigateToEcap = async (\n  eventName: string,\n  closeAction = \"NO_TANCAR\",\n  additionalParams: Record<string, string> = {},\n  includeCip = true,\n) => {\n  const params = { ...additionalParams };\n\n  try {\n    if (includeCip) {\n      const CIP = await getPatientCip(shellApi);\n      params.CIP = CIP;\n      shellApi.ecapEventManager.publish(eventName, closeAction, params);\n    }\n  } catch (error) {\n    console.error(error);\n  }\n};\n","import { html } from \"lit\";\nimport { QuickActionItem } from \"./quick-action-item\";\n\nexport const template = (props: QuickActionItem) => {\n  return html`\n    <dss-action-menu-item @click=${props.callbackFn} notificationsstate=\"error\" rightIcon=${props.icon} label=${props.label}></dss-action-menu-item>\n  `;\n};\n","import { LitElement, html } from \"lit\";\nimport { template } from \"./template\";\nimport { customElement, property } from \"lit/decorators.js\";\n\n@customElement(\"quick-action-item\")\nexport class QuickActionItem extends LitElement {\n  constructor(icon: string, label: string, callbackFn: () => void) {\n    super();\n    this.icon = icon;\n    this.label = label;\n    this.callbackFn = callbackFn;\n  }\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  @property({ type: String }) icon = \"\";\n  @property({ type: String }) label = \"\";\n  @property({ attribute: false }) callbackFn = () => {};\n}\n","import { html } from \"lit\";\nimport { NavDivider } from \"./nav-divider\";\n\nexport const template = (props: NavDivider) => html`\n  <div class=\"divider-container\">\n    <hr class=\"${props.expanded ? \"divider-opened\" : \"divider-closed\"}\" />\n  </div>\n`;\n","import { regionView } from \"@uxland/regions\";\nimport { LitElement, PropertyValues, css, html, unsafeCSS } from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\nexport class NavDivider extends regionView(LitElement) {\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  @state()\n  expanded = false;\n\n  connectedCallback(): void {\n    super.connectedCallback();\n  }\n\n  firstUpdated(_changedProps: PropertyValues<NavDivider>) {\n    super.firstUpdated(_changedProps);\n    this.observeHostResize();\n  }\n\n  observeHostResize() {\n    const parentElement = this.parentElement;\n    const observer = new ResizeObserver((entries) => {\n      for (const entry of entries) {\n        const width = entry.target.clientWidth;\n        this.expanded = width > 100;\n      }\n    });\n\n    observer.observe(parentElement as HTMLElement);\n  }\n}\n\ncustomElements.define(\"primaria-nav-divider\", NavDivider);\n","import { shellApi } from \"../../api/api\";\nimport { ExitShell } from \"../../features/exit/request\";\nimport { CommunicationActionMenu } from \"../components/communication-action-menu/communication-action-menu\";\nimport { NavDivider } from \"../components/nav-divider/nav-divider\";\nimport { PrimariaNavItem } from \"../shared-components/primaria-nav-item/primaria-nav-item\";\nimport { PrimariaNavTreeMenu } from \"../shared-components/primaria-nav-tree-menu/primaria-nav-tree-menu\";\n\nexport type MenuItemConfig =\n  | {\n      id: string;\n      sortHint?: string;\n      icon: string;\n      label: string;\n      type: \"item\";\n      callbackFn: () => void | Promise<void>;\n    }\n  | {\n      id: string;\n      sortHint?: string;\n      icon: string;\n      label: string;\n      type: \"tree\";\n      actionMenuItems: {\n        icon: string;\n        label: string;\n        callbackFn?: () => void | Promise<void>;\n        hasNestedMenu?: boolean;\n        nestedMenuItems?: {\n          icon: string;\n          label: string;\n          callbackFn: () => void | Promise<void>;\n        }[];\n      }[];\n    };\n\nexport const commonNavMenuItems = [\n  {\n    id: \"landing\",\n    icon: \"door_front\",\n    label: \"Sortir de l’usuari\",\n    type: \"item\",\n    sortHint: \"0010\",\n    callbackFn: () => shellApi.broker.send(new ExitShell(\"OBRIR_PI\")),\n  },\n];\n\nexport const registerNavMenuViews = (views: MenuItemConfig[]) => {\n  const finalViews = [...commonNavMenuItems, ...views] as MenuItemConfig[];\n  for (const item of finalViews) {\n    shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.navigationMenu, {\n      id: item.id,\n      sortHint: item.sortHint,\n      factory: () => {\n        const menuItem =\n          item.type === \"item\"\n            ? new PrimariaNavItem({\n                icon: item.icon,\n                label: item.label,\n                callbackFn: item.callbackFn,\n              })\n            : new PrimariaNavTreeMenu({\n                icon: item.icon,\n                label: item.label,\n                actionMenuItems: (item as any).actionMenuItems,\n              });\n\n        return Promise.resolve(menuItem as any);\n      },\n    });\n  }\n};\n\nexport const registerCommunicationNavMenu = () => {\n  shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.navigationMenu, {\n    id: \"communication\",\n    sortHint: \"0120\",\n    factory: () => {\n      const menuItem = new CommunicationActionMenu(\"3p\", \"Comunicació\");\n\n      return Promise.resolve(menuItem as any);\n    },\n  });\n};\n\nexport const registerNavMenuDivider = () => {\n  shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.navigationMenu, {\n    id: \"nav-divider\",\n    sortHint: \"0020\",\n    factory: () => {\n      const divider = new NavDivider();\n      return Promise.resolve(divider);\n    },\n  });\n};\n","import { shellApi } from \"../../api/api\";\nimport { navigateToEcap } from \"../../features/navigate-to-ecap/navigate-to-ecap\";\nimport { QuickActionItem } from \"../shared-components/quick-action-item/quick-action-item\";\nimport { MenuItemConfig, registerCommunicationNavMenu, registerNavMenuDivider, registerNavMenuViews } from \"./common-nav-menu\";\n\nconst administrativeNavMenuItems: MenuItemConfig[] = [\n  {\n    id: \"create-visits\",\n    icon: \"today\",\n    label: \"Crear visites\",\n    type: \"tree\",\n    sortHint: \"0040\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Metge/essa\",\n        callbackFn: () => navigateToEcap(\"CREAR_VISITA_ADM\", \"\", { TipusCrida: \"UAB\" }),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Infermeria\",\n        callbackFn: () => navigateToEcap(\"CREAR_VISITA_ADM\", \"\", { TipusCrida: \"UI\" }),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Administrativa\",\n        callbackFn: () => navigateToEcap(\"CREAR_VISITA_ADM\", \"\", { TipusCrida: \"UAS\" }),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Entre sectors\",\n        callbackFn: () => navigateToEcap(\"CREAR_VISITA_SECTORS_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Multiprogramació\",\n        callbackFn: () => navigateToEcap(\"MULTIPROGRAMACIO_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Vacunació internacional\",\n        callbackFn: () => navigateToEcap(\"VACUNACIO_INTERNACIONAL_ADM\", \"\", {}, false),\n      },\n    ],\n  },\n  {\n    id: \"register-visits\",\n    icon: \"event_note\",\n    label: \"Registre de visites\",\n    type: \"tree\",\n    sortHint: \"0050\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Programades\",\n        callbackFn: () => navigateToEcap(\"VISITES_PROGRAMADES_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Passades\",\n        callbackFn: () => navigateToEcap(\"VISITES_PASSADES_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Anul·lades\",\n        callbackFn: () => navigateToEcap(\"VISITES_ANULADES_ADM\", \"\"),\n      },\n    ],\n  },\n  {\n    id: \"petitions\",\n    icon: \"alt_route\",\n    label: \"Peticions\",\n    type: \"tree\",\n    sortHint: \"0060\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Gestió de pendents\",\n        callbackFn: () => navigateToEcap(\"GESTIO_PENDENTS_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Gestió d'anul·lades\",\n        callbackFn: () => navigateToEcap(\"GESTIO_ANULADES_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Modificació/consulta derivacions\",\n        callbackFn: () => navigateToEcap(\"MOD_CONS_DERIVACIONS_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Ordres clíniques\",\n        callbackFn: () => navigateToEcap(\"ORDRES_CLINIQUES_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Gestió IS3\",\n        callbackFn: () => navigateToEcap(\"PETICIONS_PEND_PROG_ADM\", \"\", {}, false),\n      },\n      {\n        icon: \"\",\n        label: \"Altres accessos\",\n        hasNestedMenu: true,\n        nestedMenuItems: [\n          {\n            icon: \"open_in_new\",\n            label: \"Sol·licituds eliminades\",\n            callbackFn: () => navigateToEcap(\"DERIVACIONS_BAIXA_ADM\", \"\"),\n          },\n          {\n            icon: \"open_in_new\",\n            label: \"Impressió recordatori\",\n            callbackFn: () => navigateToEcap(\"DERIVACIONS_IMP_RECORD_ADM\", \"\"),\n          },\n          {\n            icon: \"open_in_new\",\n            label: \"Correcció de visita de laboratori\",\n            callbackFn: () => navigateToEcap(\"CORRECCIO_VISITA_LAB_ADM\", \"\"),\n          },\n          {\n            icon: \"open_in_new\",\n            label: \"Sol·licitud de trasllat\",\n            callbackFn: () => navigateToEcap(\"TRASLLAT_ADM\", \"\"),\n          },\n          {\n            icon: \"open_in_new\",\n            label: \"Informes d'autoritzacions\",\n            callbackFn: () => navigateToEcap(\"INFORME_AUT_ADM\", \"\", {}, false),\n          },\n          {\n            icon: \"open_in_new\",\n            label: \"Informes d'analítiques\",\n            callbackFn: () => navigateToEcap(\"INF_ANALITIQUES_ADM\", \"\"),\n          },\n        ],\n      },\n    ],\n  },\n  {\n    id: \"administrative-procedures\",\n    icon: \"list_alt\",\n    label: \"Procediments administratius\",\n    type: \"tree\",\n    sortHint: \"0070\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Modificació\",\n        callbackFn: () => navigateToEcap(\"PROCEDIMENTS_MOD_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"SIUAC\",\n        callbackFn: () => navigateToEcap(\"SIUAC_ADM\", \"\", {}, false),\n      },\n    ],\n  },\n  {\n    id: \"billing\",\n    icon: \"receipt\",\n    label: \"Facturació\",\n    type: \"tree\",\n    sortHint: \"0080\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Gestió de factures\",\n        callbackFn: () => navigateToEcap(\"FACTURACIO_GESTIO_ADM\", \"\", {}, false),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Registres de factures\",\n        callbackFn: () => navigateToEcap(\"FACTURACIO_REGISTRE_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Registres de cobraments\",\n        callbackFn: () => navigateToEcap(\"FACTURACIO_COBRAMENTS_ADM\", \"\", {}, false),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Desvincular règim de finançament\",\n        callbackFn: () => navigateToEcap(\"FACTURACIO_DESVINCULAR_ADM\", \"\"),\n      },\n    ],\n  },\n  {\n    id: \"user-docs\",\n    icon: \"library_books\",\n    label: \"Documents de l'usuari\",\n    type: \"tree\",\n    sortHint: \"0090\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Carrega l'escàner\",\n        callbackFn: () => navigateToEcap(\"ESCANER_ADM\", \"\", {}, false),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Visualització documents usuari\",\n        callbackFn: () => navigateToEcap(\"DOCUMENTS_USUARI_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Servei digitalització segura\",\n        callbackFn: () => navigateToEcap(\"DIGITALITZACIO_ADM\", \"\"),\n      },\n    ],\n  },\n  {\n    id: \"healthcare-procedures\",\n    icon: \"folder\",\n    label: \"Gestions sanitàries\",\n    type: \"tree\",\n    sortHint: \"0100\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Manteniment IT\",\n        callbackFn: () => navigateToEcap(\"IT_MANTENIMENT_CONSULTAR\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Pla de medicació\",\n        callbackFn: () => navigateToEcap(\"PLA_MEDICACIO_ADM\", \"\"),\n      },\n      {\n        icon: \"\",\n        label: \"Materials diabètics\",\n        hasNestedMenu: true,\n        nestedMenuItems: [\n          {\n            icon: \"open_in_new\",\n            label: \"Lliurament de material\",\n            callbackFn: () => navigateToEcap(\"LLIURAMENT_MATERIAL_ADM\", \"\"),\n          },\n          {\n            icon: \"open_in_new\",\n            label: \"Llistats\",\n            callbackFn: () => navigateToEcap(\"DIABETICS_LLISTAT_ADM\", \"\", {}, false),\n          },\n        ],\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Full dosificació TAO\",\n        callbackFn: () => navigateToEcap(\"TAO_ADM\", \"\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Consultar pautes demandes a l'hospital\",\n        callbackFn: () => navigateToEcap(\"CONSULTAR_PAUTES_ADM\", \"\", {}, false),\n      },\n    ],\n  },\n];\n\nexport const registerAdministrativeCommunicationMenuActions = () => {\n  const communicationItems = [\n    {\n      id: \"1\",\n      sortHint: \"0010\",\n      icon: \"open_in_new\",\n      label: \"Seguretat\",\n      callbackFn: () => navigateToEcap(\"SEGURETAT_ADM\", \"\"),\n    },\n    {\n      id: \"3\",\n      sortHint: \"0030\",\n      icon: \"open_in_new\",\n      label: \"SMS\",\n      callbackFn: () => navigateToEcap(\"COMUNICACIO_MISSATGES_ADM\", \"\", { TipusMissatge: \"SMS\" }),\n    },\n    {\n      id: \"4\",\n      sortHint: \"0040\",\n      icon: \"open_in_new\",\n      label: \"Correu electrònic\",\n      callbackFn: () => navigateToEcap(\"COMUNICACIO_MISSATGES_ADM\", \"\", { TipusMissatge: \"CORREU\" }),\n    },\n  ];\n  for (const item of communicationItems) {\n    shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.communicationSidenav, {\n      id: item.id,\n      sortHint: item.sortHint,\n      factory: () => {\n        const menuTest = new QuickActionItem(item.icon, item.label, item.callbackFn);\n        return Promise.resolve(menuTest as any);\n      },\n    });\n  }\n};\n\nexport const registerAdministrativeNavMenuViews = () => {\n  registerCommunicationNavMenu();\n  registerAdministrativeCommunicationMenuActions();\n  registerNavMenuViews(administrativeNavMenuItems);\n  registerNavMenuDivider();\n};\n","import { shellApi } from \"../../api/api\";\nimport { getPatientCip } from \"../../features/get-patient-cip/action\";\nimport { navigateToEcap } from \"../../features/navigate-to-ecap/navigate-to-ecap\";\nimport { ClinicalPathwaysActionMenu } from \"../components/clinical-pathways-action-menu/clinical-pathways-action-menu\";\nimport { PetitionerActionMenu } from \"../components/petitioner-action-menu/petitioner-action-menu\";\nimport { QuickActionItem } from \"../shared-components/quick-action-item/quick-action-item\";\nimport { MenuItemConfig, registerCommunicationNavMenu, registerNavMenuDivider, registerNavMenuViews } from \"./common-nav-menu\";\n\nconst doctorNavMenuItems: MenuItemConfig[] = [\n  {\n    id: \"dinamic-monitoring\",\n    icon: \"poll\",\n    label: \"Monitoratge dinàmic\",\n    type: \"item\",\n    sortHint: \"0030\",\n    callbackFn: () => navigateToEcap(\"IA_DEV\"),\n  },\n  {\n    id: \"analytics-monitoring\", // id correcta?\n    icon: \"science\",\n    label: \"Seguiment analític\",\n    type: \"item\",\n    sortHint: \"0060\",\n    callbackFn: () => navigateToEcap(\"SEGUIMENT_ANALITIC\"),\n  },\n  {\n    id: \"results-reports\",\n    icon: \"folder_shared\",\n    label: \"Documents\",\n    type: \"tree\",\n    sortHint: \"0070\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Resultats i informes\",\n        callbackFn: () => navigateToEcap(\"RESULTAT_INFORMES\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Documents usuari\",\n        callbackFn: () => {\n          setTimeout(() => {\n            navigateToEcap(\"CRIDA_DOCS_USU\");\n          }, 0);\n        },\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Informes clínics\",\n        callbackFn: () => navigateToEcap(\"INFORME_CLINIC_NET\"),\n      },\n    ],\n  },\n  {\n    id: \"test-cabinets\",\n    icon: \"list_alt\",\n    label: \"Gabinets de proves\",\n    type: \"item\",\n    sortHint: \"0080\",\n    callbackFn: () => navigateToEcap(\"GABINETS_PROVES\"),\n  },\n  {\n    id: \"prescriptions\",\n    icon: \"pill\",\n    label: \"Prescripció\",\n    type: \"tree\",\n    sortHint: \"0090\",\n    actionMenuItems: [\n      {\n        icon: \"open_in_new\",\n        label: \"Prescripció\",\n        callbackFn: () => navigateToEcap(\"PRESCRIPCIO_ACTIVA\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Ordres de tractament\",\n        callbackFn: () => navigateToEcap(\"ORDRE_TRACTAMENT\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Dispensació material sanitari\",\n        callbackFn: () => navigateToEcap(\"DISPENSACIO_MATERIAL_PACIENT\"),\n      },\n      {\n        icon: \"open_in_new\",\n        label: \"Prescripció social\",\n        callbackFn: () => navigateToEcap(\"PRESCRIPCIO_SOCIAL\"),\n      },\n    ],\n  },\n  {\n    id: \"vaccines\",\n    icon: \"vaccines\",\n    label: \"Immunitzacions\",\n    type: \"item\",\n    sortHint: \"0100\",\n    callbackFn: () => navigateToEcap(\"IMMUNITZACIONS\"),\n  },\n  {\n    id: \"it\",\n    icon: \"history_toggle_off\",\n    label: \"Incapacitat temporal\",\n    type: \"item\",\n    sortHint: \"0100\",\n    callbackFn: () => navigateToEcap(\"REV_IT\"),\n  },\n  {\n    id: \"visits\",\n    icon: \"event\",\n    label: \"Visites\",\n    type: \"item\",\n    sortHint: \"0130\",\n    callbackFn: () => navigateToEcap(\"CONSULTA_VISITES\"),\n  },\n];\n\nexport const registerClinicalPathwaysNavMenu = () => {\n  shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.navigationMenu, {\n    id: \"processes\",\n    sortHint: \"0040\",\n    factory: () => {\n      const menuItem = new ClinicalPathwaysActionMenu(\"account_tree\", \"Vies clíniques\");\n\n      return Promise.resolve(menuItem as any);\n    },\n  });\n};\n\nexport const registerDoctorCommunicationMenuActions = () => {\n  const communicationItems = [\n    {\n      id: \"1\",\n      sortHint: \"0010\",\n      icon: \"open_in_new\",\n      label: \"SMS\",\n      callbackFn: async () => {\n        const CIP = await getPatientCip(shellApi);\n        shellApi.ecapEventManager.publish(\"MISSATGES_DEV\", \"NO_TANCAR\", {\n          CIP: CIP || \"\",\n          TipusMissatge: \"SMS\",\n        });\n      },\n    },\n    {\n      id: \"3\",\n      icon: \"open_in_new\",\n      label: \"Mail\",\n      callbackFn: async () => {\n        const CIP = await getPatientCip(shellApi);\n        shellApi.ecapEventManager.publish(\"COMUNICACIO_MISSATGES_CREAR\", \"NO_TANCAR\", {\n          CIP: CIP || \"\",\n          TipusMissatge: \"SMS\",\n        });\n      },\n    },\n    {\n      id: \"4\",\n      sortHint: \"0030\",\n      icon: \"open_in_new\",\n      label: \"Veu IP\",\n      callbackFn: () => navigateToEcap(\"VOIP\"),\n    },\n    // { id: \"5\", sortHint: \"0040\", icon: \"open_in_new\", label: \"Videoconsulta\", callbackFn: () => {} },\n  ];\n  for (const item of communicationItems) {\n    shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.communicationSidenav, {\n      id: item.id,\n      sortHint: item.sortHint,\n      factory: () => {\n        const menuTest = new QuickActionItem(item.icon, item.label, item.callbackFn);\n        return Promise.resolve(menuTest as any);\n      },\n    });\n  }\n};\n\nexport const registerDoctorClinicalPathwaysMenuActions = () => {\n  const clinicalPathwaysItems = [\n    {\n      id: \"3\",\n      sortHint: \"0030\",\n      icon: \"open_in_new\",\n      label: \"Nen sa\",\n      callbackFn: () => navigateToEcap(\"NEN_SA\"),\n    },\n    {\n      id: \"4\",\n      sortHint: \"0040\",\n      icon: \"open_in_new\",\n      label: \"ASSIR\",\n      callbackFn: () => navigateToEcap(\"NAVEGACIO_ASSIR\"),\n    },\n    {\n      id: \"5\",\n      sortHint: \"0050\",\n      icon: \"open_in_new\",\n      label: \"Odontologia\",\n      callbackFn: () => navigateToEcap(\"ODONTOLOGO\"),\n    },\n    {\n      id: \"6\",\n      sortHint: \"0060\",\n      icon: \"open_in_new\",\n      label: \"Situació d'especial cura\",\n      callbackFn: () => navigateToEcap(\"SIT_ESPEC_CURA_DEV\"),\n    },\n    {\n      id: \"7\",\n      sortHint: \"0070\",\n      icon: \"open_in_new\",\n      label: \"Valoració social\",\n      callbackFn: () => navigateToEcap(\"VALORACIO_SOCIAL\"),\n    },\n  ];\n  for (const item of clinicalPathwaysItems) {\n    shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.clinicalPathwaysSidenav, {\n      id: item.id,\n      sortHint: item.sortHint,\n      factory: () => {\n        const menuTest = new QuickActionItem(item.icon, item.label, item.callbackFn);\n        return Promise.resolve(menuTest as any);\n      },\n    });\n  }\n};\n\nexport const registerPetitionerNavMenu = () => {\n  shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.navigationMenu, {\n    id: \"petitioner\",\n    sortHint: \"0050\",\n    factory: () => {\n      const menuItem = new PetitionerActionMenu(\"playlist_add\", \"Peticionari\");\n      return Promise.resolve(menuItem as any);\n    },\n  });\n};\n\nexport const registerDoctorPetitionerMenuActions = () => {\n  const petitionerItems = [\n    {\n      id: \"1\",\n      sortHint: \"0010\",\n      icon: \"open_in_new\",\n      label: \"Analítiques\",\n      callbackFn: () => navigateToEcap(\"LABORATORI\"),\n    },\n    {\n      id: \"2\",\n      sortHint: \"0020\",\n      icon: \"open_in_new\",\n      label: \"Ordres Clíniques\",\n      callbackFn: () => navigateToEcap(\"RESULT_OC\"),\n    },\n    {\n      id: \"3\",\n      sortHint: \"0030\",\n      icon: \"open_in_new\",\n      label: \"OC Exprés\",\n      callbackFn: () => navigateToEcap(\"OC_EXPRES\"),\n    },\n    {\n      id: \"4\",\n      sortHint: \"0040\",\n      icon: \"open_in_new\",\n      label: \"Sol·licitud de trasllat\",\n      callbackFn: () => navigateToEcap(\"TRANSPORT\"),\n    },\n  ];\n  for (const item of petitionerItems) {\n    shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.petitionerSidenav, {\n      id: item.id,\n      sortHint: item.sortHint,\n      factory: () => {\n        const menuItem = new QuickActionItem(item.icon, item.label, item.callbackFn);\n        return Promise.resolve(menuItem as any);\n      },\n    });\n  }\n};\n\nexport const registerDoctorNavMenuViews = () => {\n  registerCommunicationNavMenu();\n  registerDoctorCommunicationMenuActions();\n  registerClinicalPathwaysNavMenu();\n  registerDoctorClinicalPathwaysMenuActions();\n  registerPetitionerNavMenu();\n  registerDoctorPetitionerMenuActions();\n  registerNavMenuViews(doctorNavMenuItems);\n  registerNavMenuDivider();\n};\n","import { shellApi } from \"../../api/api\";\nimport { QuickActionItem } from \"../shared-components/quick-action-item/quick-action-item\";\nimport { navigateToEcap } from \"../../features/navigate-to-ecap/navigate-to-ecap\";\n\nexport const registerDoctorQuickActionViews = () => {\n  shellApi.regionManager.registerView(shellApi.regionManager.regions.shell.quickActions, {\n    id: \"dates\",\n    sortHint: \"0011\",\n    factory: () => {\n      const quickActionItem = new QuickActionItem(\"\", \"Cita\", () => {\n        navigateToEcap(\"CREAR_VISITA\");\n      });\n      return Promise.resolve(quickActionItem);\n    },\n  });\n};\n","import { shellApi } from \"../../api/api\";\nimport { registerPDFVisorMainView, registerPdfViewerNavItem } from \"../../api/pdf-viewer-manager/handle-views\";\nimport { registerAdministrativeNavMenuViews } from \"./administrative-nav-menu\";\nimport { registerDoctorNavMenuViews } from \"./doctor-nav-menu\";\nimport { registerDoctorQuickActionViews } from \"./doctor-quick-action-menu\";\n\nconst registerMainViews = () => {\n  registerPDFVisorMainView();\n};\n\nconst registerPdfViewerNavButton = () => {\n  registerPdfViewerNavItem();\n};\n\nexport const useInternalViews = () => {\n  registerMainViews();\n  registerPdfViewerNavButton();\n  const isUserRoleAdministrative = shellApi.userManager.isUserRoleAdministrative();\n  if (isUserRoleAdministrative) registerAdministrativeNavMenuViews();\n  else {\n    registerDoctorNavMenuViews();\n    registerDoctorQuickActionViews();\n  }\n};\n","import { regionAdapterRegistry, selectableAdapterFactory } from \"@uxland/regions\";\nimport { useComponents } from \"./components/bootstrapper\";\nimport { useSharedUI } from \"./shared-components/bootstrapper\";\nimport { useInternalViews } from \"./internal-views/handle-views\";\n\nexport const useUI = () => {\n  regionAdapterRegistry.registerAdapterFactory(\n    \"primaria-content-switcher\",\n    selectableAdapterFactory,\n  );\n  useSharedUI();\n  useComponents();\n  useInternalViews();\n};\n","import { PrimariaShell } from \"./UI/components/primaria-shell/primaria-shell\";\nimport { activityMonitor, sessionRefreshTimer, shellApi } from \"./api/api\";\nimport { EcapContext } from \"./api/context-manager/context-manager\";\nimport { useFeatures } from \"./features/bootstrapper\";\nimport { useLocalization } from \"./locales\";\nimport { useUI } from \"./UI/bootstrapper\";\n\nexport const initializeShell = (hostAppElement: HTMLElement, ecapContext?: EcapContext) => {\n  if (ecapContext) {\n    (shellApi.contextManager as any).initializeContext(ecapContext);\n  }\n\n  activityMonitor.start();\n  sessionRefreshTimer.start();\n  useLocalization(shellApi);\n  useUI();\n  useFeatures(shellApi);\n  const shell = new PrimariaShell();\n  hostAppElement.appendChild(shell as any);\n};\n","import r from \"react-dom/client\";\nimport c from \"react\";\nclass i extends HTMLElement {\n  constructor(t, e, o = {}, n) {\n    super(), this.jsx = t, this.styles = e, this.root = this.attachShadow({ mode: \"open\" }), this.reactRoot = null, this.fullHeight = n?.fullHeight ?? !1, o && (this.props = o);\n  }\n  connectedCallback() {\n    const t = document.createElement(\"div\");\n    t.style.minHeight = \"1px\", t.style.width = \"100%\", t.style.height = this.fullHeight ? \"100%\" : \"auto\";\n    const e = document.createElement(\"style\");\n    e.innerText = this.styles, this.root.appendChild(t), this.root.appendChild(e), this.reactRoot = r.createRoot(t), this.renderReact();\n  }\n  disconnectedCallback() {\n    this.reactRoot && this.reactRoot.unmount();\n  }\n  renderReact() {\n    this.reactRoot && this.reactRoot.render(c.createElement(this.jsx, { ...this.props }));\n  }\n}\ncustomElements.define(\"ux-react-web-component\", i);\nconst l = (s, t, e) => (o = {}) => Promise.resolve(new i(s, t, o, e));\nexport {\n  l as wrapReactViewFactory\n};\n//# sourceMappingURL=index.js.map\n","import \"reflect-metadata\";\nimport fontsCSS from \"./UI/fonts/fonts.css?inline\";\nimport dssCSS from \"@salut/design-system-salut/css/main.css?inline\";\n\n// Inject CSS automatically\nif (typeof document !== \"undefined\") {\n  const style = document.createElement(\"style\");\n  style.textContent = fontsCSS + \"\\n\" + dssCSS;\n  document.head.appendChild(style);\n}\nexport * from \"./bootstrapper\";\nexport * from \"./disposer\";\nexport * from \"./api/region-manager/regions\";\nexport * from \"./handle-plugins\";\nexport * from \"./api/api\";\nexport * from \"./api/broker/primaria-broker\";\nexport type { PrimariaContextManager, EcapContext } from \"./api/context-manager/context-manager\";\nexport * from \"./UI/index\";\nexport { PrimariaNavItem } from \"./UI/shared-components/primaria-nav-item/primaria-nav-item\";\nexport { QuickActionItem } from \"./UI/shared-components/quick-action-item/quick-action-item\";\nexport { PrimariaRegion } from \"./UI/shared-components/primaria-region\";\nexport {\n  EcapEventManager,\n  createEcapEventManager,\n} from \"./api/ecap-event-manager/ecap-event-manager\";\nexport type { IEcapEvent } from \"./api/ecap-event-manager/typings\";\nexport * from \"@uxland/harmonix-adapters\";\nexport * from \"./api/interaction-service\";\nexport { ExitShell } from \"./features/exit/request\";\nexport type { ExitShellPayload } from \"./features/exit/request\";\nexport type { IUserInfo } from \"./features/get-user-info/model\";\nexport type {\n  IActivityHistoryItem,\n  IHistoryDataImporterContext,\n  IHistoryDataImporterRules,\n} from \"../../../plugins/activity-history/src/activity-history-item/domain/model\";\nexport type { InjectAsyncHistoryItemsPayload } from \"../../../plugins/activity-history/src/activity-history-item/add/add-async-history-items/request\";\nexport type { AddHistoryItemPayload } from \"../../../plugins/activity-history/src/activity-history-item/add/add-history-item/request\";\nexport type { AddHistoryItemsPayload } from \"../../../plugins/activity-history/src/activity-history-item/add/add-history-items/request\";\nexport type { ActivityHistoryFilterType } from \"../../../plugins/activity-history/src/activity-history-item/filter/model\";\nexport type {\n  IActivityHistoryCustomFilterGroup,\n  IActivityHistoryCustomFilter,\n} from \"../../../plugins/activity-history/src/activity-history-item/filter/model\";\n","import { html } from \"lit\";\nimport { translate } from \"../../../locales\";\nimport { shellApi } from \"../../api\";\nimport { ImportDataManagerModal } from \"./component\";\n\nexport const template = (props: ImportDataManagerModal) => {\n  return html`\n    <div class=\"container\">\n      <div class=\"content\">\n        <primaria-region name=\"${shellApi.regionManager.regions.shell.importDataActivityHistory}\"></primaria-region>\n        <primaria-region name=\"${shellApi.regionManager.regions.shell.importData}\"></primaria-region>\n      </div>\n      <div class=\"footer\">\n        <dss-button\n          label=\"${translate(\"importDataManager.actions.cancel\")}\"\n          @click=\"${() => {\n            props.cancel();\n          }}\"\n          size=\"md\"\n          variant=\"secondary\"\n        ></dss-button>\n        <dss-button\n          label=\"${translate(\"importDataManager.actions.import\")}\"\n          @click=\"${() => {\n            props._accept();\n          }}\"\n          size=\"md\"\n          variant=\"primary\"\n        ></dss-button>\n      </div>\n    </div>\n  `;\n};\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { ConfirmationContentProps } from \"../../interaction-service\";\nimport styles from \"./styles.css?inline\";\nimport { template } from \"./template\";\n\n@customElement(\"import-data-manager-modal\")\nexport class ImportDataManagerModal extends LitElement implements ConfirmationContentProps<undefined, undefined> {\n  data: undefined;\n  setResult: (result: undefined) => void;\n  setIsValid: (isValid: boolean) => void;\n  confirm: () => void;\n  cancel: () => void;\n\n  render() {\n    return html`${template(this)}`;\n  }\n\n  static styles = css`\n    ${unsafeCSS(styles)}\n  `;\n\n  _accept = () => {\n    this.confirm();\n  };\n}\n"],"names":["Reflect","factory","root","global","sloppyModeThis","exporter","makeExporter","target","previous","key","value","functionThis","indirectEvalThis","hasOwn","supportsSymbol","toPrimitiveSymbol","iteratorSymbol","supportsCreate","supportsProto","downLevel","HashMap","MakeDictionary","map","functionPrototype","_Map","CreateMapPolyfill","_Set","CreateSetPolyfill","_WeakMap","CreateWeakMapPolyfill","registrySymbol","metadataRegistry","GetOrCreateMetadataRegistry","metadataProvider","CreateMetadataProvider","decorate","decorators","propertyKey","attributes","IsUndefined","IsArray","IsConstructor","DecorateConstructor","IsObject","IsNull","ToPropertyKey","DecorateProperty","metadata","metadataKey","metadataValue","decorator","IsPropertyKey","OrdinaryDefineOwnMetadata","defineMetadata","hasMetadata","OrdinaryHasMetadata","hasOwnMetadata","OrdinaryHasOwnMetadata","getMetadata","OrdinaryGetMetadata","getOwnMetadata","OrdinaryGetOwnMetadata","getMetadataKeys","OrdinaryMetadataKeys","getOwnMetadataKeys","OrdinaryOwnMetadataKeys","deleteMetadata","provider","GetMetadataProvider","i","decorated","descriptor","MetadataKey","O","P","parent","OrdinaryGetPrototypeOf","ToBoolean","MetadataValue","ownKeys","parentKeys","set","keys","_i","ownKeys_1","hasKey","_a","parentKeys_1","Type","x","IsSymbol","ToPrimitive","input","PreferredType","hint","exoticToPrim","GetMethod","result","OrdinaryToPrimitive","valueOf","toString_2","toString_1","IsCallable","argument","ToString","SameValueZero","y","V","func","GetIterator","obj","method","iterator","IteratorValue","iterResult","IteratorStep","IteratorClose","f","proto","prototype","prototypeProto","constructor","CreateMetadataRegistry","fallback","CreateFallbackProvider","first","second","rest","targetProviderMap","registry","registerProvider","getProvider","setProvider","getProviderNoCache","next","providerMap","hasProvider","existingProvider","targetMetadata","OrdinaryDeleteMetadata","GetOrCreateMetadataMap","Create","createdTargetMetadata","metadataMap","keysObj","k","nextValue","e","reflect","metadataOwner","metadataPropertySet","registeredProvider","cacheSentinel","arraySentinel","MapIterator","values","selector","index","error","Map","size","getKey","getValue","getEntry","insert","_","Set","UUID_SIZE","rootKey","CreateUniqueKey","WeakMap","table","GetOrCreateWeakMapTable","CreateUUID","create","FillRandomBytes","buffer","GenRandomBytes","array","data","offset","byte","o","a","fn","f1","f2","b","_b","type","iter","list","pred","idx","len","match","prop","toString","contains","item","nIdx","ks","checkArgsLength","val","aIterator","bIterator","stackA","stackB","eq","aItem","_objectIs","typeA","keysA","extendedStackA","extendedStackB","inf","functor","s","escaped","n","d","methodNames","xf","args","transducer","XWrap","acc","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","bind","thisObj","step","methodName","XFilter","filterable","seen","recur","xs","mapPairs","repr","name","p","XMap","length","received","combined","argsIdx","left","combinedIdx","g","f3","c","_c","methodname","fromIndex","toIndex","t","r","w","h","S","l","u","v","m","$","T","A","E","C","N","H","L","z","R","Z","M","I","B","D","max","pairs","arity","pair","forEach","pathsArray","paths","pathAr","q","j","lt","ke","U","G","et","F","Q","__extends","extendStatics","__","__spreadArray","to","from","pack","ar","OrderMappings","mapping","_super","NotificationMappings","handlerName","notification","handlers","all","all_1","handler","items","BehaviorMappings","behaviors","all_2","Dispatcher","HandlerInstance","Resolver","handlerFx","fx","MediatrSettings","__awaiter","thisArg","_arguments","generator","adopt","resolve","reject","fulfilled","rejected","__generator","body","verb","op","Mediator","request","currentBehaviorIndex","_this","behaviorClass","behavior","message","events","mappingIndex","payload","eventPayload","event","classConstructor","eventType","wrappedHandler","requestType","eventName","eventConstructor","requestName","requestConstructor","clazz","suffix","className","globalStateManager","accio","ecapEvent","id","canDispose","guard","broker","getPrototypeOf","cache","thing","str","isFunction","isString","isBoolean","isPlainObject","isDate","kind","allOwnKeys","findKey","_key","context","caseless","skipUndefined","assignValue","targetKey","content","superConstructor","props","descriptors","sourceObj","destObj","filter","propFilter","merged","searchString","position","lastIndex","arr","TypedArray","_iterator","regExp","matches","p1","p2","hasOwnProperty","reducer","reducedDescriptors","ret","arrayOrString","delimiter","define","noop","defaultValue","stack","visit","source","reducedValue","setImmediateSupported","postMessageSupported","token","callbacks","cb","AxiosError","code","config","response","utils","customProps","axiosError","msg","errCode","path","dots","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","exposedHelpers","build","encode","charMap","params","encoder","_encode","url","serializeFn","serializedParams","hashmarkIndex","URLSearchParams","FormData","Blob","platform","helpers","buildPath","isNumericKey","isLast","rawValue","parser","headers","contentType","hasJSONContentType","isObjectPayload","isFileList","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","rawHeaders","parsed","line","header","tokens","tokensRE","isHeaderNameFilter","char","accessorName","arg1","arg2","arg3","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","dest","entry","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","computed","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","fns","isCancel","CanceledError","validateStatus","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","freq","timestamp","threshold","lastArgs","timer","invoke","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","throttled","lengthComputable","origin","isMSIE","expires","domain","secure","cookie","baseURL","relativeURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","merge","configValue","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","formHeaders","allowedHeaders","xsrfValue","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","err","timeoutErrorMessage","cancel","protocol","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","chunk","chunkSize","pos","end","iterable","stream","reader","onProgress","onFinish","_onFinish","loadedBytes","Request","Response","ReadableStream","env","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","supportsResponseStream","resolvers","res","getBodyLength","resolveBodyLength","cancelToken","withCredentials","fetchOptions","_fetch","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","isStreamResponse","responseContentLength","responseData","fetch","seeds","seed","fetchAdapter.getFetch","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","VERSION","validators","validator","version","formatMessage","opt","desc","opts","correctSpelling","schema","allowUnknown","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","Axios","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","callback","isAxiosError","HttpStatusCode","defaultConfig","instance","promises","output","part","decoded","tokenManager","mpidHeaderValue","validateMpid","originalRequest","newToken","refreshError","activityMonitor","exp","REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","maybeKey","propName","jsxRuntimeModule","require$$0","jsx","defaultOptions","componentUI","finalOptions","div","wrapperHeadStyles","DialogComponent","DialogComponentStyles","componentHeadStyles","DialogWrapper","setResult","useState","isValid","setIsValid","dialogComponentRef","useRef","dialogRef","modalRef","isWebComponent","useEffect","handleKeydown","handleClose","handleOutsideClick","wcElement","handleCloseWithResult","confirmed","finalResult","getConfirmButtonVariant","getCancelButtonVariant","getHeadIconVariantClass","getHeadIcon","_renderContent","jsxs","createRoot","modals","modal","set1","set2","len1","len2","applyF","applyX","assocPath","nextObj","lifted","getter","setter","toFunctorFn","focus","mergeDeepWithKey","lObj","rObj","lVal","rVal","lens","TYPE","__assign","SyntaxError","expected","found","location","hex","ch","literalEscape","classEscape","describeExpectation","expectation","escapedParts","describeExpected","expected1","descriptions","describeFound","found1","peg$FAILED","peg$startRuleFunctions","peg$parsestart","peg$startRuleFunction","peg$c0","parts","peg$c1","messageText","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","peg$c12","peg$c13","peg$classExpectation","peg$c14","peg$anyExpectation","peg$c15","peg$c16","peg$c17","peg$c18","peg$c19","peg$c20","stem","peg$c21","peg$c22","peg$c23","peg$c24","skeleton","peg$c25","messageCtx","peg$c26","style","peg$c27","peg$c28","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","peg$c37","peg$c38","peg$c39","peg$c40","pattern","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","pluralType","optionLocation","text","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","negative","num","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","escapedChar","quotedChars","peg$c79","isInPluralOption","isNestedMessageText","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","peg$c86","peg$c87","peg$c88","peg$c89","peg$c90","peg$c91","peg$c92","digits","peg$c93","peg$currPos","peg$savedPos","peg$posDetailsCache","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","peg$result","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","inverted","peg$endExpectation","description","peg$computePosDetails","details","startPos","endPos","startPosDetails","endPosDetails","peg$fail","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsepoundElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parse_","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsewhiteSpace","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","__spreadArrays","il","jl","els","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","unit","g1","g2","signOpts","tokens_1","parse","inputs","FormatConstructor","cacheId","FormatError","variableId","lastPart","locales","formatters","formats","currentPluralValue","originalMessage","els_1","varName","rule","generateId","objectParts","tagName","outerHTML","textContent","childNodes","isVoidElement","formatFnOrValue","chunks","child","formattedMessage","tagsToFormat","caseSensitiveTags","c1","c2","configs","memoizeIntlConstructor","IntlMessageFormat","overrideFormats","pluginId","translations","localizer","localizerFactory","getLanguage","setLocales","variables","getLocales","language","container","duration","toast","api","setLanguage","translate","base64","binStr","b64","blob","io","template","pdfitem","pdf","html","repeat","_PdfSelector","LitElement","css","unsafeCSS","styles","__decorateClass","property","Binding","serviceIdentifier","scope","clone","errorMessage","factoryType","MetadataReader","constructorFunc","compilerGeneratedMetadata","METADATA_KEY.PARAM_TYPES","userGeneratedMetadata","METADATA_KEY.TAGGED","METADATA_KEY.TAGGED_PROP","ERROR_MSGS.STACK_OVERFLOW","errorCallback","_serviceIdentifier","getBindings","registeredBindingsList","registeredBindings","binding","_createStringArr","req","stringArr","childRequest","services","ERROR_MSGS.CIRCULAR_DEPENDENCY","serviceIdentifierString","m_1","namedTag","otherTags","tag","name_1","symbol","Context","plan","currentRequest","Metadata","METADATA_KEY.NAMED_TAG","Plan","parentContext","rootRequest","LazyServiceIdentifier","QueryableString","reverseString","reverseSearchString","compareString","Target","identifier","namedOrTagged","queryableName","metadataItem","METADATA_KEY.MULTI_INJECT_TAG","METADATA_KEY.NON_CUSTOM_TAG_KEYS","METADATA_KEY.OPTIONAL_TAG","getDependencies","metadataReader","constructorName","isBaseClass","serviceIdentifiers","ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION","constructorArgsMetadata","hasUserDeclaredUnknownInjections","hasOptionalParameters","iterations","constructorTargets","propertyTargets","isManaged","injectIdentifier","isObject","isUndefined","isUnknownType","ERROR_MSGS.MISSING_INJECT_ANNOTATION","inject","multiInject","propertyName","classPropsMetadata","symbolKeys","stringKeys","keys_1","baseConstructor","baseTargets","baseConstructorName","METADATA_KEY.UNMANAGED_TAG","unmanagedCount","dependencyCount","targetMetadataMap","METADATA_KEY.INJECT_TAG","METADATA_KEY.NAME_TAG","parentRequest","bindings","cntnr","isMultiInject","targetType","injectMetadata","tagMetadata","avoidConstraints","activeBindings","ERROR_MSGS.NOT_REGISTERED","ERROR_MSGS.AMBIGUOUS_MATCH","thePlan","subChildRequest","dependencies","baseClassDependencyCount","ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH","dependency","bindingDictionary","object","isObjectOrFunction","requestScope","asyncResult","ex_1","FactoryType","boundValue","serviceIdentifierAsString","ERROR_MSGS.INVALID_BINDING_TYPE","childRequests","resolveRequest","resolvedRequests","injection","constr","resolved","createInstanceWithInjectionsArg","constructorInjections","propertyInjections","possiblePromiseinjections","injections","possiblePromiseinjections_1","postConstructResult","METADATA_KEY.POST_CONSTRUCT","scopeErrorMessage","METADATA_KEY.PRE_DESTROY","resolvedResult","targetIsAnArray","targetParentIsNotAnArray","_f","factoryDetails","ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY","resolveFromBinding","containersIterator","containersIteratorResult","context_1","activationsIterator","previousResult","activation","resultPromise","activations","containersStack","getNextContainer","nextContainer","constraint","BindingWhenSyntax","targetIsDefault","ancestor","BindingOnSyntax","BindingWhenOnSyntax","BindingInSyntax","BindingInWhenOnSyntax","BindingToSyntax","ERROR_MSGS.INVALID_TO_SELF_VALUE","ERROR_MSGS.INVALID_FUNCTION_BINDING","bindingWhenOnSyntax","autofactory","named","service","ContainerSnapshot","middleware","deactivations","moduleActivationStore","snapshot","Lookup","ERROR_MSGS.NULL_ARGUMENT","ERROR_MSGS.KEY_NOT_FOUND","lookup","lookupActivations","filteredValues","lookupValue","moduleActivation","condition","removals","entries","updatedEntries","entries_1","remove","copy","ModuleActivationStore","moduleId","onDeactivation","onActivation","handlersStore","moduleActivationHandlers","Container","containerOptions","ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT","ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE","ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE","ERROR_MSGS.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK","container1","container2","containers","targetContainers","targetContainer","copyDictionary","destination","targetBindingDictionary","modules","getHelpers","modules_1","currentModule","containerModuleHelpers","modules_2","module","modules_3","module_1","bound","request_1","ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE","middlewares","initial","prev","curr","getArgs","constructorFunction","isBound","moduleActivationsHandlers","propagateDeactivationResult","ex","ERROR_MSGS.ON_DEACTIVATION_ERROR","deactivationsIterator","deactivation","setModuleId","bindingToSyntax","getBindFunction","getUnbindFunction","getUnbindAsyncFunction","getIsboundFunction","getRebindFunction","getOnActivationFunction","getOnDeactivationFunction","mId","planAndResolveArgs","middlewareResult","ERROR_MSGS.INVALID_MIDDLEWARE_RETURN","ERROR_MSGS.LAZY_IN_SYNC","getAllArgs","getNotAllArgs","bindings_1","ERROR_MSGS.ASYNC_UNBIND_REQUIRED","ERROR_MSGS.CANNOT_UNBIND","seenValues","array_1","parameterName","ERROR_MSGS.INVALID_DECORATOR_OPERATION","annotationTarget","parameterIndex","metadatas","duplicate","md","ERROR_MSGS.DUPLICATED_METADATA","paramsOrPropertiesMetadata","paramOrPropertyMetadata","_loop_1","paramOrPropertyMetadata_1","indexOrPropertyDescriptor","ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR","types","METADATA_KEY.DESIGN_PARAM_TYPES","doCache","newVal","lazyInject","lazyInjectNamed","lazyInjectTagged","lazyMultiInject","dep","TYPES","_PdfVisor","initialPdfs","src","separator","newPdf","notificationService","customElement","shellApi","pdfId","_PluginBusyList","task","taskId","busy","pluginInfo","regionManager","regionName","view","viewId","region","isViewActive","access_token","refresh_token","accessInfo","givenName","familyName","identifiers","userManager","interactionService","importerId","ImportDataManagerModal","concatenatedText","rawTexts","htmlTexts","contextManager","createRegionManager","createRegionHost","regionManagerProxy","registerRequest","command","disposable","cmd","labelProp","valueProp","label","store","connectedCallback","disconnectedCallback","connectToStore","formatProdErrorMessage","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","listenerIdCounter","isDispatching","ensureCanMutateNextListeners","getState","subscribe","isSubscribed","listenerId","dispatch","action","replaceReducer","nextReducer","observable","outerSubscribe","observer","observeState","observerAsObserver","reducers","reducerKeys","finalReducers","finalReducerKeys","shapeAssertionError","hasChanged","nextState","previousStateForKey","nextStateForKey","funcs","arg","createStore2","middlewareAPI","Ctor","propOrOldValue","base","strict","isPlain","deep","pluginKey","plugin","parent_","immer_","patchListener","immer2","draft","baseDraft","rootScope","childValue","resultEach","isSet2","parentState","targetObject","rootPath","targetIsSet","isArray","traps","revoke","proxy","current2","owner","recipe","defaultBase","base2","hasError","ip","patches","inversePatches","patch","applyPatchesImpl","itemTypes","createSelectorArgs","inputSelectorArgs","inputSelectorResults","fnNode","resultEqualityCheck","lastResult","resultsCount","memoized","cacheNode","objectCache","objectNode","primitiveCache","primitiveNode","terminatedNode","lastResultValue","memoizeOrOptions","memoizeOptionsFromArgs","createSelectorCreatorOptions","createSelector2","recomputations","dependencyRecomputations","directlyPassedOptions","resultFunc","combinedOptions","memoize","memoizeOptions","argsMemoize","argsMemoizeOptions","finalMemoizeOptions","finalArgsMemoizeOptions","memoizedResultFunc","inputSelectorsObject","selectorCreator","inputSelectorKeys","composition","extraArgument","prepareAction","actionCreator","prepared","_Tuple","createNextState","compute","thunk","immutableCheck","serializableCheck","actionCreatorCheck","middlewareArray","thunkMiddleware","notify","notifying","shouldNotifyAtEndOfTick","notificationQueued","listeners","queueCallback","notifyListeners","listener2","wrappedListener","middlewareEnhancer","autoBatch","enhancerArray","getDefaultMiddleware","devTools","enhancers","rootReducer","isPlainObject2","finalMiddleware","finalCompose","compose2","getDefaultEnhancers","storeEnhancers","composedEnhancer","builderCallback","actionsMap","actionMatchers","defaultCaseReducer","builder","typeOrActionCreator","initialState","mapOrBuilderCallback","finalActionMatchers","finalDefaultCaseReducer","getInitialState","frozenInitialState","caseReducers","reducer2","cr","previousState","caseReducer","isDraft2","isDraftable2","createNextState2","slice","actionKey","creators","cAT","reducerPath","reducerNames","contextMethods","name2","reducerName","reducerDefinition","reducerDetails","buildReducer","extraReducers","finalCaseReducers","sM","selectSelf","injectedSelectorCache","_reducer","makeSelectorProps","reducerPath2","injected","selectSlice","sliceState","getSelectors","selectState","selectorCache","injectable","pathOpt","newReducerPath","wrapper","rootState","asyncThunk","payloadCreator","prepare","createNotation","maybeReducerWithPrepare","prepareCallback","pending","settled","collections","componentFactory","searchPredicate","historyDataImporterRules","itemId","updatedItem","spec","right","userInfo","ActivityHistoryFilterType","group","ff","optionId","enabled","updatedDiagnostics","diagnostic","isEvolution","ev","isRelation","rel","newDiagnosticFilter","existing","mergedValues","__decorateParam","entityId","collection","existingItem","date","validItems","allUps","up","newUpFilter","itemExists","existFilterGroup","newItems","nothing","entities","entityIdsWithError","entityIds","arrayElements","propPathId","propPathDescription","filterTitle","SENSE_TITLE","hasSenseItem","title","commonFilters","propPath","filters","enabledGroups","enabledFilters","diagnostics","codes","evolucio","relacio","newProp","newSearchString","professionalNameContainsSearchString","centerNameContainsSearchString","specialityNameContainsSearchString","roleNameContainsSearchString","serviceNameContainsSearchString","upNameContainsSearchString","diagnosticsMatch","matchesCommonFields","matchesSearchPredicate","itemType","enabledGroupTypes","groupId","upIds","itemUp","upId","singleFilter","sort","diag1","diag2","sortedDiag1","sortedDiag2","dateStr","professionalKey","locationKey","dayKey","item1","item2","baseKey1","baseKey2","date1","date2","time1","time2","groups","subGroups","remainingItems","addedToSubGroup","subGroup","firstSubGroupItem","sortedItems","groupsByBaseKey","allGroups","itemBaseKey","itemTime","addedToExistingGroup","candidateGroups","firstItem","lastItem","groupStartTime","groupEndTime","newGroupStartTime","newGroupEndTime","hasTemporalConflict","otherKey","otherGroups","otherGroup","otherItem","otherTime","newGroup","keyGroups","aFirstItem","bFirstItem","latest","itemDate","itemDates","subGroupDates","allDates","sortItemsByDate","rules","filterGroups","filterCollection","filterGroupsWithItems","filterGroup","customFilters","diagnosticFilterEnabledValues","upFilterEnabledValues","commonFilterSpec","typeSpec","customFilterSpec","diagnosticSpec","upSpec","filteredItems","groupedItems","handleChange","isSelected","isEnabled","onChangeValue","isCustom","elements","when","changedProperties","filterId","filterGroupId","selectedValues","diagnosticToDelete","evolucions","relacions","diagnosticParent","argStr","amount","_date","getDefaultOptions","weekStartsOn","day","diff","year","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","utcDate","dateLeft","dateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","fourthOfJanuary","month","interval","startDate","endDate","reversed","endTime","currentDate","dates","cleanDate","count","tokenValue","width","_baseDate","_options","valuesArray","defaultWidth","dirtyNumber","number","rem100","quarter","string","matchPattern","matchResult","matchedString","parsePatterns","predicate","parseResult","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","firstWeek","targetLength","sign","signedYear","dayPeriodEnumValue","numberOfDigits","milliseconds","fractionalSeconds","localize","era","signedWeekYear","weekYear","twoDigitYear","isoWeekYear","week","isoWeek","dayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","_localize","timezoneOffset","absOffset","minutes","formatLong","datePattern","timePattern","dateTimeFormat","_message","subject","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","locale","defaultLocale","originalDate","substring","firstCharacter","longFormatter","cleanEscapedString","formatterOptions","formatter","matched","getInternalDefaultOptions","fromDate","_utcDate","validateValue","setValue","priority","subPriority","flags","dateString","parseFnResult","mapFn","seconds","dayPeriod","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","valueCallback","normalizedTwoDigitYear","_flags","firstWeekOfYear","isLeapYear","currentDay","dayIndex","delta","wholeWeekDays","isPM","referenceDate","subFnOptions","setters","usedTokens","incompatibleTokens","incompatibleToken","usedToken","uniquePrioritySetters","setterArray","directItems","subGroupItems","_props","currentIndex","itemEntries","subGroupEntries","row","itemGroup","ref","ifDefined","diagnosticHeaderTemplate","showRole","getDeps","deps","isInitial","memoizedFunction","depTime","newDeps","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","debounce","targetWindow","ms","timeoutId","element","offsetWidth","offsetHeight","range","start","rect","height","run","box","createHandler","isScrolling","horizontal","isRtl","endHandler","registerScrollendEvent","adjustments","toOffset","_ro","get","node","opts2","sync","scrollElement","cached","measurements","furthestMeasurementsFound","furthestMeasurements","measurement","previousFurthestMeasurement","paddingStart","scrollMargin","getItemKey","lanes","laneAssignmentMode","itemSizeCache","laneLastIndex","cachedLane","lane","shouldCacheLane","prevIndex","prevInLane","furthestMeasurement","measuredSize","outerSize","scrollOffset","startIndex","endIndex","rangeExtractor","overscan","attributeName","indexStr","scrollIndex","bufferSize","minIndex","maxIndex","key2","prevNode","itemSize","virtualItems","doc","align","maxOffset","initialAlign","offsetInfo","endByLane","targetOffset","STABLE_FRAMES","targetChanged","low","high","getCurrentValue","middle","currentValue","getOffset","endPerLane","startPerLane","marginTop","marginBottom","viewport","onStateChange","historyGroups","regex","unsafeHTML","selectedDate","targetDay","dayOf","attempt","vi","query","isAnyChipActive","combinedMessage","titleMessage","errorMessages","selectedItems","searchQuery","visibleCount","visibleChips","hiddenElements","hiddenChips","enabledValues","titleAddedToVisible","titleAddedToHidden","diagnosticItem","chip","selectedOptions","filterOption","deletedFiltersOption","diagnosticCodi","upValue","prepareItems","sub","estimateItemHeight","collectionRule","it","todayOnly","selectedDiagnosticCodes","rulesByCollectionId","baseFiltered","todayActive","diagActive","representative","siblings","detail","selected","ids","additions","toRemove","raw","ctx","matchingIds","collect","selectedSet","mainViewSubscription","CIP","plugins","startup","finalPlugins","pluginBootstrapper","startupPlugin","exitEvent","evt","busyTasks","decodedToken","access_info","identifierItem","backendAdapter","shellViews","placement","ownerDocument","OwnElement","_ref","effect","_ref2","initialStyles","styleProperties","attribute","uaData","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","rootNode","isFirefox","isIE","elementCss","currentNode","window","offsetParent","mathMax","mathMin","paddingObject","hashMap","padding","_state$modifiersData$","arrowElement","popperOffsets","basePlacement","axis","isVertical","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","axisProp","_options$element","win","dpr","_Object$assign2","popper","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_ref4","_Object$assign","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","hash","scrollLeft","scrollTop","strategy","layoutViewport","_element$ownerDocumen","winScroll","_getComputedStyle","overflow","overflowX","overflowY","isBody","updatedList","clippingParent","clippingParents","canEscapeClipping","clipperElement","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","reference","commonX","commonY","mainAxis","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","placements","allowedPlacements","overflows","oppositePlacement","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","preventedOffsets","side","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","rects","invertDistance","skidding","distance","_options$offset","_data$state$placement","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","modifiers","visited","modifier","requires","depModifier","orderedModifiers","phase","current","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","runModifierEffects","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","computeStyles","applyStyles","flip","preventOverflow","arrow","hide","Y","W","aa","K","J","__defProp","__getOwnPropDesc","classMap","booleanType","or","sr","mr","tr","ir","er","dr","pr","X","rr","nr","fr","Hr","ur","lr","br","gr","hr","kr","Br","Cr","Sr","Fr","Ir","Tr","xr","wr","vr","Dr","Lr","Pr","Mr","Ar","yr","Rr","Er","_r","Nr","Gr","Ur","zr","Wr","Or","Kr","Jr","Vr","Qr","Yr","qr","jr","Xr","Zr","_PrimariaShell","navItemMenuKey","allViews","targetIndex","sortHintA","sortHintB","menuContainer","itemHeight","targetPosition","containerHeight","scrollPosition","containerRect","navItems","itemAbsoluteY","_PrimariaErrorView","assignedElements","contentSlot","actionMenu","targetElement","workCenterElements","roleElements","specialityElements","_PrimariaShellHeader","updateDividers","children","divider","_PocEventsEcap","pdfName","pdfDate","fileName","parameterValue","_PrimariaAccordion","_CommunicationActionMenu","icon","_changedProps","parentElement","_ClinicalPathwaysActionMenu","_PetitionerActionMenu","_HeaderDivider","attrForSelected","selection","attr","_PrimariaContentSwitcher","_PrimariaNavItem","regionView","subscription","nestedItem","_PrimariaNavTreeMenu","this","installedModules","__webpack_require__","exports","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","ParchmentError","classes","tags","Scope","BlotClass","find","bubble","names","register","Definitions","Definition","tagNames","equal","extend","NULL_CHARACTER","Delta","ops","newOp","lastOp","failed","elem","nextOp","other","thisIter","otherIter","firstOther","firstLeft","thisOp","otherOp","strings","prep","diffResult","component","opLength","newline","nextType","toStr","defineProperty","gOPD","hasOwnConstructor","hasIsPrototypeOf","setProperty","getProperty","copyIsArray","_createClass","defineProperties","Constructor","protoProps","staticProps","_get","receiver","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text","_text2","_classCallCheck","_possibleConstructorReturn","call","_inherits","subClass","superClass","NEWLINE_LENGTH","BlockEmbed","_Parchment$Embed","def","block","Block","_Parchment$Block","domNode","_this2","leaf","bubbleFormats","lines","blot","force","_typeof","_slicedToArray","sliceIterator","_arr","_n","_d","_e","_s","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","_defineProperty","debug","Quill","limit","overwrite","expandConfig","mutations","modify","contents","refNode","_this3","_overload","overload","_overload2","_this4","change","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","containerBounds","_overload7","_overload8","_overload9","_overload10","embed","_this7","_this8","_overload11","_overload12","_this9","_overload13","_overload14","_this10","applied","_overload15","_overload16","_this11","userConfig","themeConfig","moduleNames","moduleConfig","moduleClass","shift","oldDelta","shiftRange","_emitter","_emitter2","_map","_map2","_map3","_map4","Inline","_Parchment$Inline","selfIndex","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","_shadowSelectionPolyfill","EVENTS","EMITTERS","supportsRootNode","em","Emitter","_EventEmitter","_len2","_key2","containsNode","Module","quill","levels","level","_console","namespace","ns","logger","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","objEquiv","isUndefinedOrNull","isBuffer","ka","kb","Attributor","attrName","keyName","attributeBit","_block","_block2","Code","_Inline","CodeBlock","_Block","frag","_descendant","_descendant2","nextNewline","prevNewline","isolateLength","_descendant3","_descendant4","searchIndex","reverse","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","Editor","consumeNextNewline","scrollLength","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","cursorIndex","textBlot","oldValue","oldText","newText","diffDelta","_toConsumableArray","arr2","Range","Selection","emitter","native","_context$range","startNode","startOffset","endNode","endOffset","_format","nativeRange","after","_scroll$leaf","_scroll$leaf2","_leaf$position","_leaf$position2","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","positions","_position","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","scrollingContainer","last","scrollBounds","oldRange","_getRange","_getRange2","lastRange","descendant","Break","linked_list_1","shadow_1","ContainerBlot","makeBlot","criteria","descendants","lengthLeft","childBlot","refBlot","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","FormatBlot","replacement","LeafBlot","lib","keepNull","Iterator","retOp","_instanceof","nativeMap","nativeSet","nativePromise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","__getRegExpFlags","keyChild","valueChild","entryChild","attrs","symbols","allPropertyNames","__objToStr","__isDate","__isArray","__isRegExp","re","_container","_container2","isLine","Scroll","_Parchment$Scroll","whitelist","_line","_line2","_line3","_line4","newlineIndex","_newlineIndex","getLines","_quill","_quill2","SHORTKEY","Keyboard","_Module","normalize","handleEnter","handleBackspace","handleDelete","handleDeleteRange","which","_quill$getLine","_quill$getLine2","_quill$getLeaf","_quill$getLeaf2","leafStart","offsetStart","leafEnd","offsetEnd","prefixText","suffixText","curContext","prevented","makeFormatHandler","makeCodeBlockHandler","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","makeEmbedArrowHandler","shiftKey","where","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","indent","_quill$scroll$descend","_quill$scroll$descend2","Cursor","textNode","restoreText","_Parchment$Container","ColorAttributor","_Parchment$Attributor","ColorClass","ColorStyle","Link","_sanitize","protocols","anchor","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","select","trigger","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","parentBlot","refDomNode","AttributorStore","prefix","ClassAttributor","camelize","StyleAttributor","getRange","internalGetShadowSelection","SHADOW_SELECTIONCHANGE","hasShadow","hasSelection","hasShady","isSafari","useDocument","validNodeTypes","isValidNode","findNode","parentNode","isLeft","nodes","childNode","addInternalListener","withinInternals","wasCaret","resolveTask","containsNextElement","walkForward","walkFromNode","getSelectionDirection","leftNode","rightNode","measure","initialSize","updatedSize","initialSpace","ignoredTrailingSpace","trailingSpaceCount","cachedRange","thisFrame","fakeSelectionNode","includesBeforeRoot","includesAfterRoot","isNaturalDirection","at","offsetLeft","offsetRight","validRightLength","Theme","GUARD_TEXT","Embed","prevLength","AlignAttribute","AlignClass","AlignStyle","_color","BackgroundClass","BackgroundStyle","DirectionAttribute","DirectionClass","DirectionStyle","FontClass","FontStyleAttributor","FontStyle","SizeClass","SizeStyle","History","getLastChangeIndex","changeDelta","undoDelta","endsWithNewlineChange","deleteLength","changeIndex","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","picker","buttons","icons","button","selects","fillSelect","update","fileInput","BaseTooltip","_Tooltip","boundsContainer","mode","preview","extractVideoUrl","LinkedList","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","records","mark","markParent","optimize","remaining","grandChild","isEqual","obj1","obj2","InlineBlot","BlockBlot","EmbedBlot","_toggle","subjectString","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","k2_offset","x2","diff_bisectSplit_","k2","y2","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","best_common","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","has","Events","EE","once","EventEmitter","exists","available","ee","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchText","matchNewline","matchBreak","matchBlot","matchSpacing","matchAttributor","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","_prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","_pair","applyFormat","computeStyle","endText","childrenDelta","nodeHeight","replacer","collapse","Bold","Toolbar","addControls","rootDocument","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","addButton","controls","control","addSelect","ColorPicker","_Picker","colorLabel","IconPicker","Tooltip","top","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","toolbar","SnowTooltip","tooltip","_BaseTooltip","link","_core","_core2","_indent","_blockquote","_blockquote2","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IdentAttributor","IndentClass","Blockquote","Header","ListItem","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","Formula","SyntaxCodeBlock","_CodeBlock","_highlight","CodeToken","Syntax","BubbleTheme","BubbleTooltip","lastLine","_bounds","CustomAttributes","span","_PrimariaRichTextEditor","plainValue","textChanged","toolbarOptions","availableOpts","_PrimariaCharacterLimitBadge","targetId","regionsProperty","litProto","mixinProto","_regions","registered","menuItem","mainItem","closeAction","additionalParams","includeCip","QuickActionItem","callbackFn","_NavDivider","views","finalViews","communicationItems","menuTest","clinicalPathwaysItems","petitionerItems","quickActionItem","regionAdapterRegistry","selectableAdapterFactory","hostAppElement","ecapContext","shell"],"mappings":"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AAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,102,103,104,105,106,107,108,109,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,169,170,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,210,211,212,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,281,282,283,284,285,376,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,502,503,504,510,511,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,945]}