@budibase/bbui 1.58.13 → 2.0.1

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 (181) hide show
  1. package/LICENSE +375 -0
  2. package/dist/bbui.es.js +14 -0
  3. package/dist/bbui.es.js.map +1 -0
  4. package/package.json +68 -32
  5. package/src/ActionButton/ActionButton.svelte +102 -0
  6. package/src/ActionGroup/ActionGroup.svelte +26 -0
  7. package/src/ActionMenu/ActionMenu.svelte +44 -0
  8. package/src/Actions/autoresize_textarea.js +9 -9
  9. package/src/Actions/click_outside.js +5 -5
  10. package/src/Actions/position_dropdown.js +46 -37
  11. package/src/Avatar/Avatar.svelte +62 -0
  12. package/src/Badge/Badge.svelte +29 -0
  13. package/src/Banner/Banner.svelte +72 -0
  14. package/src/Banner/BannerDisplay.svelte +41 -0
  15. package/src/Button/Button.svelte +102 -200
  16. package/src/ButtonGroup/ButtonGroup.svelte +30 -0
  17. package/src/ClearButton/ClearButton.svelte +19 -0
  18. package/src/ColorPicker/ColorPicker.svelte +297 -0
  19. package/src/DetailSummary/DetailSummary.svelte +83 -0
  20. package/src/Divider/Divider.svelte +28 -0
  21. package/src/Drawer/Drawer.svelte +76 -51
  22. package/src/Drawer/DrawerContent.svelte +46 -0
  23. package/src/Form/Checkbox.svelte +21 -132
  24. package/src/Form/Combobox.svelte +45 -0
  25. package/src/Form/Core/Checkbox.svelte +69 -0
  26. package/src/Form/Core/CheckboxGroup.svelte +68 -0
  27. package/src/Form/Core/Combobox.svelte +142 -0
  28. package/src/Form/Core/DatePicker.svelte +257 -0
  29. package/src/Form/Core/Dropzone.svelte +453 -0
  30. package/src/Form/Core/InputDropdown.svelte +228 -0
  31. package/src/Form/Core/Multiselect.svelte +90 -0
  32. package/src/Form/Core/Picker.svelte +259 -0
  33. package/src/Form/Core/PickerDropdown.svelte +415 -0
  34. package/src/Form/Core/RadioGroup.svelte +48 -0
  35. package/src/Form/Core/RichTextField.svelte +42 -0
  36. package/src/Form/Core/Search.svelte +105 -0
  37. package/src/Form/Core/Select.svelte +75 -0
  38. package/src/Form/Core/Slider.svelte +86 -0
  39. package/src/Form/Core/Stepper.svelte +172 -0
  40. package/src/Form/Core/Switch.svelte +37 -0
  41. package/src/Form/Core/TextArea.svelte +78 -0
  42. package/src/Form/Core/TextField.svelte +119 -0
  43. package/src/Form/Core/index.js +15 -0
  44. package/src/Form/DatePicker.svelte +39 -0
  45. package/src/Form/Dropzone.svelte +42 -0
  46. package/src/Form/Field.svelte +42 -0
  47. package/src/Form/FieldLabel.svelte +32 -0
  48. package/src/Form/Input.svelte +41 -187
  49. package/src/Form/InputDropdown.svelte +55 -0
  50. package/src/Form/Multiselect.svelte +36 -320
  51. package/src/Form/PickerDropdown.svelte +132 -0
  52. package/src/Form/RadioGroup.svelte +42 -0
  53. package/src/Form/RichTextField.svelte +36 -0
  54. package/src/Form/Search.svelte +36 -0
  55. package/src/Form/Select.svelte +48 -88
  56. package/src/Form/Slider.svelte +16 -91
  57. package/src/Form/Stepper.svelte +45 -0
  58. package/src/Form/TextArea.svelte +30 -128
  59. package/src/Form/Toggle.svelte +20 -110
  60. package/src/Icon/Icon.svelte +91 -0
  61. package/src/Icon/IconAvatar.svelte +58 -0
  62. package/src/IconPicker/IconPicker.svelte +177 -0
  63. package/src/IconSideNav/IconSideNav.svelte +14 -0
  64. package/src/IconSideNav/IconSideNavItem.svelte +56 -0
  65. package/src/InlineAlert/InlineAlert.svelte +60 -0
  66. package/src/Label/Label.svelte +29 -0
  67. package/src/Layout/Layout.svelte +94 -0
  68. package/src/Layout/Page.svelte +32 -0
  69. package/src/Link/Link.svelte +24 -0
  70. package/src/List/List.svelte +28 -0
  71. package/src/List/ListItem.svelte +90 -0
  72. package/src/Markdown/MarkdownEditor.svelte +60 -0
  73. package/src/Markdown/MarkdownViewer.svelte +70 -0
  74. package/src/Markdown/SpectrumMDE.svelte +184 -0
  75. package/src/Menu/Item.svelte +96 -0
  76. package/src/Menu/Menu.svelte +7 -0
  77. package/src/Menu/Menu.svench +19 -0
  78. package/src/Menu/Section.svelte +10 -0
  79. package/src/Menu/Separator.svelte +1 -0
  80. package/src/Modal/Content.svelte +0 -11
  81. package/src/Modal/CustomContent.svelte +9 -6
  82. package/src/Modal/Modal.svelte +104 -51
  83. package/src/Modal/ModalContent.svelte +131 -73
  84. package/src/Modal/QuizModal.svelte +16 -17
  85. package/src/Notification/Notification.svelte +70 -0
  86. package/src/Notification/NotificationDisplay.svelte +43 -0
  87. package/src/Pagination/Pagination.svelte +57 -0
  88. package/src/Popover/Popover.svelte +43 -33
  89. package/src/ProgressBar/ProgressBar.svelte +67 -0
  90. package/src/ProgressCircle/ProgressCircle.svelte +62 -0
  91. package/src/SideNavigation/Item.svelte +61 -0
  92. package/src/SideNavigation/Navigation.svelte +12 -0
  93. package/src/StatusLight/StatusLight.svelte +80 -0
  94. package/src/Stores/Notifications.svench.svx +1 -1
  95. package/src/Stores/banner.js +65 -0
  96. package/src/Stores/notifications.js +75 -38
  97. package/src/Table/ArrayRenderer.svelte +17 -0
  98. package/src/Table/AttachmentRenderer.svelte +73 -0
  99. package/src/Table/BoldRenderer.svelte +15 -0
  100. package/src/Table/BooleanRenderer.svelte +42 -0
  101. package/src/Table/CellRenderer.svelte +69 -0
  102. package/src/Table/CodeRenderer.svelte +14 -0
  103. package/src/Table/DateTimeRenderer.svelte +29 -0
  104. package/src/Table/InternalRenderer.svelte +24 -0
  105. package/src/Table/RelationshipRenderer.svelte +40 -0
  106. package/src/Table/SelectEditRenderer.svelte +28 -0
  107. package/src/Table/StringRenderer.svelte +14 -0
  108. package/src/Table/Table.svelte +635 -0
  109. package/src/Table/index.js +1 -0
  110. package/src/Tabs/Tab.svelte +88 -0
  111. package/src/Tabs/Tabs.svelte +130 -0
  112. package/src/Tags/Tag.svelte +43 -0
  113. package/src/Tags/Tags.svelte +7 -0
  114. package/src/Tooltip/Tooltip.svelte +34 -0
  115. package/src/Tooltip/TooltipWrapper.svelte +60 -0
  116. package/src/TreeView/Item.svelte +41 -0
  117. package/src/TreeView/Tree.svelte +16 -0
  118. package/src/Typography/Body.svelte +21 -0
  119. package/src/Typography/Code.svelte +10 -0
  120. package/src/Typography/Detail.svelte +19 -0
  121. package/src/Typography/Heading.svelte +17 -0
  122. package/{dist → src}/bbui.css +2 -99
  123. package/src/context.js +1 -1
  124. package/src/helpers.js +134 -0
  125. package/src/index.js +95 -40
  126. package/src/spectrum-icons-rollup.js +31 -0
  127. package/src/spectrum-icons-vite.js +31 -0
  128. package/dist/dist/bundle.css +0 -42
  129. package/dist/dist/bundle.css.map +0 -64
  130. package/dist/index.js +0 -36193
  131. package/dist/index.mjs +0 -36147
  132. package/src/Button/Close.svelte +0 -59
  133. package/src/Button/Close.svench +0 -36
  134. package/src/Button/TextButton.svelte +0 -128
  135. package/src/Button/TextButton.svench +0 -69
  136. package/src/DatePicker/DatePicker.svelte +0 -45
  137. package/src/DatePicker/DatePicker.svench +0 -17
  138. package/src/DropdownMenu/DropdownMenu.svelte +0 -77
  139. package/src/DropdownMenu/DropdownMenu.svench +0 -161
  140. package/src/Dropzone/Dropzone.svelte +0 -294
  141. package/src/Dropzone/Dropzone.svench +0 -17
  142. package/src/Dropzone/fileTypes.js +0 -5
  143. package/src/Form/Checkbox.svench.svx +0 -67
  144. package/src/Form/DataList.svelte +0 -158
  145. package/src/Form/DataList.svench +0 -57
  146. package/src/Form/Input.svench +0 -62
  147. package/src/Form/Multiselect.svench +0 -63
  148. package/src/Form/Radio.svelte +0 -133
  149. package/src/Form/Radio.svench.svx +0 -64
  150. package/src/Form/RichText.svelte +0 -61
  151. package/src/Form/RichText.svench.svx +0 -40
  152. package/src/Form/Select.svench +0 -62
  153. package/src/Form/Slider.svench +0 -26
  154. package/src/Form/TextArea.svench +0 -30
  155. package/src/Form/Toggle.svench +0 -21
  156. package/src/Icons/Contribution.svelte +0 -14
  157. package/src/Icons/Icon.svelte +0 -36
  158. package/src/Icons/Icon.svench +0 -109
  159. package/src/Icons/icon-paths.js +0 -136
  160. package/src/Links/Home.svelte +0 -51
  161. package/src/Links/Home.svench +0 -19
  162. package/src/List/Items/DetailSummary.svelte +0 -85
  163. package/src/List/Items/DetailSummary.svench +0 -53
  164. package/src/List/Search.svelte +0 -34
  165. package/src/List/Search.svench +0 -8
  166. package/src/Spacer/Spacer.svelte +0 -50
  167. package/src/Spacer/Spacer.svench +0 -51
  168. package/src/Styleguide/Body.svelte +0 -72
  169. package/src/Styleguide/Borders.svench +0 -175
  170. package/src/Styleguide/Budibase-logo.svelte +0 -68
  171. package/src/Styleguide/Color.svench +0 -201
  172. package/src/Styleguide/Heading.svelte +0 -74
  173. package/src/Styleguide/Label.svelte +0 -70
  174. package/src/Styleguide/Logo.svelte +0 -16
  175. package/src/Styleguide/Logo.svench +0 -8
  176. package/src/Styleguide/Spacing.svench +0 -191
  177. package/src/Styleguide/Typography.svench +0 -227
  178. package/src/Switcher/Switcher.svelte +0 -47
  179. package/src/Switcher/Switcher.svench +0 -27
  180. package/src/index.svench.svx +0 -35
  181. package/src/utils/buildStyle.js +0 -14
