@budibase/bbui 1.58.13 → 2.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 (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
package/src/helpers.js ADDED
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Generates a DOM safe UUID.
3
+ * Starting with a letter is important to make it DOM safe.
4
+ * @return {string} a random DOM safe UUID
5
+ */
6
+ export function uuid() {
7
+ return "cxxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, c => {
8
+ const r = (Math.random() * 16) | 0
9
+ const v = c === "x" ? r : (r & 0x3) | 0x8
10
+ return v.toString(16)
11
+ })
12
+ }
13
+
14
+ /**
15
+ * Capitalises a string
16
+ * @param string the string to capitalise
17
+ * @return {string} the capitalised string
18
+ */
19
+ export const capitalise = string => {
20
+ if (!string) {
21
+ return string
22
+ }
23
+ return string.substring(0, 1).toUpperCase() + string.substring(1)
24
+ }
25
+
26
+ /**
27
+ * Computes a short hash of a string
28
+ * @param string the string to compute a hash of
29
+ * @return {string} the hash string
30
+ */
31
+ export const hashString = string => {
32
+ if (!string) {
33
+ return "0"
34
+ }
35
+ let hash = 0
36
+ for (let i = 0; i < string.length; i++) {
37
+ let char = string.charCodeAt(i)
38
+ hash = (hash << 5) - hash + char
39
+ hash = hash & hash // Convert to 32bit integer
40
+ }
41
+ return hash.toString()
42
+ }
43
+
44
+ /**
45
+ * Gets a key within an object. The key supports dot syntax for retrieving deep
46
+ * fields - e.g. "a.b.c".
47
+ * Exact matches of keys with dots in them take precedence over nested keys of
48
+ * the same path - e.g. getting "a.b" from { "a.b": "foo", a: { b: "bar" } }
49
+ * will return "foo" over "bar".
50
+ * @param obj the object
51
+ * @param key the key
52
+ * @return {*|null} the value or null if a value was not found for this key
53
+ */
54
+ export const deepGet = (obj, key) => {
55
+ if (!obj || !key) {
56
+ return null
57
+ }
58
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
59
+ return obj[key]
60
+ }
61
+ const split = key.split(".")
62
+ for (let i = 0; i < split.length; i++) {
63
+ obj = obj?.[split[i]]
64
+ }
65
+ return obj
66
+ }
67
+
68
+ /**
69
+ * Sets a key within an object. The key supports dot syntax for retrieving deep
70
+ * fields - e.g. "a.b.c".
71
+ * Exact matches of keys with dots in them take precedence over nested keys of
72
+ * the same path - e.g. setting "a.b" of { "a.b": "foo", a: { b: "bar" } }
73
+ * will override the value "foo" rather than "bar".
74
+ * If a deep path is specified and the parent keys don't exist then these will
75
+ * be created.
76
+ * @param obj the object
77
+ * @param key the key
78
+ * @param value the value
79
+ */
80
+ export const deepSet = (obj, key, value) => {
81
+ if (!obj || !key) {
82
+ return
83
+ }
84
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
85
+ obj[key] = value
86
+ return
87
+ }
88
+ const split = key.split(".")
89
+ for (let i = 0; i < split.length - 1; i++) {
90
+ const nextKey = split[i]
91
+ if (obj && obj[nextKey] == null) {
92
+ obj[nextKey] = {}
93
+ }
94
+ obj = obj?.[nextKey]
95
+ }
96
+ if (!obj) {
97
+ return
98
+ }
99
+ obj[split[split.length - 1]] = value
100
+ }
101
+
102
+ /**
103
+ * Deeply clones an object. Functions are not supported.
104
+ * @param obj the object to clone
105
+ */
106
+ export const cloneDeep = obj => {
107
+ return JSON.parse(JSON.stringify(obj))
108
+ }
109
+
110
+ /**
111
+ * Copies a value to the clipboard
112
+ * @param value the value to copy
113
+ */
114
+ export const copyToClipboard = value => {
115
+ return new Promise(res => {
116
+ if (navigator.clipboard && window.isSecureContext) {
117
+ // Try using the clipboard API first
118
+ navigator.clipboard.writeText(value).then(res)
119
+ } else {
120
+ // Fall back to the textarea hack
121
+ let textArea = document.createElement("textarea")
122
+ textArea.value = value
123
+ textArea.style.position = "fixed"
124
+ textArea.style.left = "-9999px"
125
+ textArea.style.top = "-9999px"
126
+ document.body.appendChild(textArea)
127
+ textArea.focus()
128
+ textArea.select()
129
+ document.execCommand("copy")
130
+ textArea.remove()
131
+ res()
132
+ }
133
+ })
134
+ }
package/src/index.js CHANGED
@@ -1,47 +1,102 @@
1
- // Single default export
1
+ import "./bbui.css"
2
2
 
3
- // export { default as default } from './Component.svelte';
4
-
5
- // OR multiple named exports
6
- //
7
- // import { Foo, Bar } from 'my-lib'
8
- //
3
+ // Spectrum icons
4
+ import "@spectrum-css/icon/dist/index-vars.css"
9
5
 
10
6
  // Components
