@things-factory/auth-ui 7.0.0-alpha.9 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/client/auth-style-sign.ts +45 -33
  2. package/client/bootstrap.ts +6 -10
  3. package/client/components/abstract-auth-page.ts +48 -24
  4. package/client/components/abstract-password-reset.ts +13 -9
  5. package/client/components/abstract-sign.ts +105 -0
  6. package/client/components/change-password.ts +4 -4
  7. package/client/components/contact-us.ts +20 -26
  8. package/client/components/create-domain-popup.ts +16 -12
  9. package/client/components/create-role.ts +14 -16
  10. package/client/components/create-user.ts +15 -14
  11. package/client/components/credential-manager.ts +64 -0
  12. package/client/components/delete-user-popup.ts +4 -3
  13. package/client/components/domain-switch.ts +18 -15
  14. package/client/components/invite-customer.ts +6 -10
  15. package/client/components/invite-user.ts +5 -8
  16. package/client/components/my-login-history.ts +2 -2
  17. package/client/components/ownership-transfer-popup.ts +7 -7
  18. package/client/components/partner-info-card.ts +6 -6
  19. package/client/components/partner-role-editor.ts +15 -23
  20. package/client/components/profile-component.ts +71 -15
  21. package/client/components/role-edit-form.ts +3 -3
  22. package/client/components/role-privilege-editor.ts +19 -29
  23. package/client/components/role-selector.ts +7 -7
  24. package/client/components/user-role-editor.ts +43 -50
  25. package/client/entries/auth/activate.ts +20 -21
  26. package/client/entries/auth/checkin.ts +29 -31
  27. package/client/entries/auth/forgot-password.ts +15 -9
  28. package/client/entries/auth/result.ts +21 -18
  29. package/client/entries/auth/signin.ts +4 -0
  30. package/client/entries/auth/signup.ts +31 -14
  31. package/client/entries/oauth2/oauth2-decision-error-page.ts +2 -2
  32. package/client/entries/oauth2/oauth2-decision-page.ts +56 -55
  33. package/client/entries/public/home.ts +52 -28
  34. package/client/index.ts +93 -66
  35. package/client/pages/app-binding/app-binding.ts +48 -30
  36. package/client/pages/app-binding/app-bindings.ts +26 -7
  37. package/client/pages/appliance/appliance.ts +85 -26
  38. package/client/pages/appliance/home.ts +28 -6
  39. package/client/pages/appliance/register.ts +7 -7
  40. package/client/pages/application/application.ts +108 -76
  41. package/client/pages/application/applications.ts +29 -15
  42. package/client/pages/application/register.ts +8 -8
  43. package/client/pages/attribute/attribute-set-item-list.ts +13 -19
  44. package/client/pages/attribute/attribute-set-management.ts +14 -20
  45. package/client/pages/auth-provider/auth-provider-management.ts +10 -16
  46. package/client/pages/domain/domain-management.ts +4 -9
  47. package/client/pages/partner/partner-management.ts +2 -2
  48. package/client/pages/profile.ts +1 -1
  49. package/client/pages/role/role-management.ts +14 -12
  50. package/client/pages/user/user-management.ts +7 -5
  51. package/client/themes/auth-theme.css +7 -10
  52. package/dist-client/auth-style-sign.js +45 -33
  53. package/dist-client/auth-style-sign.js.map +1 -1
  54. package/dist-client/bootstrap.d.ts +1 -1
  55. package/dist-client/bootstrap.js +5 -5
  56. package/dist-client/bootstrap.js.map +1 -1
  57. package/dist-client/components/abstract-auth-page.d.ts +5 -4
  58. package/dist-client/components/abstract-auth-page.js +46 -24
  59. package/dist-client/components/abstract-auth-page.js.map +1 -1
  60. package/dist-client/components/abstract-password-reset.d.ts +3 -2
  61. package/dist-client/components/abstract-password-reset.js +12 -9
  62. package/dist-client/components/abstract-password-reset.js.map +1 -1
  63. package/dist-client/components/abstract-sign.d.ts +3 -0
  64. package/dist-client/components/abstract-sign.js +86 -0
  65. package/dist-client/components/abstract-sign.js.map +1 -1
  66. package/dist-client/components/change-password.js +4 -4
  67. package/dist-client/components/change-password.js.map +1 -1
  68. package/dist-client/components/contact-us.d.ts +4 -4
  69. package/dist-client/components/contact-us.js +19 -26
  70. package/dist-client/components/contact-us.js.map +1 -1
  71. package/dist-client/components/create-domain-popup.d.ts +1 -1
  72. package/dist-client/components/create-domain-popup.js +16 -12
  73. package/dist-client/components/create-domain-popup.js.map +1 -1
  74. package/dist-client/components/create-role.d.ts +1 -1
  75. package/dist-client/components/create-role.js +14 -16
  76. package/dist-client/components/create-role.js.map +1 -1
  77. package/dist-client/components/create-user.d.ts +2 -1
  78. package/dist-client/components/create-user.js +14 -14
  79. package/dist-client/components/create-user.js.map +1 -1
  80. package/dist-client/components/credential-manager.d.ts +11 -0
  81. package/dist-client/components/credential-manager.js +64 -0
  82. package/dist-client/components/credential-manager.js.map +1 -0
  83. package/dist-client/components/delete-user-popup.js +4 -3
  84. package/dist-client/components/delete-user-popup.js.map +1 -1
  85. package/dist-client/components/domain-switch.d.ts +2 -0
  86. package/dist-client/components/domain-switch.js +20 -15
  87. package/dist-client/components/domain-switch.js.map +1 -1
  88. package/dist-client/components/invite-customer.d.ts +1 -1
  89. package/dist-client/components/invite-customer.js +6 -9
  90. package/dist-client/components/invite-customer.js.map +1 -1
  91. package/dist-client/components/invite-user.js +5 -8
  92. package/dist-client/components/invite-user.js.map +1 -1
  93. package/dist-client/components/my-login-history.js +2 -2
  94. package/dist-client/components/my-login-history.js.map +1 -1
  95. package/dist-client/components/ownership-transfer-popup.d.ts +1 -1
  96. package/dist-client/components/ownership-transfer-popup.js +7 -7
  97. package/dist-client/components/ownership-transfer-popup.js.map +1 -1
  98. package/dist-client/components/partner-info-card.js +6 -6
  99. package/dist-client/components/partner-info-card.js.map +1 -1
  100. package/dist-client/components/partner-role-editor.d.ts +2 -2
  101. package/dist-client/components/partner-role-editor.js +15 -23
  102. package/dist-client/components/partner-role-editor.js.map +1 -1
  103. package/dist-client/components/profile-component.d.ts +7 -0
  104. package/dist-client/components/profile-component.js +70 -15
  105. package/dist-client/components/profile-component.js.map +1 -1
  106. package/dist-client/components/role-edit-form.js +3 -3
  107. package/dist-client/components/role-edit-form.js.map +1 -1
  108. package/dist-client/components/role-privilege-editor.js +19 -29
  109. package/dist-client/components/role-privilege-editor.js.map +1 -1
  110. package/dist-client/components/role-selector.js +7 -7
  111. package/dist-client/components/role-selector.js.map +1 -1
  112. package/dist-client/components/user-role-editor.d.ts +2 -0
  113. package/dist-client/components/user-role-editor.js +42 -49
  114. package/dist-client/components/user-role-editor.js.map +1 -1
  115. package/dist-client/entries/auth/activate.d.ts +5 -4
  116. package/dist-client/entries/auth/activate.js +19 -21
  117. package/dist-client/entries/auth/activate.js.map +1 -1
  118. package/dist-client/entries/auth/checkin.d.ts +5 -5
  119. package/dist-client/entries/auth/checkin.js +27 -28
  120. package/dist-client/entries/auth/checkin.js.map +1 -1
  121. package/dist-client/entries/auth/forgot-password.d.ts +2 -1
  122. package/dist-client/entries/auth/forgot-password.js +15 -9
  123. package/dist-client/entries/auth/forgot-password.js.map +1 -1
  124. package/dist-client/entries/auth/reset-password.js.map +1 -1
  125. package/dist-client/entries/auth/result.d.ts +5 -5
  126. package/dist-client/entries/auth/result.js +20 -18
  127. package/dist-client/entries/auth/result.js.map +1 -1
  128. package/dist-client/entries/auth/signin.d.ts +1 -0
  129. package/dist-client/entries/auth/signin.js +3 -0
  130. package/dist-client/entries/auth/signin.js.map +1 -1
  131. package/dist-client/entries/auth/signup.js +31 -14
  132. package/dist-client/entries/auth/signup.js.map +1 -1
  133. package/dist-client/entries/auth/unlock-user.js.map +1 -1
  134. package/dist-client/entries/oauth2/oauth2-decision-error-page.d.ts +1 -1
  135. package/dist-client/entries/oauth2/oauth2-decision-error-page.js +2 -2
  136. package/dist-client/entries/oauth2/oauth2-decision-error-page.js.map +1 -1
  137. package/dist-client/entries/oauth2/oauth2-decision-page.d.ts +1 -1
  138. package/dist-client/entries/oauth2/oauth2-decision-page.js +55 -54
  139. package/dist-client/entries/oauth2/oauth2-decision-page.js.map +1 -1
  140. package/dist-client/entries/public/home.d.ts +6 -5
  141. package/dist-client/entries/public/home.js +52 -28
  142. package/dist-client/entries/public/home.js.map +1 -1
  143. package/dist-client/index.d.ts +11 -2
  144. package/dist-client/index.js +74 -66
  145. package/dist-client/index.js.map +1 -1
  146. package/dist-client/pages/app-binding/app-binding.d.ts +1 -1
  147. package/dist-client/pages/app-binding/app-binding.js +47 -30
  148. package/dist-client/pages/app-binding/app-binding.js.map +1 -1
  149. package/dist-client/pages/app-binding/app-bindings.d.ts +2 -1
  150. package/dist-client/pages/app-binding/app-bindings.js +25 -7
  151. package/dist-client/pages/app-binding/app-bindings.js.map +1 -1
  152. package/dist-client/pages/appliance/appliance.d.ts +1 -1
  153. package/dist-client/pages/appliance/appliance.js +84 -26
  154. package/dist-client/pages/appliance/appliance.js.map +1 -1
  155. package/dist-client/pages/appliance/home.d.ts +2 -1
  156. package/dist-client/pages/appliance/home.js +27 -6
  157. package/dist-client/pages/appliance/home.js.map +1 -1
  158. package/dist-client/pages/appliance/register.js +7 -7
  159. package/dist-client/pages/appliance/register.js.map +1 -1
  160. package/dist-client/pages/application/application.d.ts +1 -1
  161. package/dist-client/pages/application/application.js +107 -76
  162. package/dist-client/pages/application/application.js.map +1 -1
  163. package/dist-client/pages/application/applications.d.ts +2 -1
  164. package/dist-client/pages/application/applications.js +28 -15
  165. package/dist-client/pages/application/applications.js.map +1 -1
  166. package/dist-client/pages/application/register.js +8 -8
  167. package/dist-client/pages/application/register.js.map +1 -1
  168. package/dist-client/pages/attribute/attribute-set-item-list.d.ts +1 -1
  169. package/dist-client/pages/attribute/attribute-set-item-list.js +11 -18
  170. package/dist-client/pages/attribute/attribute-set-item-list.js.map +1 -1
  171. package/dist-client/pages/attribute/attribute-set-management.d.ts +11 -2
  172. package/dist-client/pages/attribute/attribute-set-management.js +7 -11
  173. package/dist-client/pages/attribute/attribute-set-management.js.map +1 -1
  174. package/dist-client/pages/auth-provider/auth-provider-management.d.ts +11 -2
  175. package/dist-client/pages/auth-provider/auth-provider-management.js +8 -11
  176. package/dist-client/pages/auth-provider/auth-provider-management.js.map +1 -1
  177. package/dist-client/pages/domain/domain-management.d.ts +1 -0
  178. package/dist-client/pages/domain/domain-management.js +3 -7
  179. package/dist-client/pages/domain/domain-management.js.map +1 -1
  180. package/dist-client/pages/partner/partner-management.js +2 -2
  181. package/dist-client/pages/partner/partner-management.js.map +1 -1
  182. package/dist-client/pages/profile.js +1 -1
  183. package/dist-client/pages/profile.js.map +1 -1
  184. package/dist-client/pages/role/role-management.js +13 -10
  185. package/dist-client/pages/role/role-management.js.map +1 -1
  186. package/dist-client/pages/user/user-management.d.ts +1 -0
  187. package/dist-client/pages/user/user-management.js +6 -5
  188. package/dist-client/pages/user/user-management.js.map +1 -1
  189. package/dist-client/route.js.map +1 -1
  190. package/dist-client/themes/auth-theme.css +7 -10
  191. package/dist-client/tsconfig.tsbuildinfo +1 -1
  192. package/dist-client/utils/password-rule.js.map +1 -1
  193. package/dist-server/index.d.ts +0 -0
  194. package/dist-server/tsconfig.tsbuildinfo +1 -1
  195. package/package.json +14 -18
  196. package/translations/en.json +2 -0
  197. package/translations/ja.json +2 -0
  198. package/translations/ko.json +2 -1
  199. package/translations/ms.json +2 -0
  200. package/translations/zh.json +2 -0
  201. package/views/auth-page.html +5 -3
  202. package/views/oauth2-page.html +3 -2
