@budibase/bbui 1.3.0 → 1.3.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 (152) hide show
  1. package/LICENSE +375 -0
  2. package/README.md +19 -17
  3. package/dist/bbui.es.js +210 -0
  4. package/dist/bbui.es.js.map +1 -0
  5. package/package.json +71 -26
  6. package/src/ActionButton/ActionButton.svelte +102 -0
  7. package/src/ActionGroup/ActionGroup.svelte +26 -0
  8. package/src/ActionMenu/ActionMenu.svelte +44 -0
  9. package/src/Actions/ClickOutside.svench.svx +30 -0
  10. package/src/Actions/PositionDropdown.svench.svx +81 -0
  11. package/src/Actions/autoresize_textarea.js +14 -0
  12. package/src/Actions/click_outside.js +18 -0
  13. package/src/Actions/position_dropdown.js +66 -0
  14. package/src/Avatar/Avatar.svelte +62 -0
  15. package/src/Badge/Badge.svelte +29 -0
  16. package/src/Banner/Banner.svelte +72 -0
  17. package/src/Banner/BannerDisplay.svelte +31 -0
  18. package/src/Button/Button.svelte +114 -0
  19. package/src/Button/Button.svench +138 -0
  20. package/src/ButtonGroup/ButtonGroup.svelte +30 -0
  21. package/src/ClearButton/ClearButton.svelte +19 -0
  22. package/src/ColorPicker/ColorPicker.svelte +297 -0
  23. package/src/DetailSummary/DetailSummary.svelte +83 -0
  24. package/src/Divider/Divider.svelte +28 -0
  25. package/src/Drawer/Drawer.svelte +113 -0
  26. package/src/Drawer/Drawer.svench +42 -0
  27. package/src/Drawer/DrawerContent.svelte +46 -0
  28. package/src/Form/Checkbox.svelte +23 -0
  29. package/src/Form/Combobox.svelte +45 -0
  30. package/src/Form/Core/Checkbox.svelte +69 -0
  31. package/src/Form/Core/CheckboxGroup.svelte +68 -0
  32. package/src/Form/Core/Combobox.svelte +142 -0
  33. package/src/Form/Core/DatePicker.svelte +257 -0
  34. package/src/Form/Core/Dropzone.svelte +450 -0
  35. package/src/Form/Core/InputDropdown.svelte +228 -0
  36. package/src/Form/Core/Multiselect.svelte +90 -0
  37. package/src/Form/Core/Picker.svelte +259 -0
  38. package/src/Form/Core/PickerDropdown.svelte +436 -0
  39. package/src/Form/Core/RadioGroup.svelte +48 -0
  40. package/src/Form/Core/RichTextField.svelte +42 -0
  41. package/src/Form/Core/Search.svelte +105 -0
  42. package/src/Form/Core/Select.svelte +75 -0
  43. package/src/Form/Core/Slider.svelte +86 -0
  44. package/src/Form/Core/Stepper.svelte +172 -0
  45. package/src/Form/Core/Switch.svelte +37 -0
  46. package/src/Form/Core/TextArea.svelte +78 -0
  47. package/src/Form/Core/TextField.svelte +119 -0
  48. package/src/Form/Core/index.js +15 -0
  49. package/src/Form/DatePicker.svelte +39 -0
  50. package/src/Form/Dropzone.svelte +42 -0
  51. package/src/Form/Field.svelte +42 -0
  52. package/src/Form/FieldLabel.svelte +32 -0
  53. package/src/Form/Input.svelte +40 -45
  54. package/src/Form/InputDropdown.svelte +55 -0
  55. package/src/Form/Multiselect.svelte +40 -0
  56. package/src/Form/PickerDropdown.svelte +134 -0
  57. package/src/Form/RadioGroup.svelte +42 -0
  58. package/src/Form/RichTextField.svelte +36 -0
  59. package/src/Form/Search.svelte +36 -0
  60. package/src/Form/Select.svelte +48 -43
  61. package/src/Form/Slider.svelte +24 -0
  62. package/src/Form/Stepper.svelte +45 -0
  63. package/src/Form/TextArea.svelte +29 -44
  64. package/src/Form/Toggle.svelte +23 -0
  65. package/src/Icon/Icon.svelte +91 -0
  66. package/src/IconPicker/IconPicker.svelte +177 -0
  67. package/src/IconSideNav/IconSideNav.svelte +14 -0
  68. package/src/IconSideNav/IconSideNavItem.svelte +56 -0
  69. package/src/InlineAlert/InlineAlert.svelte +56 -0
  70. package/src/Label/Label.svelte +20 -0
  71. package/src/Layout/Layout.svelte +94 -0
  72. package/src/Layout/Page.svelte +32 -0
  73. package/src/Link/Link.svelte +24 -0
  74. package/src/List/List.svelte +28 -0
  75. package/src/List/ListItem.svelte +98 -0
  76. package/src/Markdown/MarkdownEditor.svelte +60 -0
  77. package/src/Markdown/MarkdownViewer.svelte +70 -0
  78. package/src/Markdown/SpectrumMDE.svelte +184 -0
  79. package/src/Menu/Item.svelte +96 -0
  80. package/src/Menu/Menu.svelte +7 -0
  81. package/src/Menu/Menu.svench +19 -0
  82. package/src/Menu/Section.svelte +10 -0
  83. package/src/Menu/Separator.svelte +1 -0
  84. package/src/Modal/Content.svelte +6 -0
  85. package/src/Modal/CustomContent.svelte +38 -0
  86. package/src/Modal/Modal.svelte +165 -0
  87. package/src/Modal/Modal.svench +117 -0
  88. package/src/Modal/ModalContent.svelte +192 -0
  89. package/src/Modal/QuizModal.svelte +54 -0
  90. package/src/Notification/Notification.svelte +70 -0
  91. package/src/Notification/NotificationDisplay.svelte +43 -0
  92. package/src/Pagination/Pagination.svelte +57 -0
  93. package/src/Popover/Popover.svelte +77 -0
  94. package/src/Popover/Popover.svench +121 -0
  95. package/src/ProgressBar/ProgressBar.svelte +54 -0
  96. package/src/ProgressCircle/ProgressCircle.svelte +62 -0
  97. package/src/SideNavigation/Item.svelte +47 -0
  98. package/src/SideNavigation/Navigation.svelte +12 -0
  99. package/src/StatusLight/StatusLight.svelte +80 -0
  100. package/src/Stores/Notifications.svench.svx +78 -0
  101. package/src/Stores/banner.js +37 -0
  102. package/src/Stores/notifications.js +84 -0
  103. package/src/Table/ArrayRenderer.svelte +17 -0
  104. package/src/Table/AttachmentRenderer.svelte +67 -0
  105. package/src/Table/BoldRenderer.svelte +15 -0
  106. package/src/Table/BooleanRenderer.svelte +42 -0
  107. package/src/Table/CellRenderer.svelte +69 -0
  108. package/src/Table/CodeRenderer.svelte +14 -0
  109. package/src/Table/DateTimeRenderer.svelte +29 -0
  110. package/src/Table/InternalRenderer.svelte +24 -0
  111. package/src/Table/RelationshipRenderer.svelte +40 -0
  112. package/src/Table/SelectEditRenderer.svelte +28 -0
  113. package/src/Table/StringRenderer.svelte +14 -0
  114. package/src/Table/Table.svelte +635 -0
  115. package/src/Table/index.js +1 -0
  116. package/src/Tabs/Tab.svelte +88 -0
  117. package/src/Tabs/Tabs.svelte +125 -0
  118. package/src/Tags/Tag.svelte +43 -0
  119. package/src/Tags/Tags.svelte +7 -0
  120. package/src/Tooltip/Tooltip.svelte +34 -0
  121. package/src/Tooltip/TooltipWrapper.svelte +60 -0
  122. package/src/TreeView/Item.svelte +41 -0
  123. package/src/TreeView/Tree.svelte +16 -0
  124. package/src/Typography/Body.svelte +21 -0
  125. package/src/Typography/Code.svelte +10 -0
  126. package/src/Typography/Detail.svelte +19 -0
  127. package/src/Typography/Heading.svelte +17 -0
  128. package/src/bbui.css +96 -0
  129. package/src/context.js +3 -0
  130. package/src/helpers.js +134 -0
  131. package/src/index.js +97 -11
  132. package/src/spectrum-icons-rollup.js +31 -0
  133. package/src/spectrum-icons-vite.js +31 -0
  134. package/dist/bundle.css +0 -7
  135. package/dist/bundle.css.map +0 -20
  136. package/dist/index.js +0 -1100
  137. package/dist/index.mjs +0 -1086
  138. package/src/Branding/Budibase-logo.svelte +0 -68
  139. package/src/Branding/Logo.svelte +0 -16
  140. package/src/Branding/Logo.svench +0 -8
  141. package/src/Form/Button.svelte +0 -131
  142. package/src/Form/Button.svench +0 -49
  143. package/src/Form/Input.svench +0 -8
  144. package/src/Form/Select.svench +0 -8
  145. package/src/Form/TextArea.svench +0 -8
  146. package/src/Links/Home.svelte +0 -49
  147. package/src/Links/Home.svench +0 -19
  148. package/src/List/Items/DetailSummary.svelte +0 -66
  149. package/src/List/Items/DetailSummary.svench +0 -15
  150. package/src/actions/autoresize_textarea.js +0 -14
  151. package/src/icons/Contribution.svelte +0 -14
  152. package/src/index.svench.svx +0 -35
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,14 +1,100 @@
1
- // Single default export
1
+ import "./bbui.css"
2
2
 
