@lavalogic/scoria 0.40.32 → 0.40.33

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 (135) hide show
  1. package/README.md +58 -58
  2. package/dist/Components/AccordionGroup.svelte +28 -28
  3. package/dist/Components/AccordionGroupButton.svelte +60 -60
  4. package/dist/Components/Action.svelte +48 -48
  5. package/dist/Components/AlertModal.svelte +102 -102
  6. package/dist/Components/Base/ContextWrapper.svelte +45 -45
  7. package/dist/Components/Base/Pagination.svelte +135 -135
  8. package/dist/Components/Base/Snippets.svelte +25 -25
  9. package/dist/Components/BigRadioSet.svelte +34 -34
  10. package/dist/Components/Bubble.svelte +38 -38
  11. package/dist/Components/Button.svelte +83 -83
  12. package/dist/Components/Checkbox.svelte +71 -71
  13. package/dist/Components/CollapsibleCard.svelte +59 -59
  14. package/dist/Components/CollapsibleMenuGroup.svelte +43 -43
  15. package/dist/Components/ConditionBuilder/ConditionBuilder.svelte +101 -101
  16. package/dist/Components/Contexts/ContextMenu.svelte +76 -76
  17. package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -15
  18. package/dist/Components/Contexts/ContextMenuOption.svelte +38 -38
  19. package/dist/Components/Contexts/Toast.svelte +71 -71
  20. package/dist/Components/Contexts/ToastContainer.svelte +34 -34
  21. package/dist/Components/Contexts/Tooltip.svelte +32 -32
  22. package/dist/Components/DataMatrixIcon.svelte +37 -37
  23. package/dist/Components/DateInput.svelte +80 -80
  24. package/dist/Components/DatePicker.svelte +86 -86
  25. package/dist/Components/DesktopModal.svelte +65 -65
  26. package/dist/Components/Dial.svelte +35 -35
  27. package/dist/Components/DimensionInput.svelte +95 -95
  28. package/dist/Components/DragMenu/DragMenuHolder.svelte +53 -53
  29. package/dist/Components/DragMenu/DraggableCard.svelte +49 -49
  30. package/dist/Components/FileCard.svelte +18 -18
  31. package/dist/Components/FileUpload.svelte +115 -115
  32. package/dist/Components/GridInput.svelte +123 -123
  33. package/dist/Components/GridInputSet.svelte +21 -21
  34. package/dist/Components/HorizontalTabGroup.svelte +54 -54
  35. package/dist/Components/HorizontalTabGroupButton.svelte +32 -32
  36. package/dist/Components/Icon.svelte +68 -68
  37. package/dist/Components/InfoAlert.svelte +32 -32
  38. package/dist/Components/LoadingAnimation.svelte +228 -227
  39. package/dist/Components/LoadingModal.svelte +19 -19
  40. package/dist/Components/LoadingOverlay.svelte +20 -20
  41. package/dist/Components/Modal.svelte +127 -127
  42. package/dist/Components/MultiSelect.svelte +126 -126
  43. package/dist/Components/Nav/Nav.svelte +71 -71
  44. package/dist/Components/Nav/NavServiceMenuList.svelte +37 -37
  45. package/dist/Components/Nav/NavTab.svelte +46 -46
  46. package/dist/Components/Nav/ServiceMenuItem.svelte +62 -62
  47. package/dist/Components/Nav/ServicesNav.svelte +50 -50
  48. package/dist/Components/NumberInput.svelte +98 -98
  49. package/dist/Components/OptionCards.svelte +58 -58
  50. package/dist/Components/PageHeading.svelte +21 -21
  51. package/dist/Components/PasswordInput.svelte +61 -61
  52. package/dist/Components/PopoverButton.svelte +53 -53
  53. package/dist/Components/Portal.svelte +7 -7
  54. package/dist/Components/ProgressBubble.svelte +42 -42
  55. package/dist/Components/QuerySelect.svelte +102 -102
  56. package/dist/Components/ResourceCalendar/ResourceCalendar.svelte +241 -241
  57. package/dist/Components/SidebarPanel.svelte +32 -32
  58. package/dist/Components/SingleSelect.svelte +122 -122
  59. package/dist/Components/StepButton.svelte +48 -48
  60. package/dist/Components/StepForm.svelte +58 -58
  61. package/dist/Components/Switch.svelte +43 -43
  62. package/dist/Components/Table/ARCHITECTURE.md +298 -298
  63. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +30 -30
  64. package/dist/Components/Table/Body/Rows/ColumnList.svelte +24 -24
  65. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +165 -165
  66. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +13 -13
  67. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +120 -120
  68. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +81 -81
  69. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +92 -92
  70. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +110 -110
  71. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -54
  72. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +35 -35
  73. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +64 -64
  74. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +82 -82
  75. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +88 -88
  76. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +90 -90
  77. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +96 -96
  78. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +71 -71
  79. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +124 -124
  80. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +91 -91
  81. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +88 -88
  82. package/dist/Components/Table/Body/Rows/TableRow.svelte +127 -127
  83. package/dist/Components/Table/Body/TableBody.svelte +92 -92
  84. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +25 -25
  85. package/dist/Components/Table/Headers/SelectAllHeader.svelte +20 -20
  86. package/dist/Components/Table/Headers/TableHead.svelte +175 -175
  87. package/dist/Components/Table/Misc/ColumnPanel.svelte +32 -32
  88. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +29 -29
  89. package/dist/Components/Table/Misc/FilterInput.svelte +326 -326
  90. package/dist/Components/Table/Misc/FilterPanel.svelte +79 -79
  91. package/dist/Components/Table/Misc/FilterPanelModal.svelte +21 -21
  92. package/dist/Components/Table/Misc/ShareViewModal.svelte +118 -118
  93. package/dist/Components/Table/Misc/SidePanel.svelte +24 -24
  94. package/dist/Components/Table/Misc/TableConfigurationModal.svelte +318 -318
  95. package/dist/Components/Table/Misc/TableFooter.svelte +201 -201
  96. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +112 -112
  97. package/dist/Components/Table/Misc/TableSidebar.svelte +116 -116
  98. package/dist/Components/Table/Misc/TableViewDropdown.svelte +25 -25
  99. package/dist/Components/Table/Misc/ToolboxPanel.svelte +60 -60
  100. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +63 -63
  101. package/dist/Components/Table/Misc/UpdateViewOptionsModal.svelte +101 -101
  102. package/dist/Components/Table/NestedTable.svelte +29 -29
  103. package/dist/Components/Table/Table.svelte +140 -140
  104. package/dist/Components/Test/TestContextConsumer.svelte +8 -8
  105. package/dist/Components/TextArea.svelte +92 -90
  106. package/dist/Components/TextInput.svelte +128 -117
  107. package/dist/Components/ThreeStateRadio.svelte +101 -101
  108. package/dist/Components/Touch/BoolCard.svelte +27 -27
  109. package/dist/Components/Touch/DateModal.svelte +98 -98
  110. package/dist/Components/Touch/EditCard.svelte +44 -44
  111. package/dist/Components/Touch/InfoCard.svelte +25 -25
  112. package/dist/Components/Touch/InfoTextCard.svelte +22 -22
  113. package/dist/Components/Touch/ModalExplanation.svelte +13 -13
  114. package/dist/Components/Touch/NumberKeyboard.svelte +81 -81
  115. package/dist/Components/Touch/NumberModal.svelte +49 -49
  116. package/dist/Components/Touch/PlusMinusCard.svelte +40 -40
  117. package/dist/Components/Touch/SelectModal.svelte +86 -86
  118. package/dist/Components/Touch/SummaryCard.svelte +74 -74
  119. package/dist/Components/Touch/TextAreaModal.svelte +53 -53
  120. package/dist/Components/Touch/TextModal.svelte +56 -56
  121. package/dist/Components/Touch/TouchCard.svelte +28 -28
  122. package/dist/Components/Touch/TouchModal.svelte +141 -141
  123. package/dist/Components/Touch/UtilityButton.svelte +63 -63
  124. package/dist/Components/VerticalTabGroup.svelte +38 -38
  125. package/dist/Components/VerticalTabGroupButton.svelte +46 -46
  126. package/dist/Helpers/Datamatrix.d.ts +19 -19
  127. package/dist/Helpers/Datamatrix.js +291 -291
  128. package/dist/Types/Examples/ExampleModal.svelte +27 -27
  129. package/dist/paraglide/README.md +1 -1
  130. package/dist/scss/_basics.scss +12 -12
  131. package/dist/scss/_colours.scss +140 -140
  132. package/dist/scss/_motion.scss +57 -57
  133. package/dist/scss/_sizing.scss +85 -85
  134. package/dist/scss/_transitions.scss +8 -8
  135. package/package.json +1 -1
