@tylertech/forge 2.6.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 (57) hide show
  1. package/custom-elements.json +83 -5
  2. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  3. package/dist/esm/button-toggle/index.js +1 -1
  4. package/dist/esm/chunks/{chunk.JUXKYUD4.js → chunk.2NMHSTAO.js} +51 -28
  5. package/dist/esm/chunks/{chunk.JUXKYUD4.js.map → chunk.2NMHSTAO.js.map} +2 -2
  6. package/dist/esm/chunks/{chunk.GL72QT42.js → chunk.35BJJH5E.js} +2 -2
  7. package/dist/esm/chunks/{chunk.GL72QT42.js.map → chunk.35BJJH5E.js.map} +1 -1
  8. package/dist/esm/chunks/{chunk.L344BPCW.js → chunk.BLZJIYMG.js} +2 -2
  9. package/dist/esm/chunks/{chunk.L344BPCW.js.map → chunk.BLZJIYMG.js.map} +0 -0
  10. package/dist/esm/chunks/{chunk.65GHMPX2.js → chunk.ELAJS33V.js} +6 -6
  11. package/dist/esm/chunks/chunk.ELAJS33V.js.map +7 -0
  12. package/dist/esm/chunks/{chunk.GNAIKBO6.js → chunk.EUPO2VO2.js} +3 -2
  13. package/dist/esm/chunks/{chunk.GNAIKBO6.js.map → chunk.EUPO2VO2.js.map} +2 -2
  14. package/dist/esm/chunks/{chunk.CMXAORYF.js → chunk.HAWYW54W.js} +29 -21
  15. package/dist/esm/chunks/chunk.HAWYW54W.js.map +7 -0
  16. package/dist/esm/chunks/{chunk.GOWHXADJ.js → chunk.K7OLG7CS.js} +22 -14
  17. package/dist/esm/chunks/chunk.K7OLG7CS.js.map +7 -0
  18. package/dist/esm/chunks/{chunk.XHMNHBZD.js → chunk.PNKLV3BK.js} +2 -2
  19. package/dist/esm/chunks/{chunk.XHMNHBZD.js.map → chunk.PNKLV3BK.js.map} +1 -1
  20. package/dist/esm/chunks/{chunk.5H65ASFE.js → chunk.UFMUXBT4.js} +10 -10
  21. package/dist/esm/chunks/{chunk.5H65ASFE.js.map → chunk.UFMUXBT4.js.map} +0 -0
  22. package/dist/esm/chunks/{chunk.C73AZRT4.js → chunk.XE7ZMJBZ.js} +5 -3
  23. package/dist/esm/chunks/{chunk.C73AZRT4.js.map → chunk.XE7ZMJBZ.js.map} +2 -2
  24. package/dist/esm/chunks/{chunk.MF3IZXQG.js → chunk.ZSHQMR4O.js} +2 -2
  25. package/dist/esm/chunks/{chunk.MF3IZXQG.js.map → chunk.ZSHQMR4O.js.map} +0 -0
  26. package/dist/esm/drawer/base/index.js +1 -1
  27. package/dist/esm/drawer/drawer/index.js +2 -2
  28. package/dist/esm/drawer/index.js +4 -4
  29. package/dist/esm/drawer/mini-drawer/index.js +2 -2
  30. package/dist/esm/drawer/modal-drawer/index.js +2 -2
  31. package/dist/esm/file-picker/index.js +1 -1
  32. package/dist/esm/index.js +11 -11
  33. package/dist/esm/inline-message/index.js +1 -1
  34. package/dist/esm/paginator/index.js +1 -1
  35. package/dist/esm/table/index.js +1 -1
  36. package/dist/esm/time-picker/index.js +1 -1
  37. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +2 -1
  38. package/esm/drawer/base/base-drawer-foundation.d.ts +4 -2
  39. package/esm/drawer/base/base-drawer-foundation.js +22 -14
  40. package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +2 -2
  41. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +4 -4
  42. package/esm/file-picker/file-picker.js +1 -1
  43. package/esm/inline-message/inline-message.js +1 -1
  44. package/esm/paginator/paginator-foundation.js +29 -20
  45. package/esm/table/table.js +3 -1
  46. package/esm/time-picker/time-picker-constants.d.ts +1 -0
  47. package/esm/time-picker/time-picker-constants.js +1 -0
  48. package/esm/time-picker/time-picker-foundation.d.ts +4 -0
  49. package/esm/time-picker/time-picker-foundation.js +44 -29
  50. package/esm/time-picker/time-picker.d.ts +3 -0
  51. package/esm/time-picker/time-picker.js +7 -0
  52. package/package.json +1 -1
  53. package/styles/file-picker/_mixins.scss +3 -1
  54. package/styles/inline-message/inline-message.scss +4 -0
  55. package/dist/esm/chunks/chunk.65GHMPX2.js.map +0 -7
  56. package/dist/esm/chunks/chunk.CMXAORYF.js.map +0 -7
  57. package/dist/esm/chunks/chunk.GOWHXADJ.js.map +0 -7
@@ -119,7 +119,11 @@ var BaseDrawerFoundation = class {
119
119
  this._closeAnimationListener = () => this._onCloseComplete();
120
120
  }
121
121
  connect() {
122
- this._applyOpen();
122
+ if (this._open) {
123
+ this._setOpened();
124
+ } else {
125
+ this._setClosed();
126
+ }
123
127
  this._applyDirection();
124
128
  this._adapter.proxyScrollEvent();
125
129
  this._hasInitialized = true;
@@ -136,35 +140,39 @@ var BaseDrawerFoundation = class {
136
140
  if (!this._open) {
137
141
  return;
138
142
  }
143
+ this._setOpened();
139
144
  this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_OPEN);
140
145
  }
141
146
  _onCloseComplete() {
142
147
  if (this._open) {
143
148
  return;
144
149
  }
145
- this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);
146
- this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION);
147
- this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);
150
+ this._setClosed();
148
151
  this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);
149
152
  }
153
+ _setOpened() {
154
+ this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);
155
+ this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
156
+ }
157
+ _setClosed() {
158
+ this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSING, BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION]);
159
+ this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);
160
+ this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
161
+ }
150
162
  _applyOpen() {
151
163
  if (this._open) {
152
- this._setDrawerOpenState();
153
- } else {
154
- this._setDrawerClosedState();
155
- }
156
- if (this._open) {
164
+ this._triggerDrawerOpen();
157
165
  this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
158
166
  } else {
167
+ this._triggerDrawerClose();
159
168
  this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);
160
169
  }
161
170
  }
162
- _setDrawerOpenState() {
171
+ _triggerDrawerOpen() {
163
172
  this._adapter.listenTransitionComplete(this._openAnimationListener);
164
- this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);
165
- this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);
173
+ this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);
166
174
  }