3
- // export { default as default } from './Component.svelte';
3
+ // Spectrum icons
4
+ import "@spectrum-css/icon/dist/index-vars.css"
4
5
 
5
- // OR multiple named exports
6
- //
7
- // import { Foo, Bar } from 'my-lib'
8
- //
6
+ // Components
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 Toggle } from "./Form/Toggle.svelte"
24
+ export { default as RadioGroup } from "./Form/RadioGroup.svelte"
25
+ export { default as Checkbox } from "./Form/Checkbox.svelte"
26
+ export { default as InputDropdown } from "./Form/InputDropdown.svelte"
27
+ export { default as PickerDropdown } from "./Form/PickerDropdown.svelte"
28
+ export { default as DetailSummary } from "./DetailSummary/DetailSummary.svelte"
29
+ export { default as Popover } from "./Popover/Popover.svelte"
30
+ export { default as ProgressBar } from "./ProgressBar/ProgressBar.svelte"
31
+ export { default as ProgressCircle } from "./ProgressCircle/ProgressCircle.svelte"
32
+ export { default as Label } from "./Label/Label.svelte"
33
+ export { default as Layout } from "./Layout/Layout.svelte"
34
+ export { default as Page } from "./Layout/Page.svelte"
35
+ export { default as Link } from "./Link/Link.svelte"
36
+ export { default as Tooltip } from "./Tooltip/Tooltip.svelte"
37
+ export { default as Menu } from "./Menu/Menu.svelte"
38
+ export { default as MenuSection } from "./Menu/Section.svelte"
39
+ export { default as MenuSeparator } from "./Menu/Separator.svelte"
40
+ export { default as MenuItem } from "./Menu/Item.svelte"
41
+ export { default as Modal } from "./Modal/Modal.svelte"
42
+ export { default as ModalContent } from "./Modal/ModalContent.svelte"
43
+ export { default as NotificationDisplay } from "./Notification/NotificationDisplay.svelte"
44
+ export { default as Notification } from "./Notification/Notification.svelte"
45
+ export { default as SideNavigation } from "./SideNavigation/Navigation.svelte"
46
+ export { default as SideNavigationItem } from "./SideNavigation/Item.svelte"
47
+ export { default as DatePicker } from "./Form/DatePicker.svelte"
48
+ export { default as Multiselect } from "./Form/Multiselect.svelte"
49
+ export { default as Context } from "./context"
50
+ export { default as Table } from "./Table/Table.svelte"
51
+ export { default as Tabs } from "./Tabs/Tabs.svelte"
52
+ export { default as Tab } from "./Tabs/Tab.svelte"
53
+ export { default as Tags } from "./Tags/Tags.svelte"
54
+ export { default as Tag } from "./Tags/Tag.svelte"
55
+ export { default as TreeView } from "./TreeView/Tree.svelte"
56
+ export { default as TreeItem } from "./TreeView/Item.svelte"
57
+ export { default as Divider } from "./Divider/Divider.svelte"
58
+ export { default as Search } from "./Form/Search.svelte"
59
+ export { default as Pagination } from "./Pagination/Pagination.svelte"
60
+ export { default as Badge } from "./Badge/Badge.svelte"
61
+ export { default as StatusLight } from "./StatusLight/StatusLight.svelte"
62
+ export { default as ColorPicker } from "./ColorPicker/ColorPicker.svelte"
63
+ export { default as IconPicker } from "./IconPicker/IconPicker.svelte"
64
+ export { default as InlineAlert } from "./InlineAlert/InlineAlert.svelte"
65
+ export { default as Banner } from "./Banner/Banner.svelte"
66
+ export { default as BannerDisplay } from "./Banner/BannerDisplay.svelte"
67
+ export { default as MarkdownEditor } from "./Markdown/MarkdownEditor.svelte"
68
+ export { default as MarkdownViewer } from "./Markdown/MarkdownViewer.svelte"
69
+ export { default as RichTextField } from "./Form/RichTextField.svelte"
70
+ export { default as List } from "./List/List.svelte"
71
+ export { default as ListItem } from "./List/ListItem.svelte"
72
+ export { default as IconSideNav } from "./IconSideNav/IconSideNav.svelte"
73
+ export { default as IconSideNavItem } from "./IconSideNav/IconSideNavItem.svelte"
74
+ export { default as Slider } from "./Form/Slider.svelte"
9
75
 