11
- export { default as Input } from "./Form/Input.svelte";
12
- export { default as TextArea } from "./Form/TextArea.svelte";
13
- export { default as RichText } from "./Form/RichText.svelte";
14
- export { default as Select } from "./Form/Select.svelte";
15
- export { default as DataList } from "./Form/DataList.svelte";
16
- export { default as Dropzone } from "./Dropzone/Dropzone.svelte";
17
- export { default as Drawer } from "./Drawer/Drawer.svelte";
18
- export { default as Button } from "./Button/Button.svelte";
19
- export { default as Icon, iconOptions, directions } from "./Icons/Icon.svelte";
20
- export { default as TextButton } from "./Button/TextButton.svelte";
21
- export { default as Toggle } from "./Form/Toggle.svelte";
22
- export { default as Radio } from "./Form/Radio.svelte";
23
- export { default as Checkbox } from "./Form/Checkbox.svelte";
24
- export { default as Home } from "./Links/Home.svelte";
25
- export { default as DetailSummary } from "./List/Items/DetailSummary.svelte";
26
- export { default as Switcher } from "./Switcher/Switcher.svelte";
27
- export { default as DropdownMenu } from "./DropdownMenu/DropdownMenu.svelte";
28
- export { default as Popover } from "./Popover/Popover.svelte";
29
- export { default as Body } from "./Styleguide/Body.svelte";
30
- export { default as Heading } from "./Styleguide/Heading.svelte";
31
- export { default as Label } from "./Styleguide/Label.svelte";
32
- export { default as Close } from "./Button/Close.svelte";
33
- export { default as Modal } from "./Modal/Modal.svelte";
34
- export { default as ModalContent } from "./Modal/ModalContent.svelte";
35
- export { default as Spacer } from "./Spacer/Spacer.svelte";
36
- export { default as DatePicker } from "./DatePicker/DatePicker.svelte";
37
- export { default as Multiselect } from "./Form/Multiselect.svelte";
38
- export { default as Slider } from "./Form/Slider.svelte";
39
- export { default as Context } from "./context";
7
+ export { default as Input } from "./Form/Input.svelte"
8
+ export { default as Stepper } from "./Form/Stepper.svelte"
9
+ export { default as TextArea } from "./Form/TextArea.svelte"
10
+ export { default as Select } from "./Form/Select.svelte"
11
+ export { default as Combobox } from "./Form/Combobox.svelte"
12
+ export { default as Dropzone } from "./Form/Dropzone.svelte"
13
+ export { default as Drawer } from "./Drawer/Drawer.svelte"
14
+ export { default as DrawerContent } from "./Drawer/DrawerContent.svelte"
15
+ export { default as Avatar } from "./Avatar/Avatar.svelte"
16
+ export { default as ActionButton } from "./ActionButton/ActionButton.svelte"
17
+ export { default as ActionGroup } from "./ActionGroup/ActionGroup.svelte"
18
+ export { default as ActionMenu } from "./ActionMenu/ActionMenu.svelte"
19
+ export { default as Button } from "./Button/Button.svelte"
20
+ export { default as ButtonGroup } from "./ButtonGroup/ButtonGroup.svelte"
21
+ export { default as ClearButton } from "./ClearButton/ClearButton.svelte"
22
+ export { default as Icon, directions } from "./Icon/Icon.svelte"
23
+ export { default as IconAvatar } from "./Icon/IconAvatar.svelte"
24
+ export { default as Toggle } from "./Form/Toggle.svelte"
25
+ export { default as RadioGroup } from "./Form/RadioGroup.svelte"
26
+ export { default as Checkbox } from "./Form/Checkbox.svelte"
27
+ export { default as InputDropdown } from "./Form/InputDropdown.svelte"
28
+ export { default as PickerDropdown } from "./Form/PickerDropdown.svelte"
29
+ export { default as DetailSummary } from "./DetailSummary/DetailSummary.svelte"
30
+ export { default as Popover } from "./Popover/Popover.svelte"
31
+ export { default as ProgressBar } from "./ProgressBar/ProgressBar.svelte"
32
+ export { default as ProgressCircle } from "./ProgressCircle/ProgressCircle.svelte"
33
+ export { default as Label } from "./Label/Label.svelte"
34
+ export { default as Layout } from "./Layout/Layout.svelte"
35
+ export { default as Page } from "./Layout/Page.svelte"
36
+ export { default as Link } from "./Link/Link.svelte"
37
+ export { default as Tooltip } from "./Tooltip/Tooltip.svelte"
38
+ export { default as TooltipWrapper } from "./Tooltip/TooltipWrapper.svelte"
39
+ export { default as Menu } from "./Menu/Menu.svelte"
40
+ export { default as MenuSection } from "./Menu/Section.svelte"
41
+ export { default as MenuSeparator } from "./Menu/Separator.svelte"
42
+ export { default as MenuItem } from "./Menu/Item.svelte"
43
+ export { default as Modal } from "./Modal/Modal.svelte"
44
+ export { default as ModalContent } from "./Modal/ModalContent.svelte"
45
+ export { default as NotificationDisplay } from "./Notification/NotificationDisplay.svelte"
46
+ export { default as Notification } from "./Notification/Notification.svelte"
47
+ export { default as SideNavigation } from "./SideNavigation/Navigation.svelte"
48
+ export { default as SideNavigationItem } from "./SideNavigation/Item.svelte"
49
+ export { default as DatePicker } from "./Form/DatePicker.svelte"
50
+ export { default as Multiselect } from "./Form/Multiselect.svelte"
51
+ export { default as Context } from "./context"
52
+ export { default as Table } from "./Table/Table.svelte"
53
+ export { default as Tabs } from "./Tabs/Tabs.svelte"
54
+ export { default as Tab } from "./Tabs/Tab.svelte"
55
+ export { default as Tags } from "./Tags/Tags.svelte"
56
+ export { default as Tag } from "./Tags/Tag.svelte"
57
+ export { default as TreeView } from "./TreeView/Tree.svelte"
58
+ export { default as TreeItem } from "./TreeView/Item.svelte"
59
+ export { default as Divider } from "./Divider/Divider.svelte"
60
+ export { default as Search } from "./Form/Search.svelte"
61
+ export { default as Pagination } from "./Pagination/Pagination.svelte"
62
+ export { default as Badge } from "./Badge/Badge.svelte"
63
+ export { default as StatusLight } from "./StatusLight/StatusLight.svelte"
64
+ export { default as ColorPicker } from "./ColorPicker/ColorPicker.svelte"
65
+ export { default as IconPicker } from "./IconPicker/IconPicker.svelte"
66
+ export { default as InlineAlert } from "./InlineAlert/InlineAlert.svelte"
67
+ export { default as Banner } from "./Banner/Banner.svelte"
68
+ export { default as BannerDisplay } from "./Banner/BannerDisplay.svelte"
69
+ export { default as MarkdownEditor } from "./Markdown/MarkdownEditor.svelte"
70
+ export { default as MarkdownViewer } from "./Markdown/MarkdownViewer.svelte"
71
+ export { default as RichTextField } from "./Form/RichTextField.svelte"
72
+ export { default as List } from "./List/List.svelte"
73
+ export { default as ListItem } from "./List/ListItem.svelte"
74
+ export { default as IconSideNav } from "./IconSideNav/IconSideNav.svelte"
75
+ export { default as IconSideNavItem } from "./IconSideNav/IconSideNavItem.svelte"
76
+ export { default as Slider } from "./Form/Slider.svelte"
77
+
78
+ // Renderers
79
+ export { default as BoldRenderer } from "./Table/BoldRenderer.svelte"
80
+ export { default as CodeRenderer } from "./Table/CodeRenderer.svelte"
81
+ export { default as InternalRenderer } from "./Table/InternalRenderer.svelte"
82
+
83
+ // Typography
84
+ export { default as Body } from "./Typography/Body.svelte"
85
+ export { default as Heading } from "./Typography/Heading.svelte"
86
+ export { default as Detail } from "./Typography/Detail.svelte"
87
+ export { default as Code } from "./Typography/Code.svelte"
88
+
89
+ // Core form components to be used elsewhere (standard components)
90
+ export * from "./Form/Core"
40
91
 
41
92
  // Actions
42
- export { default as autoResizeTextArea } from "./Actions/autoresize_textarea";
43
- export { default as positionDropdown } from "./Actions/position_dropdown";
44
- export { default as clickOutside } from "./Actions/click_outside";
93
+ export { default as autoResizeTextArea } from "./Actions/autoresize_textarea"
94
+ export { default as positionDropdown } from "./Actions/position_dropdown"
95
+ export { default as clickOutside } from "./Actions/click_outside"
45
96
 