167
- _setDrawerClosedState() {
175
+ _triggerDrawerClose() {
168
176
  this._adapter.listenTransitionComplete(this._closeAnimationListener);
169
177
  this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);
170
178
  }
@@ -233,4 +241,4 @@ export {
233
241
  BaseDrawerFoundation,
234
242
  BaseDrawerComponent
235
243
  };
236
- //# sourceMappingURL=chunk.GOWHXADJ.js.map
244
+ //# sourceMappingURL=chunk.K7OLG7CS.js.map
@@ -0,0 +1,7 @@
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 if (this._open) {\n this._setOpened();\n } else {\n this._setClosed();\n }\n\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._setOpened();\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._setClosed();\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);\n }\n\n private _setOpened(): void {\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n\n private _setClosed(): void {\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSING, BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION]);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n\n protected _applyOpen(): void {\n if (this._open) {\n this._triggerDrawerOpen();\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n } else {\n this._triggerDrawerClose();\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n }\n\n protected _triggerDrawerOpen(): void {\n this._adapter.listenTransitionComplete(this._openAnimationListener);\n this._adapter.removeDrawerClass([BASE_DRAWER_CONSTANTS.classes.CLOSED, BASE_DRAWER_CONSTANTS.classes.CLOSING]);\n }\n\n protected _triggerDrawerClose(): 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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,aAAa;AAAA,EACjB,MAAM;AAAA,EACN,WAAW;AACb;AAEA,IAAM,UAAU;AAAA,EACd,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,eAAe;AACjB;AAEA,IAAM,YAAY;AAAA,EAChB,QAAQ,IAAI,QAAQ;AACtB;AAEA,IAAM,SAAS;AAAA,EACb,YAAY;AAAA,EACZ,aAAa;AACf;AAEO,IAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACbO,IAAM,oBAAN,cAAgC,YAAgE;AAAA,EAKrG,YAAsB,YAAkC;AACtD,UAAM,UAAU;AADI;AAEpB,SAAK,iBAAiB,iBAAiB,KAAK,YAAY,sBAAsB,UAAU,MAAM;AAAA,EAChG;AAAA,EAEA,AAAO,mBAAyB;AAI9B,SAAK,sBAAsB;AAC3B,SAAK,wBAAwB,uBAAuB,KAAK,WAAW,YAA0B,KAAK,UAAU;AAAA,EAC/G;AAAA,EAEA,AAAO,wBAA8B;AACnC,QAAI,KAAK,uBAAuB;AAC9B,WAAK,sBAAsB;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,AAAO,aAAa,WAAkC;AACpD,YAAQ;AAAA,WACD;AACH,aAAK,eAAe,UAAU,OAAO,sBAAsB,QAAQ,KAAK;AACxE,aAAK,eAAe,UAAU,IAAI,sBAAsB,QAAQ,IAAI;AACpE;AAAA,WACG;AACH,aAAK,eAAe,UAAU,OAAO,sBAAsB,QAAQ,IAAI;AACvE,aAAK,eAAe,UAAU,IAAI,sBAAsB,QAAQ,KAAK;AACrE;AAAA;AAAA,EAEN;AAAA,EAEA,AAAO,kBAAkB,WAAoC;AAC3D,gBAAY,WAAW,KAAK,cAAc;AAAA,EAC5C;AAAA,EAEA,AAAO,eAAe,WAAoC;AACxD,aAAS,WAAW,KAAK,cAAc;AAAA,EACzC;AAAA,EAEA,AAAO,yBAAyB,UAA4B;AAC1D,QAAI,KAAK,2BAA2B;AAClC,WAAK,eAAe,oBAAoB,iBAAiB,KAAK,yBAAyB;AAAA,IACzF;AACA,SAAK,4BAA4B,CAAC,QAAyB;AACzD,UAAI,IAAI,iBAAiB,aAAa;AACpC,YAAI,KAAK,2BAA2B;AAClC,eAAK,eAAe,oBAAoB,iBAAiB,KAAK,yBAAyB;AACvF,eAAK,4BAA4B;AAAA,QACnC;AACA,iBAAS;AAAA,MACX;AAAA,IACF;AACA,SAAK,eAAe,iBAAiB,iBAAiB,KAAK,yBAAyB;AAAA,EACtF;AACF;;;ACnEO,IAAM,uBAAN,MAA4D;AAAA,EAOjE,YAAsB,UAA8B;AAA9B;AANtB,SAAU,QAAQ;AAClB,SAAU,aAA8B;AACxC,SAAQ,kBAAkB;AAKxB,SAAK,yBAAyB,MAAM,KAAK,gBAAgB;AACzD,SAAK,0BAA0B,MAAM,KAAK,iBAAiB;AAAA,EAC7D;AAAA,EAEA,AAAO,UAAgB;AACrB,QAAI,KAAK,OAAO;AACd,WAAK,WAAW;AAAA,IAClB,OAAO;AACL,WAAK,WAAW;AAAA,IAClB;AAEA,SAAK,gBAAgB;AACrB,SAAK,SAAS,iBAAiB;AAC/B,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEA,AAAO,aAAmB;AACxB,SAAK,SAAS,sBAAsB;AACpC,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEA,AAAQ,kBAAwB;AAC9B,SAAK,SAAS,aAAa,KAAK,UAAU;AAC1C,SAAK,SAAS,iBAAiB,sBAAsB,WAAW,WAAW,UAAU,KAAK,UAAU,IAAI,KAAK,WAAW,SAAS,IAAI,EAAE;AAAA,EACzI;AAAA,EAEA,AAAQ,kBAAwB;AAC9B,QAAI,CAAC,KAAK,OAAO;AACf;AAAA,IACF;AACA,SAAK,WAAW;AAChB,SAAK,SAAS,cAAc,sBAAsB,OAAO,UAAU;AAAA,EACrE;AAAA,EAEA,AAAQ,mBAAyB;AAC/B,QAAI,KAAK,OAAO;AACd;AAAA,IACF;AACA,SAAK,WAAW;AAChB,SAAK,SAAS,cAAc,sBAAsB,OAAO,WAAW;AAAA,EACtE;AAAA,EAEA,AAAQ,aAAmB;AACzB,SAAK,SAAS,kBAAkB,CAAC,sBAAsB,QAAQ,QAAQ,sBAAsB,QAAQ,OAAO,CAAC;AAC7G,SAAK,SAAS,iBAAiB,sBAAsB,WAAW,IAAI;AAAA,EACtE;AAAA,EAEA,AAAQ,aAAmB;AACzB,SAAK,SAAS,kBAAkB,CAAC,sBAAsB,QAAQ,SAAS,sBAAsB,QAAQ,aAAa,CAAC;AACpH,SAAK,SAAS,eAAe,sBAAsB,QAAQ,MAAM;AACjE,SAAK,SAAS,oBAAoB,sBAAsB,WAAW,IAAI;AAAA,EACzE;AAAA,EAEA,AAAU,aAAmB;AAC3B,QAAI,KAAK,OAAO;AACd,WAAK,mBAAmB;AACxB,WAAK,SAAS,iBAAiB,sBAAsB,WAAW,IAAI;AAAA,IACtE,OAAO;AACL,WAAK,oBAAoB;AACzB,WAAK,SAAS,oBAAoB,sBAAsB,WAAW,IAAI;AAAA,IACzE;AAAA,EACF;AAAA,EAEA,AAAU,qBAA2B;AACnC,SAAK,SAAS,yBAAyB,KAAK,sBAAsB;AAClE,SAAK,SAAS,kBAAkB,CAAC,sBAAsB,QAAQ,QAAQ,sBAAsB,QAAQ,OAAO,CAAC;AAAA,EAC/G;AAAA,EAEA,AAAU,sBAA4B;AACpC,SAAK,SAAS,yBAAyB,KAAK,uBAAuB;AACnE,SAAK,SAAS,eAAe,sBAAsB,QAAQ,OAAO;AAAA,EACpE;AAAA,EAEA,IAAW,OAAgB;AACzB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAW,KAAK,OAAgB;AAC9B,QAAI,KAAK,UAAU,OAAO;AACxB,WAAK,QAAQ;AACb,UAAI,KAAK,iBAAiB;AACxB,aAAK,WAAW;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAW,YAA6B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAW,UAAU,OAAwB;AAC3C,QAAI,KAAK,eAAe,OAAO;AAC7B,WAAK,aAAa;AAClB,UAAI,KAAK,iBAAiB;AACxB,aAAK,gBAAgB;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF;;;AC/FO,IAAe,sBAAf,cAA2E,cAA8C;AAAA,EAU9H,cAAc;AACZ,UAAM;AAAA,EACR;AAAA,EAXA,WAAkB,qBAA+B;AAC/C,WAAO;AAAA,MACL,sBAAsB,WAAW;AAAA,MACjC,sBAAsB,WAAW;AAAA,IACnC;AAAA,EACF;AAAA,EAQA,AAAO,oBAA0B;AAC/B,SAAK,YAAY,QAAQ;AAAA,EAC3B;AAAA,EAEA,AAAO,uBAA6B;AAClC,SAAK,YAAY,WAAW;AAAA,EAC9B;AAAA,EAEA,AAAO,yBAAyB,MAAc,UAAkB,UAAwB;AACtF,YAAQ;AAAA,WACD,sBAAsB,WAAW;AACpC,aAAK,OAAO,cAAc,QAAQ;AAClC;AAAA,WACG,sBAAsB,WAAW;AACpC,aAAK,YAAY;AACjB;AAAA;AAAA,EAEN;AASF;AALS;AAAA,EADP,AAAC,mBAAmB;AAAA,GACb,AAnCa,oBAmCb;AAIA;AAAA,EADP,AAAC,mBAAmB;AAAA,GACb,AAvCa,oBAuCb;",
6
+ "names": []
7
+ }
@@ -379,7 +379,7 @@ var FilePickerFoundation = class {
379
379
 
380
380
  // dist/build/lib/staging/src/file-picker/file-picker.ts
381
381
  var template = '<template><form class="forge-file-picker" id="container" part="form"><div class="forge-file-picker__primary" id="primary" part="primary"><slot name="primary"></slot></div><slot id="button-slot"></slot><div class="forge-file-picker__secondary" id="secondary" part="secondary"><slot name="secondary"></slot></div><input type="file" class="forge-file-picker__input" id="input" part="input"></form><div class="forge-file-picker__helper-text" part="helper-text-container"><slot name="helper-text"></slot></div></template>';
382
- var styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';
382
+ var styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';
383
383
  var FilePickerComponent = class extends BaseComponent {
384
384
  constructor() {
385
385
  super();
@@ -510,4 +510,4 @@ export {
510
510
  FilePickerComponentDelegate,
511
511
  defineFilePickerComponent
512
512
  };
513
- //# sourceMappingURL=chunk.XHMNHBZD.js.map
513
+ //# sourceMappingURL=chunk.PNKLV3BK.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/file-picker/file-picker-constants.ts", "../../src/file-picker/file-picker-adapter.ts", "../../src/file-picker/file-picker-foundation.ts", "../../src/file-picker/file-picker.ts", "../../src/file-picker/file-picker-component-delegate.ts", "../../src/file-picker/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}file-picker`;\n\nconst attributes = {\n ACCEPT: 'accept',\n MAX_SIZE: 'max-size',\n CAPTURE: 'capture',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst classes = {\n HIGHLIGHT: 'highlight',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst ids = {\n CONTAINER: 'container',\n BUTTON: 'button',\n INPUT: 'input'\n};\n\nconst selectors = {\n CONTAINER: '#container',\n BUTTON: '#button',\n INPUT: '#input',\n BUTTON_SLOT: '#button-slot'\n};\n\nconst events = {\n FILES_CHANGED: `${elementName}-change`\n};\n\nexport const FILE_PICKER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events\n};\n\nexport interface IFilePickerChangeEventData {\n legalFiles?: File[];\n illegalFiles?: File[];\n}\n", "import { getShadowElement, emitEvent } from '@tylertech/forge-core';\n\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS } from './file-picker-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core';\n\nexport interface IFilePickerAdapter extends IBaseAdapter {\n registerButtonSlotListener(listener: (evt: Event) => void): void;\n registerInputChangeListener(listener: (evt: Event) => void): void;\n registerDragEnterListener(listener: (evt: DragEvent) => void): void;\n registerDragLeaveListener(listener: (evt: DragEvent) => void): void;\n registerDragOverListener(listener: (evt: DragEvent) => void): void;\n registerDropListener(listener: (evt: DragEvent) => void): void;\n removeDragEnterListener(listener: (evt: DragEvent) => void): void;\n removeDragLeaveListener(listener: (evt: DragEvent) => void): void;\n removeDragOverListener(listener: (evt: DragEvent) => void): void;\n removeDropListener(listener: (evt: DragEvent) => void): void;\n initializeButton(): void;\n setHighlightState(value: boolean): void;\n setAccept(value: string | null): void;\n setCapture(value: string | null): void;\n setMultiple(value: boolean): void;\n setDisabled(value: boolean): void;\n setCompact(value: boolean): void;\n setBorderless(value: boolean): void;\n}\n\nexport class FilePickerAdapter extends BaseAdapter<IFilePickerComponent> implements IFilePickerAdapter {\n private _container: HTMLElement;\n private _buttonSlot: HTMLSlotElement;\n private _button: HTMLButtonElement;\n private _input: HTMLInputElement;\n private _inputEventListener: () => void;\n\n constructor(component: IFilePickerComponent) {\n super(component);\n\n this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);\n this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n\n this._inputEventListener = () => {\n this._input.value = '';\n this._input.click();\n };\n\n this._container.addEventListener('click', this._inputEventListener);\n }\n\n public registerButtonSlotListener(listener: (evt: Event) => void): void {\n this._buttonSlot.addEventListener('slotchange', listener);\n }\n\n public registerInputChangeListener(listener: (evt: Event) => void): void {\n this._input.addEventListener('change', listener);\n }\n\n public registerDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragenter', listener);\n }\n\n public registerDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragleave', listener);\n }\n\n public registerDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragover', listener);\n }\n\n public registerDropListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('drop', listener);\n }\n\n public removeDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragenter', listener);\n }\n\n public removeDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragleave', listener);\n }\n\n public removeDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragover', listener);\n }\n\n public removeDropListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('drop', listener);\n }\n\n public initializeButton(): void {\n const button = this._component.querySelector('button') as HTMLButtonElement;\n this._button = button || undefined;\n }\n\n /**\n * Sets the highlight state of the file picker.\n * @param value True if the highlight should be applied and false if not.\n */\n public setHighlightState(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);\n }\n }\n\n /**\n * Sets the accept attribute of the input.\n * @param value The accept string.\n */\n public setAccept(value: string | null): void {\n if (value) {\n this._input.setAttribute('accept', value);\n } else {\n this._input.removeAttribute('accept');\n }\n }\n\n /**\n * Sets the capture attribute of the input.\n * @param value The capture string.\n */\n public setCapture(value: string | null): void {\n if (value) {\n this._input.setAttribute('capture', value);\n } else {\n this._input.removeAttribute('capture');\n }\n }\n\n /**\n * Sets the multiple attribute of the input.\n * @param value The multiple state.\n */\n public setMultiple(value: boolean): void {\n if (value) {\n this._input.setAttribute('multiple', '');\n } else {\n this._input.removeAttribute('multiple');\n }\n }\n\n /**\n * Sets the disabled state of the file picker.\n * @param value The disabled state.\n */\n public setDisabled(value: boolean): void {\n if (value) {\n this._container.removeEventListener('click', this._inputEventListener);\n this._button.setAttribute('disabled', '');\n this._container.setAttribute('disabled', '');\n } else {\n this._container.addEventListener('click', this._inputEventListener);\n this._button.removeAttribute('disabled');\n this._container.removeAttribute('disabled');\n }\n }\n\n /**\n * Sets the compact state of the file picker.\n * @param value The compact state.\n */\n public setCompact(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);\n }\n }\n\n /**\n * Sets the borderless state of the file picker.\n * @param value The borderless state.\n */\n public setBorderless(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IFilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport interface IFilePickerFoundation extends ICustomElementFoundation {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\nexport class FilePickerFoundation implements IFilePickerFoundation {\n private _accept: string | null = null;\n private _maxSize: number | null = null;\n private _capture: string | null = null;\n private _multiple = false;\n private _disabled = false;\n private _compact = false;\n private _borderless = false;\n private _buttonSlotListener: (evt: Event) => void;\n private _inputChangeListener: (evt: Event) => void;\n private _dragEnterListener: (evt: DragEvent) => void;\n private _dragLeaveListener: (evt: DragEvent) => void;\n private _dragOverListener: (evt: DragEvent) => void;\n private _dropListener: (evt: DragEvent) => void;\n\n constructor(private _adapter: IFilePickerAdapter) {\n this._buttonSlotListener = evt => this._onButtonSlotChanged(evt);\n this._inputChangeListener = evt => this._onInputChange(evt);\n this._dragEnterListener = evt => this._onDragEnter(evt);\n this._dragLeaveListener = evt => this._onDragLeave(evt);\n this._dragOverListener = evt => this._onDragOver(evt);\n this._dropListener = evt => this._onDrop(evt);\n\n this._adapter.registerButtonSlotListener(this._buttonSlotListener);\n this._adapter.registerInputChangeListener(this._inputChangeListener);\n if (!this._compact) {\n this._registerDragListeners();\n }\n }\n\n public initialize(): void {\n this._adapter.initializeButton();\n }\n\n private _onButtonSlotChanged(evt: Event): void {\n this._adapter.initializeButton();\n }\n\n private _onInputChange(evt: Event): void {\n const files = (evt.target as HTMLInputElement).files;\n if (files) {\n this._handleFiles(files);\n }\n }\n\n private _onDragEnter(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDragLeave(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n }\n\n private _onDragOver(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDrop(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n\n if (!this._disabled) {\n const dataTransfer = evt.dataTransfer;\n if (dataTransfer) {\n const files = dataTransfer.files;\n this._handleFiles(files);\n }\n }\n }\n\n private _registerDragListeners(): void {\n this._adapter.registerDragEnterListener(this._dragEnterListener);\n this._adapter.registerDragLeaveListener(this._dragLeaveListener);\n this._adapter.registerDragOverListener(this._dragOverListener);\n this._adapter.registerDropListener(this._dropListener);\n }\n\n private _removeDragListeners(): void {\n this._adapter.removeDragEnterListener(this._dragEnterListener);\n this._adapter.removeDragLeaveListener(this._dragLeaveListener);\n this._adapter.removeDragOverListener(this._dragOverListener);\n this._adapter.removeDropListener(this._dropListener);\n }\n\n private _handleFiles(fileList: FileList): void {\n let data: IFilePickerChangeEventData = {};\n if (fileList) {\n const sortedFiles = this._sortFiles(fileList);\n let files = sortedFiles.legalFiles || null;\n\n // Ensure that we can only drop 1 file if not in multiple mode\n if (!this._multiple && files && files.length > 1) {\n files = files.splice(1);\n }\n\n data = sortedFiles;\n }\n this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);\n }\n\n private _sortFiles(files: FileList): IFilePickerChangeEventData {\n let legalFiles: File[] = [];\n const illegalFiles: File[] = [];\n\n if (!this._accept && !this.maxSize) {\n legalFiles = Array.from(files);\n return { legalFiles, illegalFiles };\n }\n\n const formats = this._accept ? this._accept.split(',').map(f => f.trim().toLowerCase()) : [''];\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < files.length; i++) {\n if (!formats.some(f => {\n return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match('\\\\' + f);\n }) || (this._maxSize && files[i].size > this._maxSize)) {\n illegalFiles.push(files[i]);\n } else {\n legalFiles.push(files[i]);\n }\n }\n\n return { legalFiles, illegalFiles };\n }\n\n private _handleDragEvent(evt: DragEvent, isOverTarget: boolean): void {\n if (!this._disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this._adapter.setHighlightState(isOverTarget);\n }\n }\n\n /** Get and set the allowed file types */\n public get accept(): string | null {\n return this._accept;\n }\n public set accept(value: string | null) {\n if (this._accept !== value) {\n this._accept = value;\n this._adapter.setAccept(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT);\n }\n }\n }\n\n /** Get and set the maximum allowed file size */\n public get maxSize(): number | null {\n return this._maxSize;\n }\n public set maxSize(value: number | null) {\n if (this._maxSize !== value) {\n this._maxSize = value;\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, value.toString());\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE);\n }\n }\n }\n\n /** Get and set the camera to use when capturing video or images */\n public get capture(): string | null {\n return this._capture;\n }\n public set capture(value: string | null) {\n if (this._capture !== value) {\n this._capture = value;\n this._adapter.setCapture(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE);\n }\n }\n }\n\n /** Get and set whether multiple files are allowed */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setMultiple(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n }\n }\n }\n\n /** Get and set whether the file picker is disabled */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n }\n }\n }\n\n /** Get and set whether the file picker is compact */\n public get compact(): boolean {\n return this._compact;\n }\n public set compact(value: boolean) {\n if (this._compact !== value) {\n this._compact = value;\n this._adapter.setCompact(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._removeDragListeners();\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._registerDragListeners();\n }\n }\n }\n\n /** Get and set whether the file picker is borderless */\n public get borderless(): boolean {\n return this._borderless;\n }\n public set borderless(value: boolean) {\n if (this._borderless !== value) {\n this._borderless = value;\n this._adapter.setBorderless(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n }\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\nimport { FilePickerFoundation } from './file-picker-foundation';\n\nconst template = '<template><form class=\\\"forge-file-picker\\\" id=\\\"container\\\" part=\\\"form\\\"><div class=\\\"forge-file-picker__primary\\\" id=\\\"primary\\\" part=\\\"primary\\\"><slot name=\\\"primary\\\"></slot></div><slot id=\\\"button-slot\\\"></slot><div class=\\\"forge-file-picker__secondary\\\" id=\\\"secondary\\\" part=\\\"secondary\\\"><slot name=\\\"secondary\\\"></slot></div><input type=\\\"file\\\" class=\\\"forge-file-picker__input\\\" id=\\\"input\\\" part=\\\"input\\\"></form><div class=\\\"forge-file-picker__helper-text\\\" part=\\\"helper-text-container\\\"><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';\n\nexport interface IFilePickerComponent extends IBaseComponent {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-file-picker': IFilePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-file-picker-change': CustomEvent<IFilePickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-file-picker>` custom element.\n * \n * @tag forge-file-picker\n */\n@CustomElement({\n name: FILE_PICKER_CONSTANTS.elementName,\n dependencies: [ButtonComponent]\n})\nexport class FilePickerComponent extends BaseComponent implements IFilePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n FILE_PICKER_CONSTANTS.attributes.ACCEPT,\n FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,\n FILE_PICKER_CONSTANTS.attributes.CAPTURE,\n FILE_PICKER_CONSTANTS.attributes.MULTIPLE,\n FILE_PICKER_CONSTANTS.attributes.DISABLED,\n FILE_PICKER_CONSTANTS.attributes.COMPACT,\n FILE_PICKER_CONSTANTS.attributes.BORDERLESS\n ];\n }\n\n private _foundation: FilePickerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FilePickerFoundation(new FilePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FILE_PICKER_CONSTANTS.attributes.ACCEPT:\n this.accept = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:\n this.maxSize = coerceNumber(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.CAPTURE:\n this.capture = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.COMPACT:\n this.compact = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:\n this.borderless = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets and sets the allowed file types */\n @FoundationProperty()\n public accept: string | null;\n\n /** Gets and sets the maximum allowed file size */\n @FoundationProperty()\n public maxSize: number | null;\n\n /** Gets and sets the camera to use when capturing video or images */\n @FoundationProperty()\n public capture: string | null;\n\n /** Gets and sets whether multiple files are allowed */\n @FoundationProperty()\n public multiple: boolean;\n\n /** Gets and sets whether the file picker is disabled */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets and sets whether the file picker is compact */\n @FoundationProperty()\n public compact: boolean;\n\n /** Gets and sets whether the file picker is borderless */\n @FoundationProperty()\n public borderless: boolean;\n}\n", "import { ButtonComponentDelegate } from '../button/button-component-delegate';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport type FilePickerComponentDelegateProps = Partial<IFilePickerComponent>;\nexport interface IFilePickerComponentDelegateOptions extends IBaseComponentDelegateOptions {\n primaryText?: string;\n secondaryText?: string;\n helperText?: string;\n buttonText?: string;\n}\nexport interface IFilePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IFilePickerComponent, IFilePickerComponentDelegateOptions> {}\n\nexport class FilePickerComponentDelegate extends BaseComponentDelegate<IFilePickerComponent, IFilePickerComponentDelegateOptions> {\n constructor(config?: IFilePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IFilePickerComponent {\n return document.createElement(FILE_PICKER_CONSTANTS.elementName);\n }\n\n protected _configure(): void {\n if (this._config.options?.primaryText) {\n const primarySpan = document.createElement('span');\n primarySpan.slot = 'primary';\n primarySpan.textContent = this._config.options.primaryText;\n this._element.appendChild(primarySpan);\n }\n\n if (this._config.options?.secondaryText) {\n const secondarySpan = document.createElement('span');\n secondarySpan.slot = 'secondary';\n secondarySpan.textContent = this._config.options.secondaryText;\n this._element.appendChild(secondarySpan);\n }\n\n if (this._config.options?.buttonText) {\n new ButtonComponentDelegate({\n options: {\n parent: this._element,\n text: this._config.options.buttonText\n },\n props: { type: 'outlined' }\n });\n }\n\n if (this._config.options?.helperText) {\n const helperTextSpan = document.createElement('span');\n helperTextSpan.slot = 'helper-text';\n helperTextSpan.textContent = this._config.options.helperText;\n this._element.appendChild(helperTextSpan);\n }\n }\n\n public onChange(cb: (evt: IFilePickerChangeEventData) => void): void {\n this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt: CustomEvent<IFilePickerChangeEventData>) => cb(evt.detail));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FilePickerComponent } from './file-picker';\n\nexport * from './file-picker-adapter';\nexport * from './file-picker-constants';\nexport * from './file-picker-foundation';\nexport * from './file-picker';\nexport * from './file-picker-component-delegate';\n\nexport function defineFilePickerComponent(): void {\n defineCustomElement(FilePickerComponent);\n}\n"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}file-picker`;\n\nconst attributes = {\n ACCEPT: 'accept',\n MAX_SIZE: 'max-size',\n CAPTURE: 'capture',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst classes = {\n HIGHLIGHT: 'highlight',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst ids = {\n CONTAINER: 'container',\n BUTTON: 'button',\n INPUT: 'input'\n};\n\nconst selectors = {\n CONTAINER: '#container',\n BUTTON: '#button',\n INPUT: '#input',\n BUTTON_SLOT: '#button-slot'\n};\n\nconst events = {\n FILES_CHANGED: `${elementName}-change`\n};\n\nexport const FILE_PICKER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events\n};\n\nexport interface IFilePickerChangeEventData {\n legalFiles?: File[];\n illegalFiles?: File[];\n}\n", "import { getShadowElement, emitEvent } from '@tylertech/forge-core';\n\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS } from './file-picker-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core';\n\nexport interface IFilePickerAdapter extends IBaseAdapter {\n registerButtonSlotListener(listener: (evt: Event) => void): void;\n registerInputChangeListener(listener: (evt: Event) => void): void;\n registerDragEnterListener(listener: (evt: DragEvent) => void): void;\n registerDragLeaveListener(listener: (evt: DragEvent) => void): void;\n registerDragOverListener(listener: (evt: DragEvent) => void): void;\n registerDropListener(listener: (evt: DragEvent) => void): void;\n removeDragEnterListener(listener: (evt: DragEvent) => void): void;\n removeDragLeaveListener(listener: (evt: DragEvent) => void): void;\n removeDragOverListener(listener: (evt: DragEvent) => void): void;\n removeDropListener(listener: (evt: DragEvent) => void): void;\n initializeButton(): void;\n setHighlightState(value: boolean): void;\n setAccept(value: string | null): void;\n setCapture(value: string | null): void;\n setMultiple(value: boolean): void;\n setDisabled(value: boolean): void;\n setCompact(value: boolean): void;\n setBorderless(value: boolean): void;\n}\n\nexport class FilePickerAdapter extends BaseAdapter<IFilePickerComponent> implements IFilePickerAdapter {\n private _container: HTMLElement;\n private _buttonSlot: HTMLSlotElement;\n private _button: HTMLButtonElement;\n private _input: HTMLInputElement;\n private _inputEventListener: () => void;\n\n constructor(component: IFilePickerComponent) {\n super(component);\n\n this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);\n this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n\n this._inputEventListener = () => {\n this._input.value = '';\n this._input.click();\n };\n\n this._container.addEventListener('click', this._inputEventListener);\n }\n\n public registerButtonSlotListener(listener: (evt: Event) => void): void {\n this._buttonSlot.addEventListener('slotchange', listener);\n }\n\n public registerInputChangeListener(listener: (evt: Event) => void): void {\n this._input.addEventListener('change', listener);\n }\n\n public registerDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragenter', listener);\n }\n\n public registerDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragleave', listener);\n }\n\n public registerDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragover', listener);\n }\n\n public registerDropListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('drop', listener);\n }\n\n public removeDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragenter', listener);\n }\n\n public removeDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragleave', listener);\n }\n\n public removeDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragover', listener);\n }\n\n public removeDropListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('drop', listener);\n }\n\n public initializeButton(): void {\n const button = this._component.querySelector('button') as HTMLButtonElement;\n this._button = button || undefined;\n }\n\n /**\n * Sets the highlight state of the file picker.\n * @param value True if the highlight should be applied and false if not.\n */\n public setHighlightState(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);\n }\n }\n\n /**\n * Sets the accept attribute of the input.\n * @param value The accept string.\n */\n public setAccept(value: string | null): void {\n if (value) {\n this._input.setAttribute('accept', value);\n } else {\n this._input.removeAttribute('accept');\n }\n }\n\n /**\n * Sets the capture attribute of the input.\n * @param value The capture string.\n */\n public setCapture(value: string | null): void {\n if (value) {\n this._input.setAttribute('capture', value);\n } else {\n this._input.removeAttribute('capture');\n }\n }\n\n /**\n * Sets the multiple attribute of the input.\n * @param value The multiple state.\n */\n public setMultiple(value: boolean): void {\n if (value) {\n this._input.setAttribute('multiple', '');\n } else {\n this._input.removeAttribute('multiple');\n }\n }\n\n /**\n * Sets the disabled state of the file picker.\n * @param value The disabled state.\n */\n public setDisabled(value: boolean): void {\n if (value) {\n this._container.removeEventListener('click', this._inputEventListener);\n this._button.setAttribute('disabled', '');\n this._container.setAttribute('disabled', '');\n } else {\n this._container.addEventListener('click', this._inputEventListener);\n this._button.removeAttribute('disabled');\n this._container.removeAttribute('disabled');\n }\n }\n\n /**\n * Sets the compact state of the file picker.\n * @param value The compact state.\n */\n public setCompact(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);\n }\n }\n\n /**\n * Sets the borderless state of the file picker.\n * @param value The borderless state.\n */\n public setBorderless(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IFilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport interface IFilePickerFoundation extends ICustomElementFoundation {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\nexport class FilePickerFoundation implements IFilePickerFoundation {\n private _accept: string | null = null;\n private _maxSize: number | null = null;\n private _capture: string | null = null;\n private _multiple = false;\n private _disabled = false;\n private _compact = false;\n private _borderless = false;\n private _buttonSlotListener: (evt: Event) => void;\n private _inputChangeListener: (evt: Event) => void;\n private _dragEnterListener: (evt: DragEvent) => void;\n private _dragLeaveListener: (evt: DragEvent) => void;\n private _dragOverListener: (evt: DragEvent) => void;\n private _dropListener: (evt: DragEvent) => void;\n\n constructor(private _adapter: IFilePickerAdapter) {\n this._buttonSlotListener = evt => this._onButtonSlotChanged(evt);\n this._inputChangeListener = evt => this._onInputChange(evt);\n this._dragEnterListener = evt => this._onDragEnter(evt);\n this._dragLeaveListener = evt => this._onDragLeave(evt);\n this._dragOverListener = evt => this._onDragOver(evt);\n this._dropListener = evt => this._onDrop(evt);\n\n this._adapter.registerButtonSlotListener(this._buttonSlotListener);\n this._adapter.registerInputChangeListener(this._inputChangeListener);\n if (!this._compact) {\n this._registerDragListeners();\n }\n }\n\n public initialize(): void {\n this._adapter.initializeButton();\n }\n\n private _onButtonSlotChanged(evt: Event): void {\n this._adapter.initializeButton();\n }\n\n private _onInputChange(evt: Event): void {\n const files = (evt.target as HTMLInputElement).files;\n if (files) {\n this._handleFiles(files);\n }\n }\n\n private _onDragEnter(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDragLeave(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n }\n\n private _onDragOver(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDrop(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n\n if (!this._disabled) {\n const dataTransfer = evt.dataTransfer;\n if (dataTransfer) {\n const files = dataTransfer.files;\n this._handleFiles(files);\n }\n }\n }\n\n private _registerDragListeners(): void {\n this._adapter.registerDragEnterListener(this._dragEnterListener);\n this._adapter.registerDragLeaveListener(this._dragLeaveListener);\n this._adapter.registerDragOverListener(this._dragOverListener);\n this._adapter.registerDropListener(this._dropListener);\n }\n\n private _removeDragListeners(): void {\n this._adapter.removeDragEnterListener(this._dragEnterListener);\n this._adapter.removeDragLeaveListener(this._dragLeaveListener);\n this._adapter.removeDragOverListener(this._dragOverListener);\n this._adapter.removeDropListener(this._dropListener);\n }\n\n private _handleFiles(fileList: FileList): void {\n let data: IFilePickerChangeEventData = {};\n if (fileList) {\n const sortedFiles = this._sortFiles(fileList);\n let files = sortedFiles.legalFiles || null;\n\n // Ensure that we can only drop 1 file if not in multiple mode\n if (!this._multiple && files && files.length > 1) {\n files = files.splice(1);\n }\n\n data = sortedFiles;\n }\n this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);\n }\n\n private _sortFiles(files: FileList): IFilePickerChangeEventData {\n let legalFiles: File[] = [];\n const illegalFiles: File[] = [];\n\n if (!this._accept && !this.maxSize) {\n legalFiles = Array.from(files);\n return { legalFiles, illegalFiles };\n }\n\n const formats = this._accept ? this._accept.split(',').map(f => f.trim().toLowerCase()) : [''];\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < files.length; i++) {\n if (!formats.some(f => {\n return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match('\\\\' + f);\n }) || (this._maxSize && files[i].size > this._maxSize)) {\n illegalFiles.push(files[i]);\n } else {\n legalFiles.push(files[i]);\n }\n }\n\n return { legalFiles, illegalFiles };\n }\n\n private _handleDragEvent(evt: DragEvent, isOverTarget: boolean): void {\n if (!this._disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this._adapter.setHighlightState(isOverTarget);\n }\n }\n\n /** Get and set the allowed file types */\n public get accept(): string | null {\n return this._accept;\n }\n public set accept(value: string | null) {\n if (this._accept !== value) {\n this._accept = value;\n this._adapter.setAccept(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT);\n }\n }\n }\n\n /** Get and set the maximum allowed file size */\n public get maxSize(): number | null {\n return this._maxSize;\n }\n public set maxSize(value: number | null) {\n if (this._maxSize !== value) {\n this._maxSize = value;\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, value.toString());\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE);\n }\n }\n }\n\n /** Get and set the camera to use when capturing video or images */\n public get capture(): string | null {\n return this._capture;\n }\n public set capture(value: string | null) {\n if (this._capture !== value) {\n this._capture = value;\n this._adapter.setCapture(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE);\n }\n }\n }\n\n /** Get and set whether multiple files are allowed */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setMultiple(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n }\n }\n }\n\n /** Get and set whether the file picker is disabled */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n }\n }\n }\n\n /** Get and set whether the file picker is compact */\n public get compact(): boolean {\n return this._compact;\n }\n public set compact(value: boolean) {\n if (this._compact !== value) {\n this._compact = value;\n this._adapter.setCompact(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._removeDragListeners();\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._registerDragListeners();\n }\n }\n }\n\n /** Get and set whether the file picker is borderless */\n public get borderless(): boolean {\n return this._borderless;\n }\n public set borderless(value: boolean) {\n if (this._borderless !== value) {\n this._borderless = value;\n this._adapter.setBorderless(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n }\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\nimport { FilePickerFoundation } from './file-picker-foundation';\n\nconst template = '<template><form class=\\\"forge-file-picker\\\" id=\\\"container\\\" part=\\\"form\\\"><div class=\\\"forge-file-picker__primary\\\" id=\\\"primary\\\" part=\\\"primary\\\"><slot name=\\\"primary\\\"></slot></div><slot id=\\\"button-slot\\\"></slot><div class=\\\"forge-file-picker__secondary\\\" id=\\\"secondary\\\" part=\\\"secondary\\\"><slot name=\\\"secondary\\\"></slot></div><input type=\\\"file\\\" class=\\\"forge-file-picker__input\\\" id=\\\"input\\\" part=\\\"input\\\"></form><div class=\\\"forge-file-picker__helper-text\\\" part=\\\"helper-text-container\\\"><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';\n\nexport interface IFilePickerComponent extends IBaseComponent {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-file-picker': IFilePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-file-picker-change': CustomEvent<IFilePickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-file-picker>` custom element.\n * \n * @tag forge-file-picker\n */\n@CustomElement({\n name: FILE_PICKER_CONSTANTS.elementName,\n dependencies: [ButtonComponent]\n})\nexport class FilePickerComponent extends BaseComponent implements IFilePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n FILE_PICKER_CONSTANTS.attributes.ACCEPT,\n FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,\n FILE_PICKER_CONSTANTS.attributes.CAPTURE,\n FILE_PICKER_CONSTANTS.attributes.MULTIPLE,\n FILE_PICKER_CONSTANTS.attributes.DISABLED,\n FILE_PICKER_CONSTANTS.attributes.COMPACT,\n FILE_PICKER_CONSTANTS.attributes.BORDERLESS\n ];\n }\n\n private _foundation: FilePickerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FilePickerFoundation(new FilePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FILE_PICKER_CONSTANTS.attributes.ACCEPT:\n this.accept = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:\n this.maxSize = coerceNumber(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.CAPTURE:\n this.capture = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.COMPACT:\n this.compact = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:\n this.borderless = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets and sets the allowed file types */\n @FoundationProperty()\n public accept: string | null;\n\n /** Gets and sets the maximum allowed file size */\n @FoundationProperty()\n public maxSize: number | null;\n\n /** Gets and sets the camera to use when capturing video or images */\n @FoundationProperty()\n public capture: string | null;\n\n /** Gets and sets whether multiple files are allowed */\n @FoundationProperty()\n public multiple: boolean;\n\n /** Gets and sets whether the file picker is disabled */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets and sets whether the file picker is compact */\n @FoundationProperty()\n public compact: boolean;\n\n /** Gets and sets whether the file picker is borderless */\n @FoundationProperty()\n public borderless: boolean;\n}\n", "import { ButtonComponentDelegate } from '../button/button-component-delegate';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport type FilePickerComponentDelegateProps = Partial<IFilePickerComponent>;\nexport interface IFilePickerComponentDelegateOptions extends IBaseComponentDelegateOptions {\n primaryText?: string;\n secondaryText?: string;\n helperText?: string;\n buttonText?: string;\n}\nexport interface IFilePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IFilePickerComponent, IFilePickerComponentDelegateOptions> {}\n\nexport class FilePickerComponentDelegate extends BaseComponentDelegate<IFilePickerComponent, IFilePickerComponentDelegateOptions> {\n constructor(config?: IFilePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IFilePickerComponent {\n return document.createElement(FILE_PICKER_CONSTANTS.elementName);\n }\n\n protected _configure(): void {\n if (this._config.options?.primaryText) {\n const primarySpan = document.createElement('span');\n primarySpan.slot = 'primary';\n primarySpan.textContent = this._config.options.primaryText;\n this._element.appendChild(primarySpan);\n }\n\n if (this._config.options?.secondaryText) {\n const secondarySpan = document.createElement('span');\n secondarySpan.slot = 'secondary';\n secondarySpan.textContent = this._config.options.secondaryText;\n this._element.appendChild(secondarySpan);\n }\n\n if (this._config.options?.buttonText) {\n new ButtonComponentDelegate({\n options: {\n parent: this._element,\n text: this._config.options.buttonText\n },\n props: { type: 'outlined' }\n });\n }\n\n if (this._config.options?.helperText) {\n const helperTextSpan = document.createElement('span');\n helperTextSpan.slot = 'helper-text';\n helperTextSpan.textContent = this._config.options.helperText;\n this._element.appendChild(helperTextSpan);\n }\n }\n\n public onChange(cb: (evt: IFilePickerChangeEventData) => void): void {\n this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt: CustomEvent<IFilePickerChangeEventData>) => cb(evt.detail));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FilePickerComponent } from './file-picker';\n\nexport * from './file-picker-adapter';\nexport * from './file-picker-constants';\nexport * from './file-picker-foundation';\nexport * from './file-picker';\nexport * from './file-picker-component-delegate';\n\nexport function defineFilePickerComponent(): void {\n defineCustomElement(FilePickerComponent);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import {
7
7
  TimePickerComponent
8
- } from "./chunk.JUXKYUD4.js";
8
+ } from "./chunk.2NMHSTAO.js";
9
9
  import {
10
10
  ToastComponent
11
11
  } from "./chunk.TM46MNYN.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk.THKWQXBJ.js";
18
18
  import {
19
19
  TableComponent
20
- } from "./chunk.C73AZRT4.js";
20
+ } from "./chunk.XE7ZMJBZ.js";
21
21
  import {
22
22
  TabBarComponent
23
23
  } from "./chunk.ITQ55IPH.js";
