@tylertech/forge 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/custom-elements.json +78 -4
  2. package/dist/esm/chunks/{chunk.JUXKYUD4.js → chunk.2NMHSTAO.js} +51 -28
  3. package/dist/esm/chunks/{chunk.JUXKYUD4.js.map → chunk.2NMHSTAO.js.map} +2 -2
  4. package/dist/esm/chunks/{chunk.GL72QT42.js → chunk.35BJJH5E.js} +2 -2
  5. package/dist/esm/chunks/{chunk.GL72QT42.js.map → chunk.35BJJH5E.js.map} +1 -1
  6. package/dist/esm/chunks/{chunk.L344BPCW.js → chunk.BLZJIYMG.js} +2 -2
  7. package/dist/esm/chunks/{chunk.L344BPCW.js.map → chunk.BLZJIYMG.js.map} +0 -0
  8. package/dist/esm/chunks/{chunk.65GHMPX2.js → chunk.ELAJS33V.js} +6 -6
  9. package/dist/esm/chunks/chunk.ELAJS33V.js.map +7 -0
  10. package/dist/esm/chunks/{chunk.GOWHXADJ.js → chunk.K7OLG7CS.js} +22 -14
  11. package/dist/esm/chunks/chunk.K7OLG7CS.js.map +7 -0
  12. package/dist/esm/chunks/{chunk.XHMNHBZD.js → chunk.PNKLV3BK.js} +2 -2
  13. package/dist/esm/chunks/{chunk.XHMNHBZD.js.map → chunk.PNKLV3BK.js.map} +1 -1
  14. package/dist/esm/chunks/{chunk.ZXMJB7OW.js → chunk.UFMUXBT4.js} +8 -8
  15. package/dist/esm/chunks/{chunk.ZXMJB7OW.js.map → chunk.UFMUXBT4.js.map} +0 -0
  16. package/dist/esm/chunks/{chunk.C73AZRT4.js → chunk.XE7ZMJBZ.js} +5 -3
  17. package/dist/esm/chunks/{chunk.C73AZRT4.js.map → chunk.XE7ZMJBZ.js.map} +2 -2
  18. package/dist/esm/chunks/{chunk.MF3IZXQG.js → chunk.ZSHQMR4O.js} +2 -2
  19. package/dist/esm/chunks/{chunk.MF3IZXQG.js.map → chunk.ZSHQMR4O.js.map} +0 -0
  20. package/dist/esm/drawer/base/index.js +1 -1
  21. package/dist/esm/drawer/drawer/index.js +2 -2
  22. package/dist/esm/drawer/index.js +4 -4
  23. package/dist/esm/drawer/mini-drawer/index.js +2 -2
  24. package/dist/esm/drawer/modal-drawer/index.js +2 -2
  25. package/dist/esm/file-picker/index.js +1 -1
  26. package/dist/esm/index.js +9 -9
  27. package/dist/esm/inline-message/index.js +1 -1
  28. package/dist/esm/table/index.js +1 -1
  29. package/dist/esm/time-picker/index.js +1 -1
  30. package/esm/drawer/base/base-drawer-foundation.d.ts +4 -2
  31. package/esm/drawer/base/base-drawer-foundation.js +22 -14
  32. package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +2 -2
  33. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +4 -4
  34. package/esm/file-picker/file-picker.js +1 -1
  35. package/esm/inline-message/inline-message.js +1 -1
  36. package/esm/table/table.js +3 -1
  37. package/esm/time-picker/time-picker-constants.d.ts +1 -0
  38. package/esm/time-picker/time-picker-constants.js +1 -0
  39. package/esm/time-picker/time-picker-foundation.d.ts +4 -0
  40. package/esm/time-picker/time-picker-foundation.js +44 -29
  41. package/esm/time-picker/time-picker.d.ts +3 -0
  42. package/esm/time-picker/time-picker.js +7 -0
  43. package/package.json +1 -1
  44. package/styles/file-picker/_mixins.scss +3 -1
  45. package/styles/inline-message/inline-message.scss +4 -0
  46. package/dist/esm/chunks/chunk.65GHMPX2.js.map +0 -7
  47. package/dist/esm/chunks/chunk.GOWHXADJ.js.map +0 -7
@@ -13,6 +13,10 @@
13
13
  @include mixins.theme('info-primary');
14
14
  @include mixins.theme('info-secondary');
15
15
 
16
+ :host {
17
+ display: block;
18
+ }
19
+
16
20
  :host([hidden]) {
17
21
  display: none;
18
22
  }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/drawer/modal-drawer/modal-drawer-adapter.ts", "../../src/drawer/modal-drawer/modal-drawer-constants.ts", "../../src/drawer/modal-drawer/modal-drawer-foundation.ts", "../../src/drawer/modal-drawer/modal-drawer.ts", "../../src/drawer/modal-drawer/index.ts"],