@@ -1,35 +1,35 @@
1
- <svelte:options runes />
2
-
1
+ <svelte:options runes />
2
+
3
3
  <script lang="ts">import { passthrough } from "../../Helpers/Helpers.svelte.js";
4
4
  import { Colour } from "../../scss/colours.js";
5
5
  import { Size } from "../../Types/Internal/Size.js";
6
6
  import Icon from "../Icon.svelte";
7
7
  let { value = $bindable(false), disabled, onclick, children, nowidth, size = Size.Medium } = $props();
8
8
  const iconName = $derived(value ? "circle-tick" : "circle");
9
- </script>
10
-
11
- <button
12
- class:small={size == Size.Small}
13
- onkeydown={passthrough}
14
- disabled={disabled || undefined}
15
- aria-pressed={value}
16
- class:nowidth
17
- type="button"
18
- class="card"
19
- class:ticked={value}
20
- {onclick}
21
- >
22
- {#if children}
23
- <span
24
- class="value"
25
- class:small={size == Size.Small}>{@render children()}</span
26
- >{/if}<Icon
27
- name={iconName}
28
- size={Size.DoubleXLarge}
29
- colour={value ? Colour['$ui-white'] : undefined}
30
- />
31
- </button>
32
-
9
+ </script>
10
+
11
+ <button
12
+ class:small={size == Size.Small}
13
+ onkeydown={passthrough}
14
+ disabled={disabled || undefined}
15
+ aria-pressed={value}
16
+ class:nowidth
17
+ type="button"
18
+ class="card"
19
+ class:ticked={value}
20
+ {onclick}
21
+ >
22
+ {#if children}
23
+ <span
24
+ class="value"
25
+ class:small={size == Size.Small}>{@render children()}</span
26
+ >{/if}<Icon
27
+ name={iconName}
28
+ size={Size.DoubleXLarge}
29
+ colour={value ? Colour['$ui-white'] : undefined}
30
+ />
31
+ </button>
32
+
33
33
  <style>button.card {
34
34
  color: #3a4952;
35
35
  fill: #3a4952;
@@ -159,4 +159,4 @@ button.card .value.small {
159
159
  font-size: 1.1875rem;
160
160
  font-weight: 600;
161
161
  padding: 0;
162
- }</style>
162
+ }</style>
@@ -1,8 +1,8 @@
1
- <svelte:options runes />
2
-
3
- <script
4
- lang="ts"
5
- module
1
+ <svelte:options runes />
2
+
3
+ <script
4
+ lang="ts"
5
+ module
6
6
  >import { devCatch, passthrough } from "../../Helpers/Helpers.svelte.js";
7
7
  import { ColourSet } from "../../scss/colours.js";
8
8
  import { InputVariant } from "../../Types/Internal/InputVariant.js";
@@ -13,8 +13,8 @@ import Action from "../Action.svelte";
13
13
  import DatePicker from "../DatePicker.svelte";
14
14
  import TextInput from "../TextInput.svelte";
15
15
  import TouchModal from "./TouchModal.svelte";
16
- </script>
17
-
16
+ </script>
17
+
18
18
  <script lang="ts">let { header, value, cancelEditing, confirm, namedMonths = false, validate, showScanner = false, scanValue = $bindable(""), overrideScanValue = $bindable(""), confirmScannedValue, inclusive = false, explanation, allowOverride = false, showTime = false } = $props();
19
19
  // Snapshot the incoming `value` into mutable working state. Reset via
20
20
  // the effect below when the parent hands us a new `value` reference;
@@ -77,96 +77,96 @@ function submitOnEnter(e) {
77
77
  scanValue = "";
78
78
  }
79
79
  }
80
- </script>
81
-
82
- <TouchModal
83
- onclose={() => {
84
- cancelEditing();
85
- }}
86
- {header}
87
- {onsubmit}
88
- {explanation}
89
- >
90
- {#if showScanner}
91
- <div class="inputs">
92
- {#if allowOverride}
93
- <!-- eslint-disable-next-line @typescript-eslint/no-confusing-void-expression -->
94
- {@render overrideButton()}
95
- {/if}
96
- {#if isBeingEdited}
97
- <TextInput
98
- bind:inputRef={overrideInputRef}
99
- bind:value={overrideScanValue}
100
- variant={InputVariant.Modal}
101
- labelTop={i18n['scoria.label.scan_barcode_override']()}
102
- onkeydown={submitOnEnter}
103
- />
104
- {/if}
105
- <TextInput
106
- bind:inputRef
107
- bind:value={scanValue}
108
- variant={InputVariant.Modal}
109
- labelTop={i18n['scoria.label.scan_barcode']()}
110
- onkeydown={submitOnEnter}
111
- />
112
- </div>
113
- {:else if allowOverride}
114
- <!-- eslint-disable-next-line @typescript-eslint/no-confusing-void-expression -->
115
- {@render overrideButton()}
116
- {/if}
117
-
118
- <div class="inputs">
119
- {#if allowOverride && isBeingEdited}
120
- <DatePicker
121
- {showTime}
122
- {onsubmit}
123
- {namedMonths}
124
- bind:date={overrideValue}
125
- />
126
- {/if}
127
- <DatePicker
128
- {showTime}
129
- {onsubmit}
130
- {namedMonths}
131
- bind:date={tempValue}
132
- />
133
- </div>
134
-
135
- {#snippet footer()}
136
- <div class="modal-footer">
137
- <button
138
- onkeydown={passthrough}
139
- type="submit"
140
- disabled={!isValid}>{i18n['scoria.action.confirm']()}</button
141
- >
142
- <button
143
- onkeydown={passthrough}
144
- type="button"
145
- onclick={() => {
146
- cancelEditing();
147
- }}>{i18n['scoria.action.cancel']()}</button
148
- >
149
- </div>
150
- {/snippet}
151
- </TouchModal>
152
-
153
- {#snippet overrideButton()}
154
- <div>
155
- <Action
156
- icon={{ name: 'edit' }}
157
- size={Size.DoubleXLarge}
158
- colourSet={isBeingEdited ? ColourSet.Primary : ColourSet.Secondary}
159
- label={isBeingEdited ? 'Cancel override' : 'Override date'}
160
- onclick={() => {
161
- if (!allowOverride) {
162
- return;
163
- }
164
- isBeingEdited = !isBeingEdited;
165
- }}
166
- />
167
- </div>
168
- {/snippet}
169
-
80
+ </script>
81
+
82
+ <TouchModal
83
+ onclose={() => {
84
+ cancelEditing();
85
+ }}
86
+ {header}
87
+ {onsubmit}
88
+ {explanation}
89
+ >
90
+ {#if showScanner}
91
+ <div class="inputs">
92
+ {#if allowOverride}
93
+ <!-- eslint-disable-next-line @typescript-eslint/no-confusing-void-expression -->
94
+ {@render overrideButton()}
95
+ {/if}
96
+ {#if isBeingEdited}
97
+ <TextInput
98
+ bind:inputRef={overrideInputRef}
99
+ bind:value={overrideScanValue}
100
+ variant={InputVariant.Modal}
101
+ labelTop={i18n['scoria.label.scan_barcode_override']()}
102
+ onkeydown={submitOnEnter}
103
+ />
104
+ {/if}
105
+ <TextInput
106
+ bind:inputRef
107
+ bind:value={scanValue}
108
+ variant={InputVariant.Modal}
109
+ labelTop={i18n['scoria.label.scan_barcode']()}
110
+ onkeydown={submitOnEnter}
111
+ />
112
+ </div>
113
+ {:else if allowOverride}
114
+ <!-- eslint-disable-next-line @typescript-eslint/no-confusing-void-expression -->
115
+ {@render overrideButton()}
116
+ {/if}
117
+
118
+ <div class="inputs">
119
+ {#if allowOverride && isBeingEdited}
120
+ <DatePicker
121
+ {showTime}
122
+ {onsubmit}
123
+ {namedMonths}
124
+ bind:date={overrideValue}
125
+ />
126
+ {/if}
127
+ <DatePicker
128
+ {showTime}
129
+ {onsubmit}
130
+ {namedMonths}
131
+ bind:date={tempValue}
132
+ />
133
+ </div>
134
+
135
+ {#snippet footer()}
136
+ <div class="modal-footer">
137
+ <button
138
+ onkeydown={passthrough}
139
+ type="submit"
140
+ disabled={!isValid}>{i18n['scoria.action.confirm']()}</button
141
+ >
142
+ <button
143
+ onkeydown={passthrough}
144
+ type="button"
145
+ onclick={() => {
146
+ cancelEditing();
147
+ }}>{i18n['scoria.action.cancel']()}</button
148
+ >
149
+ </div>
150
+ {/snippet}
151
+ </TouchModal>
152
+
153
+ {#snippet overrideButton()}
154
+ <div>
155
+ <Action
156
+ icon={{ name: 'edit' }}
157
+ size={Size.DoubleXLarge}
158
+ colourSet={isBeingEdited ? ColourSet.Primary : ColourSet.Secondary}
159
+ label={isBeingEdited ? 'Cancel override' : 'Override date'}
160
+ onclick={() => {
161
+ if (!allowOverride) {
162
+ return;
163
+ }
164
+ isBeingEdited = !isBeingEdited;
165
+ }}
166
+ />
167
+ </div>
168
+ {/snippet}
169
+
170
170
  <style>.modal-footer {
171
171
  bottom: 0;
172
172
  border-top: solid 1px #cbd4da;
@@ -225,4 +225,4 @@ div.inputs {
225
225
  flex-flow: row nowrap;
226
226
  gap: 1.5rem;
227
227
  justify-content: space-around;
228
- }</style>
228
+ }</style>
@@ -1,50 +1,50 @@
1
- <svelte:options runes />
2
-
1
+ <svelte:options runes />
2
+
3
3
  <script lang="ts">import { passthrough } from "../../Helpers/Helpers.svelte.js";
4
4
  import { Size } from "../../Types/Internal/Size.js";
5
5
  import Icon from "../Icon.svelte";
6
6
  const { noborder, label, desktop = false, iconName = "edit", disabled = false, error = false, onclick, children } = $props();
7
- </script>
8
-
9
- <button
10
- type="button"
11
- class="card"
12
- class:desktop
13
- class:error
14
- class:noborder
15
- {disabled}
16
- aria-disabled={disabled}
17
- {onclick}
18
- onkeydown={passthrough}
19
- >
20
- <div class="left">
21
- {#if label}
22
- <div class="row">
23
- <span class="card-label label">{label}</span>
24
- {#if desktop}
25
- <span class="card-label border">{label}</span>
26
- {/if}
27
- </div>
28
- {/if}
29
- <div
30
- class="row"
31
- class:labelless={!label}
32
- >
33
- {#if children}
34
- <span class="value">{@render children()}</span>
35
- {/if}
36
- </div>
37
- </div>
38
- <div class="right">
39
- {#if iconName}
40
- <Icon
41
- name={iconName}
42
- size={desktop ? Size.Medium : Size.XLarge}
43
- />
44
- {/if}
45
- </div>
46
- </button>
47
-
7
+ </script>
8
+
9
+ <button
10
+ type="button"
11
+ class="card"
12
+ class:desktop
13
+ class:error
14
+ class:noborder
15
+ {disabled}
16
+ aria-disabled={disabled}
17
+ {onclick}
18
+ onkeydown={passthrough}
19
+ >
20
+ <div class="left">
21
+ {#if label}
22
+ <div class="row">
23
+ <span class="card-label label">{label}</span>
24
+ {#if desktop}
25
+ <span class="card-label border">{label}</span>
26
+ {/if}
27
+ </div>
28
+ {/if}
29
+ <div
30
+ class="row"
31
+ class:labelless={!label}
32
+ >
33
+ {#if children}
34
+ <span class="value">{@render children()}</span>
35
+ {/if}
36
+ </div>
37
+ </div>
38
+ <div class="right">
39
+ {#if iconName}
40
+ <Icon
41
+ name={iconName}
42
+ size={desktop ? Size.Medium : Size.XLarge}
43
+ />
44
+ {/if}
45
+ </div>
46
+ </button>
47
+
48
48
  <style>.card {
49
49
  color: #3a4952;
50
50
  fill: #3a4952;
@@ -202,4 +202,4 @@ const { noborder, label, desktop = false, iconName = "edit", disabled = false, e
202
202
  }
203
203
  .card .labelless {
204
204
  padding: 0.75rem;
205
- }</style>
205
+ }</style>
@@ -1,30 +1,30 @@
1
- <svelte:options runes />
2
-
1
+ <svelte:options runes />
2
+
3
3
  <script lang="ts">import { Size } from "../../Types/Internal/Size.js";
4
4
  import Icon from "../Icon.svelte";
5
5
  const { noborder, label, iconName, children } = $props();
6
- </script>
7
-
8
- <div
9
- class="card"
10
- class:pad-vertical={!label}
11
- class:noborder
12
- >
13
- {#if label}
14
- <span class="card-label">{label}</span>
15
- {/if}
16
-
17
- <span class="value">{@render children()}</span>
18
- {#if iconName}
19
- <div class="icon">
20
- <Icon
21
- name={iconName}
22
- size={Size.Large}
23
- />
24
- </div>
25
- {/if}
26
- </div>
27
-
6
+ </script>
7
+
8
+ <div
9
+ class="card"
10
+ class:pad-vertical={!label}
11
+ class:noborder
12
+ >
13
+ {#if label}
14
+ <span class="card-label">{label}</span>
15
+ {/if}
16
+
17
+ <span class="value">{@render children()}</span>
18
+ {#if iconName}
19
+ <div class="icon">
20
+ <Icon
21
+ name={iconName}
22
+ size={Size.Large}
23
+ />
24
+ </div>
25
+ {/if}
26
+ </div>
27
+
28
28
  <style>.card {
29
29
  color: #3a4952;
30
30
  fill: #3a4952;
@@ -74,4 +74,4 @@ const { noborder, label, iconName, children } = $props();
74
74
  align-items: center;
75
75
  position: absolute;
76
76
  right: 0.75rem;
77
- }</style>
77
+ }</style>
@@ -1,28 +1,28 @@
1
- <svelte:options runes />
2
-
1
+ <svelte:options runes />
2
+
3
3
  <script lang="ts">import { Colour } from "../../scss/colours.js";
4
4
  import { Size } from "../../Types/Internal/Size.js";
5
5
  import Icon from "../Icon.svelte";
6
6
  let { label, iconName, children } = $props();
7
- </script>
8
-
9
- <div
10
- class="card"
11
- class:pad-vertical={!label}
12
- >
13
- {#if iconName}
14
- <div class="icon">
15
- <Icon
16
- name={iconName}
17
- size={Size.Large}
18
- colour={Colour['$brand-primary']}
19
- />
20
- </div>
21
- {/if}
22
-
23
- <span class="value">{@render children()}</span>
24
- </div>
25
-
7
+ </script>
8
+
9
+ <div
10
+ class="card"
11
+ class:pad-vertical={!label}
12
+ >
13
+ {#if iconName}
14
+ <div class="icon">
15
+ <Icon
16
+ name={iconName}
17
+ size={Size.Large}
18
+ colour={Colour['$brand-primary']}
19
+ />
20
+ </div>
21
+ {/if}
22
+
23
+ <span class="value">{@render children()}</span>
24
+ </div>
25
+
26
26
  <style>.card {
27
27
  color: #3a4952;
28
28
  fill: #3a4952;
@@ -48,4 +48,4 @@ let { label, iconName, children } = $props();
48
48
  .card .value {
49
49
  padding: 0 0.25rem;
50
50
  color: #3a4952;
51
- }</style>
51
+ }</style>
@@ -1,17 +1,17 @@
1
- <svelte:options runes />
2
-
1
+ <svelte:options runes />
2
+
3
3
  <script lang="ts">let { width, children, nowrap } = $props();
4
4
  export {};
5
- </script>
6
-
7
- <p
8
- class:nowrap
9
- style:--width={width}
10
- style:--padding="0"
11
- >
12
- {@render children()}
13
- </p>
14
-
5
+ </script>
6
+
7
+ <p
8
+ class:nowrap
9
+ style:--width={width}
10
+ style:--padding="0"
11
+ >
12
+ {@render children()}
13
+ </p>
14
+
15
15
  <style>p {
16
16
  padding: var(--padding);
17
17
  color: #3a4952;
@@ -19,4 +19,4 @@ export {};
19
19
  }
20
20
  p.nowrap {
21
21
  white-space: pre-line;
22
- }</style>
22
+ }</style>