@@ -44,7 +44,7 @@ import {
44
44
  } from "./chunk.QXZZ2MTF.js";
45
45
  import {
46
46
  PaginatorComponent
47
- } from "./chunk.CMXAORYF.js";
47
+ } from "./chunk.HAWYW54W.js";
48
48
  import {
49
49
  SelectDropdownComponent
50
50
  } from "./chunk.ZLF2G3YT.js";
@@ -62,7 +62,7 @@ import {
62
62
  } from "./chunk.RD4RIFOZ.js";
63
63
  import {
64
64
  InlineMessageComponent
65
- } from "./chunk.GL72QT42.js";
65
+ } from "./chunk.35BJJH5E.js";
66
66
  import {
67
67
  KeyboardShortcutComponent
68
68
  } from "./chunk.D33KLIFD.js";
@@ -71,16 +71,16 @@ import {
71
71
  } from "./chunk.ANME7BKM.js";
72
72
  import {
73
73
  DrawerComponent
74
- } from "./chunk.L344BPCW.js";
74
+ } from "./chunk.BLZJIYMG.js";
75
75
  import {
76
76
  MiniDrawerComponent
77
- } from "./chunk.MF3IZXQG.js";
77
+ } from "./chunk.ZSHQMR4O.js";
78
78
  import {
79
79
  ModalDrawerComponent
80
- } from "./chunk.65GHMPX2.js";
80
+ } from "./chunk.ELAJS33V.js";
81
81
  import {
82
82
  FilePickerComponent
83
- } from "./chunk.XHMNHBZD.js";
83
+ } from "./chunk.PNKLV3BK.js";
84
84
  import {
85
85
  FloatingActionButton
86
86
  } from "./chunk.I7BQUB7Z.js";