10
- export { default as Input } from './Form/Input.svelte';
11
- export { default as TextArea } from './Form/TextArea.svelte';
12
- export { default as Button } from './Form/Button.svelte';
13
- export { default as Home } from './Links/Home.svelte';
14
- export { default as DetailSummary } from './List/Items/DetailSummary.svelte';
76
+ // Renderers
77
+ export { default as BoldRenderer } from "./Table/BoldRenderer.svelte"
78
+ export { default as CodeRenderer } from "./Table/CodeRenderer.svelte"
79
+ export { default as InternalRenderer } from "./Table/InternalRenderer.svelte"
80
+
81
+ // Typography
82
+ export { default as Body } from "./Typography/Body.svelte"
83
+ export { default as Heading } from "./Typography/Heading.svelte"
84
+ export { default as Detail } from "./Typography/Detail.svelte"
85
+ export { default as Code } from "./Typography/Code.svelte"
86
+
87
+ // Core form components to be used elsewhere (standard components)
88
+ export * from "./Form/Core"
89
+
90
+ // Actions
91
+ export { default as autoResizeTextArea } from "./Actions/autoresize_textarea"
92
+ export { default as positionDropdown } from "./Actions/position_dropdown"
93
+ export { default as clickOutside } from "./Actions/click_outside"
94
+
95
+ // Stores
96
+ export { notifications, createNotificationStore } from "./Stores/notifications"
97
+ export { banner } from "./Stores/banner"
98
+
99
+ // Helpers
100
+ 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
+ }
package/dist/bundle.css DELETED
@@ -1,7 +0,0 @@
1
- button.svelte-1oez5n8{cursor:pointer;font-weight:500;font-size:14px;box-sizing:border-box;overflow:hidden;border-radius:3px;color:var(--white);padding:0px 24px;height:32px;transition:all 0.2s ease 0s;display:inline-block;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;min-width:auto;outline:none;font-feature-settings:"case" 1,"rlig" 1,"calt" 0;-webkit-box-align:center;user-select:none;flex-shrink:0}.primary.svelte-1oez5n8{border:solid 1px var(--ink);background-color:var(--ink)}button.primary.svelte-1oez5n8:hover:not([disabled]){border:solid 1px var(--grey);background-color:var(--white);color:var(--ink)}.secondary.svelte-1oez5n8{border:solid 1px var(--grey);background-color:white;color:var(--ink)}button.secondary.svelte-1oez5n8:hover:not([disabled]){border:solid 1px var(--ink);background-color:var(--ink);color:white}.attention.svelte-1oez5n8{background-color:var(--blue);border:solid 1px var(--blue)}button.attention.svelte-1oez5n8:hover:not([disabled]){border:solid 1px var(--blue);background-color:var(--white);color:var(--blue)}.error.svelte-1oez5n8{border:solid 1px var(--red);background-color:var(--red);color:white}button.error.svelte-1oez5n8:hover:not([disabled]){border:solid 1px var(--red);background-color:white;color:var(--red)}.warning.svelte-1oez5n8{border:solid 1px var(--yellow);background-color:var(--yellow);color:white}button.warning.svelte-1oez5n8:hover:not([disabled]){border:solid 1px var(--yellow);background-color:white;color:var(--yellow)}.small.svelte-1oez5n8{width:100px;height:24px;line-height:22px;padding:0px 10px;font-weight:500}.medium.svelte-1oez5n8{width:200px;height:40px}.large.svelte-1oez5n8{width:200px;height:50px;font-weight:500;font-size:18px}.wide.svelte-1oez5n8{width:100%;max-width:260px;height:32px;line-height:22px;padding:0px 10px;font-weight:500}button.svelte-1oez5n8:disabled{background-color:var(--grey-dark);cursor:not-allowed;border:solid 1px var(--grey-dark)}
2
- .container.svelte-1ujfzyw{display:flex;flex-direction:column;font-size:14px;font-weight:500;line-height:1.17}label.svelte-1ujfzyw{color:var(--font);margin-bottom:12px}input.svelte-1ujfzyw{box-sizing:border-box;color:var(--font);font-size:18px;border-radius:3px;border:solid 1px var(--grey-medium);padding:20px;margin:0;background-color:white}input.svelte-1ujfzyw::placeholder{color:var(--grey-medium)}input.svelte-1ujfzyw:focus{box-shadow:0 4px 16px 0 rgba(57, 60, 68, 0.08)}input.svelte-1ujfzyw:disabled{background:var(--grey-medium)}
3
- .container.svelte-b7rdfu{display:flex;flex-direction:column;font-size:18px;font-weight:500;line-height:1.17}label.svelte-b7rdfu{color:var(--font);margin-bottom:12px}textarea.svelte-b7rdfu{color:var(--font);font-size:18px;border-radius:3px;border:solid 1px var(--grey-medium);padding:20px;margin:0}textarea.svelte-b7rdfu::placeholder{color:var(--grey-dark)}textarea.svelte-b7rdfu:focus{box-shadow:0 4px 16px 0 rgba(57, 60, 68, 0.08)}textarea.svelte-b7rdfu:disabled{background:var(--grey-medium)}
4
- .nav-item.svelte-dsza1v{cursor:pointer;padding:12px;height:40px;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;border-radius:3px}.nav-item.svelte-dsza1v:hover{background-color:var(--grey-light)}.nav-item-title.svelte-dsza1v{font-size:14px;color:var(--ink);font-weight:400;margin-left:12px}.nav-item-icon.svelte-dsza1v{color:var(--ink-light)}.active.svelte-dsza1v{background-color:var(--blue-light)}
5
- .property-group-container.svelte-1ds8322{display:flex;flex-direction:column;height:auto;background:var(--grey-light);margin:0px 0px 4px 0px;padding:8px 12px;justify-content:center;border-radius:4px}.property-group-name.svelte-1ds8322{cursor:pointer;display:flex;flex-flow:row nowrap}.name.svelte-1ds8322{flex:1;text-align:left;padding-top:2px;font-size:14px;font-weight:500;letter-spacing:0.14px;color:var(--ink)}.icon.svelte-1ds8322{flex:0 0 20px;text-align:center}.property-panel.svelte-1ds8322{display:none}.show.svelte-1ds8322{display:flex;flex-direction:column;flex:1}
6
-
7
- /*# sourceMappingURL=bundle.css.map */
@@ -1,20 +0,0 @@
1
- {
2
- "version": 3,
3
- "file": "bundle.css",
4
- "sources": [
5
- "../Button.svelte",
6
- "../Input.svelte",
7
- "../TextArea.svelte",
8
- "../Home.svelte",
9
- "../DetailSummary.svelte"
10
- ],
11
- "sourcesContent": [
12
- "<script>\n export let \n primary = false,\n secondary = false,\n attention = false,\n disabled = false,\n error = false,\n warning = false,\n small = false,\n medium = false,\n wide = false,\n large = false;\n</script>\n\n<style>\n button {\n cursor: pointer;\n font-weight: 500;\n font-size: 14px;\n box-sizing: border-box;\n overflow: hidden;\n border-radius: 3px;\n color: var(--white);\n padding: 0px 24px;\n height: 32px;\n transition: all 0.2s ease 0s;\n display: inline-block;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n min-width: auto;\n outline: none;\n font-feature-settings: \"case\" 1,\"rlig\" 1,\"calt\" 0;\n -webkit-box-align: center;\n user-select: none;\n flex-shrink: 0;\n }\n\n .primary {\n border: solid 1px var(--ink);\n background-color: var(--ink);\n }\n button.primary:hover:not([disabled]) {\n border: solid 1px var(--grey);\n background-color: var(--white);\n color: var(--ink);\n }\n .secondary {\n border: solid 1px var(--grey);\n background-color: white;\n color: var(--ink);\n }\n button.secondary:hover:not([disabled]) {\n border: solid 1px var(--ink);\n background-color: var(--ink);\n color: white;\n }\n .attention {\n background-color: var(--blue);\n border: solid 1px var(--blue);\n }\n button.attention:hover:not([disabled]) {\n border: solid 1px var(--blue);\n background-color: var(--white);\n color: var(--blue);\n }\n .error {\n border: solid 1px var(--red);\n background-color: var(--red);\n color: white;\n }\n button.error:hover:not([disabled]) {\n border: solid 1px var(--red);\n background-color: white;\n color: var(--red);\n }\n .warning {\n border: solid 1px var(--yellow);\n background-color: var(--yellow);\n color: white;\n }\n button.warning:hover:not([disabled]) {\n border: solid 1px var(--yellow);\n background-color: white;\n color: var(--yellow);\n }\n .small {\n width: 100px;\n height: 24px;\n line-height: 22px;\n padding: 0px 10px;\n font-weight: 500;\n }\n .medium {\n width: 200px;\n height: 40px;\n }\n .large {\n width: 200px;\n height: 50px;\n font-weight: 500;\n font-size: 18px;\n }\n .wide {\n width: 100%;\n max-width: 260px;\n height: 32px;\n line-height: 22px;\n padding: 0px 10px;\n font-weight: 500;\n }\n button:disabled {\n background-color: var(--grey-dark);\n cursor: not-allowed;\n border: solid 1px var(--grey-dark);\n }\n</style>\n\n<button\n class:primary\n class:secondary\n class:attention\n class:error\n class:warning\n class:small\n class:medium\n class:wide\n class:large\n {disabled}\n on:click|preventDefault>\n <slot />\n</button>\n",
13
- "<script>\n export let name,\n label,\n type,\n placeholder,\n validator = () => {};\n</script>\n\n<style>\n .container {\n display: flex;\n flex-direction: column;\n font-size: 14px;\n font-weight: 500;\n line-height: 1.17;\n }\n\n label {\n color: var(--font);\n margin-bottom: 12px;\n }\n\n input {\n box-sizing: border-box;\n color: var(--font);\n font-size: 18px;\n border-radius: 3px;\n border: solid 1px var(--grey-medium);\n padding: 20px;\n margin: 0;\n background-color: white;\n }\n\n input::placeholder {\n color: var(--grey-medium);\n }\n\n input:focus {\n box-shadow: 0 4px 16px 0 rgba(57, 60, 68, 0.08);\n }\n\n input:disabled {\n background: var(--grey-medium);\n }\n</style>\n\n<div class=\"container\">\n <label for={name}>{label}</label>\n <input on:change on:input use:validator {type} {name} {placeholder} />\n</div>\n",
14
- "<script>\n import { text_area_resize } from \"../actions/autoresize_textarea.js\";\n export let name,\n label,\n value,\n placeholder,\n validator = () => {};\n</script>\n\n<style>\n .container {\n display: flex;\n flex-direction: column;\n font-size: 18px;\n font-weight: 500;\n line-height: 1.17;\n }\n\n label {\n color: var(--font);\n margin-bottom: 12px;\n }\n\n textarea {\n color: var(--font);\n font-size: 18px;\n border-radius: 3px;\n border: solid 1px var(--grey-medium);\n padding: 20px;\n margin: 0;\n }\n\n textarea::placeholder {\n color: var(--grey-dark);\n }\n\n textarea:focus {\n box-shadow: 0 4px 16px 0 rgba(57, 60, 68, 0.08);\n }\n\n textarea:disabled {\n background: var(--grey-medium);\n }\n</style>\n\n<div class=\"container\">\n <label for={name}>{label}</label>\n <textarea bind:value {placeholder} {name} use:text_area_resize />\n</div>\n",
15
- "<script>\n export let href,\n icon,\n title,\n active = false;\n</script>\n\n<style>\n .nav-item {\n cursor: pointer;\n padding: 12px;\n height: 40px;\n display: flex;\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n border-radius: 3px;\n }\n\n .nav-item:hover {\n background-color: var(--grey-light);\n }\n\n .nav-item-title {\n font-size: 14px;\n color: var(--ink);\n font-weight: 400;\n margin-left: 12px;\n }\n\n .nav-item-icon {\n color: var(--ink-light);\n }\n\n .active {\n background-color: var(--blue-light);\n }\n</style>\n\n<a {href} target=\"_blank\" class=\"nav-item\" class:active>\n {#if icon}\n <span class=\"nav-item-icon\">\n <svelte:component this={icon} />\n </span>\n {/if}\n {#if title}\n <div class=\"nav-item-title\">{title}</div>\n {/if}\n</a>\n",
16
- "<script>\n export let name,\n show = false;\n\n const capitalize = name => name[0].toUpperCase() + name.slice(1);\n</script>\n\n<style>\n .property-group-container {\n display: flex;\n flex-direction: column;\n height: auto;\n background: var(--grey-light);\n margin: 0px 0px 4px 0px;\n padding: 8px 12px;\n justify-content: center;\n border-radius: 4px;\n }\n\n .property-group-name {\n cursor: pointer;\n display: flex;\n flex-flow: row nowrap;\n }\n\n .name {\n flex: 1;\n text-align: left;\n padding-top: 2px;\n font-size: 14px;\n font-weight: 500;\n letter-spacing: 0.14px;\n color: var(--ink);\n }\n\n .icon {\n flex: 0 0 20px;\n text-align: center;\n }\n\n .property-panel {\n /* height: 0px;\n overflow: hidden; */\n display: none;\n }\n\n .show {\n /* overflow: auto;\n height: auto; */\n display: flex;\n flex-direction: column;\n flex: 1;\n }\n</style>\n\n<div class=\"property-group-container\">\n <div class=\"property-group-name\" on:click={() => (show = !show)}>\n <div class=\"icon\">\n <i class={show ? 'ri-arrow-down-s-fill' : 'ri-arrow-right-s-fill'} />\n </div>\n <div class=\"name\">{capitalize(name)}</div>\n </div>\n <div class=\"property-panel\" class:show>\n <slot />\n </div>\n</div>\n"
17
- ],
18
- "names": [],
19
- "mappings": "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"
20
- }