@castlabs/ui 7.9.3 → 7.10.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@castlabs/ui",
3
- "version": "7.9.3",
3
+ "version": "7.10.0",
4
4
  "repository": "https://github.com/castlabs/ui-styleguide",
5
5
  "private": false,
6
6
  "description": "A vanilla HTML/CS/JS & Vue.js component library for Castlabs.",
@@ -14,10 +14,6 @@ $badge-min-height: 1.642857143em; // 23px @ 14pt
14
14
  @include cl-colors-admin;
15
15
  @extend %cl-p-tag;
16
16
 
17
- #{'--cl-color-background'}: $color-ci-steel;
18
- #{'--cl-color-border'}: $color-ci-steel;
19
- #{'--cl-color-text'}: $color-ci-eggshell;
20
- #{'--cl-color-accent'}: $color-ci-eggshell;
21
17
  background-color: var(--cl-color-background);
22
18
  border: $brand-line-width solid var(--cl-color-border);
23
19
  border-radius: $brand-border-radius;
@@ -37,6 +33,20 @@ $badge-min-height: 1.642857143em; // 23px @ 14pt
37
33
  line-height: 0.75;
38
34
  margin-right: $spacing-micro;
39
35
  }
36
+
37
+ &.cl-color-transparent {
38
+ background-color: transparent;
39
+ border-color: var(--cl-color-text);
40
+ color: var(--cl-color-text);
41
+ }
42
+
43
+ &:not([class*='cl-color-']) {
44
+ // default badge color
45
+ #{'--cl-color-background'}: $color-ci-steel;
46
+ #{'--cl-color-border'}: $color-ci-steel;
47
+ #{'--cl-color-text'}: $color-ci-eggshell;
48
+ #{'--cl-color-accent'}: $color-ci-eggshell;
49
+ }
40
50
  }
41
51
 
42
52
  %cl-badge-derived {
@@ -404,7 +404,8 @@ $sidenav-color-text-minor: $color-ci-ash;
404
404
  }
405
405
 
406
406
  .cl-nav-item-lock,
407
- .cl-nav-item-locked {
407
+ .cl-nav-item-locked,
408
+ .cl-nav-item-disabled {
408
409
  span:first-of-type::after {
409
410
  @include cl-fontawesome('\f023');
410
411
 
@@ -414,7 +415,8 @@ $sidenav-color-text-minor: $color-ci-ash;
414
415
  }
415
416
  }
416
417
 
417
- .cl-nav-item-locked {
418
+ .cl-nav-item-locked, // legacy class
419
+ .cl-nav-item-disabled {
418
420
  opacity: 0.5;
419
421
 
420
422
  &:hover {
@@ -18,7 +18,7 @@ $cl-url-postfix: '' !default;
18
18
  height: 1em * 2;
19
19
  margin-bottom: -1em;
20
20
  position: relative;
21
- top: -0.5em;
21
+ top: -0.4em;
22
22
  width: 2.95em * 2;
23
23
  }
24
24
 
@@ -31,7 +31,7 @@ $cl-url-postfix: '' !default;
31
31
  height: 1em * 2;
32
32
  margin-bottom: -1em;
33
33
  position: relative;
34
- top: -0.5em;
34
+ top: -0.4em;
35
35
  width: 2.95em * 2;
36
36
  }
37
37
 
@@ -1,3 +1,3 @@
1
1
  :root {
2
- #{'--cl-version'}: 'v7.9.3';
2
+ #{'--cl-version'}: 'v7.10.0';
3
3
  }
package/types/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  import type { App, DefineComponent } from 'vue'
2
2
 
3
+ import * as CONST from '../src/utils/const'
4
+ import * as CS from '../src/utils/cs'
5
+
3
6
  declare function install (Vue: App): void
4
7
  export default install
5
8
 
@@ -150,6 +153,7 @@ export type ClService = {
150
153
  subtitle: string
151
154
  title: string
152
155
  urlManage: (env?: string, oid?: string) => string
156
+ urlPlan: (env?: string, oid?: string) => string
153
157
  sidenav: boolean
154
158
  }
155
159
  export function clGetServices (): ClService[]
@@ -165,9 +169,87 @@ export const NAV: {
165
169
  VTK: ClService
166
170
  }
167
171
 
168
- // --- utils/const ----------------------------------------------------------------
172
+ // --- Central Services -----------------------------------------------------------
173
+
174
+ export type CsLicense = {
175
+ approval_date: string | null
176
+ created: string // ISO date
177
+ display_name: string
178
+ expires: string | null // ISO date
179
+ license_urn: string
180
+ plan: number | null
181
+ service: string
182
+ status: number
183
+ updated: string // ISO date
184
+ // attachments: object // not typed yet
185
+ }
186
+
187
+ export type CsRole = {
188
+ display_name: string
189
+ role_urn: string
190
+ // attachments: object // not typed yet
191
+ // organization: not typed yet
192
+ }
193
+
194
+ export type CsOrganization = {
195
+ display_name: string
196
+ legacy_name?: string
197
+ licenses: CsLicense[]
198
+ members_count?: number
199
+ organization_urn: string
200
+ parent: string | null // urn
201
+ parent_display_name: string | null
202
+ suborgs_count?: number
203
+ }
204
+
205
+ export type CsMembership = {
206
+ display_name: string
207
+ membership_urn: string
208
+ organization: CsOrganization
209
+ roles: CsRole[]
210
+ status: number
211
+ // user_urn: string // not typed/used as duplicate
212
+ }
213
+
214
+ export type CsUserDetail = {
215
+ company: string
216
+ email: string
217
+ hubspot_contact_id?: string
218
+ machine_account?: boolean
219
+ name: string
220
+ }
221
+
222
+ export type CsUserinfo = {
223
+ active: boolean
224
+ email_verified: boolean
225
+ groups: string[]
226
+ memberships: CsMembership[]
227
+ mfa_enabled: boolean | null
228
+ profile: CsUserDetail
229
+ user_urn: string
230
+ // user_data: object | null // not typed yet
231
+ }
169
232
 
170
- export const CONST: {
171
- COLOR: Record<string, string>
172
- SPACING: Record<string, string>
233
+ type ClSidenavEntry = {
234
+ id: string
235
+ title: string
236
+ subtitle: string | undefined
237
+ badge: string | undefined
238
+ url: string | undefined
239
+ locked: boolean
240
+ disabled: boolean
173
241
  }
242
+
243
+ export function csGetNav (
244
+ memberships: CsMembership[],
245
+ oid: string,
246
+ env: string
247
+ ): ClSidenavEntry[]
248
+
249
+ export function csFilterMemberships (memberships: CsMembership[], rid?: string, sid?: string): CsMembership[]
250
+ export function csGetAccountUrl(env: string): string
251
+
252
+ // --- consts ----------------------------------------------------------------
253
+
254
+ export const CONST
255
+ export const CS