@@ -1,8 +1,10 @@
1
- import '@material/mwc-icon-button'
2
- import '@material/mwc-button'
1
+ import '@material/web/icon/icon.js'
2
+ import '@material/web/button/text-button.js'
3
+ import '@material/web/button/elevated-button.js'
3
4
 
4
5
  import { css, html, LitElement } from 'lit'
5
6
  import { customElement, property, query } from 'lit/decorators.js'
7
+ import { ifDefined } from 'lit/directives/if-defined.js'
6
8
 
7
9
  import { i18next, localize } from '@operato/i18n'
8
10
 
@@ -15,25 +17,41 @@ export class HomePage extends localize(i18next)(LitElement) {
15
17
  position: relative;
16
18
  }
17
19
 
18
- [home] {
20
+ .signin {
19
21
  position: absolute;
20
- left: 20px;
22
+ right: 20px;
21
23
  top: 10px;
22
- font-size: 2em;
23
- color: var(--primary-color);
24
+ display: inline-block;
25
+ padding: 12px 24px;
26
+ font-size: 16px;
27
+ font-weight: bold;
28
+ color: var(--md-sys-color-on-tertiary-container);
29
+ background-color: var(--md-sys-color-tertiary-container);
30
+ border: none;
31
+ border-radius: 4px;
32
+ text-align: center;
33
+ text-decoration: none;
34
+ transition:
35
+ background-color 0.3s,
36
+ transform 0.3s;
24
37
  }
25
38
 
26
- [signin] {
27
- position: absolute;
28
- right: 20px;
29
- top: 20px;
30
- font-size: 2em;
39
+ .signin:hover {
40
+ color: var(--md-sys-color-tertiary-container);
41
+ background-color: var(--md-sys-color-on-tertiary-container);
42
+ transform: translateY(-2px);
43
+ }
44
+
45
+ .signin:active {
46
+ color: var(--md-sys-color-on-tertiary-container);
47
+ background-color: var(--md-sys-color-tertiary-container);
48
+ transform: translateY(0);
31
49
  }
32
50
 
33
51
  [message] {
34
- background-color: var(--main-section-background-color);
52
+ background-color: var(--md-sys-color-secondary-container);
35
53
  padding: 60px 50px 0 50px;
36
- color: var(--secondary-color);
54
+ color: var(--md-sys-color-on-secondary-container);
37
55
  text-align: center;
38
56
  font-size: 20px;
39
57
  }
@@ -66,16 +84,16 @@ export class HomePage extends localize(i18next)(LitElement) {
66
84
  align-items: center;
67
85
  border-radius: 12px;
68
86
  overflow: hidden;
69
- background-color: var(--primary-color);
87
+ background-color: var(--md-sys-color-primary);
70
88
  box-shadow: var(--box-shadow);
71
- border-right: 3px dotted var(--main-section-background-color);
89
+ border-right: 3px dotted var(--md-sys-color-secondary-container);
72
90
  text-align: center;
73
91
  }
74
92
 
75
93
  [ticket] [content] {
76
94
  border-radius: 12px;
77
- background-color: var(--theme-white-color);
78
- padding: var(--padding-default) var(--padding-wide);
95
+ background-color: var(--md-sys-color-tertiary-container);
96
+ padding: var(--spacing-medium) var(--spacing-large);
79
97
  box-shadow: var(--box-shadow);
80
98
  }
81
99
 
@@ -87,16 +105,16 @@ export class HomePage extends localize(i18next)(LitElement) {
87
105
 
88
106
  legend {
89
107
  margin: 0;
90
- padding: var(--padding-narrow) 0 var(--padding-default) 0;
108
+ padding: var(--spacing-small) 0 var(--spacing-medium) 0;
91
109
  font-weight: bold;
92
110
  color: var(--legend-color);
93
111
  text-transform: uppercase;
94
112
  }
95
113
 
96
114
  input {
97
- border: var(--border-dark-color);
115
+ border: var(--md-sys-color-outline);
98
116
  border-radius: var(--border-radius);
99
- padding: var(--input-padding);
117
+ padding: var(--spacing-medium);
100
118
  font: var(--input-font);
101
119
  }
102
120
 
@@ -139,7 +157,7 @@ export class HomePage extends localize(i18next)(LitElement) {
139
157
  border: 0;
140
158
  }
141
159
  [content] {
142
- border: 1px solid var(--primary-color);
160
+ border: 1px solid var(--md-sys-color-primary);
143
161
  }
144
162
 
145
163
  fieldset {
@@ -147,10 +165,10 @@ export class HomePage extends localize(i18next)(LitElement) {
147
165
  }
148
166
  input[type='text'] {
149
167
  width: calc(100% - 20px);
150
- margin: var(--margin-narrow) 0 var(--margin-default) 0;
168
+ margin: var(--spacing-small) 0 var(--spacing-medium) 0;
151
169
  text-align: center;
152
170
  }
153
- fieldset mwc-button {
171
+ fieldset md-text-button {
154
172
  width: 100%;
155
173
  }
156
174
  }
@@ -171,8 +189,15 @@ export class HomePage extends localize(i18next)(LitElement) {
171
189
  const explanation2 = this.explanation2 || 'Everything you need to go from where you are, to where you want to be.'
172
190
 
173
191
  return html`
174
- <mwc-icon-button home icon="home" @click=${e => (window.location.href = '/')}></mwc-icon-button>
175
- <mwc-button signin dense @click=${e => (window.location.href = '/auth/signin')}>sign in</mwc-button>
192
+ <a
193
+ class="signin"
194
+ @click=${e => {
195
+ e.preventDefault()
196
+ window.location.href = '/auth/signin'
197
+ }}
198
+ >
199
+ ${i18next.t('button.sign_in')}</a
200
+ >
176
201
 
177
202
  <div message>
178
203
  <strong>${tagline}</strong> ${explanation1} <br />
@@ -181,14 +206,13 @@ export class HomePage extends localize(i18next)(LitElement) {
181
206
  </div>
182
207
 
183
208
  <div ticket>
184
- <div brand><img src=${icon} /></div>
209
+ <div brand><img src=${ifDefined(icon)} /></div>
185
210
  <div content>
186
- <form action="/auth/join" accept-charset="utf-8" name="join" method="POST">
211
+ <form action="/auth/join" accept-charset="utf-8" name="join" method="post">
187
212
  <fieldset>
188
213
  <legend>${title} invitation ticket</legend>
189
214
  <input type="text" name="email" placeholder="Enter your email address" />
190
215
  <input type="submit" value="join now" />
191
- <!-- help this button, pls <mwc-button raised label="join now"></mwc-button> -->
192
216
  </fieldset>
193
217
  </form>
194
218
  </div>
package/client/index.ts CHANGED
@@ -1,97 +1,124 @@
1
- import '@material/mwc-icon'
1
+ import '@material/web/icon/icon.js'
2
2
  import '@operato/i18n/ox-i18n.js'
3
3
 
4
4
  import { html } from 'lit-html'
5
5
 
6
6
  import { navigate, store } from '@operato/shell'
7
- import { ADD_MORENDA } from '@things-factory/more-base'
7
+ import { ADD_MORENDA } from '@things-factory/more-base/client'
8
8
  import { hasPrivilege } from '@things-factory/auth-base/dist-client'
9
9
 
10
10
  export * from './components/role-selector.js'
11
11
  export * from './components/domain-switch.js'
12
12
  export * from './components/invite-user.js'
13
13
 
14
- export async function setAuthManagementMenus() {
14
+ export type AuthManagementMenuOptions = {
15
+ role?: boolean
16
+ appliance?: boolean
17
+ application?: boolean
18
+ user?: boolean
19
+ authProvider?: boolean
20
+ domain?: boolean
21
+ attribute?: boolean
22
+ }
23
+
24
+ export async function setAuthManagementMenus(options?: any) {
25
+ const {
26
+ role = true,
27
+ appliance = true,
28
+ application = true,
29
+ user = true,
30
+ authProvider = true,
31
+ domain = true,
32
+ attribute = true
33
+ } = options || {}
34
+
15
35
  if (
16
36
  await hasPrivilege({ privilege: 'mutation', category: 'user', domainOwnerGranted: true, superUserGranted: true })
17
37
  ) {
18
- store.dispatch({
19
- type: ADD_MORENDA,
20
- morenda: {
21
- icon: html` <mwc-icon>how_to_reg</mwc-icon> `,
22
- name: html` <ox-i18n msgid="text.role_management"></ox-i18n> `,
23
- action: () => {
24
- navigate('roles')
38
+ role &&
39
+ store.dispatch({
40
+ type: ADD_MORENDA,
41
+ morenda: {
42
+ icon: html` <md-icon>how_to_reg</md-icon> `,
43
+ name: html` <ox-i18n msgid="text.role_management"></ox-i18n> `,
44
+ action: () => {
45
+ navigate('roles')
46
+ }
25
47
  }
26
- }
27
- })
48
+ })
28
49
 
29
- store.dispatch({
30
- type: ADD_MORENDA,
31
- morenda: {
32
- icon: html` <mwc-icon>devices</mwc-icon> `,
33
- name: html` <ox-i18n msgid="text.appliance"></ox-i18n> `,
34
- action: () => {
35
- navigate('appliance-home')
50
+ appliance &&
51
+ store.dispatch({
52
+ type: ADD_MORENDA,
53
+ morenda: {
54
+ icon: html` <md-icon>devices</md-icon> `,
55
+ name: html` <ox-i18n msgid="text.appliance"></ox-i18n> `,
56
+ action: () => {
57
+ navigate('appliance-home')
58
+ }
36
59
  }
37
- }
38
- })
60
+ })
39
61
 
40
- store.dispatch({
41
- type: ADD_MORENDA,
42
- morenda: {
43
- icon: html` <mwc-icon>apps</mwc-icon> `,
44
- name: html` <ox-i18n msgid="text.application management"></ox-i18n> `,
45
- action: () => {
46
- navigate('applications')
62
+ application &&
63
+ store.dispatch({
64
+ type: ADD_MORENDA,
65
+ morenda: {
66
+ icon: html` <md-icon>apps</md-icon> `,
67
+ name: html` <ox-i18n msgid="text.application management"></ox-i18n> `,
68
+ action: () => {
69
+ navigate('applications')
70
+ }
47
71
  }
48
- }
49
- })
72
+ })
50
73
 
51
- store.dispatch({
52
- type: ADD_MORENDA,
53
- morenda: {
54
- icon: html` <mwc-icon>people</mwc-icon> `,
55
- name: html` <ox-i18n msgid="text.user management"></ox-i18n> `,
56
- action: () => {
57
- navigate('users')
74
+ user &&
75
+ store.dispatch({
76
+ type: ADD_MORENDA,
77
+ morenda: {
78
+ icon: html` <md-icon>people</md-icon> `,
79
+ name: html` <ox-i18n msgid="text.user management"></ox-i18n> `,
80
+ action: () => {
81
+ navigate('users')
82
+ }
58
83
  }
59
- }
60
- })
84
+ })
61
85
 
62
- store.dispatch({
63
- type: ADD_MORENDA,
64
- morenda: {
65
- icon: html` <mwc-icon>badge</mwc-icon> `,
66
- name: html` <ox-i18n msgid="text.auth-provider management"></ox-i18n> `,
67
- action: () => {
68
- navigate('auth-providers')
86
+ authProvider &&
87
+ store.dispatch({
88
+ type: ADD_MORENDA,
89
+ morenda: {
90
+ icon: html` <md-icon>badge</md-icon> `,
91
+ name: html` <ox-i18n msgid="text.auth-provider management"></ox-i18n> `,
92
+ action: () => {
93
+ navigate('auth-providers')
94
+ }
69
95
  }
70
- }
71
- })
96
+ })
72
97
  }
73
98
 
74
99
  if (await hasPrivilege({ superUserGranted: true })) {
75
- store.dispatch({
76
- type: ADD_MORENDA,
77
- morenda: {
78
- icon: html` <mwc-icon>business</mwc-icon> `,
79
- name: html` <ox-i18n msgid="text.domain management"></ox-i18n> `,
80
- action: () => {
81
- navigate('domains')
100
+ domain &&
101
+ store.dispatch({
102
+ type: ADD_MORENDA,
103
+ morenda: {
104
+ icon: html` <md-icon>business</md-icon> `,
105
+ name: html` <ox-i18n msgid="text.domain management"></ox-i18n> `,
106
+ action: () => {
107
+ navigate('domains')
108
+ }
82
109
  }
83
- }
84
- })
110
+ })
85
111
 
86
- store.dispatch({
87
- type: ADD_MORENDA,
88
- morenda: {
89
- icon: html` <mwc-icon>dataset</mwc-icon> `,
90
- name: html` <ox-i18n msgid="text.attribute management"></ox-i18n> `,
91
- action: () => {
92
- navigate('attributes')
112
+ attribute &&
113
+ store.dispatch({
114
+ type: ADD_MORENDA,
115
+ morenda: {
116
+ icon: html` <md-icon>dataset</md-icon> `,
117
+ name: html` <ox-i18n msgid="text.attribute management"></ox-i18n> `,
118
+ action: () => {
119
+ navigate('attributes')
120
+ }
93
121
  }
94
- }
95
- })
122
+ })
96
123
  }
97
124
  }
@@ -1,3 +1,5 @@
1
+ import '@material/web/icon/icon.js'
2
+
1
3
  import Clipboard from 'clipboard'
2
4
  import gql from 'graphql-tag'
3
5
  import { css, html } from 'lit'
@@ -20,19 +22,22 @@ class AppBinding extends connect(store)(PageView) {
20
22
 
21
23
  position: relative;
22
24
 
23
- background-color: var(--main-section-background-color);
24
- padding: var(--padding-wide);
25
+ background-color: var(--md-sys-color-background);
26
+ padding: var(--spacing-large);
25
27
  }
28
+
26
29
  h2 {
27
30
  margin: var(--title-margin);
28
31
  font: var(--title-font);
29
32
  color: var(--title-text-color);
30
33
  }
34
+
31
35
  [page-description] {
32
36
  margin: var(--page-description-margin);
33
37
  font: var(--page-description-font);
34
38
  color: var(--page-description-color);
35
39
  }
40
+
36
41
  [icon] {
37
42
  position: absolute;
38
43
  top: 10px;
@@ -40,68 +45,77 @@ class AppBinding extends connect(store)(PageView) {
40
45
 
41
46
  max-width: 80px;
42
47
  }
48
+
43
49
  [icon] img {
44
50
  max-width: 100%;
45
51
  max-height: 100%;
46
52
  }
47
53
 
48
- label {
49
- font: var(--label-font);
50
- color: var(--label-color);
51
- text-transform: var(--label-text-transform);
52
- }
53
- input {
54
- border: var(--border-dark-color);
55
- border-radius: var(--border-radius);
56
- margin: var(--input-margin);
57
- padding: var(--input-padding);
58
- font: var(--input-font);
59
-
60
- flex: 1;
61
- }
62
- select:focus,
63
- input:focus,
64
- button {
65
- outline: none;
66
- }
67
- form {
68
- max-width: var(--content-container-max-width);
69
- }
70
54
  [fieldset-container] {
71
- background-color: var(--theme-white-color);
72
- margin: var(--margin-wide) 0 var(--margin-default) 0;
73
- padding: var(--padding-default);
55
+ background-color: var(--md-sys-color-surface);
56
+ margin: var(--spacing-large) 0 var(--spacing-medium) 0;
57
+ padding: var(--spacing-medium);
74
58
  border-radius: var(--border-radius);
75
59
  box-shadow: var(--box-shadow);
60
+
61
+ label {
62
+ font: var(--label-font);
63
+ color: var(--label-color, var(--md-sys-color-on-surface));
64
+ text-transform: var(--label-text-transform);
65
+ }
66
+ input {
67
+ border: var(--border-dim-color);
68
+ border-radius: var(--border-radius);
69
+ margin: var(--input-margin);
70
+ padding: var(--input-padding);
71
+ font: var(--input-font);
72
+
73
+ flex: 1;
74
+ }
75
+ select:focus,
76
+ input:focus,
77
+ button {
78
+ outline: none;
79
+ }
80
+ form {
81
+ max-width: var(--content-container-max-width);
82
+ }
76
83
  }
84
+
77
85
  [fieldset-container] fieldset {
78
86
  margin: 0;
79
87
  margin-top: -15px;
80
88
  }
89
+
81
90
  fieldset {
82
91
  border-radius: var(--border-radius);
83
- border: var(--border-dark-color);
92
+ border: var(--border-dim-color);
84
93
  margin: var(--fieldset-margin);
85
94
  padding: var(--fieldset-padding);
86
95
  }
96
+
87
97
  legend {
88
98
  padding: var(--legend-padding);
89
99
  font-weight: bold;
90
100
  color: var(--legend-color);
91
101
  }
102
+
92
103
  [field-2column] {
93
104
  display: grid;
94
105
  grid-template-columns: 1fr 1fr;
95
106
  grid-gap: 15px;
96
107
  }
108
+
97
109
  [field] {
98
110
  display: flex;
99
111
  flex-direction: column;
100
112
  position: relative;
101
113
  }
114
+
102
115
  [grid-span] {
103
116
  grid-column: span 2;
104
117
  }
118
+
105
119
  button,
106
120
  [button-in-field] {
107
121
  background-color: var(--button-background-color);
@@ -112,14 +126,16 @@ class AppBinding extends connect(store)(PageView) {
112
126
  font: var(--button-font);
113
127
  text-transform: var(--button-text-transform);
114
128
 
115
- margin: var(--margin-default) 0 var(--margin-default) var(--margin-default);
129
+ margin: var(--spacing-medium) 0 var(--spacing-medium) var(--spacing-medium);
116
130
  float: right;
117
131
  text-decoration: none;
118
132
  }
133
+
119
134
  button:hover {
120
135
  border: var(--button-activ-border);
121
136
  box-shadow: var(--button-active-box-shadow);
122
137
  }
138
+
123
139
  [button-in-field] {
124
140
  border-radius: 0 var(--button-border-radius) var(--button-border-radius) 0;
125
141
  position: absolute;
@@ -127,10 +143,12 @@ class AppBinding extends connect(store)(PageView) {
127
143
  right: 0;
128
144
  max-height: 36px;
129
145
  }
146
+
130
147
  [input-hint] {
131
148
  font: var(--input-hint-font);
132
149
  color: var(--input-hint-color);
133
150
  }
151
+
134
152
  @media screen and (max-width: 480px) {
135
153
  [field] {
136
154
  grid-column: span 2;
@@ -164,7 +182,7 @@ class AppBinding extends connect(store)(PageView) {
164
182
 
165
183
  return html`
166
184
  <div>
167
- <h2><mwc-icon>link</mwc-icon>&nbsp;${app.name}</h2>
185
+ <h2><md-icon>link</md-icon>&nbsp;${app.name}</h2>
168
186
  <p page-description>${app.description}</p>
169
187
  </div>
170
188
 
@@ -1,3 +1,6 @@
1
+ import '@material/web/button/elevated-button.js'
2
+ import '@material/web/button/outlined-button.js'
3
+
1
4
  import gql from 'graphql-tag'
2
5
  import { css, html } from 'lit'
3
6
  import { customElement, property } from 'lit/decorators.js'
@@ -11,20 +14,28 @@ class AppBindings extends connect(store)(PageView) {
11
14
  static styles = [
12
15
  css`
13
16
  :host {
14
- background-color: var(--main-section-background-color);
15
- padding: var(--padding-wide);
17
+ background-color: var(--md-sys-color-background);
18
+ padding: var(--spacing-large);
16
19
 
17
20
  overflow: auto;
18
21
  }
19
- mwc-button {
20
- margin-right: 0;
22
+
23
+ md-elevated-button {
24
+ text-transform: capitalize;
25
+ }
26
+
27
+ md-outlined-button {
21
28
  float: right;
29
+ margin-top: var(--spacing-medium);
30
+ text-transform: capitalize;
22
31
  }
32
+
23
33
  h2 {
24
34
  margin: var(--title-margin);
25
35
  font: var(--title-font);
26
36
  color: var(--title-text-color);
27
37
  }
38
+
28
39
  [page-description] {
29
40
  margin: var(--page-description-margin);
30
41
  font: var(--page-description-font);
@@ -33,18 +44,22 @@ class AppBindings extends connect(store)(PageView) {
33
44
 
34
45
  table {
35
46
  width: 100%;
36
- margin: var(--margin-wide) 0;
47
+ margin: var(--spacing-large) 0;
37
48
  border-collapse: collapse;
38
49
  }
50
+
39
51
  tr {
40
52
  background-color: var(--tr-background-color);
41
53
  }
54
+
42
55
  tr:nth-child(odd) {
43
56
  background-color: var(--tr-background-odd-color);
44
57
  }
58
+
45
59
  tr:hover {
46
60
  background-color: var(--tr-background-hover-color);
47
61
  }
62
+
48
63
  th {
49
64
  border-top: var(--th-border-top);
50
65
  border-bottom: var(--td-border-bottom);
@@ -55,22 +70,26 @@ class AppBindings extends connect(store)(PageView) {
55
70
  text-transform: var(--th-text-transform);
56
71
  text-align: left;
57
72
  }
73
+
58
74
  td {
59
75
  padding: var(--td-padding);
60
76
  border-bottom: var(--td-border-bottom);
61
77
  font: var(--td-font);
62
78
  color: var(--td-color);
63
79
  }
80
+
64
81
  td a {
65
- color: var(--primary-color);
82
+ color: var(--md-sys-color-primary);
66
83
  font: bold 16px var(--theme-font);
67
84
 
68
85
  display: block;
69
86
  text-decoration: none;
70
87
  }
88
+
71
89
  .text-align-center {
72
90
  text-align: center;
73
91
  }
92
+
74
93
  .text-align-right {
75
94
  text-align: right;
76
95
  }
@@ -114,7 +133,7 @@ class AppBindings extends connect(store)(PageView) {
114
133
  `
115
134
  )}
116
135
  </table>
117
- <mwc-button raised @click=${e => navigate('applications')} label="registered applications .."></mwc-button>
136
+ <md-elevated-button @click=${e => navigate('applications')}>registered applications ..</md-elevated-button>
118
137
  `
119
138
  }
120
139