@tylertech/forge 2.14.0 → 3.0.0-next.1

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 (89) hide show
  1. package/custom-elements.json +182 -28
  2. package/dist/esm/app-bar/index.js +1 -1
  3. package/dist/esm/app-bar/profile-button/index.js +1 -1
  4. package/dist/esm/autocomplete/index.js +1 -1
  5. package/dist/esm/chunks/chunk.242YUZKU.js +7 -0
  6. package/dist/esm/chunks/chunk.242YUZKU.js.map +7 -0
  7. package/dist/esm/chunks/{chunk.RHFNK6EE.js → chunk.5WNKQTXX.js} +2 -2
  8. package/dist/esm/chunks/{chunk.LFLREB3C.js → chunk.7BOXIJAM.js} +2 -2
  9. package/dist/esm/chunks/{chunk.DYRY2HWZ.js → chunk.ABLKZXJ3.js} +2 -2
  10. package/dist/esm/chunks/{chunk.DQJPIDVW.js → chunk.CKYHP5MC.js} +2 -2
  11. package/dist/esm/chunks/{chunk.DQJPIDVW.js.map → chunk.CKYHP5MC.js.map} +3 -3
  12. package/dist/esm/chunks/chunk.CLM6MNKC.js +7 -0
  13. package/dist/esm/chunks/chunk.CLM6MNKC.js.map +7 -0
  14. package/dist/esm/chunks/{chunk.DFJUCHEO.js → chunk.IUOBRBDZ.js} +2 -2
  15. package/dist/esm/chunks/{chunk.6RSRYR55.js → chunk.M2QU3LUR.js} +2 -2
  16. package/dist/esm/chunks/{chunk.HU27X3IT.js → chunk.MSF55AA3.js} +2 -2
  17. package/dist/esm/chunks/chunk.Q7LFOS2I.js +7 -0
  18. package/dist/esm/chunks/chunk.Q7LFOS2I.js.map +7 -0
  19. package/dist/esm/chunks/{chunk.OZ5BPXNV.js → chunk.SSRQFKNH.js} +2 -2
  20. package/dist/esm/chunks/chunk.XQ2EQIDS.js +7 -0
  21. package/dist/esm/chunks/chunk.XQ2EQIDS.js.map +7 -0
  22. package/dist/esm/chunks/chunk.Y5A7RQ5M.js +7 -0
  23. package/dist/esm/chunks/chunk.Y5A7RQ5M.js.map +7 -0
  24. package/dist/esm/chunks/{chunk.J6P3GKZM.js → chunk.ZFHPUAYX.js} +2 -2
  25. package/dist/esm/chunks/{chunk.J6P3GKZM.js.map → chunk.ZFHPUAYX.js.map} +1 -1
  26. package/dist/esm/dialog/index.js +1 -1
  27. package/dist/esm/index.js +1 -1
  28. package/dist/esm/paginator/index.js +1 -1
  29. package/dist/esm/profile-card/index.js +1 -1
  30. package/dist/esm/select/core/index.js +1 -1
  31. package/dist/esm/select/index.js +1 -1
  32. package/dist/esm/select/select/index.js +1 -1
  33. package/dist/esm/select/select-dropdown/index.js +1 -1
  34. package/dist/esm/split-view/index.js +1 -1
  35. package/dist/esm/split-view/split-view/index.js +1 -1
  36. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  37. package/dist/esm/stack/index.js +1 -1
  38. package/dist/esm/time-picker/index.js +1 -1
  39. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +2 -0
  40. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +13 -1
  41. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +2 -0
  42. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -0
  43. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +4 -0
  44. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +15 -1
  45. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +2 -0
  46. package/esm/app-bar/profile-button/app-bar-profile-button.js +9 -0
  47. package/esm/autocomplete/autocomplete-foundation.js +7 -1
  48. package/esm/dialog/dialog-adapter.d.ts +5 -5
  49. package/esm/dialog/dialog-adapter.js +30 -31
  50. package/esm/dialog/dialog-foundation.d.ts +4 -2
  51. package/esm/dialog/dialog-foundation.js +62 -54
  52. package/esm/dialog/dialog.d.ts +4 -0
  53. package/esm/dialog/dialog.js +7 -1
  54. package/esm/profile-card/profile-card-adapter.d.ts +2 -0
  55. package/esm/profile-card/profile-card-adapter.js +12 -1
  56. package/esm/profile-card/profile-card-constants.d.ts +1 -0
  57. package/esm/profile-card/profile-card-constants.js +1 -0
  58. package/esm/profile-card/profile-card-foundation.d.ts +4 -0
  59. package/esm/profile-card/profile-card-foundation.js +9 -0
  60. package/esm/profile-card/profile-card.d.ts +2 -0
  61. package/esm/profile-card/profile-card.js +7 -0
  62. package/esm/select/core/base-select-foundation.js +8 -3
  63. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  64. package/esm/stack/stack-constants.d.ts +2 -0
  65. package/esm/stack/stack-constants.js +1 -0
  66. package/esm/stack/stack-foundation.d.ts +4 -4
  67. package/esm/stack/stack-foundation.js +2 -2
  68. package/esm/stack/stack.d.ts +3 -3
  69. package/esm/stack/stack.js +1 -1
  70. package/package.json +1 -1
  71. package/styles/stack/_mixins.scss +1 -1
  72. package/styles/stack/stack.scss +4 -1
  73. package/dist/esm/chunks/chunk.4X2OFZDL.js +0 -7
  74. package/dist/esm/chunks/chunk.4X2OFZDL.js.map +0 -7
  75. package/dist/esm/chunks/chunk.73AYD2BF.js +0 -7
  76. package/dist/esm/chunks/chunk.73AYD2BF.js.map +0 -7
  77. package/dist/esm/chunks/chunk.PYIFIHDK.js +0 -7
  78. package/dist/esm/chunks/chunk.PYIFIHDK.js.map +0 -7
  79. package/dist/esm/chunks/chunk.U724KSZU.js +0 -7
  80. package/dist/esm/chunks/chunk.U724KSZU.js.map +0 -7
  81. package/dist/esm/chunks/chunk.ULIFS3UR.js +0 -7
  82. package/dist/esm/chunks/chunk.ULIFS3UR.js.map +0 -7
  83. /package/dist/esm/chunks/{chunk.RHFNK6EE.js.map → chunk.5WNKQTXX.js.map} +0 -0
  84. /package/dist/esm/chunks/{chunk.LFLREB3C.js.map → chunk.7BOXIJAM.js.map} +0 -0
  85. /package/dist/esm/chunks/{chunk.DYRY2HWZ.js.map → chunk.ABLKZXJ3.js.map} +0 -0
  86. /package/dist/esm/chunks/{chunk.DFJUCHEO.js.map → chunk.IUOBRBDZ.js.map} +0 -0
  87. /package/dist/esm/chunks/{chunk.6RSRYR55.js.map → chunk.M2QU3LUR.js.map} +0 -0
  88. /package/dist/esm/chunks/{chunk.HU27X3IT.js.map → chunk.MSF55AA3.js.map} +0 -0
  89. /package/dist/esm/chunks/{chunk.OZ5BPXNV.js.map → chunk.SSRQFKNH.js.map} +0 -0
@@ -32,7 +32,7 @@
32
32
 
33
33
  @mixin stretch() {
34
34
  ::slotted(*) {
35
- flex-grow: var(--forge-stack-stretch, 0);
35
+ flex: var(--forge-stack-stretch, initial);
36
36
  }
37
37
  }
38
38
 
@@ -8,7 +8,6 @@
8
8
 
9
9
  :host {
10
10
  display: block;
11
- height: 100%;
12
11
  }
13
12
 
14
13
  :host([inline]) {
@@ -23,6 +22,10 @@
23
22
  }
24
23
  }
25
24
 
25
+ :host([stretch]:not([inline])) {
26
+ height: 100%;
27
+ }
28
+
26
29
  :host([stretch]) {
27
30
  --forge-stack-stretch: 1;
28
31
  }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as u}from"./chunk.G5MGGEFP.js";import{a as s}from"./chunk.KTGSZEAG.js";import{a as d,b as k}from"./chunk.BE7PZANN.js";import{a as m,e as b,g as h,l as f}from"./chunk.Y4GKBJGI.js";import{k as c}from"./chunk.J2M2MXP2.js";import{f as a}from"./chunk.MCIQXNKY.js";var x=`${k}stack`,_={DEFAULT:"forge-stack"},T={ROOT:`.${_.DEFAULT}`},E={INLINE:"inline",WRAP:"wrap",STRETCH:"stretch",GAP:"gap",ALIGNMENT:"alignment"},S={DEFAULT_GAP:"16"},e={elementName:x,classes:_,attributes:E,selectors:T,strings:S},A=(o=>(o.Start="start",o.Center="center",o.End="end",o))(A||{});var p=class extends u{constructor(i){super(i);this._rootElement=h(i,e.selectors.ROOT)}setGap(i){let o=/^\d+$/.test(i)?`${i}px`:i;this._rootElement.style.gap=`var(--forge-stack-gap, ${o})`}};var l=class{constructor(t){this._adapter=t;this._inline=!1;this._wrap=!1;this._stretch=!1;this._gap=e.strings.DEFAULT_GAP;this._alignment="start"}get inline(){return this._inline}set inline(t){t=Boolean(t),this._inline!==t&&(this._inline=t,this._adapter.toggleHostAttribute(e.attributes.INLINE,this._inline))}get wrap(){return this._wrap}set wrap(t){t=Boolean(t),this._wrap!==t&&(this._wrap=t,this._adapter.toggleHostAttribute(e.attributes.WRAP,this._wrap))}get stretch(){return this._stretch}set stretch(t){t=Boolean(t),this._stretch!==t&&(this._stretch=t,this._adapter.toggleHostAttribute(e.attributes.STRETCH,this._stretch))}get gap(){return this._gap}set gap(t){this._gap!==t&&(this._gap=t,this._adapter.setGap(this._gap),this._adapter.setHostAttribute(e.attributes.GAP,this._gap))}get alignment(){return this._alignment}set alignment(t){this._alignment!==t&&(this._alignment=t,this._adapter.setHostAttribute(e.attributes.ALIGNMENT,this._alignment))}};var I='<template><div class="forge-stack" part="root"><slot></slot></div></template>',N=".forge-stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;gap:16px;gap:var(--forge-stack-gap,16px);height:100%;height:var(--forge-stack-height,100%)}.forge-stack ::slotted(*){-webkit-box-flex:var(--forge-stack-stretch,0);flex-grow:var(--forge-stack-stretch,0)}:host{display:block;height:100%}:host([inline]) .forge-stack{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;--forge-stack-height:auto}:host([inline][wrap]) .forge-stack{flex-wrap:wrap}:host([stretch]){--forge-stack-stretch:1}:host([alignment=start]) .forge-stack{-webkit-box-pack:start;justify-content:start}:host([alignment=center]) .forge-stack{-webkit-box-pack:center;justify-content:center}:host([alignment=end]) .forge-stack{-webkit-box-pack:end;justify-content:end}",r=class extends f{constructor(){super();b(this,I,N),this._foundation=new l(new p(this))}static get observedAttributes(){return[e.attributes.INLINE,e.attributes.WRAP,e.attributes.STRETCH,e.attributes.GAP,e.attributes.ALIGNMENT]}attributeChangedCallback(i,o,n){switch(i){case e.attributes.INLINE:this.inline=c(n);break;case e.attributes.WRAP:this.wrap=c(n);break;case e.attributes.STRETCH:this.stretch=c(n);break;case e.attributes.GAP:this.gap=n;break;case e.attributes.ALIGNMENT:this.alignment=n;break}}};a([s()],r.prototype,"inline",2),a([s()],r.prototype,"wrap",2),a([s()],r.prototype,"stretch",2),a([s()],r.prototype,"gap",2),a([s()],r.prototype,"alignment",2),r=a([d({name:e.elementName})],r);function z(){m(r)}export{e as a,A as b,p as c,l as d,r as e,z as f};