@@ -0,0 +1,88 @@
1
+ <script>
2
+ import { getContext, onMount, createEventDispatcher } from "svelte"
3
+ import Portal from "svelte-portal"
4
+ export let title
5
+ export let icon = ""
6
+
7
+ const dispatch = createEventDispatcher()
8
+ let selected = getContext("tab")
9
+ let tab_internal
10
+ let tabInfo
11
+
12
+ const setTabInfo = () => {
13
+ // If the tabs are being rendered inside a component which uses
14
+ // a svelte transition to enter, then this initial getBoundingClientRect
15
+ // will return an incorrect position.
16
+ // We just need to get this off the main thread to fix this, by using
17
+ // a 0ms timeout.
18
+ setTimeout(() => {
19
+ tabInfo = tab_internal?.getBoundingClientRect()
20
+ if (tabInfo && $selected.title === title) {
21
+ $selected.info = tabInfo
22
+ }
23
+ }, 0)
24
+ }
25
+
26
+ onMount(() => {
27
+ setTabInfo()
28
+ })
29
+
30
+ //Ensure that the underline is in the correct location
31
+ $: {
32
+ if ($selected.title === title && tab_internal) {
33
+ if ($selected.info?.left !== tab_internal.getBoundingClientRect().left) {
34
+ $selected = {
35
+ ...$selected,
36
+ info: tab_internal.getBoundingClientRect(),
37
+ }
38
+ }
39
+ }
40
+ }
41
+
42
+ const onClick = () => {
43
+ $selected = {
44
+ ...$selected,
45
+ title,
46
+ info: tab_internal.getBoundingClientRect(),
47
+ }
48
+ dispatch("click")
49
+ }
50
+ </script>
51
+
52
+ <div
53
+ bind:this={tab_internal}
54
+ on:click={onClick}
55
+ class:is-selected={$selected.title === title}
56
+ class="spectrum-Tabs-item"
57
+ class:emphasized={$selected.title === title && $selected.emphasized}
58
+ tabindex="0"
59
+ >
60
+ {#if icon}
61
+ <svg
62
+ class="spectrum-Icon spectrum-Icon--sizeM"
63
+ focusable="false"
64
+ aria-hidden="true"
65
+ aria-label="Folder"
66
+ >
67
+ <use xlink:href="#spectrum-icon-18-{icon}" />
68
+ </svg>
69
+ {/if}
70
+ <span class="spectrum-Tabs-itemLabel">{title}</span>
71
+ </div>
72
+ {#if $selected.title === title}
73
+ <Portal target=".spectrum-Tabs-content-{$selected.id}">
74
+ <slot />
75
+ </Portal>
76
+ {/if}
77
+
78
+ <style>
79
+ .emphasized {
80
+ color: var(--spectrum-global-color-blue-600);
81
+ }
82
+ .spectrum-Tabs-item {
83
+ color: var(--spectrum-global-color-gray-600);
84
+ }
85
+ .spectrum-Tabs-item.is-selected {
86
+ color: var(--spectrum-global-color-gray-900);
87
+ }
88
+ </style>
@@ -0,0 +1,130 @@
1
+ <script>
2
+ import "@spectrum-css/tabs/dist/index-vars.css"
3
+ import { writable } from "svelte/store"
4
+ import { onMount, setContext, createEventDispatcher } from "svelte"
5
+
6
+ export let selected
7
+ export let vertical = false
8
+ export let noPadding = false
9
+ // added as a separate option as noPadding is used for vertical padding
10
+ export let noHorizPadding = false
11
+ export let quiet = false
12
+ export let emphasized = false
13
+ export let onTop = false
14
+ export let size = "M"
15
+
16
+ let thisSelected = undefined
17
+
18
+ let _id = id()
19
+ const tab = writable({ title: selected, id: _id, emphasized })
20
+ setContext("tab", tab)
21
+
22
+ let container
23
+
24
+ const dispatch = createEventDispatcher()
25
+
26
+ $: {
27
+ if (thisSelected !== selected) {
28
+ thisSelected = selected
29
+ dispatch("select", thisSelected)
30
+ } else if ($tab.title !== thisSelected) {
31
+ thisSelected = $tab.title
32
+ selected = $tab.title
33
+ dispatch("select", thisSelected)
34
+ }
35
+ if ($tab.title !== thisSelected) {
36
+ tab.update(state => {
37
+ state.title = thisSelected
38
+ return state
39
+ })
40
+ }
41
+ }
42
+
43
+ let top, left, width, height
44
+ $: calculateIndicatorLength($tab)
45
+ $: calculateIndicatorOffset($tab)
46
+
47
+ function calculateIndicatorLength() {
48
+ if (!vertical) {
49
+ width = $tab.info?.width + "px"
50
+ height = $tab.info?.height
51
+ } else {
52
+ height = $tab.info?.height + 4 + "px"
53
+ width = $tab.info?.width
54
+ }
55
+ }
56
+
57
+ function calculateIndicatorOffset() {
58
+ if (!vertical) {
59
+ left = $tab.info?.left - container?.getBoundingClientRect().left + "px"
60
+ } else {
61
+ top = $tab.info?.top - container?.getBoundingClientRect().top + "px"
62
+ }
63
+ }
64
+
65
+ onMount(() => {
66
+ calculateIndicatorLength()
67
+ calculateIndicatorOffset()
68
+ })
69
+
70
+ function id() {
71
+ return "_" + Math.random().toString(36).slice(2, 9)
72
+ }
73
+ </script>
74
+
75
+ <div
76
+ bind:this={container}
77
+ class:spectrum-Tabs--quiet={quiet}
78
+ class:noHorizPadding
79
+ class:onTop
80
+ class:spectrum-Tabs--vertical={vertical}
81
+ class:spectrum-Tabs--horizontal={!vertical}
82
+ class="spectrum-Tabs spectrum-Tabs--size{size}"
83
+ >
84
+ <slot />
85
+ {#if $tab.info}
86
+ <div
87
+ class="spectrum-Tabs-selectionIndicator"
88
+ class:emphasized
89
+ style="width: {width}; height: {height}; left: {left}; top: {top};"
90
+ />
91
+ {/if}
92
+ </div>
93
+
94
+ <div
95
+ class="spectrum-Tabs-content spectrum-Tabs-content-{_id}"
96
+ class:noPadding
97
+ />
98
+
99
+ <style>
100
+ .spectrum-Tabs--quiet {
101
+ border-bottom: none !important;
102
+ }
103
+ .spectrum-Tabs {
104
+ padding-left: var(--spacing-xl);
105
+ padding-right: var(--spacing-xl);
106
+ position: relative;
107
+ border-bottom-color: var(--spectrum-global-color-gray-200);
108
+ }
109
+ .spectrum-Tabs-content {
110
+ margin-top: var(--spectrum-global-dimension-static-size-150);
111
+ }
112
+ .spectrum-Tabs-selectionIndicator {
113
+ transition: all 200ms;
114
+ background-color: var(--spectrum-global-color-gray-900);
115
+ }
116
+ .spectrum-Tabs-selectionIndicator.emphasized {
117
+ background-color: var(--spectrum-global-color-blue-400);
118
+ }
119
+ .spectrum-Tabs--horizontal .spectrum-Tabs-selectionIndicator {
120
+ }
121
+ .noHorizPadding {
122
+ padding: 0;
123
+ }
124
+ .noPadding {
125
+ margin: 0;
126
+ }
127
+ .onTop {
128
+ z-index: 100;
129
+ }
130
+ </style>
@@ -0,0 +1,43 @@
1
+ <script>
2
+ import "@spectrum-css/tags/dist/index-vars.css"
3
+ import Avatar from "../Avatar/Avatar.svelte"
4
+ import ClearButton from "../ClearButton/ClearButton.svelte"
5
+
6
+ export let icon = ""
7
+ export let avatar = ""
8
+ export let invalid = false
9
+ export let disabled = false
10
+ export let closable = false
11
+ </script>
12
+
13
+ <div
14
+ class:is-invalid={invalid}
15
+ class:is-disabled={disabled}
16
+ class="spectrum-Tags-item"
17
+ role="listitem"
18
+ >
19
+ {#if avatar}
20
+ <Avatar url={avatar} />
21
+ {/if}
22
+ {#if icon}
23
+ <svg
24
+ class="spectrum-Icon spectrum-Icon--sizeS"
25
+ focusable="false"
26
+ aria-hidden="true"
27
+ aria-label="Tag"
28
+ >
29
+ <use xlink:href="#spectrum-icon-24-{icon}" />
30
+ </svg>
31
+ {/if}
32
+ <span class="spectrum-Tags-itemLabel"><slot /></span>
33
+ {#if closable}
34
+ <ClearButton on:click />
35
+ {/if}
36
+ </div>
37
+
38
+ <style>
39
+ .spectrum-Tags-item {
40
+ margin-top: 0;
41
+ margin-bottom: 0;
42
+ }
43
+ </style>
@@ -0,0 +1,7 @@
1
+ <script>
2
+ import "@spectrum-css/tags/dist/index-vars.css"
3
+ </script>
4
+
5
+ <div class="spectrum-Tags" role="list" aria-label="list">
6
+ <slot />
7
+ </div>
@@ -0,0 +1,34 @@
1
+ <script>
2
+ import "@spectrum-css/tooltip/dist/index-vars.css"
3
+
4
+ export let direction = "top"
5
+ export let text = ""
6
+ export let textWrapping = false
7
+ </script>
8
+
9
+ <!-- Showing / Hiding a text wrapped tooltip should be handled outside the component -->
10
+ {#if textWrapping}
11
+ <span class="spectrum-Tooltip spectrum-Tooltip--{direction} is-open tooltip">
12
+ <span class="spectrum-Tooltip-label">{text}</span>
13
+ <span class="spectrum-Tooltip-tip" />
14
+ </span>
15
+ {:else}
16
+ <!-- The default show on hover tooltip does not support text wrapping -->
17
+ <span class="u-tooltip-showOnHover tooltip">
18
+ <slot />
19
+ <div class={`spectrum-Tooltip spectrum-Tooltip--${direction}`}>
20
+ <span class="spectrum-Tooltip-label">{text}</span>
21
+ <span class="spectrum-Tooltip-tip" />
22
+ </div>
23
+ </span>
24
+ {/if}
25
+
26
+ <style>
27
+ .tooltip {
28
+ pointer-events: none;
29
+ background: var(--spectrum-global-color-gray-500);
30
+ }
31
+ .spectrum-Tooltip-tip {
32
+ border-top-color: var(--spectrum-global-color-gray-500);
33
+ }
34
+ </style>
@@ -0,0 +1,60 @@
1
+ <script>
2
+ import Tooltip from "./Tooltip.svelte"
3
+ import Icon from "../Icon/Icon.svelte"
4
+
5
+ export let tooltip = ""
6
+ export let size = "M"
7
+ export let disabled = true
8
+
9
+ let showTooltip = false
10
+ </script>
11
+
12
+ <div class:container={!!tooltip}>
13
+ <slot />
14
+ {#if tooltip}
15
+ <div class="icon-container">
16
+ <div
17
+ class="icon"
18
+ class:icon-small={size === "M" || size === "S"}
19
+ on:mouseover={() => (showTooltip = true)}
20
+ on:mouseleave={() => (showTooltip = false)}
21
+ on:focus
22
+ >
23
+ <Icon name="InfoOutline" size="S" {disabled} />
24
+ </div>
25
+ {#if showTooltip}
26
+ <div class="tooltip">
27
+ <Tooltip textWrapping={true} direction={"bottom"} text={tooltip} />
28
+ </div>
29
+ {/if}
30
+ </div>
31
+ {/if}
32
+ </div>
33
+
34
+ <style>
35
+ .container {
36
+ display: flex;
37
+ align-items: center;
38
+ }
39
+ .icon-container {
40
+ position: relative;
41
+ display: flex;
42
+ justify-content: center;
43
+ margin-left: 5px;
44
+ margin-right: 5px;
45
+ }
46
+ .tooltip {
47
+ position: absolute;
48
+ display: flex;
49
+ justify-content: center;
50
+ top: 15px;
51
+ z-index: 200;
52
+ width: 160px;
53
+ }
54
+ .icon {
55
+ transform: scale(0.75);
56
+ }
57
+ .icon-small {
58
+ margin-bottom: -2px;
59
+ }
60
+ </style>
@@ -0,0 +1,41 @@
1
+ <script>
2
+ export let selected = false
3
+ export let open = false
4
+ export let href = false
5
+ export let title
6
+ export let icon
7
+ </script>
8
+
9
+ <li
10
+ class:is-selected={selected}
11
+ class:is-open={open}
12
+ class="spectrum-TreeView-item"
13
+ >
14
+ <a on:click class="spectrum-TreeView-itemLink" {href}>
15
+ {#if $$slots.default}
16
+ <svg
17
+ class="spectrum-Icon spectrum-UIIcon-ChevronRight100 spectrum-TreeView-itemIndicator"
18
+ focusable="false"
19
+ aria-hidden="true"
20
+ >
21
+ <use xlink:href="#spectrum-css-icon-Chevron100" />
22
+ </svg>
23
+ {/if}
24
+ {#if icon}
25
+ <svg
26
+ class="spectrum-TreeView-itemIcon spectrum-Icon spectrum-Icon--sizeM"
27
+ focusable="false"
28
+ aria-hidden="true"
29
+ aria-label="Layers"
30
+ >
31
+ <use xlink:href="#spectrum-icon-18-{icon}" />
32
+ </svg>
33
+ {/if}
34
+ <span class="spectrum-TreeView-itemLabel">{title}</span>
35
+ </a>
36
+ {#if $$slots.default}
37
+ <ul class="spectrum-TreeView">
38
+ <slot />
39
+ </ul>
40
+ {/if}
41
+ </li>
@@ -0,0 +1,16 @@
1
+ <script>
2
+ import "@spectrum-css/treeview/dist/index-vars.css"
3
+
4
+ export let quiet = false
5
+ export let standalone = true
6
+ export let width = "250px"
7
+ </script>
8
+
9
+ <ul
10
+ class:spectrum-TreeView--standalone={standalone}
11
+ class:spectrum-TreeView--quiet={quiet}
12
+ class="spectrum-TreeView"
13
+ style="width: {width}"
14
+ >
15
+ <slot />
16
+ </ul>
@@ -0,0 +1,21 @@
1
+ <script>
2
+ import "@spectrum-css/typography/dist/index-vars.css"
3
+
4
+ export let size = "M"
5
+ export let serif = false
6
+ export let weight = null
7
+ export let textAlign = null
8
+ export let color = null
9
+ </script>
10
+
11
+ <p
12
+ style={`
13
+ ${weight ? `font-weight:${weight};` : ""}
14
+ ${textAlign ? `text-align:${textAlign};` : ""}
15
+ ${color ? `color:${color};` : ""}
16
+ `}
17
+ class="spectrum-Body spectrum-Body--size{size}"
18
+ class:spectrum-Body--serif={serif}
19
+ >
20
+ <slot />
21
+ </p>
@@ -0,0 +1,10 @@
1
+ <script>
2
+ import "@spectrum-css/typography/dist/index-vars.css"
3
+
4
+ // Sizes
5
+ export let size = "M"
6
+ </script>
7
+
8
+ <code class="spectrum-Code spectrum-Code--size{size}">
9
+ <slot />
10
+ </code>
@@ -0,0 +1,19 @@
1
+ <script>
2
+ import "@spectrum-css/typography/dist/index-vars.css"
3
+
4
+ export let size = "M"
5
+ export let serif = false
6
+ </script>
7
+
8
+ <p
9
+ class="spectrum-Detail spectrum-Detail--size{size}"
10
+ class:spectrum-Detail--serif={serif}
11
+ >
12
+ <slot />
13
+ </p>
14
+
15
+ <style>
16
+ p {
17
+ font-weight: 600;
18
+ }
19
+ </style>
@@ -0,0 +1,17 @@
1
+ <script>
2
+ import "@spectrum-css/typography/dist/index-vars.css"
3
+
4
+ // Sizes
5
+ export let size = "M"
6
+ export let textAlign
7
+ export let noPadding = false
8
+ export let weight = "default" // light, heavy, default
9
+ </script>
10
+
11
+ <h1
12
+ style={textAlign ? `text-align:${textAlign}` : ``}
13
+ class:noPadding
14
+ class="spectrum-Heading spectrum-Heading--size{size} spectrum-Heading--{weight}"
15
+ >
16
+ <slot />
17
+ </h1>
@@ -1,32 +1,3 @@
1
- .svench-content {
2
- color: #666;
3
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, "Roboto",
4
- Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
5
- }
6
-
7
- h1.svench-content {
8
- font-size: 2em;
9
- }
10
- h2.svench-content {
11
- font-size: 1.66em;
12
- }
13
- h3.svench-content {
14
- font-size: 1.33em;
15
- }
16
- h4.svench-content {
17
- font-size: 1.33em;
18
- font-weight: normal;
19
- }
20
- h5.svench-content {
21
- font-size: 1em;
22
- font-weight: bold;
23
- }
24
- h6.svench-content {
25
- font-size: 1em;
26
- font-weight: normal;
27
- font-style: italic;
28
- }
29
-
30
1
  :root {
31
2
  --background: #ffffff;
32
3
  --ink: #000000;
@@ -69,12 +40,7 @@ h6.svench-content {
69
40
  --rounded-medium: 8px;
70
41
  --rounded-large: 16px;
71
42
 
72
- --font-normal: "Inter";
73
- --font-black: "Inter Black";
74
- --font-bold: "Inter Bold";
75
- --font-medium: "Inter Medium";
76
- --font-light: "Inter Light";
77
- --font-sans: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, "Inter",
43
+ --font-sans: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, "Inter",
78
44
  "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
79
45
  "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
80
46
  --font-serif: "Georgia", Cambria, Times New Roman, Times, serif;
@@ -125,69 +91,6 @@ h6.svench-content {
125
91
  --border-transparent: 2px transparent solid;
126
92
  }
127
93
 
128
- h1 {
129
- font-size: 3rem;
130
- font-family: var(--font-sans);
131
- font-weight: 700;
132
- text-rendering: var(--text-render);
133
- -webkit-font-smoothing: var(--text-smooth);
134
- color: var(--ink);
135
- }
136
-
137
- h2 {
138
- font-size: 2.25rem;
139
- font-family: var(--font-sans);
140
- font-weight: 600;
141
- text-rendering: var(--text-render);
142
- -webkit-font-smoothing: var(--text-smooth);
143
- color: var(--ink);
144
- }
145
-
146
- h3 {
147
- font-size: 1.7rem;
148
- font-family: var(--font-sans);
149
- font-weight: 600;
150
- text-rendering: var(--text-render);
151
- -webkit-font-smoothing: var(--text-smooth);
152
- color: var(--ink);
153
- }
154
-
155
- h4 {
156
- font-size: var(--font-size-xl);
157
- font-family: var(--font-sans);
158
- font-weight: 500;
159
- text-rendering: var(--text-render);
160
- -webkit-font-smoothing: var(--text-smooth);
161
- color: var(--ink);
162
- }
163
-
164
- h5 {
165
- font-size: var(--font-size-l);
166
- font-family: var(--font-sans);
167
- font-weight: 500;
168
- text-rendering: var(--text-render);
169
- -webkit-font-smoothing: var(--text-smooth);
170
- color: var(--ink);
171
- }
172
-
173
- h6 {
174
- font-size: var(--font-size-m);
175
- font-family: var(--font-sans);
176
- font-weight: 500;
177
- text-rendering: var(--text-render);
178
- -webkit-font-smoothing: var(--text-smooth);
179
- color: var(--ink);
180
- }
181
-
182
- p {
183
- font-size: var(--font-size);
184
- font-family: var(--font-sans);
185
- font-weight: 400;
186
- text-rendering: var(--text-render);
187
- -webkit-font-smoothing: var(--text-smooth);
188
- color: var(--ink);
189
- }
190
-
191
94
  a {
192
95
  text-decoration: none;
193
- }
96
+ }
package/src/context.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export default {
2
- Modal: "bbui-modal"
2
+ Modal: "bbui-modal",
3
3
  }