46
97
  // Stores
47
- export { notifications } from "./Stores/notifications";
98
+ export { notifications, createNotificationStore } from "./Stores/notifications"
99
+ export { banner, BANNER_TYPES } from "./Stores/banner"
100
+
101
+ // Helpers
102
+ export * as Helpers from "./helpers"
@@ -0,0 +1,31 @@
1
+ import SpectrumUIIcons from "@spectrum-css/icon/dist/spectrum-css-icons.svg"
2
+ import SpectrumWorkflowIcons from "@adobe/spectrum-css-workflow-icons/dist/spectrum-icons.svg"
3
+
4
+ export default () => {
5
+ loadIconSet("Spectrum UI Icons", SpectrumUIIcons)
6
+ loadIconSet("Spectrum Workflow Icons", SpectrumWorkflowIcons)
7
+ }
8
+
9
+ const loadIconSet = (name, markup) => {
10
+ // Parse the SVG
11
+ const parser = new DOMParser()
12
+ try {
13
+ const doc = parser.parseFromString(markup, "image/svg+xml")
14
+ const svg = doc.firstChild
15
+
16
+ // Check a real SVG was parsed
17
+ if (svg && svg.tagName === "svg") {
18
+ // Hide the element
19
+ svg.style.display = "none"
20
+
21
+ // Insert it into the head
22
+ document.head.insertBefore(svg, null)
23
+ } else {
24
+ throw "Invalid tag type for SVG definition"
25
+ }
26
+ } catch (err) {
27
+ // Swallow error, but icons won't work
28
+ console.error(err)
29
+ console.error(`Failed to parse ${name}. Icons won't work.`)
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ import SpectrumUIIcons from "@spectrum-css/icon/dist/spectrum-css-icons.svg?raw"
2
+ import SpectrumWorkflowIcons from "@adobe/spectrum-css-workflow-icons/dist/spectrum-icons.svg?raw"
3
+
4
+ export default () => {
5
+ loadIconSet("Spectrum UI Icons", SpectrumUIIcons)
6
+ loadIconSet("Spectrum Workflow Icons", SpectrumWorkflowIcons)
7
+ }
8
+
9
+ const loadIconSet = (name, markup) => {
10
+ // Parse the SVG
11
+ const parser = new DOMParser()
12
+ try {
13
+ const doc = parser.parseFromString(markup, "image/svg+xml")
14
+ const svg = doc.firstChild
15
+
16
+ // Check a real SVG was parsed
17
+ if (svg && svg.tagName === "svg") {
18
+ // Hide the element
19
+ svg.style.display = "none"
20
+
21
+ // Insert it into the head
22
+ document.head.insertBefore(svg, null)
23
+ } else {
24
+ throw "Invalid tag type for SVG definition"
25
+ }
26
+ } catch (err) {
27
+ // Swallow error, but icons won't work
28
+ console.error(err)
29
+ console.error(`Failed to parse ${name}. Icons won't work.`)
30
+ }
31
+ }
@@ -1,42 +0,0 @@
1
- button.svelte-1iv2rn5,a.svelte-1iv2rn5{font-family:var(--font-sans);cursor:pointer;font-weight:600;box-sizing:border-box;overflow:hidden;border-radius:var(--border-radius-s);color:white;padding:var(--spacing-s) var(--spacing-l);transition:all 0.2s ease 0s;display:inline-flex;text-rendering:optimizeLegibility;text-decoration:none;min-width:auto;outline:none;font-feature-settings:"case" 1, "rlig" 1, "calt" 0;-webkit-box-align:center;user-select:none;flex-shrink:0;align-items:center;justify-content:center;margin:0;border-width:2px;border-style:solid;border-color:transparent}.primary.svelte-1iv2rn5{color:var(--background);border-color:var(--ink);background-color:var(--ink)}button.primary.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--background);color:var(--ink)}.secondary.svelte-1iv2rn5{border-color:var(--grey-4);background-color:var(--background);color:var(--grey-8);font-weight:500}button.secondary.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--grey-2);color:var(--ink)}.translucent.svelte-1iv2rn5{border-color:rgba(0, 0, 0, 0.1);background-color:rgba(255, 255, 255, 0.1);color:var(--grey-6);font-weight:500}button.translucent.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--grey-2);color:var(--ink)}.blue.svelte-1iv2rn5{background-color:var(--blue);border-color:var(--blue)}button.blue.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--blue-light);color:var(--blue)}.red.svelte-1iv2rn5{border-color:var(--red);background-color:var(--red);color:white}button.red.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--red-light);color:var(--red)}.yellow.svelte-1iv2rn5{border-color:var(--yellow);background-color:var(--yellow);color:white}button.yellow.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--yellow-light);color:var(--yellow)}.orange.svelte-1iv2rn5{border-color:var(--orange);background-color:var(--orange);color:white}button.orange.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--orange-light);color:var(--orange)}.green.svelte-1iv2rn5{border-color:var(--green);background-color:var(--green);color:white}button.green.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--green-light);color:var(--green)}.purple.svelte-1iv2rn5{border-color:var(--purple);background-color:var(--purple);color:white}button.purple.svelte-1iv2rn5:hover:not([disabled]){background-color:var(--purple-light);color:var(--purple)}.text.svelte-1iv2rn5{background-color:transparent;color:var(--grey-7);border:none;padding:0;font-weight:500}button.text.svelte-1iv2rn5:hover:not([disabled]){color:var(--ink)}button.text.svelte-1iv2rn5:active:not([disabled]){color:var(--blue)}.small.svelte-1iv2rn5{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-m)}.medium.svelte-1iv2rn5{font-size:var(--font-size-m);padding:var(--spacing-s) var(--spacing-l)}.large.svelte-1iv2rn5{font-size:var(--font-size-l);padding:var(--spacing-m) var(--layout-l)}.wide.svelte-1iv2rn5{width:100%;display:flex}button.svelte-1iv2rn5:disabled{background-color:var(--grey-4);cursor:not-allowed;border-color:var(--grey-4);color:var(--grey-5)}
2
- button.svelte-yiibgo{display:block;box-sizing:border-box;position:absolute;font-size:var(--font-size-l);z-index:1000;top:var(--spacing-l);right:var(--spacing-l);margin:0;padding:0;width:1.5rem;height:1.5rem;border:0;color:black;border-radius:var(--border-radius-xl);background:white;transition:transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
3
- background 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);-webkit-appearance:none;outline:none}button.svelte-yiibgo:hover{background-color:var(--grey-2);cursor:pointer}button.svelte-yiibgo:active{background-color:var(--grey-4);cursor:pointer}.small.svelte-yiibgo{font-size:var(--font-size-m);line-height:110%;width:1.3rem;height:1.3rem}.dark.svelte-yiibgo{color:white;background:black}.dark.svelte-yiibgo:hover{background-color:var(--grey-8);cursor:pointer}.dark.svelte-yiibgo:active{background-color:var(--grey-9);cursor:pointer}
4
- button.svelte-e34rx5,a.svelte-e34rx5{font-family:var(--font-sans);cursor:pointer;font-weight:600;box-sizing:border-box;overflow:hidden;transition:all 0.08s ease 0s;display:inline-flex;align-items:center;text-rendering:optimizeLegibility;text-decoration:none;outline:none;-webkit-box-align:center;user-select:none;margin:0;padding:0}.text.svelte-e34rx5{background-color:transparent;color:var(--grey-7);border:none;font-weight:500}button.text.svelte-e34rx5:hover:not([disabled]){color:var(--ink)}button.text.svelte-e34rx5:active:not([disabled]){color:var(--blue)}button.text.active.svelte-e34rx5:not([disabled]){color:var(--blue)}button.text.svelte-e34rx5:disabled{cursor:not-allowed;color:var(--grey-4)}.blue.svelte-e34rx5{color:var(--blue)}.green.svelte-e34rx5{color:var(--green)}.red.svelte-e34rx5{color:var(--red)}.purple.svelte-e34rx5{color:var(--purple)}.yellow.svelte-e34rx5{color:var(--yellow)}.orange.svelte-e34rx5{color:var(--orange)}.small.svelte-e34rx5{font-size:var(--font-size-xs);margin:0}.medium.svelte-e34rx5{font-size:var(--font-size-s);margin:0}.large.svelte-e34rx5{font-size:var(--font-size-m);margin:0}
5
- .flatpickr-input{width:100%;min-width:0;box-sizing:border-box;color:var(--ink);border-radius:5px;border:none;background-color:var(--grey-2);padding:var(--spacing-m);font-size:var(--font-size-s);margin:0;outline:none;border:var(--border-transparent)}.flatpickr-input:focus{border:var(--border-blue)}div.thin.svelte-1le7hs .flatpickr-input{font-size:var(--font-size-xs)}
6
- .drawer.svelte-1ptx7mb{position:absolute;bottom:0;left:260px;width:calc(100% - 520px);background:var(--background);border:var(--border-light);z-index:2}header.svelte-1ptx7mb{display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border-light);padding:var(--spacing-m)}.controls.svelte-1ptx7mb{display:grid;grid-auto-flow:column;grid-gap:var(--spacing-m);align-items:center}.close.svelte-1ptx7mb{font-size:var(--font-size-xl);cursor:pointer}.title.svelte-1ptx7mb{font-weight:bold;margin-right:var(--spacing-m)}.text.svelte-1ptx7mb{display:flex}
7
- .menu-container.svelte-hfi790{position:fixed;margin-top:var(--spacing-xs);outline:none;box-sizing:border-box;opacity:0;min-width:200px;z-index:2;color:var(--ink);font-weight:400;height:fit-content !important;border:var(--border-dark);border-radius:var(--border-radius-m);transform:scale(0);transition:opacity 0.13s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);overflow-y:auto;background:var(--background);box-shadow:0 5px 12px rgba(0, 0, 0, 0.15)}.open.svelte-hfi790{transform:scale(1);opacity:1}
8
- .dropzone.svelte-jpi0dm.svelte-jpi0dm{padding:var(--spacing-l);border:2px dashed var(--grey-4);text-align:center;display:flex;align-items:center;flex-direction:column;border-radius:10px;transition:all 0.3s}.fileDragged.svelte-jpi0dm.svelte-jpi0dm{border:2px dashed var(--grey-7);background:var(--blue-light)}input[type="file"].svelte-jpi0dm.svelte-jpi0dm{display:none}label.svelte-jpi0dm.svelte-jpi0dm{font-family:var(--font-sans);font-size:var(--font-size-s);cursor:pointer;overflow:hidden;color:var(--grey-7);text-rendering:optimizeLegibility;min-width:auto;outline:none;font-feature-settings:"case" 1, "rlig" 1, "calt" 0;-webkit-box-align:center;flex-shrink:0;align-items:center;justify-content:center;width:100%;text-decoration:underline}.drop.svelte-jpi0dm.svelte-jpi0dm{font-family:var(--font-sans);font-size:var(--font-size-s);margin:12px 0}div.nav.svelte-jpi0dm.svelte-jpi0dm{padding:var(--spacing-xs);position:absolute;display:flex;align-items:center;bottom:var(--spacing-s);border-radius:5px;transition:0.2s transform}.nav.svelte-jpi0dm.svelte-jpi0dm:hover{cursor:pointer;color:var(--blue)}.left.svelte-jpi0dm.svelte-jpi0dm{left:var(--spacing-s)}.right.svelte-jpi0dm.svelte-jpi0dm{right:var(--spacing-s)}li.svelte-jpi0dm.svelte-jpi0dm{position:relative;height:300px;background:var(--grey-7);display:flex;justify-content:center;border-radius:10px}img.svelte-jpi0dm.svelte-jpi0dm{border-radius:10px;width:100%;box-shadow:0 var(--spacing-s) 12px rgba(0, 0, 0, 0.15);object-fit:contain}i.svelte-jpi0dm.svelte-jpi0dm{font-size:2rem;color:var(--ink)}i.svelte-jpi0dm.svelte-jpi0dm:hover{cursor:pointer;color:var(--background)}.file-icon.svelte-jpi0dm.svelte-jpi0dm{color:var(--background);font-size:2em;margin-right:var(--spacing-s)}ul.svelte-jpi0dm.svelte-jpi0dm{padding:0;display:grid;grid-gap:var(--spacing-s);list-style-type:none;width:100%}header.svelte-jpi0dm.svelte-jpi0dm{display:flex;align-items:center;justify-content:space-between;position:absolute;background:linear-gradient(
9
- 180deg,
10
- rgb(255, 255, 255),
11
- rgba(255, 255, 255, 0)
12
- );width:100%;border-top-left-radius:10px;border-top-right-radius:10px;height:60px}header.svelte-jpi0dm>div.svelte-jpi0dm{color:var(--ink);display:flex;align-items:center;font-size:12px;margin-left:var(--spacing-m);width:60%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filename.svelte-jpi0dm.svelte-jpi0dm{overflow:hidden;margin-left:5px;text-overflow:ellipsis}header.svelte-jpi0dm>p.svelte-jpi0dm{color:var(--grey-5);margin-right:var(--spacing-m)}.delete-button.svelte-jpi0dm.svelte-jpi0dm{position:absolute;top:var(--spacing-s);right:var(--spacing-s);padding:var(--spacing-s);border-radius:10px;transition:all 0.3s}.delete-button.svelte-jpi0dm i.svelte-jpi0dm{font-size:2em;color:var(--ink)}.delete-button.svelte-jpi0dm.svelte-jpi0dm:hover{cursor:pointer;color:var(--red)}
13
- .container.svelte-1yyuj1f.svelte-1yyuj1f{display:flex;gap:var(--spacing-s)}.checkbox-container.svelte-1yyuj1f.svelte-1yyuj1f{position:relative;z-index:0}.checkbox.svelte-1yyuj1f.svelte-1yyuj1f{display:none}.check-div.svelte-1yyuj1f.svelte-1yyuj1f{position:relative;width:20px;height:20px;background-color:var(--grey-2);cursor:pointer;transition:0.2s ease transform, 0.2s ease background-color,
14
- 0.2s ease box-shadow;overflow:hidden;border-radius:4px}.check-div.svelte-1yyuj1f.svelte-1yyuj1f:before{content:"";position:absolute;top:50%;right:0;left:0;width:12px;height:12px;margin:0 auto;background-color:var(--background);transform:translateY(-50%);transition:0.2s ease width, 0.2s ease height;border-radius:2px}.check-div.svelte-1yyuj1f.svelte-1yyuj1f:active{transform:translateY(-50%) scale(0.9)}.tick_mark.svelte-1yyuj1f.svelte-1yyuj1f{position:absolute;top:50%;left:6px;width:5px;height:4px;margin:0 auto;transform:rotateZ(-40deg)}.tick_mark.svelte-1yyuj1f.svelte-1yyuj1f:before,.tick_mark.svelte-1yyuj1f.svelte-1yyuj1f:after{content:"";position:absolute;background-color:var(--ink);border-radius:2px;opacity:0;transition:0.2s ease transform, 0.2s ease opacity}.tick_mark.svelte-1yyuj1f.svelte-1yyuj1f:before{left:0;bottom:0;width:2px;height:6px;box-shadow:-2px 0 5px rgba(0, 0, 0, 0.23);transform:translateY(-68px)}.tick_mark.svelte-1yyuj1f.svelte-1yyuj1f:after{left:0;bottom:0;width:12px;height:2px;box-shadow:0 3px 5px rgba(0, 0, 0, 0.23);transform:translateX(78px)}.check-div.disabled.svelte-1yyuj1f.svelte-1yyuj1f:active{transform:none}.checked.svelte-1yyuj1f.svelte-1yyuj1f{background-color:var(--grey-2)}.checked.disabled.svelte-1yyuj1f.svelte-1yyuj1f{background-color:var(--grey-5)}.checked.svelte-1yyuj1f.svelte-1yyuj1f:before{width:0;height:0}.checked.svelte-1yyuj1f .tick_mark.svelte-1yyuj1f:before,.checked.svelte-1yyuj1f .tick_mark.svelte-1yyuj1f:after{transform:translate(0);opacity:1}
15
- .container.svelte-5p8x7f{position:relative !important;display:block;border-radius:var(--border-radius-s);border:var(--border-transparent);background-color:var(--background)}.container.outline.svelte-5p8x7f{border:var(--border-dark)}.container.focus.svelte-5p8x7f{border:var(--border-blue)}input.svelte-5p8x7f,select.svelte-5p8x7f{border-radius:var(--border-radius-s);font-size:var(--font-size-m);outline:none;border:none;color:var(--ink);text-align:left;background-color:transparent}select.svelte-5p8x7f{display:block !important;width:100% !important;padding:var(--spacing-m) 2rem var(--spacing-m) var(--spacing-m);appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;align-items:center;white-space:pre;opacity:0}input.svelte-5p8x7f{position:absolute;top:0;left:0;width:calc(100% - 30px);height:100%;border:none;box-sizing:border-box;padding:var(--spacing-m) 0 var(--spacing-m) var(--spacing-m)}select.thin.svelte-5p8x7f,input.thin.svelte-5p8x7f{font-size:var(--font-size-xs)}select.extraThin.svelte-5p8x7f,input.extraThin.svelte-5p8x7f{font-size:var(--font-size-xs);padding:var(--spacing-s) 0 var(--spacing-s) var(--spacing-m)}.secondary.svelte-5p8x7f{background:var(--grey-2)}select.svelte-5p8x7f:disabled,input.svelte-5p8x7f:disabled,.disabled.svelte-5p8x7f{background:var(--grey-4);color:var(--grey-6)}.pointer.svelte-5p8x7f{right:0 !important;top:0 !important;bottom:0 !important;position:absolute !important;pointer-events:none !important;align-items:center !important;display:flex !important;box-sizing:border-box}.editable-pointer.svelte-5p8x7f{border-style:solid;border-width:0 0 0 1px;border-color:var(--grey-4);padding-left:var(--spacing-xs)}.editable-pointer.svelte-5p8x7f svg{margin-right:var(--spacing-xs);fill:var(--ink)
16
- }
17
- .container.svelte-1kqubms{min-width:0;display:flex;flex-direction:column}.label-container.svelte-1kqubms{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:var(--spacing-s)}.label-container.svelte-1kqubms label{margin-bottom:0}.controls.svelte-1kqubms{align-items:center;display:grid;grid-template-columns:auto auto;grid-gap:12px;margin-left:auto;padding-left:12px}.controls.svelte-1kqubms button{min-width:100px;font-size:var(--font-size-s);border-radius:var(--rounded-small)}input.svelte-1kqubms{min-width:0;box-sizing:border-box;color:var(--ink);font-size:var(--font-size-s);border-radius:var(--border-radius-s);border:none;background-color:var(--grey-2);padding:var(--spacing-m);margin:0;outline:none;font-family:var(--font-sans);border:var(--border-transparent);transition:all 0.2s ease-in-out}input.presentation.svelte-1kqubms{background-color:var(--background);border:var(--background) 2px solid}input.presentation.svelte-1kqubms:hover{background-color:var(--grey-2);border:var(--grey-4) 2px solid}input.thin.svelte-1kqubms{font-size:var(--font-size-xs)}input.extraThin.svelte-1kqubms{font-size:var(--font-size-xs);padding:var(--spacing-s) var(--spacing-m)}input.large.svelte-1kqubms{font-size:var(--font-size-m);padding:var(--spacing-l)}input.border.svelte-1kqubms{border:var(--border-grey-2)}input.border.svelte-1kqubms:active{border:var(--border-blue)}input.border.svelte-1kqubms:focus{border:var(--border-blue)}input.outline.svelte-1kqubms{border:var(--border-light-2);background:var(--background)}input.outline.svelte-1kqubms:active{border:var(--border-blue)}input.outline.svelte-1kqubms:focus{border:var(--border-blue)}input.svelte-1kqubms:hover{border:var(--grey-4) 2px solid}input.svelte-1kqubms::placeholder{color:var(--grey-6)}input.svelte-1kqubms:focus{border:var(--border-blue)}input.svelte-1kqubms:disabled{background:var(--grey-4);color:var(--grey-6)}.error.svelte-1kqubms{margin-top:10px;font-size:var(--font-size-xs);font-family:var(--font-sans);line-height:1.17;color:var(--red)}
18
- .multiselect.svelte-f9fc90.svelte-f9fc90{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;font-family:var(--font-sans);min-width:0}.multiselect.svelte-f9fc90.svelte-f9fc90:hover{border-bottom-color:hsl(0, 0%, 50%)}.tokens-wrapper.svelte-f9fc90.svelte-f9fc90{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;flex:0 1 auto}.tokens.svelte-f9fc90.svelte-f9fc90{align-items:center;display:flex;flex-wrap:wrap;position:relative;width:0;flex:1 1 auto;background-color:var(--background);border-radius:var(--border-radius-m);padding:0 var(--spacing-m) calc(var(--spacing-m) - var(--spacing-xs))
19
- calc(var(--spacing-m) / 2);border:var(--border-transparent)}.tokens.disabled.svelte-f9fc90.svelte-f9fc90{background-color:var(--grey-4);pointer-events:none}.tokens.outline.svelte-f9fc90.svelte-f9fc90{border:var(--border-dark)}.tokens.secondary.svelte-f9fc90.svelte-f9fc90{background-color:var(--grey-2)}.tokens.extraThin.svelte-f9fc90.svelte-f9fc90{padding:0 var(--spacing-m) calc(var(--spacing-s) - var(--spacing-xs))
20
- calc(var(--spacing-m) / 2)}.tokens.svelte-f9fc90.svelte-f9fc90:hover{cursor:pointer}.tokens.optionsVisible.svelte-f9fc90.svelte-f9fc90{border:var(--border-blue)}.tokens.empty.svelte-f9fc90.svelte-f9fc90{padding:var(--spacing-m);font-size:var(--font-size-xs);user-select:none}.tokens.empty.extraThin.svelte-f9fc90.svelte-f9fc90{padding:var(--spacing-s) var(--spacing-m)}.tokens.svelte-f9fc90.svelte-f9fc90::after{width:100%;left:0}.token.svelte-f9fc90.svelte-f9fc90{font-size:var(--font-size-xs);background-color:var(--ink);color:var(--background);border-radius:var(--border-radius-l);display:flex;flex-direction:row;align-items:center;margin:calc(var(--spacing-m) - var(--spacing-xs)) 0 0
21
- calc(var(--spacing-m) / 2);max-height:1.3rem;padding:var(--spacing-xs) var(--spacing-s);transition:background-color 0.3s;white-space:nowrap;overflow:hidden}.token.extraThin.svelte-f9fc90.svelte-f9fc90{margin:calc(var(--spacing-s) - var(--spacing-xs)) 0 0
22
- calc(var(--spacing-m) / 2)}.token.svelte-f9fc90 span.svelte-f9fc90{pointer-events:none;user-select:none;flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.token.svelte-f9fc90 .token-remove.svelte-f9fc90{align-items:center;background-color:var(--grey-7);border-radius:50%;display:flex;justify-content:center;height:1rem;width:1rem;margin:calc(-1 * var(--spacing-xs)) 0 calc(-1 * var(--spacing-xs))
23
- var(--spacing-xs);flex:0 0 auto}.token.svelte-f9fc90 path.svelte-f9fc90{fill:var(--background)}.token.svelte-f9fc90 .token-remove.svelte-f9fc90:hover{background-color:var(--grey-6);cursor:pointer}.placeholder.svelte-f9fc90.svelte-f9fc90{pointer-events:none;color:var(--ink)}.placeholder.disabled.svelte-f9fc90.svelte-f9fc90{color:var(--grey-6)}.icon-clear.svelte-f9fc90 path.svelte-f9fc90{fill:white}.options.svelte-f9fc90.svelte-f9fc90{left:0;list-style:none;margin-block-end:0;margin-block-start:0;overflow-y:auto;padding-inline-start:0;position:absolute;border:var(--border-dark);border-radius:var(--border-radius-m);box-shadow:0 5px 12px rgba(0, 0, 0, 0.15);margin:var(--spacing-xs) 0;padding:var(--spacing-s) 0;background-color:var(--background);max-height:200px}li.svelte-f9fc90.svelte-f9fc90{cursor:pointer;padding:var(--spacing-s) var(--spacing-m);font-size:var(--font-size-xs);color:var(--ink)}li.selected.svelte-f9fc90.svelte-f9fc90{background-color:var(--blue);color:white}li.svelte-f9fc90.svelte-f9fc90:not(.selected):hover{background-color:var(--grey-1)}li.no-results.svelte-f9fc90.svelte-f9fc90:hover{background-color:white;cursor:initial}.hidden.svelte-f9fc90.svelte-f9fc90{height:0;overflow:hidden;visibility:hidden;padding:0;margin:0;border:0;outline:0}
24
- .container.svelte-1jfhuex.svelte-1jfhuex{display:flex;gap:var(--spacing-s)}.checkbox-container.svelte-1jfhuex.svelte-1jfhuex{position:relative;z-index:0}.checkbox.svelte-1jfhuex.svelte-1jfhuex{display:none}.check-div.svelte-1jfhuex.svelte-1jfhuex{position:relative;width:20px;height:20px;background-color:var(--grey-2);cursor:pointer;transition:0.2s ease transform, 0.2s ease background-color,
25
- 0.2s ease box-shadow;overflow:hidden;border-radius:4px}.check-div.svelte-1jfhuex.svelte-1jfhuex:before{content:"";position:absolute;top:50%;right:0;left:0;width:12px;height:12px;margin:0 auto;background-color:var(--background);transform:translateY(-50%);transition:0.2s ease width, 0.2s ease height;border-radius:2px}.check-div.svelte-1jfhuex.svelte-1jfhuex:active{transform:translateY(-50%) scale(0.9)}.tick_mark.svelte-1jfhuex.svelte-1jfhuex{position:absolute;top:50%;left:6px;width:5px;height:4px;margin:0 auto;transform:rotateZ(-40deg)}.tick_mark.svelte-1jfhuex.svelte-1jfhuex:before,.tick_mark.svelte-1jfhuex.svelte-1jfhuex:after{content:"";position:absolute;background-color:var(--ink);border-radius:2px;opacity:0;transition:0.2s ease transform, 0.2s ease opacity}.tick_mark.svelte-1jfhuex.svelte-1jfhuex:before{left:0;bottom:0;width:2px;height:6px;box-shadow:-2px 0 5px rgba(0, 0, 0, 0.23);transform:translateY(-68px)}.tick_mark.svelte-1jfhuex.svelte-1jfhuex:after{left:0;bottom:0;width:12px;height:2px;box-shadow:0 3px 5px rgba(0, 0, 0, 0.23);transform:translateX(78px)}.check-div.disabled.svelte-1jfhuex.svelte-1jfhuex:active{transform:none}.checked.svelte-1jfhuex.svelte-1jfhuex{background-color:var(--grey-2)}.checked.disabled.svelte-1jfhuex.svelte-1jfhuex{background-color:var(--grey-5)}.checked.svelte-1jfhuex.svelte-1jfhuex:before{width:0;height:0}.checked.svelte-1jfhuex .tick_mark.svelte-1jfhuex:before,.checked.svelte-1jfhuex .tick_mark.svelte-1jfhuex:after{transform:translate(0);opacity:1}
26
- select.svelte-s26xy7{font-family:var(--font-sans);display:block !important;width:100% !important;border-radius:var(--border-radius-s);border:none;text-align:left;color:var(--ink);font-size:var(--font-size-s);padding:var(--spacing-m) 2rem var(--spacing-m) var(--spacing-m) !important;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;align-items:center;white-space:pre;outline:none;border:var(--border-transparent);background-color:var(--background)}select.thin.svelte-s26xy7{padding:var(--spacing-m);font-size:var(--font-size-xs)}select.extraThin.svelte-s26xy7{padding:var(--spacing-s) 2rem var(--spacing-s) var(--spacing-m) !important;font-size:var(--font-size-xs)}select.secondary.svelte-s26xy7{background:var(--grey-2)}select.outline.svelte-s26xy7{border:var(--border-light-2)}select.svelte-s26xy7:focus{border:var(--border-blue)}select.svelte-s26xy7:disabled{background:var(--grey-4);color:var(--grey-6)}.relative.svelte-s26xy7{position:relative !important;display:block}.pointer.svelte-s26xy7{right:0 !important;top:0 !important;bottom:0 !important;position:absolute !important;pointer-events:none !important;padding-left:0.5rem !important;align-items:center !important;display:flex !important;color:var(--ink)}
27
- .container.svelte-1bwhxq3{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:var(--spacing-s)}span.svelte-1bwhxq3{flex:0 0 auto;color:var(--grey-5);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:400}input[type="range"].svelte-1bwhxq3{width:100%;margin:0;background-color:transparent;-webkit-appearance:none;flex:1 1 auto}input[type="range"].svelte-1bwhxq3:focus{outline:none}input[type="range"].svelte-1bwhxq3::-webkit-slider-runnable-track{background:var(--grey-4);border-radius:9px;width:100%;height:18px;cursor:pointer;padding:0 2px}input[type="range"].svelte-1bwhxq3::-webkit-slider-thumb{width:14px;height:14px;background:white;border-radius:100%;cursor:pointer;-webkit-appearance:none;border:none;margin-top:2px}input[type="range"].svelte-1bwhxq3::-moz-range-track{background:var(--grey-4);border-radius:9px;width:100%;height:18px;cursor:pointer;padding:0 2px}input[type="range"].svelte-1bwhxq3::-moz-range-thumb{width:14px;height:14px;background:white;border-radius:100%;cursor:pointer;border:none}
28
- .container.svelte-1xmm808{min-width:0;display:flex;flex-direction:column}.label-container.svelte-1xmm808{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:var(--spacing-s)}.label-container.svelte-1xmm808 label{margin-bottom:0}.controls.svelte-1xmm808{align-items:center;display:grid;grid-template-columns:auto auto;grid-gap:12px;margin-left:auto;padding-left:12px}.controls.svelte-1xmm808 button{min-width:100px;font-size:var(--font-size-s);border-radius:var(--rounded-small)}textarea.svelte-1xmm808{min-width:0;color:var(--ink);font-size:var(--font-size-s);font-family:var(--font-sans);border:none;border-radius:var(--border-radius-s);background-color:var(--grey-2);padding:var(--spacing-m);margin:0;border:var(--border-transparent);outline:none}textarea.svelte-1xmm808::placeholder{color:var(--grey-6)}textarea.thin.svelte-1xmm808{font-size:var(--font-size-xs)}textarea.extraThin.svelte-1xmm808{font-size:var(--font-size-xs);padding:var(--spacing-s) var(--spacing-m)}textarea.svelte-1xmm808:focus{border:var(--border-blue)}textarea.svelte-1xmm808:disabled{background:var(--grey-4)}textarea.svelte-1xmm808:disabled{background:var(--grey-4)}textarea.svelte-1xmm808:disabled::placeholder{color:var(--grey-6)}
29
- .container.svelte-uba2i1.svelte-uba2i1{display:flex;align-items:center;gap:var(--spacing-s)}.container.svelte-uba2i1.svelte-uba2i1:disabled{background-color:var(--grey-2);cursor:not-allowed}.toggle.svelte-uba2i1.svelte-uba2i1{position:relative;display:inline-block;align-self:center;cursor:pointer;-webkit-user-select:none;background:transparent}.track.svelte-uba2i1.svelte-uba2i1{width:32px;height:18px;background-color:var(--grey-4);border-radius:9px;transition-delay:.12s;transition-duration:.2s;transition-property:background;transition-timing-function:cubic-bezier(0,0,.2,1);position:relative}.thumb.svelte-uba2i1.svelte-uba2i1{cursor:pointer;position:absolute;transition-duration:.28s;transition-property:all;transition-timing-function:cubic-bezier(0,0,.2,1);top:2px;left:2px;width:14px;height:14px;background-color:white;border-radius:var(--border-radius-xl)}input[type='checkbox']:checked~.track.svelte-uba2i1 .thumb.svelte-uba2i1{transform:translateX(14px)}input[type='checkbox'].svelte-uba2i1:checked~.track.svelte-uba2i1{background-color:var(--blue)}input[type='checkbox'].svelte-uba2i1:disabled~.track.svelte-uba2i1{background-color:var(--grey-4);cursor:not-allowed}input[type='checkbox']:disabled~.track.svelte-uba2i1 .thumb.svelte-uba2i1{background-color:var(--grey-2);cursor:not-allowed}.screenreader.svelte-uba2i1.svelte-uba2i1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.text.svelte-uba2i1.svelte-uba2i1{font-size:var(--font-size-s);font-family:var(--font-sans);cursor:pointer;user-select:none;color:var(--ink)}.text.thin.svelte-uba2i1.svelte-uba2i1{font-size:var(--font-size-xs)}
30
- .c.svelte-tb3sst{width:1.25em;height:1.25em;fill:currentColor;overflow:visible;margin-right:var(--spacing-xs)}
31
- .nav-item.svelte-uehw1f{cursor:pointer;padding:12px;height:2rem;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;border-radius:var(--border-radius-s)}.nav-item.svelte-uehw1f:hover{background-color:var(--grey-1)}.nav-item-title.svelte-uehw1f{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--ink);font-weight:400;margin-left:12px}.nav-item-icon.svelte-uehw1f{color:var(--grey-7)}.active.svelte-uehw1f{background-color:var(--grey-2)}
32
- .property-group-container.svelte-85id1s{display:flex;flex-direction:column;height:auto;justify-content:center;border-radius:var(--border-radius-m);font-family:var(--font-sans)}.property-group-name.svelte-85id1s{cursor:pointer;display:flex;flex-flow:row nowrap;flex-direction:row;justify-content:space-between;align-items:center}.name.svelte-85id1s{text-align:left;font-size:14px;font-weight:500;letter-spacing:0.14px;color:var(--ink);flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name.thin.svelte-85id1s{font-size:var(--font-size-xs)}.icon.svelte-85id1s{flex:0 0 20px;text-align:center}.property-panel.svelte-85id1s{display:none}.show.svelte-85id1s{display:flex;flex-direction:column;flex:1;margin-top:var(--spacing-m)}
33
- .overlay.svelte-anqb37{position:fixed;left:0;right:0;top:0;bottom:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:rgba(0, 0, 0, 0.25);z-index:999}.scroll-wrapper.svelte-anqb37{flex:1 1 auto;display:flex;flex-direction:row;justify-content:center;align-items:flex-start;max-height:100%}.content-wrapper.svelte-anqb37{flex:1 1 auto;display:flex;flex-direction:row;justify-content:center;align-items:flex-start;width:0}.modal.svelte-anqb37{background-color:var(--background);display:grid;align-items:stretch;box-shadow:0 0 4rem 1.5rem rgba(0, 0, 0, 0.15);position:relative;flex:0 0 400px;margin:2rem 0;border-radius:var(--border-radius-m);gap:var(--spacing-xl)}.modal.padding.svelte-anqb37{padding:var(--spacing-xl)}.modal.border.svelte-anqb37{border:var(--border-dark)}
34
- .modal-content.svelte-1lx4kbg.svelte-1lx4kbg{display:grid;position:relative;gap:var(--spacing-xl);color:var(--ink)}header.svelte-1lx4kbg.svelte-1lx4kbg{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-right:40px}header.svelte-1lx4kbg h5.svelte-1lx4kbg{margin:0;font-weight:500}.header-content.svelte-1lx4kbg.svelte-1lx4kbg{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.close-icon.svelte-1lx4kbg.svelte-1lx4kbg{position:absolute;top:0;right:0;color:var(--ink);font-size:var(--font-size-m)}.close-icon.svelte-1lx4kbg.svelte-1lx4kbg:hover{color:var(--grey-6);cursor:pointer}.close-icon.svelte-1lx4kbg svg{margin-right:0}footer.svelte-1lx4kbg.svelte-1lx4kbg{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--spacing-m)}.footer-content.svelte-1lx4kbg.svelte-1lx4kbg{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.buttons.svelte-1lx4kbg.svelte-1lx4kbg{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:var(--spacing-m)}
35
- .menu-container.svelte-150pfjd{position:fixed;margin-top:var(--spacing-xs);padding:var(--spacing-xl);outline:none;box-sizing:border-box;opacity:0;min-width:400px;z-index:2;color:var(--ink);height:fit-content !important;border:var(--border-dark);border-radius:var(--border-radius-m);transform:scale(0);transition:opacity 0.13s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);overflow-y:auto;background-color:var(--background);box-shadow:0 5px 12px rgba(0, 0, 0, 0.15)}.open.svelte-150pfjd{transform:scale(1);opacity:1}
36
- spacer.svelte-19bb1q5{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.extraSmall.svelte-19bb1q5{height:var(--spacing-xs);width:var(--spacing-xs)}.small.svelte-19bb1q5{height:var(--spacing-s);width:var(--spacing-s)}.medium.svelte-19bb1q5{height:var(--spacing-m);width:var(--spacing-m)}.large.svelte-19bb1q5{height:var(--spacing-l);width:var(--spacing-l)}.extraLarge.svelte-19bb1q5{height:var(--spacing-xl);width:var(--spacing-xl)}
37
- .bb-body.svelte-aqpcv8{font-family:var(--font-sans);font-weight:400;text-rendering:var(--text-render);color:var(--ink);font-size:var(--font-size-m);line-height:0}.extraSmall.svelte-aqpcv8{font-size:var(--font-size-xs)}.small.svelte-aqpcv8{font-size:var(--font-size-s)}.medium.svelte-aqpcv8{font-size:var(--font-size-m)}.large.svelte-aqpcv8{font-size:var(--font-size-l)}.extraLarge.svelte-aqpcv8{font-size:var(--font-size-xl)}.white.svelte-aqpcv8{color:white}.grey.svelte-aqpcv8{color:var(--grey-6)}.black.svelte-aqpcv8{color:var(--ink)}.lh.svelte-aqpcv8{line-height:1.75}
38
- .bb-heading.svelte-1n0wwm3{font-family:var(--font-sans);font-weight:600;text-rendering:var(--text-render);color:var(--ink);font-size:var(--heading-font-size-m);line-height:0}.extraSmall.svelte-1n0wwm3{font-size:var(--heading-font-size-xs)}.small.svelte-1n0wwm3{font-size:var(--heading-font-size-s)}.medium.svelte-1n0wwm3{font-size:var(--heading-font-size-m)}.large.svelte-1n0wwm3{font-size:var(--heading-font-size-l);font-weight:700}.extraLarge.svelte-1n0wwm3{font-size:var(--heading-font-size-xl);font-weight:700}.white.svelte-1n0wwm3{color:white}.grey.svelte-1n0wwm3{color:var(--grey-6)}.black.svelte-1n0wwm3{color:var(--ink)}.lh.svelte-1n0wwm3{line-height:1.3}
39
- .bb-label.svelte-vz7apm{font-family:var(--font-sans);font-weight:500;text-rendering:var(--text-render);color:var(--ink);font-size:var(--font-size-s);margin-bottom:var(--spacing-s);display:block}.extraSmall.svelte-vz7apm{font-size:var(--font-size-xs)}.small.svelte-vz7apm{font-size:var(--font-size-s)}.medium.svelte-vz7apm{font-size:var(--font-size-m)}.large.svelte-vz7apm{font-size:var(--font-size-l)}.extraLarge.svelte-vz7apm{font-size:var(--font-size-xl)}.white.svelte-vz7apm{color:white}.grey.svelte-vz7apm{color:var(--grey-6)}.black.svelte-vz7apm{color:var(--ink)}
40
- header.svelte-1aykd46{font-family:var(--font-sans);display:flex;margin-bottom:var(--spacing-l)}span.svelte-1aykd46{margin-right:var(--spacing-xl);font-size:var(--font-size-m);font-weight:500;color:var(--grey-5)}span.svelte-1aykd46:hover{cursor:pointer}.selected.svelte-1aykd46{color:var(--ink)}
41
-
42
- /*# sourceMappingURL=bundle.css.map */