4
- "sourcesContent": ["import { getShadowElement, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../../backdrop';\nimport { BaseDrawerAdapter, IBaseDrawerAdapter } from '../base';\nimport { IModalDrawerComponent } from './modal-drawer';\n\nexport interface IModalDrawerAdapter extends IBaseDrawerAdapter {\n setBackdropCloseListener(listener: (evt: Event) => void): void;\n setBackdropVisibility(visible: boolean): Promise<void>;\n toggleBackdropClass(hasClass: boolean, className: string): void;\n}\n\nexport class ModalDrawerAdapter extends BaseDrawerAdapter implements IModalDrawerAdapter {\n private _backdropElement: IBackdropComponent;\n\n constructor(protected _component: IModalDrawerComponent) {\n super(_component);\n this._backdropElement = getShadowElement(this._component, BACKDROP_CONSTANTS.elementName) as IBackdropComponent;\n }\n\n public setBackdropCloseListener(listener: (evt: Event) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, listener);\n }\n\n public setBackdropVisibility(visible: boolean): Promise<void> {\n if (this._backdropElement.hasAttribute('hidden')) {\n this._backdropElement.removeAttribute('hidden');\n }\n if (!this._backdropElement.fadeIn || !this._backdropElement.fadeOut) {\n return Promise.resolve();\n }\n return visible ? this._backdropElement.fadeIn() : this._backdropElement.fadeOut();\n }\n\n public toggleBackdropClass(hasClass: boolean, className: string): void {\n toggleClass(this._backdropElement, hasClass, className);\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}modal-drawer`;\n\nconst classes = {\n DISPLAY_NONE: 'forge-drawer--display-none',\n SCRIM_CLOSED: 'forge-drawer__scrim--closed'\n};\n\nconst events = {\n CLOSE: `${elementName}-close`\n};\n\nexport const MODAL_DRAWER_CONSTANTS = {\n elementName,\n classes,\n events\n};\n", "import { Platform } from '@tylertech/forge-core';\nimport { BaseDrawerFoundation, IBaseDrawerFoundation } from '../base';\n\nimport { IModalDrawerAdapter } from './modal-drawer-adapter';\nimport { MODAL_DRAWER_CONSTANTS } from './modal-drawer-constants';\n\nexport interface IModalDrawerFoundation extends IBaseDrawerFoundation {}\n\nexport class ModalDrawerFoundation extends BaseDrawerFoundation implements IModalDrawerFoundation {\n protected _open = false;\n private _backdropClickListener: (evt: Event) => void;\n private _isInitialized = false;\n\n constructor(protected _adapter: IModalDrawerAdapter) {\n super(_adapter);\n this._backdropClickListener = evt => this._onBackdropClick(evt);\n }\n\n public connect(): void {\n super.connect();\n this._adapter.setBackdropCloseListener(this._backdropClickListener);\n this._setBackdrop(this._open);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n }\n\n protected _setDrawerOpenState(): void {\n super._setDrawerOpenState();\n this._setBackdrop(true);\n }\n\n protected _setDrawerClosedState(): void {\n super._setDrawerClosedState();\n this._setBackdrop(false);\n }\n\n private _onBackdropClick(evt: Event): void {\n const canClose = this._adapter.emitHostEvent(MODAL_DRAWER_CONSTANTS.events.CLOSE, undefined, true, true);\n if (canClose) {\n this.open = false;\n }\n }\n\n private _setBackdrop(open: boolean): void {\n if (open) {\n this._adapter.toggleBackdropClass(false, MODAL_DRAWER_CONSTANTS.classes.SCRIM_CLOSED);\n this._adapter.setBackdropVisibility(true);\n } else if (this._isInitialized) {\n this._adapter.setBackdropVisibility(false).then(() => {\n if (!this._open) {\n this._adapter.toggleBackdropClass(true, MODAL_DRAWER_CONSTANTS.classes.SCRIM_CLOSED);\n }\n });\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { BackdropComponent } from '../../backdrop';\nimport { BaseDrawerComponent, IBaseDrawerComponent } from '../base';\nimport { ModalDrawerAdapter } from './modal-drawer-adapter';\nimport { MODAL_DRAWER_CONSTANTS } from './modal-drawer-constants';\nimport { ModalDrawerFoundation } from './modal-drawer-foundation';\n\nconst template = '<template><forge-backdrop class=\\\"forge-drawer__scrim\\\" hidden part=\\\"scrim\\\"></forge-backdrop><div class=\\\"forge-drawer forge-drawer--modal\\\" part=\\\"root\\\"><slot name=\\\"header\\\"></slot><div class=\\\"forge-drawer__content\\\" part=\\\"content\\\"><slot></slot></div><slot name=\\\"footer\\\"></slot></div></template>';\nconst styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\\\"touch\\\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-drawer__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-drawer__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}.forge-drawer--modal{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);z-index:8;z-index:var(--forge-z-index-dialog,8);position:absolute;top:0;max-width:80%}.forge-drawer--modal+.mdc-drawer-scrim{background-color:rgba(0,0,0,.32)}.forge-drawer--modal.forge-drawer--closed,.forge-drawer--modal.forge-drawer--closing{-webkit-box-shadow:none;box-shadow:none}.forge-drawer--modal.forge-drawer--closing.forge-drawer--right{-webkit-transform:translateX(100%);transform:translateX(100%)}.forge-drawer__scrim{z-index:8;z-index:var(--forge-z-index-dialog,8)}.forge-drawer__scrim--closed{display:none}.forge-drawer.forge-drawer--right{right:0}.forge-drawer--display-none{display:none!important}';\n\nexport interface IModalDrawerComponent extends IBaseDrawerComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-modal-drawer': IModalDrawerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-modal-drawer-close': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-modal-drawer>` custom element.\n * \n * @tag forge-modal-drawer\n */\n@CustomElement({\n name: MODAL_DRAWER_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class ModalDrawerComponent extends BaseDrawerComponent<ModalDrawerFoundation> implements IModalDrawerComponent {\n protected _foundation: ModalDrawerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ModalDrawerFoundation(new ModalDrawerAdapter(this));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { ModalDrawerComponent } from './modal-drawer';\n\nexport * from './modal-drawer-adapter';\nexport * from './modal-drawer-constants';\nexport * from './modal-drawer-foundation';\nexport * from './modal-drawer';\n\nexport function defineModalDrawerComponent(): void {\n defineCustomElement(ModalDrawerComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/drawer/base/base-drawer-constants.ts", "../../src/drawer/base/base-drawer-adapter.ts", "../../src/drawer/base/base-drawer-foundation.ts", "../../src/drawer/base/base-drawer.ts"],
4
- "sourcesContent": ["const attributes = {\n OPEN: 'open',\n DIRECTION: 'direction'\n};\n\nconst classes = {\n DRAWER: 'forge-drawer',\n LEFT: 'forge-drawer--left',\n RIGHT: 'forge-drawer--right',\n CLOSING: 'forge-drawer--closing',\n CLOSED: 'forge-drawer--closed',\n NO_TRANSITION: 'forge-drawer--no-transition'\n};\n\nconst selectors = {\n DRAWER: `.${classes.DRAWER}`\n};\n\nconst events = {\n AFTER_OPEN: `forge-drawer-after-open`,\n AFTER_CLOSE: `forge-drawer-after-close`\n};\n\nexport const BASE_DRAWER_CONSTANTS = {\n attributes,\n classes,\n selectors,\n events\n};\n\nexport type DrawerDirection = 'left' | 'right';\n", "import { addClass, getShadowElement, removeClass } from '@tylertech/forge-core';\nimport { proxyShadowScrollEvent } from '../../core/utils/event-utils';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseDrawerComponent } from './base-drawer';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerAdapter extends IBaseAdapter {\n proxyScrollEvent(): void;\n tryUnproxyScrollEvent(): void;\n setDirection(direction: DrawerDirection): void;\n removeDrawerClass(className: string | string[]): void;\n setDrawerClass(className: string | string[]): void;\n listenTransitionComplete(listener: () => void): void;\n}\n\nexport class BaseDrawerAdapter extends BaseAdapter<IBaseDrawerComponent> implements IBaseDrawerAdapter {\n protected _drawerElement: HTMLElement;\n private _activeTransitionListener: ((evt: TransitionEvent) => void) | undefined;\n private _unproxyScrollEventCb: (() => void) | undefined;\n\n constructor(protected _component: IBaseDrawerComponent) {\n super(_component);\n this._drawerElement = getShadowElement(this._component, BASE_DRAWER_CONSTANTS.selectors.DRAWER);\n }\n\n public proxyScrollEvent(): void {\n // We proxy the scroll event because our internal scroll container does not dispatch this event outside of the shadow root to any listeners.\n // This is a problem because if we have any components that need to react to the scroll event, such as our popup elements, they will not be\n // notified. This will ensure we always proxy this event out from the host. \n this.tryUnproxyScrollEvent();\n this._unproxyScrollEventCb = proxyShadowScrollEvent(this._component.shadowRoot as ShadowRoot, this._component);\n }\n\n public tryUnproxyScrollEvent(): void {\n if (this._unproxyScrollEventCb) {\n this._unproxyScrollEventCb();\n }\n }\n\n public setDirection(direction: DrawerDirection): void {\n switch (direction) {\n case 'left':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.LEFT);\n break;\n case 'right':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.LEFT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n break;\n }\n }\n\n public removeDrawerClass(className: string | string[]): void {\n removeClass(className, this._drawerElement);\n }\n\n public setDrawerClass(className: string | string[]): void {\n addClass(className, this._drawerElement);\n }\n\n public listenTransitionComplete(listener: () => void): void {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n }\n this._activeTransitionListener = (evt: TransitionEvent) => {\n if (evt.propertyName === 'transform') {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n this._activeTransitionListener = undefined;\n }\n listener();\n }\n };\n this._drawerElement.addEventListener('transitionend', this._activeTransitionListener);\n }\n}\n", "import { ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\nimport { IBaseDrawerAdapter } from './base-drawer-adapter';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerFoundation extends ICustomElementFoundation {\n direction: DrawerDirection;\n}\n\nexport class BaseDrawerFoundation implements IBaseDrawerFoundation {\n protected _open = true;\n protected _direction: DrawerDirection = 'left';\n private _hasInitialized = false;\n private _openAnimationListener: () => void;\n private _closeAnimationListener: () => void;\n\n constructor(protected _adapter: IBaseDrawerAdapter) {\n this._openAnimationListener = () => this._onOpenComplete();\n this._closeAnimationListener = () => this._onCloseComplete();\n }\n\n public connect(): void {\n this._applyOpen();\n this._applyDirection();\n this._adapter.proxyScrollEvent();\n this._hasInitialized = true;\n }\n\n public disconnect(): void {\n this._adapter.tryUnproxyScrollEvent();\n this._hasInitialized = false;\n }\n\n private _applyDirection(): void {\n this._adapter.setDirection(this._direction);\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.DIRECTION, isDefined(this._direction) ? this._direction.toString() : '');\n }\n\n private _onOpenComplete(): void {\n if (!this._open) {\n return;\n }\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_OPEN);\n }\n \n private _onCloseComplete(): void {\n if (this._open) {\n return;\n }\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);\n }\n\n protected _applyOpen(): void {\n if (this._open) {\n this._setDrawerOpenState();\n } else {\n this._setDrawerClosedState();\n }\n \n if (this._open) {\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n } else {\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n }\n\n protected _setDrawerOpenState(): void {\n this._adapter.listenTransitionComplete(this._openAnimationListener);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n }\n\n protected _setDrawerClosedState(): void {\n this._adapter.listenTransitionComplete(this._closeAnimationListener);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n this._open = value;\n if (this._hasInitialized) {\n this._applyOpen();\n }\n }\n }\n\n public get direction(): DrawerDirection {\n return this._direction;\n }\n public set direction(value: DrawerDirection) {\n if (this._direction !== value) {\n this._direction = value;\n if (this._hasInitialized) {\n this._applyDirection();\n }\n }\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { BASE_DRAWER_CONSTANTS, DrawerDirection } from './base-drawer-constants';\nimport { BaseDrawerFoundation } from './base-drawer-foundation';\n\nexport interface IBaseDrawerComponent extends IBaseComponent {\n open: boolean;\n direction: DrawerDirection;\n}\n\ndeclare global {\n interface HTMLElementEventMap {\n 'forge-drawer-after-open': CustomEvent<void>;\n 'forge-drawer-after-close': CustomEvent<void>;\n }\n}\n\nexport abstract class BaseDrawerComponent<T extends BaseDrawerFoundation> extends BaseComponent implements IBaseDrawerComponent {\n public static get observedAttributes(): string[] {\n return [\n BASE_DRAWER_CONSTANTS.attributes.OPEN,\n BASE_DRAWER_CONSTANTS.attributes.DIRECTION\n ];\n }\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n this._foundation.connect();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_DRAWER_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BASE_DRAWER_CONSTANTS.attributes.DIRECTION:\n this.direction = newValue as DrawerDirection;\n break;\n }\n }\n\n /** Toggles whether a `dismissible` or `modal` drawer is open or not. Has no effect on `permanent` drawers. */\n @FoundationProperty()\n public open: boolean;\n\n /** Controls the laytout direction of the drawer for positioning on the left vs. right side of the screen. */\n @FoundationProperty()\n public direction: DrawerDirection;\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }