@things-factory/auth-ui 7.0.1-alpha.88 → 7.0.1-alpha.90

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 (143) hide show
  1. package/client/auth-style-sign.ts +29 -18
  2. package/client/components/abstract-auth-page.ts +41 -22
  3. package/client/components/abstract-password-reset.ts +11 -9
  4. package/client/components/abstract-sign.ts +138 -0
  5. package/client/components/change-password.ts +2 -2
  6. package/client/components/contact-us.ts +18 -16
  7. package/client/components/create-domain-popup.ts +11 -7
  8. package/client/components/create-role.ts +8 -20
  9. package/client/components/create-user.ts +8 -16
  10. package/client/components/credential-manager.ts +64 -0
  11. package/client/components/invite-customer.ts +7 -12
  12. package/client/components/invite-user.ts +2 -7
  13. package/client/components/ownership-transfer-popup.ts +3 -3
  14. package/client/components/partner-role-editor.ts +9 -15
  15. package/client/components/profile-component.ts +124 -7
  16. package/client/components/role-privilege-editor.ts +10 -17
  17. package/client/components/user-role-editor.ts +27 -38
  18. package/client/entries/auth/activate.ts +17 -17
  19. package/client/entries/auth/checkin.ts +15 -19
  20. package/client/entries/auth/forgot-password.ts +8 -6
  21. package/client/entries/auth/result.ts +13 -12
  22. package/client/entries/auth/signup.ts +20 -24
  23. package/client/entries/oauth2/oauth2-decision-error-page.ts +2 -2
  24. package/client/entries/oauth2/oauth2-decision-page.ts +60 -55
  25. package/client/entries/public/home.ts +40 -18
  26. package/client/pages/app-binding/app-binding.ts +5 -9
  27. package/client/pages/app-binding/app-bindings.ts +2 -2
  28. package/client/pages/appliance/appliance.ts +6 -9
  29. package/client/pages/appliance/home.ts +3 -3
  30. package/client/pages/appliance/register.ts +1 -1
  31. package/client/pages/application/application.ts +30 -14
  32. package/client/pages/application/applications.ts +4 -12
  33. package/client/pages/application/register.ts +1 -1
  34. package/client/pages/attribute/attribute-set-management.ts +2 -0
  35. package/client/pages/auth-provider/auth-provider-management.ts +2 -0
  36. package/client/pages/domain/domain-management.ts +2 -0
  37. package/client/pages/user/user-management.ts +5 -5
  38. package/dist-client/auth-style-sign.js +29 -18
  39. package/dist-client/auth-style-sign.js.map +1 -1
  40. package/dist-client/components/abstract-auth-page.d.ts +4 -4
  41. package/dist-client/components/abstract-auth-page.js +40 -22
  42. package/dist-client/components/abstract-auth-page.js.map +1 -1
  43. package/dist-client/components/abstract-password-reset.d.ts +3 -2
  44. package/dist-client/components/abstract-password-reset.js +10 -9
  45. package/dist-client/components/abstract-password-reset.js.map +1 -1
  46. package/dist-client/components/abstract-sign.d.ts +3 -0
  47. package/dist-client/components/abstract-sign.js +110 -0
  48. package/dist-client/components/abstract-sign.js.map +1 -1
  49. package/dist-client/components/change-password.js +2 -2
  50. package/dist-client/components/change-password.js.map +1 -1
  51. package/dist-client/components/contact-us.d.ts +4 -4
  52. package/dist-client/components/contact-us.js +17 -16
  53. package/dist-client/components/contact-us.js.map +1 -1
  54. package/dist-client/components/create-domain-popup.d.ts +1 -1
  55. package/dist-client/components/create-domain-popup.js +11 -7
  56. package/dist-client/components/create-domain-popup.js.map +1 -1
  57. package/dist-client/components/create-role.d.ts +1 -1
  58. package/dist-client/components/create-role.js +7 -19
  59. package/dist-client/components/create-role.js.map +1 -1
  60. package/dist-client/components/create-user.js +6 -14
  61. package/dist-client/components/create-user.js.map +1 -1
  62. package/dist-client/components/credential-manager.d.ts +11 -0
  63. package/dist-client/components/credential-manager.js +64 -0
  64. package/dist-client/components/credential-manager.js.map +1 -0
  65. package/dist-client/components/invite-customer.js +5 -7
  66. package/dist-client/components/invite-customer.js.map +1 -1
  67. package/dist-client/components/invite-user.js +2 -7
  68. package/dist-client/components/invite-user.js.map +1 -1
  69. package/dist-client/components/ownership-transfer-popup.d.ts +1 -1
  70. package/dist-client/components/ownership-transfer-popup.js +3 -3
  71. package/dist-client/components/ownership-transfer-popup.js.map +1 -1
  72. package/dist-client/components/partner-role-editor.js +9 -15
  73. package/dist-client/components/partner-role-editor.js.map +1 -1
  74. package/dist-client/components/profile-component.d.ts +6 -0
  75. package/dist-client/components/profile-component.js +111 -7
  76. package/dist-client/components/profile-component.js.map +1 -1
  77. package/dist-client/components/role-privilege-editor.js +10 -17
  78. package/dist-client/components/role-privilege-editor.js.map +1 -1
  79. package/dist-client/components/user-role-editor.d.ts +2 -0
  80. package/dist-client/components/user-role-editor.js +26 -37
  81. package/dist-client/components/user-role-editor.js.map +1 -1
  82. package/dist-client/entries/auth/activate.d.ts +2 -1
  83. package/dist-client/entries/auth/activate.js +16 -17
  84. package/dist-client/entries/auth/activate.js.map +1 -1
  85. package/dist-client/entries/auth/checkin.d.ts +2 -2
  86. package/dist-client/entries/auth/checkin.js +13 -16
  87. package/dist-client/entries/auth/checkin.js.map +1 -1
  88. package/dist-client/entries/auth/forgot-password.d.ts +2 -1
  89. package/dist-client/entries/auth/forgot-password.js +7 -6
  90. package/dist-client/entries/auth/forgot-password.js.map +1 -1
  91. package/dist-client/entries/auth/result.d.ts +2 -2
  92. package/dist-client/entries/auth/result.js +12 -12
  93. package/dist-client/entries/auth/result.js.map +1 -1
  94. package/dist-client/entries/auth/signup.js +19 -24
  95. package/dist-client/entries/auth/signup.js.map +1 -1
  96. package/dist-client/entries/oauth2/oauth2-decision-error-page.d.ts +1 -1
  97. package/dist-client/entries/oauth2/oauth2-decision-error-page.js +2 -2
  98. package/dist-client/entries/oauth2/oauth2-decision-error-page.js.map +1 -1
  99. package/dist-client/entries/oauth2/oauth2-decision-page.d.ts +1 -1
  100. package/dist-client/entries/oauth2/oauth2-decision-page.js +59 -54
  101. package/dist-client/entries/oauth2/oauth2-decision-page.js.map +1 -1
  102. package/dist-client/entries/public/home.d.ts +3 -2
  103. package/dist-client/entries/public/home.js +40 -18
  104. package/dist-client/entries/public/home.js.map +1 -1
  105. package/dist-client/pages/app-binding/app-binding.d.ts +1 -1
  106. package/dist-client/pages/app-binding/app-binding.js +4 -9
  107. package/dist-client/pages/app-binding/app-binding.js.map +1 -1
  108. package/dist-client/pages/app-binding/app-bindings.js +2 -2
  109. package/dist-client/pages/app-binding/app-bindings.js.map +1 -1
  110. package/dist-client/pages/appliance/appliance.d.ts +1 -1
  111. package/dist-client/pages/appliance/appliance.js +5 -9
  112. package/dist-client/pages/appliance/appliance.js.map +1 -1
  113. package/dist-client/pages/appliance/home.js +3 -3
  114. package/dist-client/pages/appliance/home.js.map +1 -1
  115. package/dist-client/pages/appliance/register.js +1 -1
  116. package/dist-client/pages/appliance/register.js.map +1 -1
  117. package/dist-client/pages/application/application.js +26 -13
  118. package/dist-client/pages/application/application.js.map +1 -1
  119. package/dist-client/pages/application/applications.js +4 -12
  120. package/dist-client/pages/application/applications.js.map +1 -1
  121. package/dist-client/pages/application/register.js +1 -1
  122. package/dist-client/pages/application/register.js.map +1 -1
  123. package/dist-client/pages/attribute/attribute-set-management.d.ts +1 -0
  124. package/dist-client/pages/attribute/attribute-set-management.js +1 -0
  125. package/dist-client/pages/attribute/attribute-set-management.js.map +1 -1
  126. package/dist-client/pages/auth-provider/auth-provider-management.d.ts +1 -0
  127. package/dist-client/pages/auth-provider/auth-provider-management.js +1 -0
  128. package/dist-client/pages/auth-provider/auth-provider-management.js.map +1 -1
  129. package/dist-client/pages/domain/domain-management.d.ts +1 -0
  130. package/dist-client/pages/domain/domain-management.js +1 -0
  131. package/dist-client/pages/domain/domain-management.js.map +1 -1
  132. package/dist-client/pages/user/user-management.d.ts +1 -0
  133. package/dist-client/pages/user/user-management.js +4 -5
  134. package/dist-client/pages/user/user-management.js.map +1 -1
  135. package/dist-client/tsconfig.tsbuildinfo +1 -1
  136. package/package.json +5 -10
  137. package/translations/en.json +1 -0
  138. package/translations/ja.json +1 -0
  139. package/translations/ko.json +1 -0
  140. package/translations/ms.json +1 -0
  141. package/translations/zh.json +1 -0
  142. package/views/auth-page.html +2 -2
  143. package/views/oauth2-page.html +3 -3
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-button';
3
- import '@material/mwc-icon';
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/button/elevated-button.js';
4
4
  import '@operato/lottie-player';
5
5
  import { css, html, LitElement } from 'lit';
6
6
  import { customElement, property } from 'lit/decorators.js';
@@ -17,7 +17,7 @@ let AuthCheckIn = class AuthCheckIn extends localize(i18next)(LitElement) {
17
17
  var _a, _b;
18
18
  var { icon, title, description } = this.applicationMeta;
19
19
  return html `
20
- <div class="content">
20
+ <div class="content md-typescale-display-medium">
21
21
  <div class="wrap">
22
22
  <div class="auth-brand">
23
23
  <img src=${icon || ''} />
@@ -34,7 +34,7 @@ let AuthCheckIn = class AuthCheckIn extends localize(i18next)(LitElement) {
34
34
  <li
35
35
  @click=${() => (location.href = `/auth/checkin/${domain.subdomain}?redirect_to=${encodeURIComponent(this.redirectTo || '/')}`)}
36
36
  >
37
- <mwc-icon>keyboard_arrow_right</mwc-icon>
37
+ <md-icon>keyboard_arrow_right</md-icon>
38
38
  <strong>${domain.name}</strong>
39
39
  <span>${domain.description}</span>
40
40
  </li>
@@ -44,18 +44,15 @@ let AuthCheckIn = class AuthCheckIn extends localize(i18next)(LitElement) {
44
44
  : html ` <h3>${i18next.t('text.no domain available')}</h3> `}
45
45
 
46
46
  <div class="button-container">
47
- <mwc-button
48
- raised
49
- label=${String(i18next.t('button.logout'))}
50
- @click="${() => (location.pathname = '/auth/signout')}"
51
- ></mwc-button>
47
+ <md-elevated-button @click=${() => (location.pathname = '/auth/signout')}
48
+ >${String(i18next.t('button.logout'))}</md-elevated-button
49
+ >
52
50
 
53
51
  ${((_b = this.domainType) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'company'
54
- ? html `<mwc-button
55
- raised
56
- label=${String(i18next.t('button.register business domain'))}
52
+ ? html `<md-elevated-button
57
53
  @click=${e => { var _a; return (location.href = `/public/business-register?email=${(_a = this.user) === null || _a === void 0 ? void 0 : _a.email}`); }}
58
- ></mwc-button> `
54
+ >${String(i18next.t('button.register business domain'))}</md-elevated-button
55
+ > `
59
56
  : ''}
60
57
  </div>
61
58
 
@@ -142,7 +139,7 @@ AuthCheckIn.styles = [
142
139
  font: normal var(--fontsize-default) var(--theme-font);
143
140
  color: var(--secondary-text-color);
144
141
  }
145
- li mwc-icon {
142
+ li md-icon {
146
143
  float: right;
147
144
  margin: 2px 0 0 0;
148
145
  opacity: 0.5;
@@ -150,12 +147,12 @@ AuthCheckIn.styles = [
150
147
  .button-container {
151
148
  text-align: center;
152
149
  }
153
- .button-container mwc-button {
150
+ .button-container md-elevated-button {
154
151
  margin-left: var(--margin-narrow);
155
152
  }
156
153
 
157
154
  @media (max-width: 450px) {
158
- .button-container mwc-button {
155
+ .button-container md-elevated-button {
159
156
  width: 100%;
160
157
  margin: var(--margin-default) 0 0 0;
161
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkin.js","sourceRoot":"","sources":["../../../client/entries/auth/checkin.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/mwc-button'\nimport '@material/mwc-icon'\nimport '@operato/lottie-player'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { isSafari } from '@operato/utils'\n\nimport { AUTH_STYLE_SIGN } from '../../auth-style-sign'\n\n@customElement('auth-checkin')\nexport class AuthCheckIn extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n margin: auto;\n background-color: var(--auth-background);\n height: 100vh;\n height: 100dvh;\n }\n .header {\n background-color: var(--primary-color);\n height: var(--checkin-header-height);\n }\n .content {\n flex: 1;\n overflow: auto;\n }\n\n .domains {\n margin: var(--margin-wide) 0;\n padding: 0;\n background-color: var(--theme-white-color);\n border-radius: var(--border-radius);\n border: var(--border-dark-color);\n list-style: none;\n }\n li {\n border-bottom: var(--border-dark-color);\n margin-bottom: -1px;\n padding: var(--padding-default) var(--padding-wide);\n font-size: 18px;\n color: var(--secondary-color);\n text-align: left;\n\n cursor: pointer;\n }\n li:hover {\n background-color: rgba(var(--primary-color-rgb), 0.2);\n }\n li span {\n display: block;\n font: normal var(--fontsize-default) var(--theme-font);\n color: var(--secondary-text-color);\n }\n li mwc-icon {\n float: right;\n margin: 2px 0 0 0;\n opacity: 0.5;\n }\n .button-container {\n text-align: center;\n }\n .button-container mwc-button {\n margin-left: var(--margin-narrow);\n }\n\n @media (max-width: 450px) {\n .button-container mwc-button {\n width: 100%;\n margin: var(--margin-default) 0 0 0;\n }\n }\n `,\n AUTH_STYLE_SIGN\n ]\n\n @property({ type: Object }) data: any\n @property({ type: Array }) domains: any[] = []\n @property({ type: String }) domainType?: string\n @property({ type: Object }) user: any\n\n private _applicationMeta?: { icon?: string; title?: string; description?: string }\n private redirectTo?: string\n\n render() {\n var { icon, title, description } = this.applicationMeta\n\n return html`\n <div class=\"content\">\n <div class=\"wrap\">\n <div class=\"auth-brand\">\n <img src=${icon || ''} />\n <strong class=\"name\">${title}</strong>\n <span class=\"welcome-msg\">${description}</span>\n </div>\n\n <h3>${i18next.t('label.select_domain')}</h3>\n\n ${this.domains?.length\n ? html`\n <ul class=\"domains\">\n ${this.domains.map(\n domain => html`\n <li\n @click=${() =>\n (location.href = `/auth/checkin/${domain.subdomain}?redirect_to=${encodeURIComponent(\n this.redirectTo || '/'\n )}`)}\n >\n <mwc-icon>keyboard_arrow_right</mwc-icon>\n <strong>${domain.name}</strong>\n <span>${domain.description}</span>\n </li>\n `\n )}\n </ul>\n `\n : html` <h3>${i18next.t('text.no domain available')}</h3> `}\n\n <div class=\"button-container\">\n <mwc-button\n raised\n label=${String(i18next.t('button.logout'))}\n @click=\"${() => (location.pathname = '/auth/signout')}\"\n ></mwc-button>\n\n ${this.domainType?.toLowerCase() === 'company'\n ? html`<mwc-button\n raised\n label=${String(i18next.t('button.register business domain'))}\n @click=${e => (location.href = `/public/business-register?email=${this.user?.email}`)}\n ></mwc-button> `\n : ''}\n </div>\n\n ${isSafari()\n ? html``\n : html`\n <div class=\"lottie-container\">\n <lottie-player autoplay loop src=\"../../assets/images/background-animation.json\"></lottie-player>\n </div>\n `}\n </div>\n </div>\n `\n }\n\n updated(changed) {\n if (changed.has('data')) {\n this.domains = this.data.domains\n this.user = this.data.user\n this.domainType = this.data.domainType\n this.redirectTo = this.data.redirectTo\n\n this.requestUpdate()\n }\n }\n\n navigateToUrl(url) {\n location.pathname = url\n }\n\n get applicationMeta() {\n if (!this._applicationMeta) {\n var iconLink: HTMLLinkElement | null = document.querySelector('link[rel=\"application-icon\"]')\n var titleMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-name\"]')\n var descriptionMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-description\"]')\n\n this._applicationMeta = {\n icon: iconLink?.href,\n title: titleMeta ? titleMeta.content : 'Things Factory',\n description: descriptionMeta ? descriptionMeta.content : 'Reimagining Software'\n }\n }\n\n return this._applicationMeta\n }\n}\n"]}
1
+ {"version":3,"file":"checkin.js","sourceRoot":"","sources":["../../../client/entries/auth/checkin.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/button/elevated-button.js'\n\nimport '@operato/lottie-player'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { isSafari } from '@operato/utils'\n\nimport { AUTH_STYLE_SIGN } from '../../auth-style-sign'\n\n@customElement('auth-checkin')\nexport class AuthCheckIn extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n margin: auto;\n background-color: var(--auth-background);\n height: 100vh;\n height: 100dvh;\n }\n .header {\n background-color: var(--primary-color);\n height: var(--checkin-header-height);\n }\n .content {\n flex: 1;\n overflow: auto;\n }\n\n .domains {\n margin: var(--margin-wide) 0;\n padding: 0;\n background-color: var(--theme-white-color);\n border-radius: var(--border-radius);\n border: var(--border-dark-color);\n list-style: none;\n }\n li {\n border-bottom: var(--border-dark-color);\n margin-bottom: -1px;\n padding: var(--padding-default) var(--padding-wide);\n font-size: 18px;\n color: var(--secondary-color);\n text-align: left;\n\n cursor: pointer;\n }\n li:hover {\n background-color: rgba(var(--primary-color-rgb), 0.2);\n }\n li span {\n display: block;\n font: normal var(--fontsize-default) var(--theme-font);\n color: var(--secondary-text-color);\n }\n li md-icon {\n float: right;\n margin: 2px 0 0 0;\n opacity: 0.5;\n }\n .button-container {\n text-align: center;\n }\n .button-container md-elevated-button {\n margin-left: var(--margin-narrow);\n }\n\n @media (max-width: 450px) {\n .button-container md-elevated-button {\n width: 100%;\n margin: var(--margin-default) 0 0 0;\n }\n }\n `,\n AUTH_STYLE_SIGN\n ]\n\n @property({ type: Object }) data: any\n @property({ type: Array }) domains: any[] = []\n @property({ type: String }) domainType?: string\n @property({ type: Object }) user: any\n\n private _applicationMeta?: { icon?: string; title?: string; description?: string }\n private redirectTo?: string\n\n render() {\n var { icon, title, description } = this.applicationMeta\n\n return html`\n <div class=\"content md-typescale-display-medium\">\n <div class=\"wrap\">\n <div class=\"auth-brand\">\n <img src=${icon || ''} />\n <strong class=\"name\">${title}</strong>\n <span class=\"welcome-msg\">${description}</span>\n </div>\n\n <h3>${i18next.t('label.select_domain')}</h3>\n\n ${this.domains?.length\n ? html`\n <ul class=\"domains\">\n ${this.domains.map(\n domain => html`\n <li\n @click=${() =>\n (location.href = `/auth/checkin/${domain.subdomain}?redirect_to=${encodeURIComponent(this.redirectTo || '/')}`)}\n >\n <md-icon>keyboard_arrow_right</md-icon>\n <strong>${domain.name}</strong>\n <span>${domain.description}</span>\n </li>\n `\n )}\n </ul>\n `\n : html` <h3>${i18next.t('text.no domain available')}</h3> `}\n\n <div class=\"button-container\">\n <md-elevated-button @click=${() => (location.pathname = '/auth/signout')}\n >${String(i18next.t('button.logout'))}</md-elevated-button\n >\n\n ${this.domainType?.toLowerCase() === 'company'\n ? html`<md-elevated-button\n @click=${e => (location.href = `/public/business-register?email=${this.user?.email}`)}\n >${String(i18next.t('button.register business domain'))}</md-elevated-button\n > `\n : ''}\n </div>\n\n ${isSafari()\n ? html``\n : html`\n <div class=\"lottie-container\">\n <lottie-player autoplay loop src=\"../../assets/images/background-animation.json\"></lottie-player>\n </div>\n `}\n </div>\n </div>\n `\n }\n\n updated(changed) {\n if (changed.has('data')) {\n this.domains = this.data.domains\n this.user = this.data.user\n this.domainType = this.data.domainType\n this.redirectTo = this.data.redirectTo\n\n this.requestUpdate()\n }\n }\n\n navigateToUrl(url) {\n location.pathname = url\n }\n\n get applicationMeta() {\n if (!this._applicationMeta) {\n var iconLink: HTMLLinkElement | null = document.querySelector('link[rel=\"application-icon\"]')\n var titleMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-name\"]')\n var descriptionMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-description\"]')\n\n this._applicationMeta = {\n icon: iconLink?.href,\n title: titleMeta ? titleMeta.content : 'Things Factory',\n description: descriptionMeta ? descriptionMeta.content : 'Reimagining Software'\n }\n }\n\n return this._applicationMeta\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
- import '@material/mwc-button';
1
+ import '@material/web/button/elevated-button.js';
2
+ import '@material/web/button/text-button.js';
2
3
  import '@operato/i18n/ox-i18n.js';
3
4
  import '../../components/profile-component';
4
5
  import { AbstractAuthPage } from '../../components/abstract-auth-page';
@@ -1,5 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-button';
2
+ import '@material/web/button/elevated-button.js';
3
+ import '@material/web/button/text-button.js';
3
4
  import '@operato/i18n/ox-i18n.js';
4
5
  import '../../components/profile-component';
5
6
  import { html } from 'lit';
@@ -19,7 +20,7 @@ let ForgotPassword = class ForgotPassword extends AbstractAuthPage {
19
20
  return html `
20
21
  <input id="email" name="email" type="hidden" required .value=${email} />
21
22
  <div class="field">
22
- <mwc-textfield
23
+ <md-filled-text-field
23
24
  name="email"
24
25
  type="email"
25
26
  label=${String(i18next.t('label.email'))}
@@ -28,17 +29,17 @@ let ForgotPassword = class ForgotPassword extends AbstractAuthPage {
28
29
  @input=${e => {
29
30
  this.emailInput.value = e.target.value;
30
31
  }}
31
- ></mwc-textfield>
32
+ ></md-filled-text-field>
32
33
  </div>
33
- <mwc-button id="submit-button" class="ui button" type="submit" raised @click=${e => this._onSubmit(e)}>
34
+ <md-elevated-button id="submit-button" class="ui button" type="submit" @click=${e => this._onSubmit(e)}>
34
35
  <ox-i18n msgid="button.submit"></ox-i18n>
35
- </mwc-button>
36
+ </md-elevated-button>
36
37
  `;
37
38
  }
38
39
  get links() {
39
40
  return html `
40
41
  <a class="link" href="/auth/signin">
41
- <mwc-button><ox-i18n msgid="field.sign in"></ox-i18n></mwc-button>
42
+ <md-text-button><ox-i18n msgid="field.sign in"></ox-i18n></md-text-button>
42
43
  </a>
43
44
  `;
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forgot-password.js","sourceRoot":"","sources":["../../../client/entries/auth/forgot-password.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/mwc-button'\nimport '@operato/i18n/ox-i18n.js'\nimport '../../components/profile-component'\n\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { AbstractAuthPage } from '../../components/abstract-auth-page'\n\n@customElement('forgot-password')\nexport class ForgotPassword extends AbstractAuthPage {\n @query('#email') emailInput!: HTMLInputElement\n @query('#submit-button') button!: HTMLInputElement\n\n get pageName() {\n return 'forgot password'\n }\n\n get actionUrl() {\n return '/auth/forgot-password'\n }\n\n get formfields() {\n const email = this.data?.email || ''\n\n return html`\n <input id=\"email\" name=\"email\" type=\"hidden\" required .value=${email} />\n <div class=\"field\">\n <mwc-textfield\n name=\"email\"\n type=\"email\"\n label=${String(i18next.t('label.email'))}\n .value=${email}\n required\n @input=${e => {\n this.emailInput.value = e.target.value\n }}\n ></mwc-textfield>\n </div>\n <mwc-button id=\"submit-button\" class=\"ui button\" type=\"submit\" raised @click=${e => this._onSubmit(e)}>\n <ox-i18n msgid=\"button.submit\"></ox-i18n>\n </mwc-button>\n `\n }\n\n get links() {\n return html`\n <a class=\"link\" href=\"/auth/signin\">\n <mwc-button><ox-i18n msgid=\"field.sign in\"></ox-i18n></mwc-button>\n </a>\n `\n }\n\n async submit() {\n var timer\n var formData = new FormData(this.formEl)\n\n try {\n var controller = new AbortController()\n var signal = controller.signal\n\n this.button.disabled = true\n timer = setTimeout(() => {\n controller.abort()\n throw new Error('timeout')\n }, 30 * 1000)\n\n var response = await fetch('/auth/forgot-password', {\n credentials: 'include',\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(Object.fromEntries(formData.entries())),\n signal\n })\n\n this.showSnackbar({\n message: await response.text(),\n level: response.ok ? 'info' : 'error'\n })\n } catch (e) {\n } finally {\n this.button.disabled = false\n clearTimeout(timer)\n }\n }\n\n showSnackbar({ message, level }) {\n super.showSnackbar({\n level,\n message\n })\n }\n}\n"]}
1
+ {"version":3,"file":"forgot-password.js","sourceRoot":"","sources":["../../../client/entries/auth/forgot-password.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/button/elevated-button.js'\nimport '@material/web/button/text-button.js'\n\nimport '@operato/i18n/ox-i18n.js'\nimport '../../components/profile-component'\n\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { AbstractAuthPage } from '../../components/abstract-auth-page'\n\n@customElement('forgot-password')\nexport class ForgotPassword extends AbstractAuthPage {\n @query('#email') emailInput!: HTMLInputElement\n @query('#submit-button') button!: HTMLInputElement\n\n get pageName() {\n return 'forgot password'\n }\n\n get actionUrl() {\n return '/auth/forgot-password'\n }\n\n get formfields() {\n const email = this.data?.email || ''\n\n return html`\n <input id=\"email\" name=\"email\" type=\"hidden\" required .value=${email} />\n <div class=\"field\">\n <md-filled-text-field\n name=\"email\"\n type=\"email\"\n label=${String(i18next.t('label.email'))}\n .value=${email}\n required\n @input=${e => {\n this.emailInput.value = e.target.value\n }}\n ></md-filled-text-field>\n </div>\n <md-elevated-button id=\"submit-button\" class=\"ui button\" type=\"submit\" @click=${e => this._onSubmit(e)}>\n <ox-i18n msgid=\"button.submit\"></ox-i18n>\n </md-elevated-button>\n `\n }\n\n get links() {\n return html`\n <a class=\"link\" href=\"/auth/signin\">\n <md-text-button><ox-i18n msgid=\"field.sign in\"></ox-i18n></md-text-button>\n </a>\n `\n }\n\n async submit() {\n var timer\n var formData = new FormData(this.formEl)\n\n try {\n var controller = new AbortController()\n var signal = controller.signal\n\n this.button.disabled = true\n timer = setTimeout(() => {\n controller.abort()\n throw new Error('timeout')\n }, 30 * 1000)\n\n var response = await fetch('/auth/forgot-password', {\n credentials: 'include',\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(Object.fromEntries(formData.entries())),\n signal\n })\n\n this.showSnackbar({\n message: await response.text(),\n level: response.ok ? 'info' : 'error'\n })\n } catch (e) {\n } finally {\n this.button.disabled = false\n clearTimeout(timer)\n }\n }\n\n showSnackbar({ message, level }) {\n super.showSnackbar({\n level,\n message\n })\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import '@material/mwc-button';
2
- import '../../components/profile-component';
1
+ import '@material/web/button/elevated-button.js';
3
2
  import '@operato/lottie-player';
3
+ import '../../components/profile-component';
4
4
  import { LitElement } from 'lit';
5
5
  declare const AuthResult_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
6
  export declare class AuthResult extends AuthResult_base {
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-button';
3
- import '../../components/profile-component';
2
+ import '@material/web/button/elevated-button.js';
4
3
  import '@operato/lottie-player';
4
+ import '../../components/profile-component';
5
5
  import { css, html, LitElement } from 'lit';
6
6
  import { customElement, property } from 'lit/decorators.js';
7
7
  import { i18next, localize } from '@operato/i18n';
@@ -30,14 +30,14 @@ let AuthResult = class AuthResult extends localize(i18next)(LitElement) {
30
30
  <p></p>
31
31
  </div>
32
32
  <div id="button-area">
33
- <mwc-button
34
- icon="home"
35
- raised
36
- label="${i18next.t('button.go to home')}"
33
+ <md-elevated-button
37
34
  @click=${e => {
38
35
  window.location.replace('/auth/signin');
39
36
  }}
40
- ></mwc-button>
37
+ >
38
+ <md-icon slot="icon">home</md-icon>
39
+ ${i18next.t('button.go to home')}
40
+ </md-elevated-button>
41
41
  </div>
42
42
 
43
43
  ${isSafari()
@@ -127,11 +127,11 @@ AuthResult.styles = [
127
127
  border-top: 1px dashed rgba(0, 0, 0, 0.1);
128
128
  padding-top: 10px;
129
129
  }
130
- mwc-button {
131
- --mdc-theme-primary: var(--auth-button-background-color);
132
- --mdc-theme-on-primary: var(--primary-color);
133
- --mdc-button-horizontal-padding: var(--padding-default);
134
- --mdc-button-ink-color: var(--primary-color);
130
+ md-elevated-button {
131
+ --md-theme-primary: var(--auth-button-background-color);
132
+ --md-theme-on-primary: var(--primary-color);
133
+ --md-button-horizontal-padding: var(--padding-default);
134
+ --md-button-ink-color: var(--primary-color);
135
135
  }
136
136
  .lottie-container {
137
137
  width: 100%;
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../client/entries/auth/result.ts"],"names":[],"mappings":";AAAA,OAAO,sBAAsB,CAAA;AAC7B,OAAO,oCAAoC,CAAA;AAC3C,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAqH3D,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAA;SAC5D;IACH,CAAC;IAED,MAAM;QACJ,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAA;QAEvD,OAAO,IAAI,CAAA;yBACU,IAAI,CAAC,UAAU;;qBAEnB,IAAI;iCACQ,KAAK;sCACA,WAAW;;;;gBAIjC,IAAI,CAAC,OAAO,IAAI,EAAE;;;;;;;;;qBASb,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;qBAC9B,CAAC,CAAC,EAAE;YACX,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACzC,CAAC;;;;UAIH,QAAQ,EAAE;YACV,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,CAAC,CAAC,IAAI,CAAA;;;;aAIH;;KAER,CAAA;IACH,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI,QAAQ,GAA2B,QAAQ,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAA;YAC7F,IAAI,SAAS,GAA2B,QAAQ,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAA;YAC/F,IAAI,eAAe,GAA2B,QAAQ,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAA;YAE5G,IAAI,CAAC,gBAAgB,GAAG;gBACtB,IAAI,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;gBACvD,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;aAChF,CAAA;SACF;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;;AAhLM,iBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0GF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCAAU;AACrC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CAAiB;AAC5C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CAAoB;AAjHpC,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAkLtB;SAlLY,UAAU","sourcesContent":["import '@material/mwc-button'\nimport '../../components/profile-component'\nimport '@operato/lottie-player'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { isSafari } from '@operato/utils'\n\n@customElement('auth-result')\nexport class AuthResult extends localize(i18next)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n width: 100vw;\n height: 100vh;\n height: 100dvh;\n background-color: var(--auth-background);\n }\n .wrap {\n display: block;\n width: 450px;\n min-width: 350px;\n margin: 0 auto;\n text-align: center;\n }\n .auth-brand {\n color: #fff;\n }\n .auth-brand img {\n margin: 15% auto 5px auto;\n width: 100px;\n border: 3px solid var(--theme-white-color);\n border-radius: 25px;\n box-shadow: var(--box-shadow);\n }\n .name {\n display: block;\n font: var(--auth-brand-name);\n text-shadow: var(--auth-brand-name-shadow);\n }\n h1 {\n margin: 50px 0 0 0;\n padding: 0;\n font-size: 24px;\n color: var(--auth-title-color);\n }\n p {\n margin: 0;\n padding: var(--auth-description-padding);\n font: var(--auth-description-font);\n color: var(--auth-description-color);\n }\n :host *:focus {\n outline: none;\n }\n .user {\n background: url(/assets/images/icon-profile.png) center top no-repeat;\n margin: var(--profile-icon-margin);\n padding: 180px 20px 20px 20px;\n color: var(--secondary-color);\n font: var(--header-bar-title);\n text-align: center;\n }\n\n label {\n font: bold 14px var(--theme-font);\n color: var(--primary-color);\n }\n #button-area {\n border-top: 1px dashed rgba(0, 0, 0, 0.1);\n padding-top: 10px;\n }\n mwc-button {\n --mdc-theme-primary: var(--auth-button-background-color);\n --mdc-theme-on-primary: var(--primary-color);\n --mdc-button-horizontal-padding: var(--padding-default);\n --mdc-button-ink-color: var(--primary-color);\n }\n .lottie-container {\n width: 100%;\n height: 300px;\n position: absolute;\n left: 0;\n bottom: 0;\n pointer-events: none;\n }\n .lottie-container lottie-player {\n position: absolute;\n bottom: -6%;\n width: 100%;\n height: auto;\n }\n\n @media (max-width: 450px) {\n .wrap {\n width: 85%;\n min-width: 320px;\n padding-bottom: 100px;\n }\n .auth-form {\n grid-template-columns: 1fr;\n }\n .auth-brand img {\n margin: 12% auto 5px auto;\n width: 75px;\n }\n .lottie-container {\n overflow: hidden;\n height: 200px;\n pointer-events: none;\n }\n .lottie-container lottie-player {\n width: 1200px;\n left: -30%;\n }\n }\n `\n ]\n\n @property({ type: Object }) data: any\n @property({ type: String }) message?: string\n @property({ type: String }) resultType?: string\n\n private _applicationMeta?: { icon?: string; title?: string; description?: string }\n\n updated(changed) {\n if (changed.has('data')) {\n this.message = this.data.message\n this.resultType = this.data.resultType || 'congratulations'\n }\n }\n\n render() {\n var { icon, title, description } = this.applicationMeta\n\n return html`\n <div class=\"wrap ${this.resultType}\">\n <div class=\"auth-brand\">\n <img src=${icon} />\n <strong class=\"name\">${title}</strong>\n <span class=\"welcome-msg\">${description}</span>\n </div>\n\n <div id=\"message-area\">\n <h1>${this.message || ''}</h1>\n\n <!--description message container-->\n <p></p>\n </div>\n <div id=\"button-area\">\n <mwc-button\n icon=\"home\"\n raised\n label=\"${i18next.t('button.go to home')}\"\n @click=${e => {\n window.location.replace('/auth/signin')\n }}\n ></mwc-button>\n </div>\n\n ${isSafari()\n ? html``\n : html`\n <div class=\"lottie-container\">\n <lottie-player autoplay loop src=\"../../assets/images/background-animation.json\"></lottie-player>\n </div>\n `}\n </div>\n `\n }\n\n get applicationMeta() {\n if (!this._applicationMeta) {\n var iconLink: HTMLLinkElement | null = document.querySelector('link[rel=\"application-icon\"]')\n var titleMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-name\"]')\n var descriptionMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-description\"]')\n\n this._applicationMeta = {\n icon: iconLink?.href,\n title: titleMeta ? titleMeta.content : 'Things Factory',\n description: descriptionMeta ? descriptionMeta.content : 'Reimagining Software'\n }\n }\n\n return this._applicationMeta\n }\n}\n"]}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../client/entries/auth/result.ts"],"names":[],"mappings":";AAAA,OAAO,yCAAyC,CAAA;AAEhD,OAAO,wBAAwB,CAAA;AAC/B,OAAO,oCAAoC,CAAA;AAE3C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAqH3D,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAA;SAC5D;IACH,CAAC;IAED,MAAM;QACJ,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAA;QAEvD,OAAO,IAAI,CAAA;yBACU,IAAI,CAAC,UAAU;;qBAEnB,IAAI;iCACQ,KAAK;sCACA,WAAW;;;;gBAIjC,IAAI,CAAC,OAAO,IAAI,EAAE;;;;;;;qBAOb,CAAC,CAAC,EAAE;YACX,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACzC,CAAC;;;cAGC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;;;;UAIlC,QAAQ,EAAE;YACV,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,CAAC,CAAC,IAAI,CAAA;;;;aAIH;;KAER,CAAA;IACH,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI,QAAQ,GAA2B,QAAQ,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAA;YAC7F,IAAI,SAAS,GAA2B,QAAQ,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAA;YAC/F,IAAI,eAAe,GAA2B,QAAQ,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAA;YAE5G,IAAI,CAAC,gBAAgB,GAAG;gBACtB,IAAI,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;gBACvD,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;aAChF,CAAA;SACF;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;;AAhLM,iBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0GF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCAAU;AACrC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CAAiB;AAC5C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CAAoB;AAjHpC,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAkLtB;SAlLY,UAAU","sourcesContent":["import '@material/web/button/elevated-button.js'\n\nimport '@operato/lottie-player'\nimport '../../components/profile-component'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { isSafari } from '@operato/utils'\n\n@customElement('auth-result')\nexport class AuthResult extends localize(i18next)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n width: 100vw;\n height: 100vh;\n height: 100dvh;\n background-color: var(--auth-background);\n }\n .wrap {\n display: block;\n width: 450px;\n min-width: 350px;\n margin: 0 auto;\n text-align: center;\n }\n .auth-brand {\n color: #fff;\n }\n .auth-brand img {\n margin: 15% auto 5px auto;\n width: 100px;\n border: 3px solid var(--theme-white-color);\n border-radius: 25px;\n box-shadow: var(--box-shadow);\n }\n .name {\n display: block;\n font: var(--auth-brand-name);\n text-shadow: var(--auth-brand-name-shadow);\n }\n h1 {\n margin: 50px 0 0 0;\n padding: 0;\n font-size: 24px;\n color: var(--auth-title-color);\n }\n p {\n margin: 0;\n padding: var(--auth-description-padding);\n font: var(--auth-description-font);\n color: var(--auth-description-color);\n }\n :host *:focus {\n outline: none;\n }\n .user {\n background: url(/assets/images/icon-profile.png) center top no-repeat;\n margin: var(--profile-icon-margin);\n padding: 180px 20px 20px 20px;\n color: var(--secondary-color);\n font: var(--header-bar-title);\n text-align: center;\n }\n\n label {\n font: bold 14px var(--theme-font);\n color: var(--primary-color);\n }\n #button-area {\n border-top: 1px dashed rgba(0, 0, 0, 0.1);\n padding-top: 10px;\n }\n md-elevated-button {\n --md-theme-primary: var(--auth-button-background-color);\n --md-theme-on-primary: var(--primary-color);\n --md-button-horizontal-padding: var(--padding-default);\n --md-button-ink-color: var(--primary-color);\n }\n .lottie-container {\n width: 100%;\n height: 300px;\n position: absolute;\n left: 0;\n bottom: 0;\n pointer-events: none;\n }\n .lottie-container lottie-player {\n position: absolute;\n bottom: -6%;\n width: 100%;\n height: auto;\n }\n\n @media (max-width: 450px) {\n .wrap {\n width: 85%;\n min-width: 320px;\n padding-bottom: 100px;\n }\n .auth-form {\n grid-template-columns: 1fr;\n }\n .auth-brand img {\n margin: 12% auto 5px auto;\n width: 75px;\n }\n .lottie-container {\n overflow: hidden;\n height: 200px;\n pointer-events: none;\n }\n .lottie-container lottie-player {\n width: 1200px;\n left: -30%;\n }\n }\n `\n ]\n\n @property({ type: Object }) data: any\n @property({ type: String }) message?: string\n @property({ type: String }) resultType?: string\n\n private _applicationMeta?: { icon?: string; title?: string; description?: string }\n\n updated(changed) {\n if (changed.has('data')) {\n this.message = this.data.message\n this.resultType = this.data.resultType || 'congratulations'\n }\n }\n\n render() {\n var { icon, title, description } = this.applicationMeta\n\n return html`\n <div class=\"wrap ${this.resultType}\">\n <div class=\"auth-brand\">\n <img src=${icon} />\n <strong class=\"name\">${title}</strong>\n <span class=\"welcome-msg\">${description}</span>\n </div>\n\n <div id=\"message-area\">\n <h1>${this.message || ''}</h1>\n\n <!--description message container-->\n <p></p>\n </div>\n <div id=\"button-area\">\n <md-elevated-button\n @click=${e => {\n window.location.replace('/auth/signin')\n }}\n >\n <md-icon slot=\"icon\">home</md-icon>\n ${i18next.t('button.go to home')}\n </md-elevated-button>\n </div>\n\n ${isSafari()\n ? html``\n : html`\n <div class=\"lottie-container\">\n <lottie-player autoplay loop src=\"../../assets/images/background-animation.json\"></lottie-player>\n </div>\n `}\n </div>\n `\n }\n\n get applicationMeta() {\n if (!this._applicationMeta) {\n var iconLink: HTMLLinkElement | null = document.querySelector('link[rel=\"application-icon\"]')\n var titleMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-name\"]')\n var descriptionMeta: HTMLMetaElement | null = document.querySelector('meta[name=\"application-description\"]')\n\n this._applicationMeta = {\n icon: iconLink?.href,\n title: titleMeta ? titleMeta.content : 'Things Factory',\n description: descriptionMeta ? descriptionMeta.content : 'Reimagining Software'\n }\n }\n\n return this._applicationMeta\n }\n}\n"]}
@@ -14,28 +14,27 @@ let AuthSignup = class AuthSignup extends AbstractSign {
14
14
  }
15
15
  get formfields() {
16
16
  const { name = '', email = '' } = this.data || {};
17
+ // .validationMessage=${this.passwordHelp || ''}
18
+ // .validationMessage=${String(i18next.t('text.passwords do not match'))}
17
19
  return html `
18
20
  <div class="field">
19
- <mwc-textfield
20
- name="name"
21
- type="text"
22
- label=${String(i18next.t('field.name'))}
23
- .value=${name}
24
- required
25
- ></mwc-textfield>
21
+ <md-filled-text-field name="name" type="text" label=${String(i18next.t('field.name'))} .value=${name} required></md-filled-text-field>
26
22
  </div>
27
23
  <div class="field">
28
- <mwc-textfield
24
+ <md-filled-text-field
29
25
  name="email"
30
26
  type="email"
31
27
  label=${String(i18next.t('field.email'))}
32
28
  required
33
29
  .value=${email}
34
- .validationMessage=${String(i18next.t('text.invalid-email'))}
35
- ></mwc-textfield>
30
+ @input=${(e) => {
31
+ const target = e.target;
32
+ target.setCustomValidity(i18next.t('text.invalid-email'));
33
+ }}
34
+ ></md-filled-text-field>
36
35
  </div>
37
36
  <div class="field">
38
- <mwc-textfield
37
+ <md-filled-text-field
39
38
  name="password"
40
39
  type="password"
41
40
  label=${String(i18next.t('field.password'))}
@@ -47,22 +46,18 @@ let AuthSignup = class AuthSignup extends AbstractSign {
47
46
  var val = e.target.value;
48
47
  this.confirmPass.setAttribute('pattern', val.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '[$&]'));
49
48
  }}
50
- .validationMessage=${this.passwordHelp || ''}
51
- ></mwc-textfield>
49
+ >
50
+ ></md-filled-text-field
51
+ >
52
52
  </div>
53
53
  <div class="field">
54
- <mwc-textfield
55
- id="confirm-password"
56
- name="confirm-password"
57
- type="password"
58
- label=${String(i18next.t('field.confirm password'))}
59
- required
60
- .validationMessage=${String(i18next.t('text.passwords do not match'))}
61
- ></mwc-textfield>
54
+ <md-filled-text-field id="confirm-password" name="confirm-password" type="password" label=${String(i18next.t('field.confirm password'))} required>
55
+ ></md-filled-text-field
56
+ >
62
57
  </div>
63
- <mwc-button class="ui button" raised @click=${e => this._onSubmit(e)}>
58
+ <md-elevated-button class="ui button" @click=${e => this._onSubmit(e)}>
64
59
  <ox-i18n msgid="field.${this.pageName}"></ox-i18n>
65
- </mwc-button>
60
+ </md-elevated-button>
66
61
  `;
67
62
  }
68
63
  languageUpdated() {
@@ -72,7 +67,7 @@ let AuthSignup = class AuthSignup extends AbstractSign {
72
67
  get links() {
73
68
  return html `
74
69
  <a class="link" href="/auth/signin">
75
- <mwc-button><ox-i18n msgid="field.sign in"></ox-i18n></mwc-button>
70
+ <md-text-button><ox-i18n msgid="field.sign in"></ox-i18n></md-text-button>
76
71
  </a>
77
72
  `;
78
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../client/entries/auth/signup.ts"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAG/F,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAI1C,IAAI,QAAQ;QACV,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,cAAc,CAAA;IACvB,CAAC;IAID,IAAI,UAAU;QACZ,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAEjD,OAAO,IAAI,CAAA;;;;;kBAKG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;mBAC9B,IAAI;;;;;;;;kBAQL,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;;mBAE/B,KAAK;+BACO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;;;;;;;kBAOpD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;qBAChC,IAAI,CAAC,eAAe,IAAI,EAAE;mBAC5B,IAAI,CAAC,YAAY,IAAI,EAAE;;;mBAGvB,CAAC,CAAC,EAAE;YACX,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;YACxB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAA;QAC3F,CAAC;+BACoB,IAAI,CAAC,YAAY,IAAI,EAAE;;;;;;;;kBAQpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;;+BAE9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;;;oDAG3B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC1C,IAAI,CAAC,QAAQ;;KAExC,CAAA;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,eAAe,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA;QACnF,IAAI,CAAC,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAA;;;;KAIV,CAAA;IACH,CAAC;CACF,CAAA;AArEC;IAAC,KAAK,CAAC,mBAAmB,CAAC;8BAAe,gBAAgB;+CAAA;AAZ/C,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAiFtB;SAjFY,UAAU","sourcesContent":["import '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { AbstractSign } from '../../components/abstract-sign'\nimport { generatePasswordPatternHelp, generatePasswordPatternRegExp } from '../../utils/password-rule'\n\n@customElement('auth-signup')\nexport class AuthSignup extends AbstractSign {\n private passwordPattern?: string\n private passwordHelp?: string\n\n get pageName() {\n return 'sign up'\n }\n\n get actionUrl() {\n return '/auth/signup'\n }\n\n @query('#confirm-password') confirmPass!: HTMLInputElement\n\n get formfields() {\n const { name = '', email = '' } = this.data || {}\n\n return html`\n <div class=\"field\">\n <mwc-textfield\n name=\"name\"\n type=\"text\"\n label=${String(i18next.t('field.name'))}\n .value=${name}\n required\n ></mwc-textfield>\n </div>\n <div class=\"field\">\n <mwc-textfield\n name=\"email\"\n type=\"email\"\n label=${String(i18next.t('field.email'))}\n required\n .value=${email}\n .validationMessage=${String(i18next.t('text.invalid-email'))}\n ></mwc-textfield>\n </div>\n <div class=\"field\">\n <mwc-textfield\n name=\"password\"\n type=\"password\"\n label=${String(i18next.t('field.password'))}\n .pattern=${this.passwordPattern || ''}\n helper=${this.passwordHelp || ''}\n helperPersistent\n required\n @input=${e => {\n var val = e.target.value\n this.confirmPass.setAttribute('pattern', val.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '[$&]'))\n }}\n .validationMessage=${this.passwordHelp || ''}\n ></mwc-textfield>\n </div>\n <div class=\"field\">\n <mwc-textfield\n id=\"confirm-password\"\n name=\"confirm-password\"\n type=\"password\"\n label=${String(i18next.t('field.confirm password'))}\n required\n .validationMessage=${String(i18next.t('text.passwords do not match'))}\n ></mwc-textfield>\n </div>\n <mwc-button class=\"ui button\" raised @click=${e => this._onSubmit(e)}>\n <ox-i18n msgid=\"field.${this.pageName}\"></ox-i18n>\n </mwc-button>\n `\n }\n\n languageUpdated() {\n this.passwordPattern = generatePasswordPatternRegExp(this.data.passwordRule).source\n this.passwordHelp = generatePasswordPatternHelp(this.data.passwordRule)\n }\n\n get links() {\n return html`\n <a class=\"link\" href=\"/auth/signin\">\n <mwc-button><ox-i18n msgid=\"field.sign in\"></ox-i18n></mwc-button>\n </a>\n `\n }\n}\n"]}
1
+ {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../client/entries/auth/signup.ts"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAG/F,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAI1C,IAAI,QAAQ;QACV,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,cAAc,CAAA;IACvB,CAAC;IAID,IAAI,UAAU;QACZ,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAEjD,gDAAgD;QAChD,yEAAyE;QAEzE,OAAO,IAAI,CAAA;;8DAE+C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,IAAI;;;;;;kBAM1F,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;;mBAE/B,KAAK;mBACL,CAAC,CAAQ,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAyB,CAAA;YAC1C,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC3D,CAAC;;;;;;;kBAOO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;qBAChC,IAAI,CAAC,eAAe,IAAI,EAAE;mBAC5B,IAAI,CAAC,YAAY,IAAI,EAAE;;;mBAGvB,CAAC,CAAC,EAAE;YACX,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;YACxB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAA;QAC3F,CAAC;;;;;;oGAMyF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;;;;qDAI1F,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC3C,IAAI,CAAC,QAAQ;;KAExC,CAAA;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,eAAe,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA;QACnF,IAAI,CAAC,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAA;;;;KAIV,CAAA;IACH,CAAC;CACF,CAAA;AAjEC;IAAC,KAAK,CAAC,mBAAmB,CAAC;8BAAe,gBAAgB;+CAAA;AAZ/C,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CA6EtB;SA7EY,UAAU","sourcesContent":["import '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { AbstractSign } from '../../components/abstract-sign'\nimport { generatePasswordPatternHelp, generatePasswordPatternRegExp } from '../../utils/password-rule'\n\n@customElement('auth-signup')\nexport class AuthSignup extends AbstractSign {\n private passwordPattern?: string\n private passwordHelp?: string\n\n get pageName() {\n return 'sign up'\n }\n\n get actionUrl() {\n return '/auth/signup'\n }\n\n @query('#confirm-password') confirmPass!: HTMLInputElement\n\n get formfields() {\n const { name = '', email = '' } = this.data || {}\n\n // .validationMessage=${this.passwordHelp || ''}\n // .validationMessage=${String(i18next.t('text.passwords do not match'))}\n\n return html`\n <div class=\"field\">\n <md-filled-text-field name=\"name\" type=\"text\" label=${String(i18next.t('field.name'))} .value=${name} required></md-filled-text-field>\n </div>\n <div class=\"field\">\n <md-filled-text-field\n name=\"email\"\n type=\"email\"\n label=${String(i18next.t('field.email'))}\n required\n .value=${email}\n @input=${(e: Event) => {\n const target = e.target as HTMLFormElement\n target.setCustomValidity(i18next.t('text.invalid-email'))\n }}\n ></md-filled-text-field>\n </div>\n <div class=\"field\">\n <md-filled-text-field\n name=\"password\"\n type=\"password\"\n label=${String(i18next.t('field.password'))}\n .pattern=${this.passwordPattern || ''}\n helper=${this.passwordHelp || ''}\n helperPersistent\n required\n @input=${e => {\n var val = e.target.value\n this.confirmPass.setAttribute('pattern', val.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '[$&]'))\n }}\n >\n ></md-filled-text-field\n >\n </div>\n <div class=\"field\">\n <md-filled-text-field id=\"confirm-password\" name=\"confirm-password\" type=\"password\" label=${String(i18next.t('field.confirm password'))} required>\n ></md-filled-text-field\n >\n </div>\n <md-elevated-button class=\"ui button\" @click=${e => this._onSubmit(e)}>\n <ox-i18n msgid=\"field.${this.pageName}\"></ox-i18n>\n </md-elevated-button>\n `\n }\n\n languageUpdated() {\n this.passwordPattern = generatePasswordPatternRegExp(this.data.passwordRule).source\n this.passwordHelp = generatePasswordPatternHelp(this.data.passwordRule)\n }\n\n get links() {\n return html`\n <a class=\"link\" href=\"/auth/signin\">\n <md-text-button><ox-i18n msgid=\"field.sign in\"></ox-i18n></md-text-button>\n </a>\n `\n }\n}\n"]}
@@ -1 +1 @@
1
- import '@material/mwc-button';
1
+ import '@material/web/button/elevated-button.js';
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-button';
2
+ import '@material/web/button/elevated-button.js';
3
3
  import { html, LitElement } from 'lit';
4
4
  import { customElement, property } from 'lit/decorators.js';
5
5
  let OAuth2DecisionErrorPage = class OAuth2DecisionErrorPage extends LitElement {
@@ -33,7 +33,7 @@ let OAuth2DecisionErrorPage = class OAuth2DecisionErrorPage extends LitElement {
33
33
  <input name="state" type="text" value="${this.req.state}" hidden />
34
34
  <input name="email" type="text" value="${this.user.email}" hidden />
35
35
 
36
- <mwc-button raised @click="${() => history.back()}">Move back</mwc-button>
36
+ <md-elevated-button raised @click="${() => history.back()}">Move back</md-elevated-button>
37
37
  </form>
38
38
  `;
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth2-decision-error-page.js","sourceRoot":"","sources":["../../../client/entries/oauth2/oauth2-decision-error-page.ts"],"names":[],"mappings":";AAAA,OAAO,sBAAsB,CAAA;AAE7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG3D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;IAAhD;;QAC8B,SAAI,GAAQ,EAAE,CAAA;QACd,SAAI,GAAQ,EAAE,CAAA;QACd,WAAM,GAAQ,EAAE,CAAA;QAChB,QAAG,GAAQ,EAAE,CAAA;QACb,gBAAW,GAAW,EAAE,CAAA;QACxB,kBAAa,GAAW,EAAE,CAAA;IAqCxD,CAAC;IAnCC,MAAM;QACJ,OAAO,IAAI,CAAA;;;cAGD,IAAI,CAAC,IAAI,CAAC,IAAI;;;;oBAIR,IAAI,CAAC,MAAM,CAAC,SAAS;mCACN,IAAI,CAAC,GAAG,CAAC,QAAQ;0BAC1B,IAAI,CAAC,WAAW;mBACvB,IAAI,CAAC,GAAG,CAAC,KAAK;;;8CAGa,IAAI,CAAC,aAAa;qDACX,IAAI,CAAC,MAAM,CAAC,SAAS;sCACpC,IAAI,CAAC,GAAG,CAAC,QAAQ;qCAClB,IAAI,CAAC,GAAG,CAAC,KAAK;iDACF,IAAI,CAAC,GAAG,CAAC,KAAK;iDACd,IAAI,CAAC,IAAI,CAAC,KAAK;;qCAE3B,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;;KAEpD,CAAA;IACH,CAAC;IAED,OAAO,CAAC,YAAY;;QAClB,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,IAAI,KAAI,IAAI,CAAC,IAAI,CAAA;YAChD,IAAI,CAAC,MAAM,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,IAAI,CAAC,MAAM,CAAA;YAC9C,IAAI,CAAC,GAAG,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,GAAG,KAAI,IAAI,CAAC,GAAG,CAAA;YAC7C,IAAI,CAAC,WAAW,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,WAAW,KAAI,IAAI,CAAC,WAAW,CAAA;YACrE,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,aAAa,KAAI,IAAI,CAAC,aAAa,CAAA;SAC5E;IACH,CAAC;CACF,CAAA;AA1CC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAe;AAC1C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAe;AAC1C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAAiB;AAC5C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDAAc;AACzC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4DAAyB;AACpD;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8DAA2B;AANlD,uBAAuB;IAD5B,aAAa,CAAC,uBAAuB,CAAC;GACjC,uBAAuB,CA2C5B","sourcesContent":["import '@material/mwc-button'\n\nimport { html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('oauth2-decision-error')\nclass OAuth2DecisionErrorPage extends LitElement {\n @property({ type: Object }) data: any = {}\n @property({ type: Object }) user: any = {}\n @property({ type: Object }) domain: any = {}\n @property({ type: Object }) req: any = {}\n @property({ type: String }) redirectURI: string = ''\n @property({ type: String }) transactionID: string = ''\n\n render() {\n return html`\n <h2>Application Binding Error</h2>\n\n <p>Hi ${this.user.name}!</p>\n <p><b>Application Not Found</b></p>\n <p>You better check you give a correct client id (appKey)</p>\n\n <p>Company: ${this.domain.subdomain}</p>\n <p>Application Client ID : ${this.req.clientID}</p>\n <p>Redirect URI : ${this.redirectURI}</p>\n <p>State : ${this.req.state}</p>\n\n <form>\n <input name=\"transaction_id\" value=\"${this.transactionID}\" hidden />\n <input name=\"subdomain\" type=\"text\" value=\"${this.domain.subdomain}\" hidden />\n <input name=\"appKey\" value=\"${this.req.clientID}\" hidden />\n <input name=\"scope\" value=\"${this.req.scope}\" hidden />\n <input name=\"state\" type=\"text\" value=\"${this.req.state}\" hidden />\n <input name=\"email\" type=\"text\" value=\"${this.user.email}\" hidden />\n\n <mwc-button raised @click=\"${() => history.back()}\">Move back</mwc-button>\n </form>\n `\n }\n\n updated(changedProps) {\n if (changedProps.has('data')) {\n this.user = this.data?.oauth2?.user || this.user\n this.domain = this.data?.domain || this.domain\n this.req = this.data?.oauth2?.req || this.req\n this.redirectURI = this.data?.oauth2?.redirectURI || this.redirectURI\n this.transactionID = this.data?.oauth2?.transactionID || this.transactionID\n }\n }\n}\n"]}
1
+ {"version":3,"file":"oauth2-decision-error-page.js","sourceRoot":"","sources":["../../../client/entries/oauth2/oauth2-decision-error-page.ts"],"names":[],"mappings":";AAAA,OAAO,yCAAyC,CAAA;AAEhD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG3D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;IAAhD;;QAC8B,SAAI,GAAQ,EAAE,CAAA;QACd,SAAI,GAAQ,EAAE,CAAA;QACd,WAAM,GAAQ,EAAE,CAAA;QAChB,QAAG,GAAQ,EAAE,CAAA;QACb,gBAAW,GAAW,EAAE,CAAA;QACxB,kBAAa,GAAW,EAAE,CAAA;IAqCxD,CAAC;IAnCC,MAAM;QACJ,OAAO,IAAI,CAAA;;;cAGD,IAAI,CAAC,IAAI,CAAC,IAAI;;;;oBAIR,IAAI,CAAC,MAAM,CAAC,SAAS;mCACN,IAAI,CAAC,GAAG,CAAC,QAAQ;0BAC1B,IAAI,CAAC,WAAW;mBACvB,IAAI,CAAC,GAAG,CAAC,KAAK;;;8CAGa,IAAI,CAAC,aAAa;qDACX,IAAI,CAAC,MAAM,CAAC,SAAS;sCACpC,IAAI,CAAC,GAAG,CAAC,QAAQ;qCAClB,IAAI,CAAC,GAAG,CAAC,KAAK;iDACF,IAAI,CAAC,GAAG,CAAC,KAAK;iDACd,IAAI,CAAC,IAAI,CAAC,KAAK;;6CAEnB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;;KAE5D,CAAA;IACH,CAAC;IAED,OAAO,CAAC,YAAY;;QAClB,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,IAAI,KAAI,IAAI,CAAC,IAAI,CAAA;YAChD,IAAI,CAAC,MAAM,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,IAAI,CAAC,MAAM,CAAA;YAC9C,IAAI,CAAC,GAAG,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,GAAG,KAAI,IAAI,CAAC,GAAG,CAAA;YAC7C,IAAI,CAAC,WAAW,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,WAAW,KAAI,IAAI,CAAC,WAAW,CAAA;YACrE,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,aAAa,KAAI,IAAI,CAAC,aAAa,CAAA;SAC5E;IACH,CAAC;CACF,CAAA;AA1CC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAe;AAC1C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAe;AAC1C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAAiB;AAC5C;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDAAc;AACzC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4DAAyB;AACpD;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8DAA2B;AANlD,uBAAuB;IAD5B,aAAa,CAAC,uBAAuB,CAAC;GACjC,uBAAuB,CA2C5B","sourcesContent":["import '@material/web/button/elevated-button.js'\n\nimport { html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('oauth2-decision-error')\nclass OAuth2DecisionErrorPage extends LitElement {\n @property({ type: Object }) data: any = {}\n @property({ type: Object }) user: any = {}\n @property({ type: Object }) domain: any = {}\n @property({ type: Object }) req: any = {}\n @property({ type: String }) redirectURI: string = ''\n @property({ type: String }) transactionID: string = ''\n\n render() {\n return html`\n <h2>Application Binding Error</h2>\n\n <p>Hi ${this.user.name}!</p>\n <p><b>Application Not Found</b></p>\n <p>You better check you give a correct client id (appKey)</p>\n\n <p>Company: ${this.domain.subdomain}</p>\n <p>Application Client ID : ${this.req.clientID}</p>\n <p>Redirect URI : ${this.redirectURI}</p>\n <p>State : ${this.req.state}</p>\n\n <form>\n <input name=\"transaction_id\" value=\"${this.transactionID}\" hidden />\n <input name=\"subdomain\" type=\"text\" value=\"${this.domain.subdomain}\" hidden />\n <input name=\"appKey\" value=\"${this.req.clientID}\" hidden />\n <input name=\"scope\" value=\"${this.req.scope}\" hidden />\n <input name=\"state\" type=\"text\" value=\"${this.req.state}\" hidden />\n <input name=\"email\" type=\"text\" value=\"${this.user.email}\" hidden />\n\n <md-elevated-button raised @click=\"${() => history.back()}\">Move back</md-elevated-button>\n </form>\n `\n }\n\n updated(changedProps) {\n if (changedProps.has('data')) {\n this.user = this.data?.oauth2?.user || this.user\n this.domain = this.data?.domain || this.domain\n this.req = this.data?.oauth2?.req || this.req\n this.redirectURI = this.data?.oauth2?.redirectURI || this.redirectURI\n this.transactionID = this.data?.oauth2?.transactionID || this.transactionID\n }\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import '@material/mwc-button';
1
+ import '@material/web/button/elevated-button.js';
2
2
  import '../../components/role-selector';
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-button';
2
+ import '@material/web/button/elevated-button.js';
3
3
  import '../../components/role-selector';
4
4
  import gql from 'graphql-tag';
5
5
  import { css, html, LitElement } from 'lit';
@@ -7,6 +7,7 @@ import { customElement, property, query } from 'lit/decorators.js';
7
7
  import { client } from '@operato/graphql';
8
8
  import { i18next } from '@operato/i18n';
9
9
  import { OxPrompt } from '@operato/popup/ox-prompt.js';
10
+ import { ButtonContainerStyles } from '@operato/styles';
10
11
  let OAuth2DecisionPage = class OAuth2DecisionPage extends LitElement {
11
12
  constructor() {
12
13
  super(...arguments);
@@ -54,9 +55,9 @@ let OAuth2DecisionPage = class OAuth2DecisionPage extends LitElement {
54
55
 
55
56
  <role-selector .roleCategory="${this.domain.name}" .roles="${this.roles}"></role-selector>
56
57
 
57
- <div buttons>
58
- <mwc-button @click="${() => this.decision(true)}" raised label="Allow"></mwc-button>
59
- <mwc-button @click="${() => this.decision(false)}" raised danger label="Deny"></mwc-button>
58
+ <div class="button-container">
59
+ <md-elevated-button @click="${() => this.decision(true)}" raised label="Allow"></md-elevated-button>
60
+ <md-elevated-button @click="${() => this.decision(false)}" raised danger label="Deny"></md-elevated-button>
60
61
  </div>
61
62
  `;
62
63
  }
@@ -130,57 +131,61 @@ let OAuth2DecisionPage = class OAuth2DecisionPage extends LitElement {
130
131
  return this.roleSelector.selectedRoles();
131
132
  }
132
133
  };
133
- OAuth2DecisionPage.styles = css `
134
- :host {
135
- display: flex;
136
- flex-direction: column;
134
+ OAuth2DecisionPage.styles = [
135
+ ButtonContainerStyles,
136
+ css `
137
+ :host {
138
+ display: flex;
139
+ flex-direction: column;
137
140
 
138
- border: 1px solid var(--primary-color);
139
- margin: var(--margin-default);
140
- padding: var(--padding-default);
141
- font: normal 15px var(--theme-font);
142
- color: var(--secondary-color);
143
- }
144
- [field-2column] {
145
- border-radius: var(--border-radius);
146
- display: grid;
147
- grid-template-columns: 1fr 1fr;
148
- gap: 5px 15px;
149
- clear: both;
150
- max-width: var(--input-container-max-width);
151
- }
152
- [field] {
153
- display: flex;
154
- flex-direction: column;
155
- padding-bottom: var(--padding-default);
156
- }
157
- input {
158
- border: var(--border-dark-color);
159
- border-radius: var(--border-radius);
160
- margin: var(--input-margin);
161
- padding: var(--input-padding);
162
- min-width: 250px;
163
- font: var(--input-font);
164
- }
165
- label {
166
- display: flex;
167
- flex-direction: column;
168
- font: var(--label-font);
169
- color: var(--label-color);
170
- text-transform: var(--label-text-transform);
171
- }
172
- [buttons] {
173
- margin: 0;
174
- padding: var(--padding-default);
175
- background-color: rgba(var(--primary-color-rgb), 0.2);
176
- }
177
- mwc-button {
178
- margin-right: var(--padding-narrow);
179
- }
180
- [danger] {
181
- --mdc-theme-primary: var(--mdc-danger-button-primary-color);
182
- }
183
- `;
141
+ border: 1px solid var(--primary-color);
142
+ margin: var(--margin-default);
143
+ padding: var(--padding-default);
144
+ font: normal 15px var(--theme-font);
145
+ color: var(--secondary-color);
146
+ }
147
+
148
+ [field-2column] {
149
+ border-radius: var(--border-radius);
150
+ display: grid;
151
+ grid-template-columns: 1fr 1fr;
152
+ gap: 5px 15px;
153
+ clear: both;
154
+ max-width: var(--input-container-max-width);
155
+ }
156
+
157
+ [field] {
158
+ display: flex;
159
+ flex-direction: column;
160
+ padding-bottom: var(--padding-default);
161
+ }
162
+
163
+ input {
164
+ border: var(--border-dark-color);
165
+ border-radius: var(--border-radius);
166
+ margin: var(--input-margin);
167
+ padding: var(--input-padding);
168
+ min-width: 250px;
169
+ font: var(--input-font);
170
+ }
171
+
172
+ label {
173
+ display: flex;
174
+ flex-direction: column;
175
+ font: var(--label-font);
176
+ color: var(--label-color);
177
+ text-transform: var(--label-text-transform);
178
+ }
179
+
180
+ md-elevated-button {
181
+ margin-right: var(--padding-narrow);
182
+ }
183
+
184
+ [danger] {
185
+ --md-theme-primary: var(--md-danger-button-primary-color);
186
+ }
187
+ `
188
+ ];
184
189
  __decorate([
185
190
  property({ type: Object }),
186
191
  __metadata("design:type", Object)