@@ -143,7 +143,7 @@ import {
143
143
  } from "./chunk.GXTNND2M.js";
144
144
  import {
145
145
  ButtonToggleGroupComponent
146
- } from "./chunk.GNAIKBO6.js";
146
+ } from "./chunk.EUPO2VO2.js";
147
147
  import {
148
148
  ButtonToggleComponent
149
149
  } from "./chunk.IUNON3UL.js";
@@ -314,4 +314,4 @@ export {
314
314
  * Copyright (c) 2022 Tyler Technologies, Inc.
315
315
  * License: Apache-2.0
316
316
  */
317
- //# sourceMappingURL=chunk.5H65ASFE.js.map
317
+ //# sourceMappingURL=chunk.UFMUXBT4.js.map
@@ -10,7 +10,8 @@ import {
10
10
  matchesPredicate
11
11
  } from "./chunk.RV3E762Y.js";
12
12
  import {
13
- CHECKBOX_CONSTANTS
13
+ CHECKBOX_CONSTANTS,
14
+ CheckboxComponent
14
15
  } from "./chunk.7UAH67PT.js";
15
16
  import {
16
17
  EXPANSION_PANEL_CONSTANTS,
@@ -2404,7 +2405,8 @@ TableComponent = __decorateClass([
2404
2405
  name: TABLE_CONSTANTS.elementName,
2405
2406
  dependencies: [
2406
2407
  ExpansionPanelComponent,
2407
- IconComponent
2408
+ IconComponent,
2409
+ CheckboxComponent
2408
2410
  ]
2409
2411
  })
2410
2412
  ], TableComponent);
@@ -2425,4 +2427,4 @@ export {
2425
2427
  TableComponent,
2426
2428
  defineTableComponent
2427
2429
  };
2428
- //# sourceMappingURL=chunk.C73AZRT4.js.map
2430
+ //# sourceMappingURL=chunk.XE7ZMJBZ.js.map