diff --git a/packages/bbui/src/Avatar/Avatar.svelte b/packages/bbui/src/Avatar/Avatar.svelte
index f8acd9024c..136a4fe24b 100644
--- a/packages/bbui/src/Avatar/Avatar.svelte
+++ b/packages/bbui/src/Avatar/Avatar.svelte
@@ -4,7 +4,7 @@
["XXS", "--spectrum-alias-avatar-size-50"],
["XS", "--spectrum-alias-avatar-size-75"],
["S", "--spectrum-alias-avatar-size-200"],
- ["M", "--spectrum-alias-avatar-size-300"],
+ ["M", "--spectrum-alias-avatar-size-400"],
["L", "--spectrum-alias-avatar-size-500"],
["XL", "--spectrum-alias-avatar-size-600"],
["XXL", "--spectrum-alias-avatar-size-700"],
@@ -13,6 +13,19 @@
export let url = ""
export let disabled = false
export let initials = "JD"
+
+ const DefaultColor = "#3aab87"
+
+ $: color = getColor(initials)
+
+ const getColor = initials => {
+ if (!initials?.length) {
+ return DefaultColor
+ }
+ const code = initials[0].toLowerCase().charCodeAt(0)
+ const hue = ((code % 26) / 26) * 360
+ return `hsl(${hue}, 50%, 50%)`
+ }
{#if url}
@@ -25,10 +38,11 @@
/>
{:else}
{initials || ""}
@@ -40,7 +54,6 @@
display: grid;
place-items: center;
font-weight: 600;
- background: #3aab87;
border-radius: 50%;
overflow: hidden;
user-select: none;
diff --git a/packages/bbui/src/Form/Core/Picker.svelte b/packages/bbui/src/Form/Core/Picker.svelte
index 2585f11939..f7c2184cf3 100644
--- a/packages/bbui/src/Form/Core/Picker.svelte
+++ b/packages/bbui/src/Form/Core/Picker.svelte
@@ -6,12 +6,15 @@
import { createEventDispatcher } from "svelte"
import clickOutside from "../../Actions/click_outside"
import Search from "./Search.svelte"
+ import Icon from "../../Icon/Icon.svelte"
+ import StatusLight from "../../StatusLight/StatusLight.svelte"
export let id = null
export let disabled = false
export let error = null
export let fieldText = ""
export let fieldIcon = ""
+ export let fieldColour = ""
export let isPlaceholder = false
export let placeholderOption = null
export let options = []
@@ -20,6 +23,7 @@
export let getOptionLabel = option => option
export let getOptionValue = option => option
export let getOptionIcon = () => null
+ export let getOptionColour = () => null
export let open = false
export let readonly = false
export let quiet = false
@@ -43,7 +47,7 @@
return
}
searchTerm = null
- open = !open
+ open = true
}
const getSortedOptions = (options, getLabel, sort) => {
@@ -71,73 +75,112 @@
}
- (open = false)}>
-
+{/if}
-
-
-
-
- 1
- 2
- 3
- 4
-
-
- 1
- 2
- 3
- 4
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
-
-
- 1
- 2
- 3
- 4
-
-
-
diff --git a/packages/bbui/src/List/List.svelte b/packages/bbui/src/List/List.svelte
new file mode 100644
index 0000000000..243b04da50
--- /dev/null
+++ b/packages/bbui/src/List/List.svelte
@@ -0,0 +1,28 @@
+
+
+
+ {#if title}
+
+ {title}
+
+ {/if}
+
+
+
+
+
+
diff --git a/packages/bbui/src/List/ListItem.svelte b/packages/bbui/src/List/ListItem.svelte
new file mode 100644
index 0000000000..76a83e7b08
--- /dev/null
+++ b/packages/bbui/src/List/ListItem.svelte
@@ -0,0 +1,92 @@
+
+
+
+
+ {#if icon}
+
+
+
+ {/if}
+ {#if avatar}
+
+ {/if}
+ {#if title}
+ {title}
+ {/if}
+ {#if subtitle}
+
+ {/if}
+
+
+
+
+
+
+
diff --git a/packages/bbui/src/StatusLight/StatusLight.svelte b/packages/bbui/src/StatusLight/StatusLight.svelte
index f56fee0c2a..a0c72443a6 100644
--- a/packages/bbui/src/StatusLight/StatusLight.svelte
+++ b/packages/bbui/src/StatusLight/StatusLight.svelte
@@ -17,10 +17,13 @@
export let negative = false
export let disabled = false
export let active = false
+ export let color = null
+
+
diff --git a/packages/bbui/src/index.js b/packages/bbui/src/index.js
index 97dc88030e..ea7dd88020 100644
--- a/packages/bbui/src/index.js
+++ b/packages/bbui/src/index.js
@@ -65,6 +65,8 @@ export { default as BannerDisplay } from "./Banner/BannerDisplay.svelte"
export { default as MarkdownEditor } from "./Markdown/MarkdownEditor.svelte"
export { default as MarkdownViewer } from "./Markdown/MarkdownViewer.svelte"
export { default as RichTextField } from "./Form/RichTextField.svelte"
+export { default as List } from "./List/List.svelte"
+export { default as ListItem } from "./List/ListItem.svelte"
// Renderers
export { default as BoldRenderer } from "./Table/BoldRenderer.svelte"
diff --git a/packages/builder/src/components/common/RoleSelect.svelte b/packages/builder/src/components/common/RoleSelect.svelte
new file mode 100644
index 0000000000..a3f75fd4eb
--- /dev/null
+++ b/packages/builder/src/components/common/RoleSelect.svelte
@@ -0,0 +1,24 @@
+
+
+