@budibase/bbui 2.2.26 → 2.2.27
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/dist/bbui.es.js +3 -3
- package/dist/bbui.es.js.map +1 -1
- package/package.json +4 -3
- package/src/Accordion/Accordion.svelte +58 -0
- package/src/ActionButton/ActionButton.svelte +2 -3
- package/src/ActionMenu/ActionMenu.svelte +1 -2
- package/src/Actions/click_outside.js +28 -9
- package/src/Actions/position_dropdown.js +85 -53
- package/src/Avatar/Avatar.svelte +1 -0
- package/src/Badge/Badge.svelte +13 -0
- package/src/Button/Button.svelte +8 -4
- package/src/Drawer/DrawerContent.svelte +0 -1
- package/src/FancyForm/FancyButton.svelte +30 -0
- package/src/FancyForm/FancyButtonRadio.svelte +70 -0
- package/src/FancyForm/FancyCheckbox.svelte +53 -0
- package/src/FancyForm/FancyField.svelte +126 -0
- package/src/FancyForm/FancyFieldLabel.svelte +25 -0
- package/src/FancyForm/FancyForm.svelte +40 -0
- package/src/FancyForm/FancyInput.svelte +77 -0
- package/src/FancyForm/FancySelect.svelte +147 -0
- package/src/FancyForm/index.js +6 -0
- package/src/Form/Core/DatePicker.svelte +1 -1
- package/src/Form/Core/Dropzone.svelte +71 -66
- package/src/Form/Core/EnvDropdown.svelte +276 -0
- package/src/Form/Core/Picker.svelte +141 -124
- package/src/Form/Core/Select.svelte +3 -0
- package/src/Form/Core/Switch.svelte +0 -2
- package/src/Form/Core/TextField.svelte +0 -6
- package/src/Form/EnvDropdown.svelte +50 -0
- package/src/Form/Input.svelte +0 -2
- package/src/Form/InputDropdown.svelte +0 -2
- package/src/Form/PickerDropdown.svelte +0 -2
- package/src/Form/Toggle.svelte +1 -2
- package/src/Icon/IconAvatar.svelte +3 -0
- package/src/InlineAlert/InlineAlert.svelte +1 -0
- package/src/Label/Label.svelte +1 -0
- package/src/Layout/Page.svelte +82 -13
- package/src/Link/Link.svelte +4 -1
- package/src/List/ListItem.svelte +6 -3
- package/src/Menu/Item.svelte +0 -2
- package/src/Modal/CustomContent.svelte +0 -1
- package/src/Modal/Modal.svench +0 -1
- package/src/Modal/ModalContent.svelte +4 -4
- package/src/Modal/QuizModal.svelte +0 -1
- package/src/Popover/Popover.svelte +35 -31
- package/src/Popover/Popover.svench +0 -1
- package/src/SideNavigation/Item.svelte +0 -2
- package/src/Table/RelationshipRenderer.svelte +3 -8
- package/src/Table/StringRenderer.svelte +9 -1
- package/src/Table/Table.svelte +30 -19
- package/src/Tabs/Tab.svelte +5 -5
- package/src/Tags/Tag.svelte +1 -1
- package/src/Tags/Tags.svelte +10 -0
- package/src/Typography/Heading.svelte +6 -0
- package/src/bbui.css +7 -3
- package/src/context.js +1 -0
- package/src/index.js +5 -0
package/src/Table/Table.svelte
CHANGED
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
* template: a HBS or JS binding to use as the value
|
|
22
22
|
* background: the background color
|
|
23
23
|
* color: the text color
|
|
24
|
+
* borderLeft: show a left border
|
|
25
|
+
* borderRight: show a right border
|
|
24
26
|
*/
|
|
25
27
|
export let data = []
|
|
26
28
|
export let schema = {}
|
|
@@ -31,6 +33,7 @@
|
|
|
31
33
|
export let allowSelectRows
|
|
32
34
|
export let allowEditRows = true
|
|
33
35
|
export let allowEditColumns = true
|
|
36
|
+
export let allowClickRows = true
|
|
34
37
|
export let selectedRows = []
|
|
35
38
|
export let customRenderers = []
|
|
36
39
|
export let disableSorting = false
|
|
@@ -270,6 +273,17 @@
|
|
|
270
273
|
if (schema[field].align === "Right") {
|
|
271
274
|
styles[field] += "justify-content: flex-end; text-align: right;"
|
|
272
275
|
}
|
|
276
|
+
if (schema[field].borderLeft) {
|
|
277
|
+
styles[field] +=
|
|
278
|
+
"border-left: 1px solid var(--spectrum-global-color-gray-200);"
|
|
279
|
+
}
|
|
280
|
+
if (schema[field].borderLeft) {
|
|
281
|
+
styles[field] +=
|
|
282
|
+
"border-right: 1px solid var(--spectrum-global-color-gray-200);"
|
|
283
|
+
}
|
|
284
|
+
if (schema[field].minWidth) {
|
|
285
|
+
styles[field] += `min-width: ${schema[field].minWidth};`
|
|
286
|
+
}
|
|
273
287
|
})
|
|
274
288
|
return styles
|
|
275
289
|
}
|
|
@@ -290,7 +304,11 @@
|
|
|
290
304
|
</slot>
|
|
291
305
|
</div>
|
|
292
306
|
{:else}
|
|
293
|
-
<div
|
|
307
|
+
<div
|
|
308
|
+
class="spectrum-Table"
|
|
309
|
+
class:no-scroll={!rowCount}
|
|
310
|
+
style={`${heightStyle}${gridStyle}`}
|
|
311
|
+
>
|
|
294
312
|
{#if fields.length}
|
|
295
313
|
<div class="spectrum-Table-head">
|
|
296
314
|
{#if showEditColumn}
|
|
@@ -356,7 +374,7 @@
|
|
|
356
374
|
{/if}
|
|
357
375
|
{#if sortedRows?.length}
|
|
358
376
|
{#each sortedRows as row, idx}
|
|
359
|
-
<div class="spectrum-Table-row">
|
|
377
|
+
<div class="spectrum-Table-row" class:clickable={allowClickRows}>
|
|
360
378
|
{#if showEditColumn}
|
|
361
379
|
<div
|
|
362
380
|
class:noBorderCheckbox={!showHeaderBorder}
|
|
@@ -433,10 +451,10 @@
|
|
|
433
451
|
/* Wrapper */
|
|
434
452
|
.wrapper {
|
|
435
453
|
position: relative;
|
|
436
|
-
z-index: 0;
|
|
437
454
|
--table-bg: var(--spectrum-global-color-gray-50);
|
|
438
455
|
--table-border: 1px solid var(--spectrum-alias-border-color-mid);
|
|
439
456
|
--cell-padding: var(--spectrum-global-dimension-size-250);
|
|
457
|
+
overflow: auto;
|
|
440
458
|
}
|
|
441
459
|
.wrapper--quiet {
|
|
442
460
|
--table-bg: var(--spectrum-alias-background-color-transparent);
|
|
@@ -460,6 +478,9 @@
|
|
|
460
478
|
display: grid;
|
|
461
479
|
overflow: auto;
|
|
462
480
|
}
|
|
481
|
+
.spectrum-Table.no-scroll {
|
|
482
|
+
overflow: visible;
|
|
483
|
+
}
|
|
463
484
|
|
|
464
485
|
/* Header */
|
|
465
486
|
.spectrum-Table-head {
|
|
@@ -546,12 +567,13 @@
|
|
|
546
567
|
/* Table rows */
|
|
547
568
|
.spectrum-Table-row {
|
|
548
569
|
display: contents;
|
|
570
|
+
cursor: auto;
|
|
549
571
|
}
|
|
550
|
-
.spectrum-Table-row
|
|
551
|
-
|
|
572
|
+
.spectrum-Table-row.clickable {
|
|
573
|
+
cursor: pointer;
|
|
552
574
|
}
|
|
553
|
-
.spectrum-Table-row:hover .spectrum-Table-cell
|
|
554
|
-
background-color: var(--spectrum-
|
|
575
|
+
.spectrum-Table-row.clickable:hover .spectrum-Table-cell {
|
|
576
|
+
background-color: var(--spectrum-global-color-gray-100);
|
|
555
577
|
}
|
|
556
578
|
.wrapper--quiet .spectrum-Table-row {
|
|
557
579
|
border-left: none;
|
|
@@ -584,24 +606,13 @@
|
|
|
584
606
|
border-bottom: 1px solid var(--spectrum-alias-border-color-mid);
|
|
585
607
|
background-color: var(--table-bg);
|
|
586
608
|
z-index: auto;
|
|
609
|
+
transition: background-color 130ms ease-out;
|
|
587
610
|
}
|
|
588
611
|
.spectrum-Table-cell--edit {
|
|
589
612
|
position: sticky;
|
|
590
613
|
left: 0;
|
|
591
614
|
z-index: 2;
|
|
592
615
|
}
|
|
593
|
-
.spectrum-Table-cell:after {
|
|
594
|
-
content: "";
|
|
595
|
-
position: absolute;
|
|
596
|
-
width: 100%;
|
|
597
|
-
height: 100%;
|
|
598
|
-
background-color: transparent;
|
|
599
|
-
top: 0;
|
|
600
|
-
left: 0;
|
|
601
|
-
pointer-events: none;
|
|
602
|
-
transition: background-color
|
|
603
|
-
var(--spectrum-global-animation-duration-100, 0.13s) ease-in-out;
|
|
604
|
-
}
|
|
605
616
|
|
|
606
617
|
/* Placeholder */
|
|
607
618
|
.placeholder {
|
package/src/Tabs/Tab.svelte
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import Portal from "svelte-portal"
|
|
4
4
|
export let title
|
|
5
5
|
export let icon = ""
|
|
6
|
+
export let id
|
|
6
7
|
|
|
7
8
|
const dispatch = createEventDispatcher()
|
|
8
9
|
let selected = getContext("tab")
|
|
@@ -31,10 +32,7 @@
|
|
|
31
32
|
$: {
|
|
32
33
|
if ($selected.title === title && tab_internal) {
|
|
33
34
|
if ($selected.info?.left !== tab_internal.getBoundingClientRect().left) {
|
|
34
|
-
|
|
35
|
-
...$selected,
|
|
36
|
-
info: tab_internal.getBoundingClientRect(),
|
|
37
|
-
}
|
|
35
|
+
setTabInfo()
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
38
|
}
|
|
@@ -50,6 +48,7 @@
|
|
|
50
48
|
</script>
|
|
51
49
|
|
|
52
50
|
<div
|
|
51
|
+
{id}
|
|
53
52
|
bind:this={tab_internal}
|
|
54
53
|
on:click={onClick}
|
|
55
54
|
class:is-selected={$selected.title === title}
|
|
@@ -82,7 +81,8 @@
|
|
|
82
81
|
.spectrum-Tabs-item {
|
|
83
82
|
color: var(--spectrum-global-color-gray-600);
|
|
84
83
|
}
|
|
85
|
-
.spectrum-Tabs-item.is-selected
|
|
84
|
+
.spectrum-Tabs-item.is-selected,
|
|
85
|
+
.spectrum-Tabs-item:hover {
|
|
86
86
|
color: var(--spectrum-global-color-gray-900);
|
|
87
87
|
}
|
|
88
88
|
</style>
|
package/src/Tags/Tag.svelte
CHANGED
package/src/Tags/Tags.svelte
CHANGED
|
@@ -5,3 +5,13 @@
|
|
|
5
5
|
<div class="spectrum-Tags" role="list" aria-label="list">
|
|
6
6
|
<slot />
|
|
7
7
|
</div>
|
|
8
|
+
|
|
9
|
+
<style>
|
|
10
|
+
.spectrum-Tags {
|
|
11
|
+
margin-top: -8px;
|
|
12
|
+
margin-left: -4px;
|
|
13
|
+
}
|
|
14
|
+
.spectrum-Tags :global(.spectrum-Tags-item) {
|
|
15
|
+
margin: 8px 0 0 4px !important;
|
|
16
|
+
}
|
|
17
|
+
</style>
|
package/src/bbui.css
CHANGED
|
@@ -40,12 +40,14 @@
|
|
|
40
40
|
--rounded-medium: 8px;
|
|
41
41
|
--rounded-large: 16px;
|
|
42
42
|
|
|
43
|
-
--font-sans: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, "Inter",
|
|
44
|
-
"Helvetica Neue", Arial, "Noto Sans", sans-serif
|
|
45
|
-
|
|
43
|
+
--font-sans: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, "Inter",
|
|
44
|
+
"Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
|
45
|
+
--font-accent: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, "Inter",
|
|
46
|
+
"Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
|
46
47
|
--font-serif: "Georgia", Cambria, Times New Roman, Times, serif;
|
|
47
48
|
--font-mono: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
|
|
48
49
|
monospace;
|
|
50
|
+
--spectrum-alias-body-text-font-family: var(--font-sans);
|
|
49
51
|
|
|
50
52
|
font-size: 16px;
|
|
51
53
|
--font-size-xs: 0.75rem;
|
|
@@ -89,6 +91,8 @@
|
|
|
89
91
|
--border-light-2: 2px var(--grey-3) solid;
|
|
90
92
|
--border-blue: 2px var(--blue) solid;
|
|
91
93
|
--border-transparent: 2px transparent solid;
|
|
94
|
+
|
|
95
|
+
--spectrum-alias-text-color-disabled: var(--spectrum-global-color-gray-600);
|
|
92
96
|
}
|
|
93
97
|
|
|
94
98
|
a {
|
package/src/context.js
CHANGED
package/src/index.js
CHANGED
|
@@ -27,6 +27,7 @@ export { default as RadioGroup } from "./Form/RadioGroup.svelte"
|
|
|
27
27
|
export { default as Checkbox } from "./Form/Checkbox.svelte"
|
|
28
28
|
export { default as InputDropdown } from "./Form/InputDropdown.svelte"
|
|
29
29
|
export { default as PickerDropdown } from "./Form/PickerDropdown.svelte"
|
|
30
|
+
export { default as EnvDropdown } from "./Form/EnvDropdown.svelte"
|
|
30
31
|
export { default as DetailSummary } from "./DetailSummary/DetailSummary.svelte"
|
|
31
32
|
export { default as Popover } from "./Popover/Popover.svelte"
|
|
32
33
|
export { default as ProgressBar } from "./ProgressBar/ProgressBar.svelte"
|
|
@@ -75,6 +76,7 @@ export { default as ListItem } from "./List/ListItem.svelte"
|
|
|
75
76
|
export { default as IconSideNav } from "./IconSideNav/IconSideNav.svelte"
|
|
76
77
|
export { default as IconSideNavItem } from "./IconSideNav/IconSideNavItem.svelte"
|
|
77
78
|
export { default as Slider } from "./Form/Slider.svelte"
|
|
79
|
+
export { default as Accordion } from "./Accordion/Accordion.svelte"
|
|
78
80
|
|
|
79
81
|
// Renderers
|
|
80
82
|
export { default as BoldRenderer } from "./Table/BoldRenderer.svelte"
|
|
@@ -101,3 +103,6 @@ export { banner, BANNER_TYPES } from "./Stores/banner"
|
|
|
101
103
|
|
|
102
104
|
// Helpers
|
|
103
105
|
export * as Helpers from "./helpers"
|
|
106
|
+
|
|
107
|
+
// Fancy form components
|
|
108
|
+
export * from "./FancyForm"
|