7
- //# sourceMappingURL=chunk.4X2OFZDL.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/stack/stack-constants.ts", "../../src/stack/stack-adapter.ts", "../../src/stack/stack-foundation.ts", "../../src/stack/stack.ts", "../../src/stack/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}stack`;\n\nconst classes = {\n DEFAULT: 'forge-stack'\n};\n\nconst selectors = {\n ROOT: `.${classes.DEFAULT}`\n};\n\nconst attributes = {\n INLINE: 'inline',\n WRAP: 'wrap',\n STRETCH: 'stretch',\n GAP: 'gap',\n ALIGNMENT: 'alignment'\n};\n\nconst strings = {\n DEFAULT_GAP: '16'\n};\n\nexport const STACK_CONSTANTS = {\n elementName,\n classes,\n attributes,\n selectors,\n strings\n};\n\nexport enum StackAlignMode {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IStackComponent } from './stack';\nimport { STACK_CONSTANTS } from './stack-constants';\n\nexport interface IStackAdapter extends IBaseAdapter {\n setGap(gap: string): void;\n}\n\nexport class StackAdapter extends BaseAdapter<IStackComponent> implements IStackAdapter {\n private _rootElement: HTMLElement;\n\n constructor(component: IStackComponent) {\n super(component);\n this._rootElement = getShadowElement(component, STACK_CONSTANTS.selectors.ROOT);\n }\n\n public setGap(gap: string): void {\n const value = /^\\d+$/.test(gap) ? `${gap}px` : gap;\n this._rootElement.style.gap = `var(--forge-stack-gap, ${value})`;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IStackAdapter } from './stack-adapter';\nimport { STACK_CONSTANTS, StackAlignMode } from './stack-constants';\n\nexport interface IStackFoundation extends ICustomElementFoundation {\n inline: boolean;\n wrap: boolean;\n stretch: boolean;\n gap: string;\n alignment: StackAlignMode;\n}\n\nexport class StackFoundation implements IStackFoundation {\n private _inline = false;\n private _wrap = false;\n private _stretch = false;\n private _gap = STACK_CONSTANTS.strings.DEFAULT_GAP;\n private _alignment = StackAlignMode.Start;\n\n constructor(private _adapter: IStackAdapter) {}\n\n /** Controls the direction of the stack. */\n public get inline(): boolean {\n return this._inline;\n }\n public set inline(value: boolean) {\n value = Boolean(value);\n if (this._inline !== value) {\n this._inline = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.INLINE, this._inline);\n }\n }\n\n /** Controls the direction of the stack. */\n public get wrap(): boolean {\n return this._wrap;\n }\n public set wrap(value: boolean) {\n value = Boolean(value);\n if (this._wrap !== value) {\n this._wrap = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.WRAP, this._wrap);\n }\n }\n\n /** Controls if the children within the stack should stretch in width */\n public get stretch(): boolean {\n return this._stretch;\n }\n public set stretch(value: boolean) {\n value = Boolean(value);\n if (this._stretch !== value) {\n this._stretch = value;\n this._adapter.toggleHostAttribute(STACK_CONSTANTS.attributes.STRETCH, this._stretch);\n }\n }\n\n /** Controls the gap amount between the children in pixels */\n public get gap(): string {\n return this._gap;\n }\n public set gap(value: string) {\n if (this._gap !== value) {\n this._gap = value;\n this._adapter.setGap(this._gap);\n this._adapter.setHostAttribute(STACK_CONSTANTS.attributes.GAP, this._gap);\n }\n }\n\n /** Controls the alignment of children */\n public get alignment(): StackAlignMode {\n return this._alignment;\n }\n public set alignment(value: StackAlignMode) {\n if (this._alignment !== value) {\n this._alignment = value;\n this._adapter.setHostAttribute(STACK_CONSTANTS.attributes.ALIGNMENT, this._alignment);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, ICustomElement, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { StackAdapter } from './stack-adapter';\nimport { StackFoundation } from './stack-foundation';\nimport { STACK_CONSTANTS, StackAlignMode } from './stack-constants';\nimport { BaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-stack\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-stack{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;gap:16px;gap:var(--forge-stack-gap,16px);height:100%;height:var(--forge-stack-height,100%)}.forge-stack ::slotted(*){-webkit-box-flex:var(--forge-stack-stretch,0);flex-grow:var(--forge-stack-stretch,0)}:host{display:block;height:100%}:host([inline]) .forge-stack{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;--forge-stack-height:auto}:host([inline][wrap]) .forge-stack{flex-wrap:wrap}:host([stretch]){--forge-stack-stretch:1}:host([alignment=start]) .forge-stack{-webkit-box-pack:start;justify-content:start}:host([alignment=center]) .forge-stack{-webkit-box-pack:center;justify-content:center}:host([alignment=end]) .forge-stack{-webkit-box-pack:end;justify-content:end}';\n\nexport interface IStackComponent extends ICustomElement {\n inline: boolean;\n wrap: boolean;\n stretch: boolean;\n gap: string;\n alignment: StackAlignMode;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-stack': IStackComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-stack>` component.\n * \n * @tag forge-stack\n */\n@CustomElement({\n name: STACK_CONSTANTS.elementName\n})\nexport class StackComponent extends BaseComponent implements IStackComponent {\n public static get observedAttributes(): string[] {\n return [\n STACK_CONSTANTS.attributes.INLINE,\n STACK_CONSTANTS.attributes.WRAP,\n STACK_CONSTANTS.attributes.STRETCH,\n STACK_CONSTANTS.attributes.GAP,\n STACK_CONSTANTS.attributes.ALIGNMENT\n ];\n }\n\n private _foundation: StackFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StackFoundation(new StackAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case STACK_CONSTANTS.attributes.INLINE:\n this.inline = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.WRAP:\n this.wrap = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.STRETCH:\n this.stretch = coerceBoolean(newValue);\n break;\n case STACK_CONSTANTS.attributes.GAP:\n this.gap = newValue;\n break;\n case STACK_CONSTANTS.attributes.ALIGNMENT:\n this.alignment = newValue as StackAlignMode;\n break;\n }\n }\n\n /** Controls the direction of the stack. */\n @FoundationProperty()\n public declare inline: boolean;\n\n /** Controls if items wrap to a new line in inline mode */\n @FoundationProperty()\n public declare wrap: boolean;\n\n /** Controls if items stretch and take up the maximum amount of space */\n @FoundationProperty()\n public declare stretch: boolean;\n\n /** Controls the gap between the children within the stack */\n @FoundationProperty()\n public declare gap: string;\n\n /** Controls if stack items are at the end of the row or column */\n @FoundationProperty()\n public declare alignment: StackAlignMode;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { StackComponent } from './stack';\n\nexport * from './stack-adapter';\nexport * from './stack-constants';\nexport * from './stack-foundation';\nexport * from './stack';\n\nexport function defineStackComponent(): void {\n defineCustomElement(StackComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "strings", "STACK_CONSTANTS", "StackAlignMode", "StackAdapter", "BaseAdapter", "component", "getShadowElement", "STACK_CONSTANTS", "gap", "value", "StackFoundation", "_adapter", "STACK_CONSTANTS", "value", "template", "styles", "StackComponent", "BaseComponent", "attachShadowTemplate", "StackFoundation", "StackAdapter", "STACK_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineStackComponent", "defineCustomElement", "StackComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as s,d as R}from"./chunk.U724KSZU.js";import{a as u,d as P}from"./chunk.SXTTEIIH.js";import{a as I,e as N}from"./chunk.V7WKXEZC.js";import{b as x}from"./chunk.7A6MX6CS.js";import{d as U}from"./chunk.4WPFFNLH.js";import{a as B}from"./chunk.YI4JTY4T.js";import{a as O}from"./chunk.G5MGGEFP.js";import{a as n}from"./chunk.KTGSZEAG.js";import{a as A,b as L}from"./chunk.BE7PZANN.js";import{a as g,d as E,h as f,l as C}from"./chunk.Y4GKBJGI.js";import{c as v,s as b}from"./chunk.PN26D52V.js";import{h as m,k as p,l as c}from"./chunk.J2M2MXP2.js";import{f as o}from"./chunk.MCIQXNKY.js";var S=`${L}app-bar-profile-button`,F={FULL_NAME:"full-name",EMAIL:"email",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count",AVATAR_TEXT:"avatar-text",SIGN_OUT_BUTTON:"sign-out-button",PROFILE_BUTTON:"profile-button",SIGN_OUT_BUTTON_TEXT:"sign-out-button-text",PROFILE_BUTTON_TEXT:"profile-button-text",OPEN:"open"},w={BUTTON:"button"},i={elementName:S,attributes:F,selectors:w};var _=class extends O{constructor(e){super(e)}initialize(){this._avatarElement=f(this._component,u.elementName),this._buttonElement=f(this._component,i.selectors.BUTTON)}setClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}openPopup(e,l,a,k,T){return this._profileCardElement=document.createElement(s.elementName),this._profileCardElement.fullName=e.fullName,this._profileCardElement.email=e.email,this._profileCardElement.signOut=e.signOut,this._profileCardElement.profile=e.profile,this._profileCardElement.signOutText=e.signOutButtonText,this._profileCardElement.profileText=e.profileButtonText,this._profileCardElement.avatarText=e.avatarText,this._profileCardElement.avatarImageUrl=e.avatarImageUrl,this._profileCardElement.avatarLetterCount=e.avatarLetterCount,this._profileCardElement.addEventListener(s.events.PROFILE,()=>a()),this._profileCardElement.addEventListener(s.events.SIGN_OUT,()=>k()),T&&this._profileCardElement.appendChild(T),this._popupElement=document.createElement(I.elementName),this._popupElement.targetElement=this._component,this._popupElement.placement="bottom-end",this._popupElement.animationType="menu",this._popupElement.appendChild(this._profileCardElement),this._popupElement.open=!0,v(this._popupElement,y=>{!this._popupElement||this._component.contains(b())||l()},!0)}closePopup(){this._popupElement&&(this._popupElement.open=!1,this._popupElement=void 0,this._profileCardElement=void 0)}requestFocus(){this._buttonElement.focus()}setAvatarText(e){this._avatarElement.text=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setSignOutButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.signOutText=e,(l=this._popupElement)==null||l.position())}setProfileButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.profileText=e,(l=this._popupElement)==null||l.position())}};var d=class{constructor(t){this._adapter=t;this._avatarLetterCount=u.numbers.DEFAULT_LETTER_COUNT;this._showSignOutButton=s.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=s.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=s.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=s.defaults.PROFILE_BUTTON_TEXT;this._open=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._dismissListener=()=>this._onDimiss(),this._keydownListener=e=>this._onKeydown(e),this._profileButtonListener=()=>this._onProfileButtonClick(),this._signOutButtonListener=()=>this._onSignOutButtonClick()}initialize(){this._adapter.initialize(),this._adapter.setClickListener(this._clickListener),this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setAvatarText(this._avatarText),this._isInitialized=!0}disconnect(){this._open&&this._closeDropdown(),this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.removeClickListener(this._clickListener),this._isInitialized=!1}_onClick(t){this._open?this._closeDropdown():this._openDropdown()}_onKeydown(t){(t.key==="Escape"||t.keyCode===27)&&(this._closeDropdown(),this._adapter.requestFocus())}_onDimiss(){B.WEBKIT?window.requestAnimationFrame(()=>this._closeDropdown()):this._closeDropdown()}_onProfileButtonClick(){this._adapter.emitHostEvent(s.events.PROFILE),this._closeDropdown(),this._adapter.requestFocus()}_onSignOutButtonClick(){this._adapter.emitHostEvent(s.events.SIGN_OUT),this._closeDropdown(),this._adapter.requestFocus()}_openDropdown(){if(this._open)return;m(this._cancelDismissListener)&&this._cancelDismissListener();let t={fullName:this._fullName,email:this._email,signOut:this._showSignOutButton,profile:this._showProfileButton,signOutButtonText:this._signOutButtonText,profileButtonText:this._profileButtonText,avatarText:this._avatarText,avatarImageUrl:this._avatarImageUrl,avatarLetterCount:this._avatarLetterCount},e=this._profileCardBuilder?this._profileCardBuilder():void 0;this._cancelDismissListener=this._adapter.openPopup(t,this._dismissListener,this._profileButtonListener,this._signOutButtonListener,e),this._adapter.addWindowListener("keydown",this._keydownListener),this._open=!0,!t.signOut&&!t.profile&&this._adapter.requestFocus()}_closeDropdown(){!this._open||(m(this._cancelDismissListener)&&this._cancelDismissListener(),this._open=!1,this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.closePopup())}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t,this._adapter.setHostAttribute(i.attributes.FULL_NAME,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t,this._adapter.setHostAttribute(i.attributes.EMAIL,this._email))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._isInitialized&&(this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setHostAttribute(i.attributes.AVATAR_IMAGE_URL,this._avatarImageUrl)))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._isInitialized&&(this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setHostAttribute(i.attributes.AVATAR_LETTER_COUNT,this._avatarLetterCount)))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t,this._isInitialized&&(this._adapter.setAvatarText(this._avatarText),this._adapter.setHostAttribute(i.attributes.AVATAR_TEXT,this._avatarText)))}get signOutButton(){return this._showSignOutButton}set signOutButton(t){this._showSignOutButton!==t&&(this._showSignOutButton=t,this._adapter.setHostAttribute(i.attributes.SIGN_OUT_BUTTON,this._showSignOutButton))}get profileButton(){return this._showProfileButton}set profileButton(t){this._showProfileButton!==t&&(this._showProfileButton=t,this._adapter.setHostAttribute(i.attributes.PROFILE_BUTTON,this._showProfileButton))}get signOutButtonText(){return this._signOutButtonText}set signOutButtonText(t){this._signOutButtonText!==t&&(this._signOutButtonText=t,this._adapter.setSignOutButtonText(t))}get profileButtonText(){return this._profileButtonText}set profileButtonText(t){this._profileButtonText!==t&&(this._profileButtonText=t,this._adapter.setProfileButtonText(t))}get open(){return this._open}set open(t){this._open!==t&&(t?this._openDropdown():this._closeDropdown())}get profileCardBuilder(){return this._profileCardBuilder}set profileCardBuilder(t){this._profileCardBuilder=t}};var M='<template><forge-icon-button><button type="button" aria-label="View profile card"><forge-avatar aria-hidden="true"></forge-avatar></button><forge-tooltip delay="500" position="bottom">View profile</forge-tooltip></forge-icon-button></template>',r=class extends C{constructor(){super();this._foundation=new d(new _(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT,i.attributes.AVATAR_TEXT,i.attributes.SIGN_OUT_BUTTON,i.attributes.PROFILE_BUTTON,i.attributes.SIGN_OUT_BUTTON_TEXT,i.attributes.PROFILE_BUTTON_TEXT,i.attributes.OPEN]}initializedCallback(){E(this,M)}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,l,a){switch(e){case i.attributes.FULL_NAME:this.fullName=a;break;case i.attributes.EMAIL:this.email=a;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=a;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=c(a);break;case i.attributes.AVATAR_TEXT:this.avatarText=a;break;case i.attributes.SIGN_OUT_BUTTON:this.signOutButton=p(a);break;case i.attributes.PROFILE_BUTTON:this.profileButton=p(a);break;case i.attributes.SIGN_OUT_BUTTON_TEXT:this.signOutButtonText=a;break;case i.attributes.PROFILE_BUTTON_TEXT:this.profileButtonText=a;break;case i.attributes.OPEN:this.open=p(a);break}}};o([n()],r.prototype,"fullName",2),o([n()],r.prototype,"email",2),o([n()],r.prototype,"avatarImageUrl",2),o([n()],r.prototype,"avatarLetterCount",2),o([n()],r.prototype,"avatarText",2),o([n()],r.prototype,"signOutButton",2),o([n()],r.prototype,"profileButton",2),o([n()],r.prototype,"signOutButtonText",2),o([n()],r.prototype,"profileButtonText",2),o([n()],r.prototype,"open",2),o([n()],r.prototype,"profileCardBuilder",2),r=o([A({name:i.elementName,dependencies:[N,R,x,P,U]})],r);function Ot(){g(r)}export{i as a,_ as b,d as c,r as d,Ot as e};
7
- //# sourceMappingURL=chunk.73AYD2BF.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/app-bar/profile-button/app-bar-profile-button-constants.ts", "../../src/app-bar/profile-button/app-bar-profile-button-adapter.ts", "../../src/app-bar/profile-button/app-bar-profile-button-foundation.ts", "../../src/app-bar/profile-button/app-bar-profile-button.ts", "../../src/app-bar/profile-button/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count',\n AVATAR_TEXT: 'avatar-text',\n SIGN_OUT_BUTTON: 'sign-out-button',\n PROFILE_BUTTON: 'profile-button',\n SIGN_OUT_BUTTON_TEXT: 'sign-out-button-text',\n PROFILE_BUTTON_TEXT: 'profile-button-text',\n OPEN: 'open'\n};\n\nconst selectors = {\n BUTTON: 'button'\n};\n\nexport const APP_BAR_PROFILE_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport interface IAppBarProfileCardConfig {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport type AppBarProfileButtonProfileCardBuilder = () => HTMLElement;\n", "import { getLightElement, notChildEventListener, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS, IAvatarComponent } from '../../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IPopupComponent, PopupAnimationType, PopupPlacement, POPUP_CONSTANTS } from '../../popup';\nimport { IProfileCardComponent, PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonComponent } from './app-bar-profile-button';\nimport { IAppBarProfileCardConfig, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;\n closePopup(): void;\n requestFocus(): void;\n setAvatarText(value: string): void;\n setAvatarLetterCount(value: number): void;\n setAvatarImageUrl(value: string): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n}\n\nexport class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {\n private _avatarElement: IAvatarComponent;\n private _buttonElement: HTMLButtonElement;\n private _popupElement?: IPopupComponent;\n private _profileCardElement?: IProfileCardComponent;\n\n constructor(component: IAppBarProfileButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName) as IAvatarComponent;\n this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void {\n this._profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName);\n this._profileCardElement.fullName = profileCardConfig.fullName;\n this._profileCardElement.email = profileCardConfig.email;\n this._profileCardElement.signOut = profileCardConfig.signOut;\n this._profileCardElement.profile = profileCardConfig.profile;\n this._profileCardElement.signOutText = profileCardConfig.signOutButtonText;\n this._profileCardElement.profileText = profileCardConfig.profileButtonText;\n this._profileCardElement.avatarText = profileCardConfig.avatarText;\n this._profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;\n this._profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());\n\n if (profileCardContent) {\n this._profileCardElement.appendChild(profileCardContent);\n }\n\n this._popupElement = document.createElement(POPUP_CONSTANTS.elementName);\n this._popupElement.targetElement = this._component;\n this._popupElement.placement = 'bottom-end';\n this._popupElement.animationType = PopupAnimationType.Menu;\n this._popupElement.appendChild(this._profileCardElement);\n this._popupElement.open = true;\n\n return notChildEventListener(this._popupElement, activeElement => {\n if (!this._popupElement) {\n return;\n }\n if (!this._component.contains(getActiveElement())) {\n dismissListener();\n }\n }, true);\n }\n\n public closePopup(): void {\n if (this._popupElement) {\n this._popupElement.open = false;\n this._popupElement = undefined;\n this._profileCardElement = undefined;\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public setAvatarText(value: string): void {\n this._avatarElement.text = value;\n }\n\n public setAvatarLetterCount(value: number): void {\n this._avatarElement.letterCount = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n\n public setSignOutButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.signOutText = value;\n this._popupElement?.position();\n }\n }\n\n public setProfileButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.profileText = value;\n this._popupElement?.position();\n }\n }\n}\n", "import { ICustomElementFoundation, isFunction, Platform, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS } from '../../avatar';\nimport { PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { IAppBarProfileCardConfig, AppBarProfileButtonProfileCardBuilder, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n\nexport class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _avatarText: string;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _signOutButtonText = PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n private _profileButtonText = PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n private _profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n private _open = false;\n private _isInitialized = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _dismissListener: () => void;\n private _cancelDismissListener: () => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _profileButtonListener: () => void;\n private _signOutButtonListener: () => void;\n\n constructor(private _adapter: IAppBarProfileButtonAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._dismissListener = () => this._onDimiss();\n this._keydownListener = evt => this._onKeydown(evt);\n this._profileButtonListener = () => this._onProfileButtonClick();\n this._signOutButtonListener = () => this._onSignOutButtonClick();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setAvatarText(this._avatarText);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.removeClickListener(this._clickListener);\n this._isInitialized = false;\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Escape' || evt.keyCode === 27) {\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n }\n\n private _onDimiss(): void {\n if (Platform.WEBKIT) {\n window.requestAnimationFrame(() => this._closeDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onProfileButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _onSignOutButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _openDropdown(): void {\n if (this._open) {\n return;\n }\n\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n const profileCardConfig: IAppBarProfileCardConfig = {\n fullName: this._fullName,\n email: this._email,\n signOut: this._showSignOutButton,\n profile: this._showProfileButton,\n signOutButtonText: this._signOutButtonText,\n profileButtonText: this._profileButtonText,\n avatarText: this._avatarText,\n avatarImageUrl: this._avatarImageUrl,\n avatarLetterCount: this._avatarLetterCount\n };\n const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : undefined;\n this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);\n this._adapter.addWindowListener('keydown', this._keydownListener);\n this._open = true;\n\n // If we aren't showing the sign out or profile buttons then leave focus on our button\n if (!profileCardConfig.signOut && !profileCardConfig.profile) {\n this._adapter.requestFocus();\n }\n }\n\n private _closeDropdown(): void {\n if (!this._open) {\n return;\n }\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n this._open = false;\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.closePopup();\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n if (this._isInitialized) {\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);\n }\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n if (this._isInitialized) {\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount as any);\n }\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n if (this._isInitialized) {\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);\n }\n }\n }\n\n public get signOutButton(): boolean {\n return this._showSignOutButton;\n }\n public set signOutButton(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton as any);\n }\n }\n\n public get profileButton(): boolean {\n return this._showProfileButton;\n }\n public set profileButton(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton as any);\n }\n }\n\n public get signOutButtonText(): string {\n return this._signOutButtonText;\n }\n public set signOutButtonText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value;\n this._adapter.setSignOutButtonText(value);\n }\n }\n\n public get profileButtonText(): string {\n return this._profileButtonText;\n }\n public set profileButtonText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value;\n this._adapter.setProfileButtonText(value);\n }\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder {\n return this._profileCardBuilder;\n }\n public set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder) {\n this._profileCardBuilder = fn;\n }\n}\n", "import { CustomElement, attachLightTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { AppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { AppBarProfileButtonFoundation } from './app-bar-profile-button-foundation';\nimport { APP_BAR_PROFILE_BUTTON_CONSTANTS, AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';\nimport { ProfileCardComponent } from '../../profile-card';\nimport { IconButtonComponent } from '../../icon-button';\nimport { AvatarComponent } from '../../avatar';\nimport { PopupComponent } from '../../popup';\nimport { TooltipComponent } from '../../tooltip';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><forge-icon-button><button type=\\\"button\\\" aria-label=\\\"View profile card\\\"><forge-avatar aria-hidden=\\\"true\\\"></forge-avatar></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">View profile</forge-tooltip></forge-icon-button></template>';\n\nexport interface IAppBarProfileButtonComponent extends IBaseComponent {\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n fullName: string;\n email: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: (fn: AppBarProfileButtonProfileCardBuilder) => void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-profile-button': IAppBarProfileButtonComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-app-bar-profile-button>` custom element.\n * \n * @tag forge-app-bar-profile-button\n */\n@CustomElement({\n name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ProfileCardComponent,\n IconButtonComponent,\n AvatarComponent,\n TooltipComponent\n ]\n})\nexport class AppBarProfileButtonComponent extends BaseComponent implements IAppBarProfileButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN\n ];\n }\n\n private _foundation: AppBarProfileButtonFoundation;\n\n constructor() {\n super();\n this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\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 APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:\n this.signOutButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:\n this.profileButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT:\n this.signOutButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT:\n this.profileButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare fullName: string;\n\n @FoundationProperty()\n public declare email: string;\n\n @FoundationProperty()\n public declare avatarImageUrl: string;\n\n @FoundationProperty()\n public declare avatarLetterCount: number;\n\n @FoundationProperty()\n public declare avatarText: string;\n\n @FoundationProperty()\n public declare signOutButton: boolean;\n\n @FoundationProperty()\n public declare profileButton: boolean;\n\n @FoundationProperty()\n public declare signOutButtonText: string;\n\n @FoundationProperty()\n public declare profileButtonText: string;\n\n @FoundationProperty()\n public declare open: boolean;\n\n /** Sets the profile card builder callback that will be used to add extra content to the profile card. */\n @FoundationProperty()\n public declare profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarProfileButtonComponent } from './app-bar-profile-button';\n\nexport * from './app-bar-profile-button-adapter';\nexport * from './app-bar-profile-button-constants';\nexport * from './app-bar-profile-button-foundation';\nexport * from './app-bar-profile-button';\n\nexport function defineAppBarProfileButtonComponent(): void {\n defineCustomElement(AppBarProfileButtonComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "APP_BAR_PROFILE_BUTTON_CONSTANTS", "AppBarProfileButtonAdapter", "BaseAdapter", "component", "getLightElement", "AVATAR_CONSTANTS", "APP_BAR_PROFILE_BUTTON_CONSTANTS", "listener", "profileCardConfig", "dismissListener", "profileListener", "signOutListener", "profileCardContent", "PROFILE_CARD_CONSTANTS", "POPUP_CONSTANTS", "notChildEventListener", "activeElement", "getActiveElement", "value", "_a", "AppBarProfileButtonFoundation", "_adapter", "AVATAR_CONSTANTS", "PROFILE_CARD_CONSTANTS", "evt", "Platform", "isFunction", "profileCardConfig", "profileCardContent", "value", "APP_BAR_PROFILE_BUTTON_CONSTANTS", "fn", "template", "AppBarProfileButtonComponent", "BaseComponent", "AppBarProfileButtonFoundation", "AppBarProfileButtonAdapter", "APP_BAR_PROFILE_BUTTON_CONSTANTS", "attachLightTemplate", "name", "oldValue", "newValue", "coerceNumber", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "PopupComponent", "ProfileCardComponent", "IconButtonComponent", "AvatarComponent", "TooltipComponent", "defineAppBarProfileButtonComponent", "defineCustomElement", "AppBarProfileButtonComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as c,d as S}from"./chunk.F2B24WLK.js";import{a as O}from"./chunk.G5MGGEFP.js";import{a as n}from"./chunk.KTGSZEAG.js";import{a as M,b as w}from"./chunk.BE7PZANN.js";import{a as D,e as x,g,l as A}from"./chunk.Y4GKBJGI.js";import{i as C,r as T,s as y,t as k}from"./chunk.PN26D52V.js";import{b as u,c as f,d as E,k as p}from"./chunk.J2M2MXP2.js";import{a as _,f as r}from"./chunk.MCIQXNKY.js";var l=`${w}dialog`,H={ANIMATING:"forge-dialog--animating",OPEN:"forge-dialog--open",ACTION_BUTTON:"forge-dialog__action__button",BUTTON_TEXT:"forge-button__text",SCROLLABLE:"forge-dialog--scrollable",FULLSCREEN:"forge-dialog--fullscreen",MOVEABLE:"forge-dialog--moveable"},v={BACKDROP_CLOSE:"backdrop-close",ESCAPE_CLOSE:"escape-close",FULLSCREEN:"fullscreen",POSITION_TYPE:"position-type",POSITION_X:"position-x",POSITION_Y:"position-y",MOVEABLE:"moveable",MOVE_TARGET:"move-target",OPEN:"forge-dialog-open",INITIAL_FOCUS:"forge-dialog-focus",DFEAULT_MOVE_TARGET:"forge-dialog-move-target"},P={CONTAINER:".forge-dialog",SURFACE:".forge-dialog__surface",BACKDROP:c.elementName,INITIAL_FOCUS:`[${v.INITIAL_FOCUS}]`,DFEAULT_MOVE_TARGET:`[${v.DFEAULT_MOVE_TARGET}]`,CONTENT:".forge-dialog__body"},I={BEFORE_CLOSE:`${l}-before-close`,OPEN:`${l}-open`,CLOSE:`${l}-close`,READY:`${l}-ready`,MOVE_START:`${l}-move-start`,MOVED:`${l}-move`,MOVE_END:`${l}-move-end`},N={ANIMATION_DURATION:150,BACKDROP_MAX_OPACITY:.3},i={elementName:l,classes:H,selectors:P,attributes:v,events:I,numbers:N};var m=class{constructor(e){this._adapter=e;this._open=!1;this._backdropClose=!0;this._escapeClose=!0;this._fullscreen=!1;this._positionType="absolute";this._positionX=null;this._positionY=null;this._moveable=!1;this._moveTarget=i.selectors.DFEAULT_MOVE_TARGET;this._isAnimating=!1;this._isMoving=!1;this._attachedDocumentKeydownHandler=!1;this._attachedBackdropClickHandler=!1;this._transitionEndHandler=t=>this._onTransitionEnd(),this._documentKeydownHandler=t=>this._onDocumentKeydown(t),this._backdropClickHandler=t=>this._onBackdropClick(t),this._moveTargetMouseDownHandler=t=>this._onMoveTargetMouseDown(t),this._moveTargetMouseMoveHandler=t=>this._onMoveTargetMouseMove(t),this._moveTargetMouseUpHandler=t=>this._onMoveTargetMouseUp(t)}initialize(){this._adapter.initializeAccessibility(),this._open&&this._moveable&&(this._adapter.setMoveable(this._moveable),this._initMoveTarget())}destroy(){this._open&&(this._removeDragHandlers(),this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._attachedDocumentKeydownHandler&&this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._attachedBackdropClickHandler&&this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}async _applyOpen(e){if(e){if(typeof this._openCallback=="function"&&!await this._executeOpenCallback())return;this._open=e,this._openDialog()}else{if(typeof this._closeCallback=="function"&&!await this._executeCloseCallback())return;this._open=e,this._closeDialog()}this._adapter.toggleHostAttribute(i.attributes.OPEN,this._open)}async _executeOpenCallback(){try{return await Promise.resolve(this._openCallback())!==!1}catch(e){return!1}}async _executeCloseCallback(){try{return await Promise.resolve(this._closeCallback())!==!1}catch(e){return!1}}initializeMoveTarget(){this._moveTarget||(this._moveTarget=i.selectors.DFEAULT_MOVE_TARGET),this._initMoveTarget()}resetPosition(){this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType)}_normalizePositionValue(e){return E(e)?`${e}px`:f(e)?e:null}_openDialog(){this._adapter.attach(),this._fullscreen||(this._moveable&&this._adapter.setMoveable(this._moveable),(this._positionX!=null||this._positionY!=null)&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType)),this._adapter.setBodyAttribute(i.attributes.OPEN,"true"),this._adapter.registerTransitionEndHandler(this._transitionEndHandler),this._setDocumentKeydownListener(this._escapeClose),this._setBackdropClickListener(this._backdropClose),this._adapter.setAnimating(!0),this._isAnimating=!0,window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._adapter.setVisibility(!0),this._adapter.emitHostEvent(i.events.OPEN),this._adapter.trySetInitialFocus(),this._adapter.isScrollable()&&this._adapter.addRootClass(i.classes.SCROLLABLE)})}),setTimeout(()=>{window.requestAnimationFrame(()=>{this._open&&this._isAnimating&&this._onTransitionEnd()})},i.numbers.ANIMATION_DURATION)}_closeDialog(){this._moveTarget&&this._removeDragHandlers(),this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._attachedDocumentKeydownHandler&&this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._attachedBackdropClickHandler&&this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._isAnimating=!1,this._adapter.setAnimating(!0),this._adapter.setVisibility(!1),setTimeout(()=>{this._adapter.emitHostEvent(i.events.CLOSE),this._adapter.detach(),this._adapter.getOpenDialogs(i.elementName).length||this._adapter.removeBodyAttribute(i.attributes.OPEN)},i.numbers.ANIMATION_DURATION)}_onTransitionEnd(){!this._isAnimating||(this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._adapter.setAnimating(!1),this._adapter.emitHostEvent(i.events.READY),this._moveable&&this._initMoveTarget(),this._isAnimating=!1)}_initMoveTarget(){!this._fullscreen&&this._moveable&&this._moveTarget&&this._adapter.setMoveTarget(this._moveTarget)&&this._adapter.setMoveTargetHandler("mousedown",this._moveTargetMouseDownHandler)}_removeDragHandlers(){this._adapter.removeDragTargetHandler("mousedown",this._moveTargetMouseDownHandler),this._adapter.removeDocumentListener("mousemove",this._moveTargetMouseMoveHandler),this._adapter.removeDocumentListener("mouseup",this._moveTargetMouseUpHandler)}_onMoveTargetMouseDown(e){e.preventDefault(),this._adapter.captureActiveElement();let t=this._adapter.getSurfaceBounds();this._moveContext={top:e.pageY-t.top,left:e.pageX-t.left,height:t.height,width:t.width},this._adapter.setDocumentListener("mousemove",this._moveTargetMouseMoveHandler),this._adapter.setDocumentListener("mouseup",this._moveTargetMouseUpHandler)}_onMoveTargetMouseMove(e){e.preventDefault();let t=this._calculateOffsetPosition(e.pageX,e.pageY,this._moveContext);if(!this._isMoving&&(this._isMoving=!0,!this._adapter.emitHostEvent(i.events.MOVE_START,t,!0,!0)))return;let o=this._clampPosition(t,this._moveContext);if((!this._lastPosition||o.x!==this._lastPosition.x||o.y!==this._lastPosition.y)&&this._adapter.emitHostEvent(i.events.MOVED,o,!0,!0)){this._lastPosition=_({},o);let d=this._normalizePositionValue(o.x),L=this._normalizePositionValue(o.y);this._adapter.setSurfacePosition(d,L,"absolute")}}_onMoveTargetMouseUp(e){this._isMoving&&this._adapter.emitHostEvent(i.events.MOVE_END),this._moveComplete()}_moveComplete(){this._adapter.tryRestoreActiveElement(),this._adapter.removeDocumentListener("mousemove",this._moveTargetMouseMoveHandler),this._adapter.removeDocumentListener("mouseup",this._moveTargetMouseUpHandler),this._lastPosition=void 0,this._moveContext=void 0,this._isMoving=!1}_onDocumentKeydown(e){e.stopPropagation(),e.key&&(e.key==="Escape"||e.key==="Esc")&&this._tryClose()}_onBackdropClick(e){e.stopPropagation(),this._tryClose()}async _tryClose(){if(!!this._adapter.emitHostEvent(i.events.BEFORE_CLOSE,void 0,void 0,!0)){if(!this._beforeCloseCallback){this.open=!1;return}try{if(await Promise.resolve(this._beforeCloseCallback())!==!1){this.open=!1;return}}catch(t){return}}}_setBackdropClickListener(e){!this._open||(e&&!this._attachedBackdropClickHandler?(this._adapter.registerBackdropClickHandler(this._backdropClickHandler),this._attachedBackdropClickHandler=!0):!e&&this._attachedBackdropClickHandler&&(this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._attachedBackdropClickHandler=!1))}_setDocumentKeydownListener(e){!this._open||(e&&!this._attachedDocumentKeydownHandler?(this._adapter.setDocumentListener("keydown",this._documentKeydownHandler),this._attachedDocumentKeydownHandler=!0):!e&&this._attachedDocumentKeydownHandler&&(this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._attachedDocumentKeydownHandler=!1))}_calculateOffsetPosition(e,t,o){return{x:e-((o==null?void 0:o.left)||0),y:t-((o==null?void 0:o.top)||0)}}_clampPosition({x:e,y:t},o){let a=0,d=0;return o&&(a=o.width,d=o.height),e<=0?e=0:e+a>=window.innerWidth&&(e=window.innerWidth-a),t<=0?t=0:t+d>=window.innerHeight&&(t=window.innerHeight-d),{x:e,y:t}}set backdropClose(e){e=Boolean(e),this._backdropClose!==e&&(this._backdropClose=e,this._setBackdropClickListener(this._backdropClose),u(this._backdropClose)?this._adapter.setHostAttribute(i.attributes.BACKDROP_CLOSE,this._backdropClose.toString()):this._adapter.removeHostAttribute(i.attributes.BACKDROP_CLOSE))}get backdropClose(){return this._backdropClose}set escapeClose(e){e=Boolean(e),this._escapeClose!==e&&(this._escapeClose=e,this._setDocumentKeydownListener(this._escapeClose),u(this._escapeClose)?this._adapter.setHostAttribute(i.attributes.ESCAPE_CLOSE,this._escapeClose.toString()):this._adapter.removeHostAttribute(i.attributes.ESCAPE_CLOSE))}get escapeClose(){return this._escapeClose}get open(){return this._open}set open(e){this._open!==e&&(e=Boolean(e),e!==this._open&&this._applyOpen(e))}get fullscreen(){return this._fullscreen}set fullscreen(e){this._fullscreen!==e&&(this._fullscreen=!!e,this._adapter.setFullscreen(this._fullscreen),this._adapter.setHostAttribute(i.attributes.FULLSCREEN,String(this._fullscreen)))}get openCallback(){return this._openCallback}set openCallback(e){this._openCallback=e}get closeCallback(){return this._closeCallback}set closeCallback(e){this._closeCallback=e}get beforeCloseCallback(){return this._beforeCloseCallback}set beforeCloseCallback(e){this._beforeCloseCallback=e}get positionType(){return this._positionType}set positionType(e){this._positionType!==e&&(this._positionType=e,this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get positionX(){return this._positionX}set positionX(e){this._positionX!==e&&(this._positionX=this._normalizePositionValue(e),this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get positionY(){return this._positionY}set positionY(e){this._positionY!==e&&(this._positionY=this._normalizePositionValue(e),this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get moveable(){return this._moveable}set moveable(e){this._moveable!==e&&(this._moveable=e,this._open&&(this._adapter.setMoveable(this._moveable),this._moveable?this._initMoveTarget():(this._removeDragHandlers(),this._isMoving=!1)))}get moveTarget(){return this._moveTarget}set moveTarget(e){this._moveTarget=e}};var b=class extends O{constructor(t){super(t);this._backdropElement=g(t,i.selectors.BACKDROP),this._containerElement=g(t,i.selectors.CONTAINER),this._surfaceElement=g(t,i.selectors.SURFACE)}initializeAccessibility(){this._component.hasAttribute("role")||this._component.setAttribute("role","dialog"),this._component.setAttribute("aria-modal","true")}setAnimating(t){t?this._containerElement.classList.add(i.classes.ANIMATING):this._containerElement.classList.remove(i.classes.ANIMATING)}setVisibility(t){t?this._containerElement.classList.add(i.classes.OPEN):this._containerElement.classList.remove(i.classes.OPEN)}attach(){document.body.appendChild(this._component)}detach(){this._activeElement&&(this._activeElement=void 0),C(this._component)}registerTransitionEndHandler(t){this._surfaceElement.addEventListener("transitionend",t)}deregisterTransitionEndHandler(t){this._surfaceElement.removeEventListener("transitionend",t)}setDocumentListener(t,o){document.addEventListener(t,o)}removeDocumentListener(t,o){document.removeEventListener(t,o)}registerBackdropClickHandler(t){this._backdropElement.addEventListener(c.events.BACKDROP_CLICK,t)}deregisterBackdropClickHandler(t){this._backdropElement.removeEventListener(c.events.BACKDROP_CLICK,t)}getOpenDialogs(t){return document.querySelectorAll(t)}setBodyAttribute(t,o){document.body.setAttribute(t,o)}removeBodyAttribute(t){document.body.removeAttribute(t)}trySetInitialFocus(){let t=T(this._component,i.selectors.INITIAL_FOCUS);t&&t.length&&t[t.length-1].focus()}isScrollable(){let t=this._component.querySelector(i.selectors.CONTENT);return t?t.scrollHeight>t.offsetHeight:!1}addRootClass(t){this._component.classList.add(t)}setFullscreen(t){t?this._containerElement.classList.add(i.classes.FULLSCREEN):this._containerElement.classList.remove(i.classes.FULLSCREEN)}setMoveable(t){k(this._containerElement,t,i.classes.MOVEABLE)}setMoveTarget(t){return t?(this._moveTargetElement=this._component.querySelector(t),!!this._moveTargetElement):!1}setMoveTargetHandler(t,o){this._moveTargetElement&&this._moveTargetElement.addEventListener(t,o)}removeDragTargetHandler(t,o){this._moveTargetElement&&this._moveTargetElement.removeEventListener(t,o)}getSurfaceBounds(){return this._surfaceElement.getBoundingClientRect()}setSurfacePosition(t,o,a){this._surfaceElement.style.position=a==="absolute"?a:"relative",o!=null?this._surfaceElement.style.top=o:this._surfaceElement.style.removeProperty("top"),t!=null?this._surfaceElement.style.left=t:this._surfaceElement.style.removeProperty("left")}captureActiveElement(){this._activeElement=y(),this._activeElement&&this._activeElement.blur()}tryRestoreActiveElement(){this._activeElement&&(this._activeElement.isConnected&&this._activeElement.focus(),this._activeElement=void 0)}};var B='<template><div class="forge-dialog" part="root"><forge-backdrop part="scrim"></forge-backdrop><div class="forge-dialog__surface" part="surface"><slot></slot></div></div></template>',R='.forge-dialog{position:fixed;top:0;bottom:0;left:0;right:0;z-index:8;z-index:var(--forge-z-index-dialog,8);-webkit-box-align:center;align-items:center;-webkit-box-align:var(--forge-dialog-align-items,center);align-items:var(--forge-dialog-align-items,center);top:0;top:var(--forge-dialog-top,0);padding:24px;padding:var(--forge-dialog-padding,24px);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;visibility:hidden}@media (max-width:599px){.forge-dialog{padding:0}}.forge-dialog--moveable:not(.forge-dialog--fullscreen) ::slotted([forge-dialog-move-target]){cursor:move}.forge-dialog--animating{visibility:visible}.forge-dialog--animating .forge-dialog--open .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--animating .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--scrollable .forge-dialog__footer,.forge-dialog--scrollable .forge-dialog__title{border-color:rgba(0,0,0,.12)}.forge-dialog--open{visibility:visible!important}.forge-dialog--open .forge-dialog__surface{-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-dialog__surface{-webkit-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);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);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);width:auto;width:var(--forge-dialog-width,auto);height:auto;height:var(--forge-dialog-height,auto);min-width:280px;min-width:var(--forge-dialog-min-width,280px);max-width:100%;max-width:var(--forge-dialog-max-width,100%);max-height:100%;max-height:var(--forge-dialog-max-height,100%);border-radius:4px;border-radius:var(--forge-dialog-border-radius,var(--mdc-shape-medium,4px));display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:scale(.8);transform:scale(.8);opacity:0;overflow:hidden;z-index:inherit}.forge-dialog__header{margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.forge-dialog__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;font-size:var(--forge-typography-title-font-size, 1.25rem);line-height:2rem;line-height:var(--forge-typography-title-line-height, 2rem);font-weight:400;font-weight:var(--forge-typography-title-font-weight,400);letter-spacing:.0125em;letter-spacing:var(--forge-typography-title-letter-spacing, .0125em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-title-text-decoration,inherit);text-decoration:var(--forge-typography-title-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-title-text-transform,inherit);-webkit-box-sizing:border-box;box-sizing:border-box;margin:0}.forge-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.forge-dialog__body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);padding-top:20px;padding:0 24px 24px;overflow:auto}.forge-dialog__body--scrollable{max-height:195px;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);overflow-x:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch}.forge-dialog__footer{display:-webkit-box;display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.forge-dialog--fullscreen{padding:0}.forge-dialog--fullscreen .forge-dialog__surface{height:100%;width:100%;min-width:auto;max-width:100%;border-radius:0}:host{display:block}:host([hidden]){display:none}',s=class extends A{constructor(){super();x(this,B,R),this._foundation=new m(new b(this))}static get observedAttributes(){return[i.attributes.BACKDROP_CLOSE,i.attributes.ESCAPE_CLOSE,i.attributes.OPEN,i.attributes.FULLSCREEN,i.attributes.POSITION_TYPE,i.attributes.POSITION_X,i.attributes.POSITION_Y,i.attributes.MOVEABLE,i.attributes.MOVE_TARGET]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(t,o,a){switch(t){case i.attributes.BACKDROP_CLOSE:this.backdropClose=a==="true";break;case i.attributes.ESCAPE_CLOSE:this.escapeClose=a==="true";break;case i.attributes.OPEN:this.open=p(a);break;case i.attributes.FULLSCREEN:this.fullscreen=p(a);break;case i.attributes.POSITION_TYPE:this.positionType=a;break;case i.attributes.POSITION_X:this.positionX=a;break;case i.attributes.POSITION_Y:this.positionY=a;break;case i.attributes.MOVEABLE:this.moveable=p(a);break;case i.attributes.MOVE_TARGET:this.moveTarget=a;break}}initializeMoveTarget(){this._foundation.initializeMoveTarget()}resetPosition(){this._foundation.resetPosition()}};r([n()],s.prototype,"backdropClose",2),r([n()],s.prototype,"escapeClose",2),r([n()],s.prototype,"open",2),r([n()],s.prototype,"fullscreen",2),r([n()],s.prototype,"openCallback",2),r([n()],s.prototype,"closeCallback",2),r([n()],s.prototype,"beforeCloseCallback",2),r([n()],s.prototype,"positionType",2),r([n()],s.prototype,"positionX",2),r([n()],s.prototype,"positionY",2),r([n()],s.prototype,"moveable",2),r([n()],s.prototype,"moveTarget",2),s=r([M({name:i.elementName,dependencies:[S]})],s);function _e(){D(s)}export{i as a,m as b,b as c,s as d,_e as e};
7
- //# sourceMappingURL=chunk.PYIFIHDK.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/dialog/dialog-constants.ts", "../../src/dialog/dialog-foundation.ts", "../../src/dialog/dialog-adapter.ts", "../../src/dialog/dialog.ts", "../../src/dialog/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { BACKDROP_CONSTANTS } from '../backdrop';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}dialog`;\n\nconst classes = {\n ANIMATING: 'forge-dialog--animating',\n OPEN: 'forge-dialog--open',\n ACTION_BUTTON: 'forge-dialog__action__button',\n BUTTON_TEXT: 'forge-button__text',\n SCROLLABLE: 'forge-dialog--scrollable',\n FULLSCREEN: 'forge-dialog--fullscreen',\n MOVEABLE: 'forge-dialog--moveable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n POSITION_TYPE: 'position-type',\n POSITION_X: 'position-x',\n POSITION_Y: 'position-y',\n MOVEABLE: 'moveable',\n MOVE_TARGET: 'move-target',\n OPEN: 'forge-dialog-open',\n INITIAL_FOCUS: 'forge-dialog-focus',\n DFEAULT_MOVE_TARGET: 'forge-dialog-move-target'\n};\n\nconst selectors = {\n CONTAINER: '.forge-dialog',\n SURFACE: '.forge-dialog__surface',\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n DFEAULT_MOVE_TARGET: `[${attributes.DFEAULT_MOVE_TARGET}]`,\n CONTENT: '.forge-dialog__body'\n};\n\nconst events = {\n BEFORE_CLOSE: `${elementName}-before-close`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n READY: `${elementName}-ready`,\n MOVE_START: `${elementName}-move-start`,\n MOVED: `${elementName}-move`,\n MOVE_END: `${elementName}-move-end`\n};\n\nconst numbers = {\n ANIMATION_DURATION: 150,\n BACKDROP_MAX_OPACITY: 0.3\n};\n\nexport const DIALOG_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IDialogMoveEventData {\n x: number;\n y: number;\n}\n\nexport interface IDialogMoveContext {\n top: number;\n left: number;\n height: number;\n width: number;\n}\n\nexport interface IDialogMoveStartEventData extends IDialogMoveEventData {}\n\nexport type DialogPositionType = 'absolute' | 'relative';\nexport type DialogStateCallback = () => boolean | void | Promise<boolean | void>;\n", "import { ICustomElementFoundation, isDefined, isNumber, isString } from '@tylertech/forge-core';\nimport { IDialogAdapter } from './dialog-adapter';\nimport { DialogPositionType, DialogStateCallback, DIALOG_CONSTANTS, IDialogMoveContext, IDialogMoveStartEventData } from './dialog-constants';\n\nexport interface IDialogFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: DialogStateCallback;\n closeCallback: DialogStateCallback;\n beforeCloseCallback: DialogStateCallback;\n positionType: DialogPositionType;\n positionX: number | string | null | undefined;\n positionY: number | string | null | undefined;\n moveable: boolean;\n moveTarget: string;\n initializeMoveTarget(): void;\n resetPosition(): void;\n}\n\nexport class DialogFoundation implements IDialogFoundation {\n // Private vars\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _openCallback: DialogStateCallback;\n private _closeCallback: DialogStateCallback;\n private _beforeCloseCallback: DialogStateCallback;\n private _positionType: DialogPositionType = 'absolute';\n private _positionX: string | null = null;\n private _positionY: string | null = null;\n private _moveable = false;\n private _moveTarget = DIALOG_CONSTANTS.selectors.DFEAULT_MOVE_TARGET;\n private _isAnimating = false;\n private _isMoving = false;\n private _moveContext: IDialogMoveContext | undefined;\n private _lastPosition: { x: number; y: number } | undefined;\n\n // Event handlers\n private _transitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _moveTargetMouseDownHandler: (evt: MouseEvent) => void;\n private _moveTargetMouseMoveHandler: (evt: MouseEvent) => void;\n private _moveTargetMouseUpHandler: (evt: MouseEvent) => void;\n\n // Event handler states\n private _attachedDocumentKeydownHandler = false;\n private _attachedBackdropClickHandler = false;\n\n constructor(public _adapter: IDialogAdapter) {\n this._transitionEndHandler = (evt: TransitionEvent) => this._onTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n this._moveTargetMouseDownHandler = (evt: MouseEvent) => this._onMoveTargetMouseDown(evt);\n this._moveTargetMouseMoveHandler = (evt: MouseEvent) => this._onMoveTargetMouseMove(evt);\n this._moveTargetMouseUpHandler = (evt: MouseEvent) => this._onMoveTargetMouseUp(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n if (this._open) {\n if (this._moveable) {\n this._adapter.setMoveable(this._moveable);\n this._initMoveTarget();\n }\n }\n }\n\n public destroy(): void {\n if (this._open) {\n this._removeDragHandlers();\n this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler);\n if (this._attachedDocumentKeydownHandler) {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n if (this._attachedBackdropClickHandler) {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n }\n\n private async _applyOpen(value: boolean): Promise<void> {\n if (value) {\n if (typeof this._openCallback === 'function' && !await this._executeOpenCallback()) {\n return;\n }\n this._open = value;\n this._openDialog();\n } else {\n if (typeof this._closeCallback === 'function' && !await this._executeCloseCallback()) {\n return;\n }\n this._open = value;\n this._closeDialog();\n }\n \n this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private async _executeOpenCallback(): Promise<boolean> {\n try {\n return await Promise.resolve(this._openCallback()) !== false;\n } catch (e) {\n return false;\n }\n }\n\n private async _executeCloseCallback(): Promise<boolean> {\n try {\n return await Promise.resolve(this._closeCallback()) !== false;\n } catch (e) {\n return false;\n }\n }\n\n public initializeMoveTarget(): void {\n if (!this._moveTarget) {\n this._moveTarget = DIALOG_CONSTANTS.selectors.DFEAULT_MOVE_TARGET;\n }\n this._initMoveTarget();\n }\n\n public resetPosition(): void {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n\n private _normalizePositionValue(value: number | string | null | undefined): string | null {\n if (isNumber(value)) {\n return `${value}px`;\n } else if (isString(value)) {\n return value;\n }\n return null;\n }\n\n private _openDialog(): void {\n this._adapter.attach();\n\n if (!this._fullscreen) {\n if (this._moveable) {\n this._adapter.setMoveable(this._moveable);\n }\n if (this._positionX != null || this._positionY != null) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n\n this._adapter.setBodyAttribute(DIALOG_CONSTANTS.attributes.OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._transitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.setAnimating(true);\n this._isAnimating = true;\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n if (this._adapter.isScrollable()) {\n this._adapter.addRootClass(DIALOG_CONSTANTS.classes.SCROLLABLE);\n }\n });\n });\n\n // Wait for the dialog to finish animating open, then emit the ready event and attach any listeners\n setTimeout(() => {\n window.requestAnimationFrame(() => {\n if (this._open && this._isAnimating) {\n this._onTransitionEnd();\n }\n });\n }, DIALOG_CONSTANTS.numbers.ANIMATION_DURATION);\n }\n\n private _closeDialog(): void {\n if (this._moveTarget) {\n this._removeDragHandlers();\n }\n\n this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler);\n if (this._attachedDocumentKeydownHandler) {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n if (this._attachedBackdropClickHandler) {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n\n this._isAnimating = false;\n this._adapter.setAnimating(true);\n this._adapter.setVisibility(false);\n\n setTimeout(() => {\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.CLOSE);\n this._adapter.detach();\n const openDialogs = this._adapter.getOpenDialogs(DIALOG_CONSTANTS.elementName);\n if (!openDialogs.length) {\n this._adapter.removeBodyAttribute(DIALOG_CONSTANTS.attributes.OPEN);\n }\n }, DIALOG_CONSTANTS.numbers.ANIMATION_DURATION);\n }\n\n private _onTransitionEnd(): void {\n if (!this._isAnimating) {\n return;\n }\n\n this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler);\n this._adapter.setAnimating(false);\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.READY);\n\n if (this._moveable) {\n this._initMoveTarget();\n }\n \n this._isAnimating = false;\n }\n\n private _initMoveTarget(): void {\n if (!this._fullscreen && this._moveable && this._moveTarget && this._adapter.setMoveTarget(this._moveTarget)) {\n this._adapter.setMoveTargetHandler('mousedown', this._moveTargetMouseDownHandler);\n }\n }\n\n private _removeDragHandlers(): void {\n this._adapter.removeDragTargetHandler('mousedown', this._moveTargetMouseDownHandler);\n this._adapter.removeDocumentListener('mousemove', this._moveTargetMouseMoveHandler);\n this._adapter.removeDocumentListener('mouseup', this._moveTargetMouseUpHandler);\n }\n\n private _onMoveTargetMouseDown(evt: MouseEvent): void {\n evt.preventDefault();\n this._adapter.captureActiveElement();\n const bounds = this._adapter.getSurfaceBounds();\n this._moveContext = {\n top: evt.pageY - bounds.top,\n left: evt.pageX - bounds.left,\n height: bounds.height,\n width: bounds.width\n };\n this._adapter.setDocumentListener('mousemove', this._moveTargetMouseMoveHandler);\n this._adapter.setDocumentListener('mouseup', this._moveTargetMouseUpHandler);\n }\n\n private _onMoveTargetMouseMove(evt: MouseEvent): void {\n evt.preventDefault();\n const position = this._calculateOffsetPosition(evt.pageX, evt.pageY, this._moveContext);\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isMoving) {\n this._isMoving = true;\n const canDrag = this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.MOVE_START, position as IDialogMoveStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n }\n\n // Ensure that the surface position stays within the bounds of the screen\n const newPosition = this._clampPosition(position, this._moveContext);\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.x !== this._lastPosition.x || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.MOVED, newPosition as IDialogMoveStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition };\n const newX = this._normalizePositionValue(newPosition.x);\n const newY = this._normalizePositionValue(newPosition.y);\n this._adapter.setSurfacePosition(newX, newY, 'absolute');\n }\n }\n }\n\n private _onMoveTargetMouseUp(evt: MouseEvent): void {\n if (this._isMoving) {\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.MOVE_END);\n }\n this._moveComplete();\n }\n\n private _moveComplete(): void {\n this._adapter.tryRestoreActiveElement();\n this._adapter.removeDocumentListener('mousemove', this._moveTargetMouseMoveHandler);\n this._adapter.removeDocumentListener('mouseup', this._moveTargetMouseUpHandler);\n this._lastPosition = undefined;\n this._moveContext = undefined;\n this._isMoving = false;\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback()) !== false;\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach && !this._attachedBackdropClickHandler) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n this._attachedBackdropClickHandler = true;\n } else if (!attach && this._attachedBackdropClickHandler) {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n this._attachedBackdropClickHandler = false;\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach && !this._attachedDocumentKeydownHandler) {\n this._adapter.setDocumentListener('keydown', this._documentKeydownHandler);\n this._attachedDocumentKeydownHandler = true;\n } else if (!attach && this._attachedDocumentKeydownHandler) {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._attachedDocumentKeydownHandler = false;\n }\n }\n\n private _calculateOffsetPosition(pageX: number, pageY: number, context?: IDialogMoveContext): { x: number; y: number } {\n return {\n x: pageX - (context?.left || 0),\n y: pageY - (context?.top || 0)\n };\n }\n\n private _clampPosition({ x, y }: { x: number; y: number }, context?: IDialogMoveContext): { x: number; y: number } {\n let width = 0;\n let height = 0;\n\n if (context) {\n width = context.width;\n height = context.height;\n }\n\n if (x <= 0) {\n x = 0;\n } else if (x + width >= window.innerWidth) {\n x = window.innerWidth - width;\n }\n\n if (y <= 0) {\n y = 0;\n } else if (y + height >= window.innerHeight) {\n y = window.innerHeight - height;\n }\n\n return { x, y };\n }\n\n /** Controls whether clicking the backdrop closes the dialog or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n\n this._setBackdropClickListener(this._backdropClose);\n\n if (isDefined(this._backdropClose)) {\n this._adapter.setHostAttribute(DIALOG_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose.toString());\n } else {\n this._adapter.removeHostAttribute(DIALOG_CONSTANTS.attributes.BACKDROP_CLOSE);\n }\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the dialog or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = value;\n this._setDocumentKeydownListener(this._escapeClose);\n if (isDefined(this._escapeClose)) {\n this._adapter.setHostAttribute(DIALOG_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose.toString());\n } else {\n this._adapter.removeHostAttribute(DIALOG_CONSTANTS.attributes.ESCAPE_CLOSE);\n }\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n value = Boolean(value);\n if (value !== this._open) {\n this._applyOpen(value);\n }\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = !!value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.setHostAttribute(DIALOG_CONSTANTS.attributes.FULLSCREEN, String(this._fullscreen));\n }\n }\n\n public get openCallback(): DialogStateCallback {\n return this._openCallback;\n }\n public set openCallback(callback: DialogStateCallback) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): DialogStateCallback {\n return this._closeCallback;\n }\n public set closeCallback(callback: DialogStateCallback) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): DialogStateCallback {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: DialogStateCallback) {\n this._beforeCloseCallback = callback;\n }\n\n public get positionType(): DialogPositionType {\n return this._positionType;\n }\n public set positionType(value: DialogPositionType) {\n if (this._positionType !== value) {\n this._positionType = value;\n if (this._open) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n }\n\n public get positionX(): number | string | null | undefined {\n return this._positionX;\n }\n public set positionX(value: number | string | null | undefined) {\n if (this._positionX !== value) {\n this._positionX = this._normalizePositionValue(value);\n if (this._open) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n }\n\n public get positionY(): number | string | null | undefined {\n return this._positionY;\n }\n public set positionY(value: number | string | null | undefined) {\n if (this._positionY !== value) {\n this._positionY = this._normalizePositionValue(value);\n if (this._open) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n }\n\n public get moveable(): boolean {\n return this._moveable;\n }\n public set moveable(value: boolean) {\n if (this._moveable !== value) {\n this._moveable = value;\n if (this._open) {\n this._adapter.setMoveable(this._moveable);\n if (this._moveable) {\n this._initMoveTarget();\n } else {\n this._removeDragHandlers();\n this._isMoving = false;\n }\n }\n }\n }\n\n public get moveTarget(): string {\n return this._moveTarget;\n }\n public set moveTarget(value: string) {\n this._moveTarget = value;\n }\n}\n", "import { deepQuerySelectorAll, getActiveElement, getShadowElement, removeElement, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IDialogComponent } from './dialog';\nimport { DialogPositionType, DIALOG_CONSTANTS } from './dialog-constants';\n\nexport interface IDialogAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setAnimating(animating: boolean): void;\n setVisibility(visible: boolean): void;\n attach(): void;\n detach(): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenDialogs: (selector: string) => NodeListOf<HTMLElement>;\n setBodyAttribute: (name: string, value: string) => void;\n removeBodyAttribute: (name: string) => void;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n addRootClass(name: string): void;\n setFullscreen(value: boolean): void;\n setMoveable(value: boolean): void;\n setMoveTarget(selector: string): boolean;\n setMoveTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n getSurfaceBounds(): DOMRect;\n setSurfacePosition(x: string | null, y: string | null, positionType: DialogPositionType): void;\n captureActiveElement(): void;\n tryRestoreActiveElement(): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `DialogComponent`.\n */\nexport class DialogAdapter extends BaseAdapter<IDialogComponent> implements IDialogAdapter {\n private _backdropElement: IBackdropComponent;\n private _containerElement: HTMLElement;\n private _surfaceElement: HTMLElement;\n private _moveTargetElement: HTMLElement | null;\n private _activeElement: HTMLElement | undefined;\n\n constructor(component: IDialogComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, DIALOG_CONSTANTS.selectors.BACKDROP) as IBackdropComponent;\n this._containerElement = getShadowElement(component, DIALOG_CONSTANTS.selectors.CONTAINER);\n this._surfaceElement = getShadowElement(component, DIALOG_CONSTANTS.selectors.SURFACE);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n }\n this._component.setAttribute('aria-modal', 'true');\n }\n\n public setAnimating(animating: boolean): void {\n if (animating) {\n this._containerElement.classList.add(DIALOG_CONSTANTS.classes.ANIMATING);\n } else {\n this._containerElement.classList.remove(DIALOG_CONSTANTS.classes.ANIMATING);\n }\n }\n\n public setVisibility(visible: boolean): void {\n if (visible) {\n this._containerElement.classList.add(DIALOG_CONSTANTS.classes.OPEN);\n } else {\n this._containerElement.classList.remove(DIALOG_CONSTANTS.classes.OPEN);\n }\n }\n\n public attach(): void {\n document.body.appendChild(this._component);\n }\n\n public detach(): void {\n if (this._activeElement) {\n this._activeElement = undefined;\n }\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._surfaceElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._surfaceElement.removeEventListener('transitionend', handler);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.removeEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public getOpenDialogs(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public setBodyAttribute(name: string, value: string): void {\n document.body.setAttribute(name, value);\n }\n\n public removeBodyAttribute(name: string): void {\n document.body.removeAttribute(name);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, DIALOG_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._component.querySelector(DIALOG_CONSTANTS.selectors.CONTENT) as HTMLElement;\n if (contentElement) {\n return contentElement.scrollHeight > contentElement.offsetHeight;\n }\n return false;\n }\n\n public addRootClass(name: string): void {\n this._component.classList.add(name);\n }\n\n public setFullscreen(value: boolean): void {\n if (value) {\n this._containerElement.classList.add(DIALOG_CONSTANTS.classes.FULLSCREEN);\n } else {\n this._containerElement.classList.remove(DIALOG_CONSTANTS.classes.FULLSCREEN);\n }\n }\n\n public setMoveable(value: boolean): void {\n toggleClass(this._containerElement, value, DIALOG_CONSTANTS.classes.MOVEABLE);\n }\n\n public setMoveTarget(selector: string): boolean {\n if (!selector) {\n return false;\n }\n this._moveTargetElement = this._component.querySelector(selector);\n return !!this._moveTargetElement;\n }\n\n public setMoveTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n if (this._moveTargetElement) {\n this._moveTargetElement.addEventListener(type, listener);\n }\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n if (this._moveTargetElement) {\n this._moveTargetElement.removeEventListener(type, listener);\n }\n }\n\n public getSurfaceBounds(): DOMRect {\n return this._surfaceElement.getBoundingClientRect() as DOMRect;\n }\n\n public setSurfacePosition(x: string | null, y: string | null, positionType: DialogPositionType): void {\n this._surfaceElement.style.position = positionType === 'absolute' ? positionType : 'relative';\n if (y != null) {\n this._surfaceElement.style.top = y;\n } else {\n this._surfaceElement.style.removeProperty('top');\n }\n if (x != null) {\n this._surfaceElement.style.left = x;\n } else {\n this._surfaceElement.style.removeProperty('left');\n }\n }\n\n public captureActiveElement(): void {\n this._activeElement = getActiveElement() as HTMLElement;\n if (this._activeElement) {\n this._activeElement.blur();\n }\n }\n\n public tryRestoreActiveElement(): void {\n if (this._activeElement) {\n if (this._activeElement.isConnected) {\n this._activeElement.focus();\n }\n this._activeElement = undefined;\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport { DialogFoundation } from './dialog-foundation';\nimport { DialogAdapter } from './dialog-adapter';\nimport { DIALOG_CONSTANTS, DialogPositionType, IDialogMoveStartEventData, IDialogMoveEventData, DialogStateCallback } from './dialog-constants';\nimport { BackdropComponent } from '../backdrop';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-dialog\\\" part=\\\"root\\\"><forge-backdrop part=\\\"scrim\\\"></forge-backdrop><div class=\\\"forge-dialog__surface\\\" part=\\\"surface\\\"><slot></slot></div></div></template>';\nconst styles = '.forge-dialog{position:fixed;top:0;bottom:0;left:0;right:0;z-index:8;z-index:var(--forge-z-index-dialog,8);-webkit-box-align:center;align-items:center;-webkit-box-align:var(--forge-dialog-align-items,center);align-items:var(--forge-dialog-align-items,center);top:0;top:var(--forge-dialog-top,0);padding:24px;padding:var(--forge-dialog-padding,24px);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;visibility:hidden}@media (max-width:599px){.forge-dialog{padding:0}}.forge-dialog--moveable:not(.forge-dialog--fullscreen) ::slotted([forge-dialog-move-target]){cursor:move}.forge-dialog--animating{visibility:visible}.forge-dialog--animating .forge-dialog--open .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--animating .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--scrollable .forge-dialog__footer,.forge-dialog--scrollable .forge-dialog__title{border-color:rgba(0,0,0,.12)}.forge-dialog--open{visibility:visible!important}.forge-dialog--open .forge-dialog__surface{-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-dialog__surface{-webkit-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);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);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);width:auto;width:var(--forge-dialog-width,auto);height:auto;height:var(--forge-dialog-height,auto);min-width:280px;min-width:var(--forge-dialog-min-width,280px);max-width:100%;max-width:var(--forge-dialog-max-width,100%);max-height:100%;max-height:var(--forge-dialog-max-height,100%);border-radius:4px;border-radius:var(--forge-dialog-border-radius,var(--mdc-shape-medium,4px));display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:scale(.8);transform:scale(.8);opacity:0;overflow:hidden;z-index:inherit}.forge-dialog__header{margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.forge-dialog__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;font-size:var(--forge-typography-title-font-size, 1.25rem);line-height:2rem;line-height:var(--forge-typography-title-line-height, 2rem);font-weight:400;font-weight:var(--forge-typography-title-font-weight,400);letter-spacing:.0125em;letter-spacing:var(--forge-typography-title-letter-spacing, .0125em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-title-text-decoration,inherit);text-decoration:var(--forge-typography-title-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-title-text-transform,inherit);-webkit-box-sizing:border-box;box-sizing:border-box;margin:0}.forge-dialog__title::before{display:inline-block;width:0;height:40px;content:\\\"\\\";vertical-align:0}.forge-dialog__body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);padding-top:20px;padding:0 24px 24px;overflow:auto}.forge-dialog__body--scrollable{max-height:195px;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);overflow-x:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch}.forge-dialog__footer{display:-webkit-box;display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.forge-dialog--fullscreen{padding:0}.forge-dialog--fullscreen .forge-dialog__surface{height:100%;width:100%;min-width:auto;max-width:100%;border-radius:0}:host{display:block}:host([hidden]){display:none}';\n\nexport interface IDialogComponent extends IBaseComponent {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: DialogStateCallback;\n closeCallback: DialogStateCallback;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n positionType: DialogPositionType;\n positionX: number | string | null | undefined;\n positionY: number | string | null | undefined;\n moveable: boolean;\n moveTarget: string;\n initializeMoveTarget(): void;\n resetPosition(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-dialog': IDialogComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-dialog-before-close': CustomEvent<void>;\n 'forge-dialog-open': CustomEvent<void>;\n 'forge-dialog-close': CustomEvent<void>;\n 'forge-dialog-ready': CustomEvent<void>;\n 'forge-dialog-move-start': CustomEvent<IDialogMoveStartEventData>;\n 'forge-dialog-move': CustomEvent<IDialogMoveEventData>;\n 'forge-dialog-move-end': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-dialog>` custom element.\n * \n * @tag forge-dialog\n */\n@CustomElement({\n name: DIALOG_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class DialogComponent extends BaseComponent implements IDialogComponent {\n public static get observedAttributes(): string[] {\n return [\n DIALOG_CONSTANTS.attributes.BACKDROP_CLOSE,\n DIALOG_CONSTANTS.attributes.ESCAPE_CLOSE,\n DIALOG_CONSTANTS.attributes.OPEN,\n DIALOG_CONSTANTS.attributes.FULLSCREEN,\n DIALOG_CONSTANTS.attributes.POSITION_TYPE,\n DIALOG_CONSTANTS.attributes.POSITION_X,\n DIALOG_CONSTANTS.attributes.POSITION_Y,\n DIALOG_CONSTANTS.attributes.MOVEABLE,\n DIALOG_CONSTANTS.attributes.MOVE_TARGET\n ];\n }\n\n private _foundation: DialogFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new DialogFoundation(new DialogAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case DIALOG_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = newValue === 'true';\n break;\n case DIALOG_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = newValue === 'true';\n break;\n case DIALOG_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case DIALOG_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case DIALOG_CONSTANTS.attributes.POSITION_TYPE:\n this.positionType = newValue as DialogPositionType;\n break;\n case DIALOG_CONSTANTS.attributes.POSITION_X:\n this.positionX = newValue;\n break;\n case DIALOG_CONSTANTS.attributes.POSITION_Y:\n this.positionY = newValue;\n break;\n case DIALOG_CONSTANTS.attributes.MOVEABLE:\n this.moveable = coerceBoolean(newValue);\n break;\n case DIALOG_CONSTANTS.attributes.MOVE_TARGET:\n this.moveTarget = newValue;\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the dialog or not. Default is true. */\n @FoundationProperty()\n public declare backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the dialog or not. Default is true. */\n @FoundationProperty()\n public declare escapeClose: boolean;\n\n /** Controls whether the dialog is open or not. Default is false. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Controls whether the dialog is full screen or not. Default is false. */\n @FoundationProperty()\n public declare fullscreen: boolean;\n\n /** The function to call when the dialog wants to open. */\n @FoundationProperty()\n public declare openCallback: DialogStateCallback;\n\n /** the function to call when the dialog wants to close. */\n @FoundationProperty()\n public declare closeCallback: DialogStateCallback;\n\n /** the function to call when the dialog wants to close. */\n @FoundationProperty()\n public declare beforeCloseCallback: () => boolean | Promise<boolean>;\n\n /** Gets/sets the position type when using custom positioning values. Default is 'absolute'. */\n @FoundationProperty()\n public declare positionType: DialogPositionType;\n\n /** Controls the horizontal position of the dialog surface. */\n @FoundationProperty()\n public declare positionX: number | string | null | undefined;\n\n /** Controls the vertical position of the dialog surface. */\n @FoundationProperty()\n public declare positionY: number | string | null | undefined;\n\n /** Gets/sets whether the dialog surface can be moved or not. */\n @FoundationProperty()\n public declare moveable: boolean;\n\n /** Gets/sets the selector used to target the element that is used as the drag target. */\n @FoundationProperty()\n public declare moveTarget: string;\n\n public initializeMoveTarget(): void {\n this._foundation.initializeMoveTarget();\n }\n\n public resetPosition(): void {\n this._foundation.resetPosition();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { DialogComponent } from './dialog';\n\nexport * from './dialog-adapter';\nexport * from './dialog-constants';\nexport * from './dialog-foundation';\nexport * from './dialog';\n\nexport function defineDialogComponent(): void {\n defineCustomElement(DialogComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "attributes", "selectors", "BACKDROP_CONSTANTS", "events", "numbers", "DIALOG_CONSTANTS", "DialogFoundation", "_adapter", "DIALOG_CONSTANTS", "evt", "value", "isNumber", "isString", "bounds", "position", "newPosition", "__spreadValues", "newX", "newY", "err", "attach", "pageX", "pageY", "context", "x", "y", "width", "height", "isDefined", "callback", "DialogAdapter", "BaseAdapter", "component", "getShadowElement", "DIALOG_CONSTANTS", "animating", "visible", "removeElement", "handler", "type", "listener", "BACKDROP_CONSTANTS", "selector", "name", "value", "elements", "deepQuerySelectorAll", "contentElement", "toggleClass", "x", "y", "positionType", "getActiveElement", "template", "styles", "DialogComponent", "BaseComponent", "attachShadowTemplate", "DialogFoundation", "DialogAdapter", "DIALOG_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "BackdropComponent", "defineDialogComponent", "defineCustomElement", "DialogComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{b as T}from"./chunk.HBMNXZES.js";import{d as x}from"./chunk.SXTTEIIH.js";import{c as y}from"./chunk.I5BAZWUF.js";import{a as v}from"./chunk.G5MGGEFP.js";import{a}from"./chunk.KTGSZEAG.js";import{a as m,b as h}from"./chunk.BE7PZANN.js";import{a as b,e as g,g as n,l as _}from"./chunk.Y4GKBJGI.js";import{k as d,l as f}from"./chunk.J2M2MXP2.js";import{f as i}from"./chunk.MCIQXNKY.js";var u=`${h}profile-card`,w={FULL_NAME:"full-name",EMAIL:"email",SIGN_OUT:"sign-out",PROFILE:"profile",SIGN_OUT_TEXT:"sign-out-text",PROFILE_TEXT:"profile-text",AVATAR_TEXT:"avatar-text",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count"},k={FULL_NAME:".forge-profile-card__full-name",EMAIL:".forge-profile-card__email",AVATAR:".forge-profile-card__info-avatar > forge-avatar",ACTION_TOOLBAR:"#action-toolbar",PROFILE_BUTTON:"#profile-button",SIGN_OUT_BUTTON:"#sign-out-button"},O={SHOW_SIGN_OUT_BUTTON:!0,SHOW_PROFILE_BUTTON:!1,SIGN_OUT_BUTTON_TEXT:"Sign out",PROFILE_BUTTON_TEXT:"Profile"},E={SIGN_OUT:`${u}-sign-out`,PROFILE:`${u}-profile`},e={elementName:u,attributes:w,selectors:k,defaults:O,events:E};var l=class extends v{constructor(t){super(t);this._fullNameElement=n(t,e.selectors.FULL_NAME),this._emailElement=n(t,e.selectors.EMAIL),this._avatarElement=n(t,e.selectors.AVATAR),this._actionToolbar=n(t,e.selectors.ACTION_TOOLBAR),this._profileButton=n(t,e.selectors.PROFILE_BUTTON),this._signOutButton=n(t,e.selectors.SIGN_OUT_BUTTON)}setFullName(t){this._component.setAttribute(e.attributes.FULL_NAME,t),this._fullNameElement.textContent=t}setEmail(t){this._component.setAttribute(e.attributes.EMAIL,t),this._emailElement.textContent=t}setAvatarText(t){this._component.setAttribute(e.attributes.AVATAR_TEXT,t),this._avatarElement.text=t}setAvatarImageUrl(t){this._component.setAttribute(e.attributes.AVATAR_IMAGE_URL,t),this._avatarElement.imageUrl=t}setAvatarLetterCount(t){this._component.setAttribute(e.attributes.AVATAR_LETTER_COUNT,String(t)),this._avatarElement.letterCount=t}setActionToolbarVisibility(t){t?this._actionToolbar.style.removeProperty("display"):this._actionToolbar.style.display="none"}setProfileButtonVisibility(t){t?this._profileButton.style.removeProperty("display"):this._profileButton.style.display="none"}setSignOutButtonVisibility(t){t?this._signOutButton.style.removeProperty("display"):this._signOutButton.style.display="none"}setSignOutButtonText(t){this._signOutButton.textContent=t}setProfileButtonText(t){this._profileButton.textContent=t}setProfileButtonListener(t){this._profileButton.addEventListener("click",t)}setSignOutButtonListener(t){this._signOutButton.addEventListener("click",t)}removeProfileButtonListener(t){this._profileButton.removeEventListener("click",t)}removeSignOutButtonListener(t){this._signOutButton.removeEventListener("click",t)}requestProfileButtonFocus(){window.requestAnimationFrame(()=>this._profileButton.focus())}requestSignOutButtonFocus(){window.requestAnimationFrame(()=>this._signOutButton.focus())}};var s=class{constructor(r){this._adapter=r;this._showSignOutButton=e.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=e.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=e.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=e.defaults.PROFILE_BUTTON_TEXT;this._profileListener=t=>this._onProfileButtonClick(t),this._signOutListener=t=>this._onSignOutButtonClick(t)}initialize(){this._adapter.setProfileButtonListener(this._profileListener),this._adapter.setSignOutButtonListener(this._signOutListener),(this._showSignOutButton||this._showProfileButton)&&this._requestInitialFocus(),this._setActionVisibility(),this._adapter.setSignOutButtonText(this._signOutButtonText),this._adapter.setProfileButtonText(this._profileButtonText)}_requestInitialFocus(){this._showSignOutButton?this._adapter.requestSignOutButtonFocus():this._showProfileButton&&this._adapter.requestProfileButtonFocus()}_setActionVisibility(){let r=this._showSignOutButton||this._showProfileButton;this._adapter.setActionToolbarVisibility(r),this._adapter.setSignOutButtonVisibility(this._showSignOutButton),this._adapter.setProfileButtonVisibility(this._showProfileButton)}_onProfileButtonClick(r){r.stopPropagation(),this._adapter.emitHostEvent(e.events.PROFILE)}_onSignOutButtonClick(r){r.stopPropagation(),this._adapter.emitHostEvent(e.events.SIGN_OUT)}get fullName(){return this._fullName}set fullName(r){this._fullName!==r&&(this._fullName=r,this._adapter.setFullName(this._fullName))}get email(){return this._email}set email(r){this._email!==r&&(this._email=r,this._adapter.setEmail(this._email))}get avatarText(){return this._avatarText}set avatarText(r){this._avatarText!==r&&(this._avatarText=r,this._adapter.setAvatarText(this._avatarText))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(r){this._avatarImageUrl!==r&&(this._avatarImageUrl=r,this._adapter.setAvatarImageUrl(this._avatarImageUrl))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(r){this._avatarLetterCount!==r&&(this._avatarLetterCount=r,this._adapter.setAvatarLetterCount(this._avatarLetterCount))}get signOut(){return this._showSignOutButton}set signOut(r){this._showSignOutButton!==r&&(this._showSignOutButton=r,this._setActionVisibility())}get profile(){return this._showProfileButton}set profile(r){this._showProfileButton!==r&&(this._showProfileButton=r,this._setActionVisibility())}get signOutText(){return this._signOutButtonText}set signOutText(r){this._signOutButtonText!==r&&(this._signOutButtonText=r||e.defaults.SIGN_OUT_BUTTON_TEXT,this._adapter.setSignOutButtonText(this._signOutButtonText))}get profileText(){return this._profileButtonText}set profileText(r){this._profileButtonText!==r&&(this._profileButtonText=r||e.defaults.PROFILE_BUTTON_TEXT,this._adapter.setProfileButtonText(this._profileButtonText))}};var A='<template><div class="forge-profile-card" part="root"><div class="forge-profile-card__info" part="info-container"><div class="forge-profile-card__info-avatar" part="avatar-container"><forge-avatar part="avatar"></forge-avatar></div><div class="forge-profile-card__info-text" part="info-text"><div class="forge-profile-card__full-name" part="name"></div><div class="forge-profile-card__email" part="email"></div></div></div><slot></slot><forge-toolbar inverted id="action-toolbar" part="footer"><forge-button type="outlined" slot="end" style="margin-right: 8px;" part="profile-button"><button type="button" id="profile-button" aria-label="View profile" part="profile-button-element">Profile</button></forge-button><forge-button slot="end" part="sign-out-button"><button type="button" id="sign-out-button" aria-label="Sign out" part="sign-out-button-element">Sign out</button></forge-button></forge-toolbar></div></template>',B='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-left:-4px;margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:-4px;margin-right:8px}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-button .forge-button__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}',o=class extends _{constructor(){super();g(this,A,B),this._foundation=new s(new l(this))}static get observedAttributes(){return[e.attributes.FULL_NAME,e.attributes.EMAIL,e.attributes.SIGN_OUT,e.attributes.PROFILE,e.attributes.SIGN_OUT_TEXT,e.attributes.PROFILE_TEXT,e.attributes.AVATAR_TEXT,e.attributes.AVATAR_IMAGE_URL,e.attributes.AVATAR_LETTER_COUNT]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(t,L,p){switch(t){case e.attributes.FULL_NAME:this.fullName=p;break;case e.attributes.EMAIL:this.email=p;break;case e.attributes.SIGN_OUT:this.signOut=d(e.attributes.SIGN_OUT);break;case e.attributes.PROFILE:this.profile=d(e.attributes.PROFILE);break;case e.attributes.SIGN_OUT_TEXT:this.signOutText=e.attributes.SIGN_OUT_TEXT;break;case e.attributes.PROFILE_TEXT:this.profileText=e.attributes.PROFILE_TEXT;break;case e.attributes.AVATAR_TEXT:this.avatarText=p;break;case e.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=p;break;case e.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=f(p);break}}};i([a()],o.prototype,"fullName",2),i([a()],o.prototype,"email",2),i([a()],o.prototype,"signOut",2),i([a()],o.prototype,"profile",2),i([a()],o.prototype,"signOutText",2),i([a()],o.prototype,"profileText",2),i([a()],o.prototype,"avatarText",2),i([a()],o.prototype,"avatarImageUrl",2),i([a()],o.prototype,"avatarLetterCount",2),o=i([m({name:e.elementName,dependencies:[T,y,x]})],o);function Y(){b(o)}export{e as a,l as b,s as c,o as d,Y as e};
7
- //# sourceMappingURL=chunk.U724KSZU.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/profile-card/profile-card-constants.ts", "../../src/profile-card/profile-card-adapter.ts", "../../src/profile-card/profile-card-foundation.ts", "../../src/profile-card/profile-card.ts", "../../src/profile-card/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}profile-card`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n SIGN_OUT: 'sign-out',\n PROFILE: 'profile',\n SIGN_OUT_TEXT: 'sign-out-text',\n PROFILE_TEXT: 'profile-text',\n AVATAR_TEXT: 'avatar-text',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count'\n};\n\nconst selectors = {\n FULL_NAME: '.forge-profile-card__full-name',\n EMAIL: '.forge-profile-card__email',\n AVATAR: '.forge-profile-card__info-avatar > forge-avatar',\n ACTION_TOOLBAR: '#action-toolbar',\n PROFILE_BUTTON: '#profile-button',\n SIGN_OUT_BUTTON: '#sign-out-button'\n};\n\nconst defaults = {\n SHOW_SIGN_OUT_BUTTON: true,\n SHOW_PROFILE_BUTTON: false,\n SIGN_OUT_BUTTON_TEXT: 'Sign out',\n PROFILE_BUTTON_TEXT: 'Profile'\n};\n\nconst events = {\n SIGN_OUT: `${elementName}-sign-out`,\n PROFILE: `${elementName}-profile`\n};\n\nexport const PROFILE_CARD_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n defaults,\n events\n};\n", "import { emitEvent, getShadowElement } from '@tylertech/forge-core';\nimport { IAvatarComponent } from '../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IToolbarComponent } from '../toolbar';\nimport { IProfileCardComponent } from './profile-card';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardAdapter extends IBaseAdapter {\n setFullName(value: string): void;\n setEmail(value: string): void;\n setAvatarText(value: string): void;\n setAvatarImageUrl(value: string): void;\n setAvatarLetterCount(count: number): void;\n setActionToolbarVisibility(isVisible: boolean): void;\n setProfileButtonVisibility(isVisible: boolean): void;\n setSignOutButtonVisibility(isVisible: boolean): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n setProfileButtonListener(listener: (evt: Event) => void): void;\n setSignOutButtonListener(listener: (evt: Event) => void): void;\n removeProfileButtonListener(listener: (evt: Event) => void): void;\n removeSignOutButtonListener(listener: (evt: Event) => void): void;\n requestProfileButtonFocus(): void;\n requestSignOutButtonFocus(): void;\n}\n\nexport class ProfileCardAdapter extends BaseAdapter<IProfileCardComponent> implements IProfileCardAdapter {\n private _fullNameElement: HTMLElement;\n private _emailElement: HTMLElement;\n private _avatarElement: IAvatarComponent;\n private _actionToolbar: IToolbarComponent;\n private _profileButton: HTMLButtonElement;\n private _signOutButton: HTMLButtonElement;\n\n constructor(component: IProfileCardComponent) {\n super(component);\n this._fullNameElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.FULL_NAME);\n this._emailElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.EMAIL);\n this._avatarElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.AVATAR) as IAvatarComponent;\n this._actionToolbar = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.ACTION_TOOLBAR) as IToolbarComponent;\n this._profileButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.PROFILE_BUTTON) as HTMLButtonElement;\n this._signOutButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.SIGN_OUT_BUTTON) as HTMLButtonElement;\n }\n\n public setFullName(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.FULL_NAME, value);\n this._fullNameElement.textContent = value;\n }\n\n public setEmail(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.EMAIL, value);\n this._emailElement.textContent = value;\n }\n\n public setAvatarText(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT, value);\n this._avatarElement.text = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL, value);\n this._avatarElement.imageUrl = value;\n }\n\n public setAvatarLetterCount(count: number): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT, String(count));\n this._avatarElement.letterCount = count;\n }\n\n public setActionToolbarVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._actionToolbar.style.removeProperty('display');\n } else {\n this._actionToolbar.style.display = 'none';\n }\n }\n\n public setProfileButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._profileButton.style.removeProperty('display');\n } else {\n this._profileButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._signOutButton.style.removeProperty('display');\n } else {\n this._signOutButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonText(value: string): void {\n this._signOutButton.textContent = value;\n }\n \n public setProfileButtonText(value: string): void {\n this._profileButton.textContent = value;\n }\n\n public setProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.addEventListener('click', listener);\n }\n\n public setSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.addEventListener('click', listener);\n }\n\n public removeProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.removeEventListener('click', listener);\n }\n\n public removeSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.removeEventListener('click', listener);\n }\n\n public requestProfileButtonFocus(): void {\n window.requestAnimationFrame(() => this._profileButton.focus());\n }\n\n public requestSignOutButtonFocus(): void {\n window.requestAnimationFrame(() => this._signOutButton.focus());\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IProfileCardAdapter } from './profile-card-adapter';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport class ProfileCardFoundation implements IProfileCardFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarText: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount: number;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _signOutButtonText = PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n private _profileButtonText = PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n private _profileListener: (evt: Event) => void;\n private _signOutListener: (evt: Event) => void;\n\n constructor(private _adapter: IProfileCardAdapter) {\n this._profileListener = evt => this._onProfileButtonClick(evt);\n this._signOutListener = evt => this._onSignOutButtonClick(evt);\n }\n\n public initialize(): void {\n this._adapter.setProfileButtonListener(this._profileListener);\n this._adapter.setSignOutButtonListener(this._signOutListener);\n\n if (this._showSignOutButton || this._showProfileButton) {\n this._requestInitialFocus();\n }\n\n this._setActionVisibility();\n this._adapter.setSignOutButtonText(this._signOutButtonText);\n this._adapter.setProfileButtonText(this._profileButtonText);\n }\n\n private _requestInitialFocus(): void {\n if (this._showSignOutButton) {\n this._adapter.requestSignOutButtonFocus();\n } else if (this._showProfileButton) {\n this._adapter.requestProfileButtonFocus();\n }\n }\n\n private _setActionVisibility(): void {\n const showActionToolbar = this._showSignOutButton || this._showProfileButton;\n this._adapter.setActionToolbarVisibility(showActionToolbar);\n this._adapter.setSignOutButtonVisibility(this._showSignOutButton);\n this._adapter.setProfileButtonVisibility(this._showProfileButton);\n }\n\n private _onProfileButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n }\n\n private _onSignOutButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setFullName(this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setEmail(this._email);\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n this._adapter.setAvatarText(this._avatarText);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n }\n }\n\n public get signOut(): boolean {\n return this._showSignOutButton;\n }\n public set signOut(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._setActionVisibility();\n }\n }\n\n public get profile(): boolean {\n return this._showProfileButton;\n }\n public set profile(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._setActionVisibility();\n }\n }\n\n public get signOutText(): string {\n return this._signOutButtonText;\n }\n public set signOutText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value || PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n this._adapter.setSignOutButtonText(this._signOutButtonText);\n }\n }\n\n public get profileText(): string {\n return this._profileButtonText;\n }\n public set profileText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value || PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n this._adapter.setProfileButtonText(this._profileButtonText);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, coerceNumber, FoundationProperty } from '@tylertech/forge-core';\nimport { ProfileCardAdapter } from './profile-card-adapter';\nimport { ProfileCardFoundation } from './profile-card-foundation';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\nimport { ButtonComponent } from '../button';\nimport { AvatarComponent } from '../avatar';\nimport { ToolbarComponent } from '../toolbar';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-profile-card\\\" part=\\\"root\\\"><div class=\\\"forge-profile-card__info\\\" part=\\\"info-container\\\"><div class=\\\"forge-profile-card__info-avatar\\\" part=\\\"avatar-container\\\"><forge-avatar part=\\\"avatar\\\"></forge-avatar></div><div class=\\\"forge-profile-card__info-text\\\" part=\\\"info-text\\\"><div class=\\\"forge-profile-card__full-name\\\" part=\\\"name\\\"></div><div class=\\\"forge-profile-card__email\\\" part=\\\"email\\\"></div></div></div><slot></slot><forge-toolbar inverted id=\\\"action-toolbar\\\" part=\\\"footer\\\"><forge-button type=\\\"outlined\\\" slot=\\\"end\\\" style=\\\"margin-right: 8px;\\\" part=\\\"profile-button\\\"><button type=\\\"button\\\" id=\\\"profile-button\\\" aria-label=\\\"View profile\\\" part=\\\"profile-button-element\\\">Profile</button></forge-button><forge-button slot=\\\"end\\\" part=\\\"sign-out-button\\\"><button type=\\\"button\\\" id=\\\"sign-out-button\\\" aria-label=\\\"Sign out\\\" part=\\\"sign-out-button-element\\\">Sign out</button></forge-button></forge-toolbar></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-left:-4px;margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:-4px;margin-right:8px}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button .forge-button__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}';\n\nexport interface IProfileCardComponent extends IBaseComponent {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutText: string;\n profileText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-profile-card': IProfileCardComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-profile-card-sign-out': CustomEvent<void>;\n 'forge-profile-card-profile': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-profile-card>` custom element.\n * \n * @tag forge-profile-card\n */\n@CustomElement({\n name: PROFILE_CARD_CONSTANTS.elementName,\n dependencies: [\n ToolbarComponent,\n ButtonComponent,\n AvatarComponent\n ]\n})\nexport class ProfileCardComponent extends BaseComponent implements IProfileCardComponent {\n public static get observedAttributes(): string[] {\n return [\n PROFILE_CARD_CONSTANTS.attributes.FULL_NAME,\n PROFILE_CARD_CONSTANTS.attributes.EMAIL,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT\n ];\n }\n\n private _foundation: ProfileCardFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ProfileCardFoundation(new ProfileCardAdapter(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 PROFILE_CARD_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT:\n this.signOut = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE:\n this.profile = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.PROFILE);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT:\n this.signOutText = PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT:\n this.profileText = PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare fullName: string;\n\n @FoundationProperty()\n public declare email: string;\n\n @FoundationProperty()\n public declare signOut: boolean;\n\n @FoundationProperty()\n public declare profile: boolean;\n\n @FoundationProperty()\n public declare signOutText: string;\n\n @FoundationProperty()\n public declare profileText: string;\n\n @FoundationProperty()\n public declare avatarText: string;\n\n @FoundationProperty()\n public declare avatarImageUrl: string;\n\n @FoundationProperty()\n public declare avatarLetterCount: number;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ProfileCardComponent } from './profile-card';\n\nexport * from './profile-card-adapter';\nexport * from './profile-card-constants';\nexport * from './profile-card-foundation';\nexport * from './profile-card';\n\nexport function defineProfileCardComponent(): void {\n defineCustomElement(ProfileCardComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "defaults", "events", "PROFILE_CARD_CONSTANTS", "ProfileCardAdapter", "BaseAdapter", "component", "getShadowElement", "PROFILE_CARD_CONSTANTS", "value", "count", "isVisible", "listener", "ProfileCardFoundation", "_adapter", "PROFILE_CARD_CONSTANTS", "evt", "showActionToolbar", "value", "template", "styles", "ProfileCardComponent", "BaseComponent", "attachShadowTemplate", "ProfileCardFoundation", "ProfileCardAdapter", "PROFILE_CARD_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "ToolbarComponent", "ButtonComponent", "AvatarComponent", "defineProfileCardComponent", "defineCustomElement", "ProfileCardComponent"]
7
- }