@w5-ui/svelte 0.1.0 → 0.2.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 (191) hide show
  1. package/package.json +4 -4
  2. package/src/lib/components/Accordion.svelte +9 -1
  3. package/src/lib/components/AccordionItem.svelte +11 -5
  4. package/src/lib/components/ActionMenu.svelte +19 -14
  5. package/src/lib/components/ActivityFeed.svelte +24 -11
  6. package/src/lib/components/Alert.svelte +9 -4
  7. package/src/lib/components/AnnotatedTimeSeries.svelte +40 -26
  8. package/src/lib/components/ArcDiagram.svelte +20 -8
  9. package/src/lib/components/AreaChart.svelte +26 -14
  10. package/src/lib/components/Avatar.svelte +20 -8
  11. package/src/lib/components/AvatarGroup.svelte +16 -7
  12. package/src/lib/components/Badge.svelte +24 -11
  13. package/src/lib/components/Banner.svelte +20 -9
  14. package/src/lib/components/BarChart.svelte +29 -17
  15. package/src/lib/components/BeeswarmChart.svelte +32 -18
  16. package/src/lib/components/BoxPlot.svelte +27 -15
  17. package/src/lib/components/Breadcrumb.svelte +12 -7
  18. package/src/lib/components/BubbleChart.svelte +39 -25
  19. package/src/lib/components/BulletChart.svelte +16 -9
  20. package/src/lib/components/BumpChart.svelte +15 -8
  21. package/src/lib/components/Button.svelte +32 -11
  22. package/src/lib/components/CIDRInput.svelte +27 -19
  23. package/src/lib/components/CalendarHeatmap.svelte +12 -5
  24. package/src/lib/components/Callout.svelte +9 -4
  25. package/src/lib/components/CandlestickChart.svelte +31 -16
  26. package/src/lib/components/Card.svelte +16 -6
  27. package/src/lib/components/Carousel.svelte +14 -11
  28. package/src/lib/components/Checkbox.svelte +37 -16
  29. package/src/lib/components/ChordDiagram.svelte +12 -5
  30. package/src/lib/components/CirclePacking.svelte +13 -6
  31. package/src/lib/components/CodeBlock.svelte +16 -7
  32. package/src/lib/components/ColorPicker.svelte +22 -11
  33. package/src/lib/components/ColumnToggle.svelte +18 -11
  34. package/src/lib/components/Combobox.svelte +44 -33
  35. package/src/lib/components/CommandPalette.svelte +41 -31
  36. package/src/lib/components/ConfirmDialog.svelte +66 -35
  37. package/src/lib/components/ContextMenu.svelte +46 -33
  38. package/src/lib/components/ContextualHelp.svelte +13 -9
  39. package/src/lib/components/ContourPlot.svelte +43 -28
  40. package/src/lib/components/CopyButton.svelte +8 -4
  41. package/src/lib/components/CorrelationMatrix.svelte +16 -7
  42. package/src/lib/components/CountUp.svelte +30 -13
  43. package/src/lib/components/CumulativeDistribution.svelte +32 -19
  44. package/src/lib/components/DatePicker.svelte +28 -21
  45. package/src/lib/components/DateRangePicker.svelte +39 -32
  46. package/src/lib/components/Dendrogram.svelte +18 -6
  47. package/src/lib/components/Donut.svelte +28 -14
  48. package/src/lib/components/DotPlot.svelte +31 -16
  49. package/src/lib/components/Drawer.svelte +28 -21
  50. package/src/lib/components/DualAxisChart.svelte +39 -26
  51. package/src/lib/components/DumbbellChart.svelte +24 -12
  52. package/src/lib/components/DurationInput.svelte +26 -17
  53. package/src/lib/components/EmptyState.svelte +16 -6
  54. package/src/lib/components/ErrorBandChart.svelte +28 -14
  55. package/src/lib/components/ExpandableRow.svelte +19 -6
  56. package/src/lib/components/Field.svelte +26 -12
  57. package/src/lib/components/FileUpload.svelte +29 -20
  58. package/src/lib/components/FilterBuilder.svelte +27 -17
  59. package/src/lib/components/FlameGraph.svelte +14 -7
  60. package/src/lib/components/ForceGraph.svelte +19 -7
  61. package/src/lib/components/FunnelChart.svelte +20 -13
  62. package/src/lib/components/GanttChart.svelte +14 -7
  63. package/src/lib/components/Gauge.svelte +26 -16
  64. package/src/lib/components/GroupedList.svelte +13 -6
  65. package/src/lib/components/HealthBar.svelte +14 -5
  66. package/src/lib/components/HeatMap.svelte +28 -17
  67. package/src/lib/components/HexbinChart.svelte +36 -22
  68. package/src/lib/components/Histogram.svelte +27 -14
  69. package/src/lib/components/HorizonChart.svelte +28 -16
  70. package/src/lib/components/HoverCard.svelte +24 -12
  71. package/src/lib/components/IPInput.svelte +24 -16
  72. package/src/lib/components/IcicleChart.svelte +14 -7
  73. package/src/lib/components/IconButton.svelte +27 -9
  74. package/src/lib/components/InlineEdit.svelte +22 -12
  75. package/src/lib/components/Input.svelte +67 -10
  76. package/src/lib/components/InputGroup.svelte +8 -3
  77. package/src/lib/components/JsonViewer.svelte +17 -6
  78. package/src/lib/components/JsonViewerNode.svelte +36 -18
  79. package/src/lib/components/KVTable.svelte +6 -2
  80. package/src/lib/components/KanbanBoard.svelte +24 -17
  81. package/src/lib/components/Kbd.svelte +8 -4
  82. package/src/lib/components/LineChart.svelte +29 -17
  83. package/src/lib/components/LogViewer.svelte +27 -12
  84. package/src/lib/components/LollipopChart.svelte +20 -8
  85. package/src/lib/components/MACInput.svelte +24 -16
  86. package/src/lib/components/MarimekkoChart.svelte +14 -7
  87. package/src/lib/components/MatrixChart.svelte +19 -9
  88. package/src/lib/components/Menubar.svelte +26 -19
  89. package/src/lib/components/MirroredBarChart.svelte +25 -10
  90. package/src/lib/components/Modal.svelte +46 -33
  91. package/src/lib/components/MultiSelect.svelte +49 -38
  92. package/src/lib/components/NightingaleChart.svelte +17 -10
  93. package/src/lib/components/NotificationPanel.svelte +48 -33
  94. package/src/lib/components/NumberInput.svelte +37 -23
  95. package/src/lib/components/OTPInput.svelte +28 -16
  96. package/src/lib/components/Pagination.svelte +16 -13
  97. package/src/lib/components/ParallelCoordinates.svelte +28 -16
  98. package/src/lib/components/ParetoChart.svelte +38 -24
  99. package/src/lib/components/PasswordInput.svelte +24 -14
  100. package/src/lib/components/PieChart.svelte +21 -13
  101. package/src/lib/components/Pill.svelte +17 -6
  102. package/src/lib/components/PolarHeatmap.svelte +32 -18
  103. package/src/lib/components/Popover.svelte +22 -11
  104. package/src/lib/components/ProgressBar.svelte +17 -8
  105. package/src/lib/components/PunchCard.svelte +31 -20
  106. package/src/lib/components/QuadrantChart.svelte +50 -30
  107. package/src/lib/components/RadarChart.svelte +30 -18
  108. package/src/lib/components/RadialBarChart.svelte +14 -7
  109. package/src/lib/components/RadioGroup.svelte +20 -8
  110. package/src/lib/components/RangeSlider.svelte +30 -18
  111. package/src/lib/components/RankedList.svelte +18 -6
  112. package/src/lib/components/ResizablePanel.svelte +33 -17
  113. package/src/lib/components/RidgelinePlot.svelte +33 -21
  114. package/src/lib/components/RowToggle.svelte +15 -5
  115. package/src/lib/components/SankeyDiagram.svelte +18 -6
  116. package/src/lib/components/ScatterPlot.svelte +34 -21
  117. package/src/lib/components/SearchBox.svelte +27 -5
  118. package/src/lib/components/SegmentedControl.svelte +11 -7
  119. package/src/lib/components/Select.svelte +37 -26
  120. package/src/lib/components/SelectionToolbar.svelte +25 -11
  121. package/src/lib/components/Sidebar.svelte +15 -9
  122. package/src/lib/components/Signal.svelte +6 -2
  123. package/src/lib/components/Skeleton.svelte +20 -10
  124. package/src/lib/components/SkipLink.svelte +9 -4
  125. package/src/lib/components/Slider.svelte +28 -14
  126. package/src/lib/components/SlopeChart.svelte +35 -21
  127. package/src/lib/components/SortHeader.svelte +20 -9
  128. package/src/lib/components/SortableList.svelte +20 -13
  129. package/src/lib/components/Sparkline.svelte +15 -6
  130. package/src/lib/components/SparklineMatrix.svelte +17 -10
  131. package/src/lib/components/Spinner.svelte +7 -3
  132. package/src/lib/components/SplitButton.svelte +28 -17
  133. package/src/lib/components/Spoiler.svelte +22 -11
  134. package/src/lib/components/StackedBarChart.svelte +35 -22
  135. package/src/lib/components/StackedProgress.svelte +21 -9
  136. package/src/lib/components/StarRating.svelte +22 -11
  137. package/src/lib/components/Stat.svelte +32 -10
  138. package/src/lib/components/StatusIndicator.svelte +7 -3
  139. package/src/lib/components/StepChart.svelte +27 -15
  140. package/src/lib/components/Stepper.svelte +10 -6
  141. package/src/lib/components/StreamGraph.svelte +19 -12
  142. package/src/lib/components/StripeChart.svelte +22 -12
  143. package/src/lib/components/SunburstChart.svelte +11 -4
  144. package/src/lib/components/SwitchPortGrid.svelte +13 -7
  145. package/src/lib/components/TabPanel.svelte +9 -4
  146. package/src/lib/components/Tabs.svelte +18 -10
  147. package/src/lib/components/Tag.svelte +9 -5
  148. package/src/lib/components/TagInput.svelte +28 -18
  149. package/src/lib/components/Textarea.svelte +37 -15
  150. package/src/lib/components/ThresholdAreaChart.svelte +34 -21
  151. package/src/lib/components/TimePicker.svelte +25 -17
  152. package/src/lib/components/TimeRange.svelte +19 -14
  153. package/src/lib/components/Timeline.svelte +8 -4
  154. package/src/lib/components/Toast.svelte +2 -2
  155. package/src/lib/components/Toggle.svelte +13 -7
  156. package/src/lib/components/ToggleGroup.svelte +19 -11
  157. package/src/lib/components/Tooltip.svelte +16 -6
  158. package/src/lib/components/Topbar.svelte +24 -10
  159. package/src/lib/components/TransferList.svelte +34 -27
  160. package/src/lib/components/TreeItem.svelte +23 -10
  161. package/src/lib/components/TreeMap.svelte +13 -6
  162. package/src/lib/components/TreeView.svelte +24 -12
  163. package/src/lib/components/UptimeTimeline.svelte +22 -15
  164. package/src/lib/components/VennDiagram.svelte +25 -13
  165. package/src/lib/components/ViolinPlot.svelte +31 -19
  166. package/src/lib/components/VirtualList.svelte +25 -13
  167. package/src/lib/components/WaffleChart.svelte +32 -18
  168. package/src/lib/components/WaterfallChart.svelte +33 -26
  169. package/src/lib/components/WordCloud.svelte +21 -14
  170. package/src/lib/icons/AlarmIcon.svelte +4 -1
  171. package/src/lib/icons/BellIcon.svelte +2 -1
  172. package/src/lib/icons/CaretIcon.svelte +5 -3
  173. package/src/lib/icons/ClientsIcon.svelte +4 -1
  174. package/src/lib/icons/CloseIcon.svelte +2 -1
  175. package/src/lib/icons/DashboardIcon.svelte +4 -1
  176. package/src/lib/icons/DevicesIcon.svelte +4 -1
  177. package/src/lib/icons/DownloadIcon.svelte +2 -1
  178. package/src/lib/icons/HelpIcon.svelte +2 -1
  179. package/src/lib/icons/InfraIcon.svelte +4 -1
  180. package/src/lib/icons/IntegrationsIcon.svelte +4 -1
  181. package/src/lib/icons/LogsIcon.svelte +4 -1
  182. package/src/lib/icons/PlusIcon.svelte +2 -1
  183. package/src/lib/icons/PortsIcon.svelte +4 -1
  184. package/src/lib/icons/SearchIcon.svelte +6 -4
  185. package/src/lib/icons/SecurityIcon.svelte +4 -1
  186. package/src/lib/icons/SettingsIcon.svelte +4 -1
  187. package/src/lib/icons/TopologyIcon.svelte +4 -1
  188. package/src/lib/icons/UpdatesIcon.svelte +2 -1
  189. package/src/lib/icons/VpnIcon.svelte +4 -1
  190. package/src/lib/icons/WifiIcon.svelte +4 -1
  191. package/src/lib/icons/WirelessIcon.svelte +4 -1
@@ -1,28 +1,42 @@
1
- <script lang="ts">
1
+ <script module lang="ts">
2
2
  export interface WaffleSegment {
3
3
  label: string;
4
4
  value: number;
5
5
  color?: string;
6
6
  }
7
+ </script>
8
+
9
+ <script lang="ts">
10
+
11
+ interface Props {
12
+ segments?: WaffleSegment[];
13
+ total?: number | undefined;
14
+ cols?: number;
15
+ rows?: number;
16
+ gap?: number;
17
+ ariaLabel?: string;
18
+ }
7
19
 
8
- export let segments: WaffleSegment[] = [];
9
- export let total: number | undefined = undefined;
10
- export let cols: number = 10;
11
- export let rows: number = 10;
12
- export let gap: number = 2;
13
- export let ariaLabel: string = 'Waffle chart';
20
+ let {
21
+ segments = [],
22
+ total = undefined,
23
+ cols = 10,
24
+ rows = 10,
25
+ gap = 2,
26
+ ariaLabel = 'Waffle chart'
27
+ }: Props = $props();
14
28
 
15
29
  const COLORS = ['#006FFF', '#00C7A8', '#F5A623', '#FF6B6B', '#A78BFA'];
16
30
  const VW = 280;
17
31
  const LEGEND_H = 24;
18
32
 
19
- $: sum = total ?? segments.reduce((s, seg) => s + seg.value, 0);
20
- $: cellSize = (VW - gap * (cols - 1)) / cols;
21
- $: gridH = rows * cellSize + gap * (rows - 1);
22
- $: svgH = gridH + LEGEND_H + 6;
23
- $: totalCells = cols * rows;
33
+ let sum = $derived(total ?? segments.reduce((s, seg) => s + seg.value, 0));
34
+ let cellSize = $derived((VW - gap * (cols - 1)) / cols);
35
+ let gridH = $derived(rows * cellSize + gap * (rows - 1));
36
+ let svgH = $derived(gridH + LEGEND_H + 6);
37
+ let totalCells = $derived(cols * rows);
24
38
 
25
- $: cellMap = (() => {
39
+ let cellMap = $derived((() => {
26
40
  const map: number[] = new Array(totalCells).fill(-1);
27
41
  let cursor = 0;
28
42
  segments.forEach((seg, si) => {
@@ -32,9 +46,9 @@
32
46
  }
33
47
  });
34
48
  return map;
35
- })();
49
+ })());
36
50
 
37
- $: cells = Array.from({ length: totalCells }, (_, i) => {
51
+ let cells = $derived(Array.from({ length: totalCells }, (_, i) => {
38
52
  const col = i % cols;
39
53
  const row = Math.floor(i / cols);
40
54
  const x = col * (cellSize + gap);
@@ -42,15 +56,15 @@
42
56
  const si = cellMap[i];
43
57
  const fill = si >= 0 ? (segments[si].color ?? COLORS[si % COLORS.length]) : 'rgba(255,255,255,0.06)';
44
58
  return { x, y, fill, width: cellSize, height: cellSize };
45
- });
59
+ }));
46
60
 
47
- $: legendItems = segments.map((seg, si) => ({
61
+ let legendItems = $derived(segments.map((seg, si) => ({
48
62
  color: seg.color ?? COLORS[si % COLORS.length],
49
63
  pct: Math.round((seg.value / sum) * 100),
50
64
  label: seg.label,
51
65
  lx: si * (VW / segments.length),
52
66
  ly: gridH + 8,
53
- }));
67
+ })));
54
68
  </script>
55
69
 
56
70
  <div role="img" aria-label={ariaLabel} style="width:100%;">
@@ -1,13 +1,20 @@
1
- <script lang="ts">
1
+ <script module lang="ts">
2
2
  export interface WaterfallBar {
3
3
  label: string;
4
4
  value: number;
5
5
  type?: 'start' | 'delta' | 'total';
6
6
  }
7
+ </script>
8
+
9
+ <script lang="ts">
10
+
11
+ interface Props {
12
+ bars?: WaterfallBar[];
13
+ height?: number;
14
+ ariaLabel?: string;
15
+ }
7
16
 
8
- export let bars: WaterfallBar[] = [];
9
- export let height: number = 160;
10
- export let ariaLabel: string = 'Waterfall chart';
17
+ let { bars = [], height = 160, ariaLabel = 'Waterfall chart' }: Props = $props();
11
18
 
12
19
  const VW = 320;
13
20
  const PAD = { t: 12, r: 8, b: 24, l: 8 };
@@ -16,14 +23,14 @@
16
23
  const COLOR_NEG = '#F04949';
17
24
  const COLOR_TOTAL = '#A78BFA';
18
25
 
19
- $: chartH = height - PAD.t - PAD.b;
20
- $: chartW = VW - PAD.l - PAD.r;
21
- $: n = bars.length;
22
- $: colW = n > 0 ? chartW / n : chartW;
23
- $: gap = colW * 0.15;
24
- $: barW = colW - gap * 2;
26
+ let chartH = $derived(height - PAD.t - PAD.b);
27
+ let chartW = $derived(VW - PAD.l - PAD.r);
28
+ let n = $derived(bars.length);
29
+ let colW = $derived(n > 0 ? chartW / n : chartW);
30
+ let gap = $derived(colW * 0.15);
31
+ let barW = $derived(colW - gap * 2);
25
32
 
26
- $: cumBases = (() => {
33
+ let cumBases = $derived((() => {
27
34
  const result: number[] = [];
28
35
  let acc = 0;
29
36
  for (const b of bars) {
@@ -36,25 +43,25 @@
36
43
  }
37
44
  }
38
45
  return result;
39
- })();
46
+ })());
40
47
 
41
- $: tops = bars.map((b, i) => {
48
+ let tops = $derived(bars.map((b, i) => {
42
49
  if (b.type === 'start' || b.type === 'total') return b.value;
43
50
  return cumBases[i] + b.value;
44
- });
51
+ }));
45
52
 
46
- $: allVals = [0, ...cumBases, ...tops];
47
- $: minV = allVals.length ? Math.min(...allVals) : 0;
48
- $: maxV = allVals.length ? Math.max(...allVals) : 1;
49
- $: range = maxV - minV || 1;
53
+ let allVals = $derived([0, ...cumBases, ...tops]);
54
+ let minV = $derived(allVals.length ? Math.min(...allVals) : 0);
55
+ let maxV = $derived(allVals.length ? Math.max(...allVals) : 1);
56
+ let range = $derived(maxV - minV || 1);
50
57
 
51
58
  function toY(v: number): number {
52
59
  return PAD.t + (1 - (v - minV) / range) * chartH;
53
60
  }
54
61
 
55
- $: bot = PAD.t + chartH;
62
+ let bot = $derived(PAD.t + chartH);
56
63
 
57
- $: rects = bars.map((b, i) => {
64
+ let rects = $derived(bars.map((b, i) => {
58
65
  const base = cumBases[i];
59
66
  const top = b.type === 'start' || b.type === 'total' ? b.value : base + b.value;
60
67
  const y0 = toY(Math.max(base, top));
@@ -62,20 +69,20 @@
62
69
  const x = PAD.l + i * colW + gap;
63
70
  const color = b.type === 'start' ? COLOR_START : b.type === 'total' ? COLOR_TOTAL : b.value >= 0 ? COLOR_POS : COLOR_NEG;
64
71
  return { x: x.toFixed(1), y: y0.toFixed(1), w: barW.toFixed(1), h: Math.max(y1 - y0, 1).toFixed(1), color };
65
- });
72
+ }));
66
73
 
67
- $: connectors = rects.slice(0, -1).map((r, i) => {
74
+ let connectors = $derived(rects.slice(0, -1).map((r, i) => {
68
75
  const nextX = PAD.l + (i + 1) * colW + gap;
69
76
  return { x1: parseFloat(r.x), x2: nextX + barW + gap, y: parseFloat(r.y) };
70
- });
77
+ }));
71
78
 
72
- $: labels = bars.map((b, i) => ({
79
+ let labels = $derived(bars.map((b, i) => ({
73
80
  x: (PAD.l + (i + 0.5) * colW).toFixed(1),
74
81
  y: (bot + 10).toFixed(1),
75
82
  label: b.label,
76
- }));
83
+ })));
77
84
 
78
- $: gridLines = [0.25, 0.5, 0.75, 1].map((f) => (PAD.t + (1 - f) * chartH).toFixed(1));
85
+ let gridLines = $derived([0.25, 0.5, 0.75, 1].map((f) => (PAD.t + (1 - f) * chartH).toFixed(1)));
79
86
  </script>
80
87
 
81
88
  <div role="img" aria-label={ariaLabel} style="width:100%;">
@@ -1,13 +1,20 @@
1
- <script lang="ts">
1
+ <script module lang="ts">
2
2
  export interface WordCloudItem {
3
3
  word: string;
4
4
  weight: number;
5
5
  color?: string;
6
6
  }
7
+ </script>
8
+
9
+ <script lang="ts">
10
+
11
+ interface Props {
12
+ items?: WordCloudItem[];
13
+ height?: number;
14
+ ariaLabel?: string;
15
+ }
7
16
 
8
- export let items: WordCloudItem[] = [];
9
- export let height: number = 160;
10
- export let ariaLabel: string = 'Word cloud';
17
+ let { items = [], height = 160, ariaLabel = 'Word cloud' }: Props = $props();
11
18
 
12
19
  const VW = 380;
13
20
  const PAD = 14;
@@ -16,12 +23,12 @@
16
23
  const GAP = 6;
17
24
  const COLORS = ['#006FFF', '#00C8C8', '#F5A623', '#7FB6FF', '#A878F5', '#F56342', '#00C875', '#FF7BB1'];
18
25
 
19
- $: sorted = [...items].sort((a, b) => b.weight - a.weight);
20
- $: maxW = sorted[0]?.weight ?? 1;
21
- $: minW = sorted[sorted.length - 1]?.weight ?? 0;
22
- $: range = maxW - minW || 1;
26
+ let sorted = $derived([...items].sort((a, b) => b.weight - a.weight));
27
+ let maxW = $derived(sorted[0]?.weight ?? 1);
28
+ let minW = $derived(sorted[sorted.length - 1]?.weight ?? 0);
29
+ let range = $derived(maxW - minW || 1);
23
30
 
24
- $: words = sorted.map((item, i) => {
31
+ let words = $derived(sorted.map((item, i) => {
25
32
  const t = (item.weight - minW) / range;
26
33
  const fontSize = MIN_FONT + t * (MAX_FONT - MIN_FONT);
27
34
  const approxW = item.word.length * fontSize * 0.56 + GAP * 2;
@@ -33,9 +40,9 @@
33
40
  color: item.color ?? COLORS[i % COLORS.length],
34
41
  bold: fontSize >= 16,
35
42
  };
36
- });
43
+ }));
37
44
 
38
- $: placed = (() => {
45
+ let placed = $derived((() => {
39
46
  const usableW = VW - PAD * 2;
40
47
  const rows: (typeof words)[] = [];
41
48
  let row: typeof words = [];
@@ -67,9 +74,9 @@
67
74
  return { ...w, cx, cy: baseY + w.fontSize };
68
75
  });
69
76
  });
70
- })();
77
+ })());
71
78
 
72
- $: svgH = (() => {
79
+ let svgH = $derived((() => {
73
80
  const ROW_H = 32;
74
81
  const usableW = VW - PAD * 2;
75
82
  let rows = 1; let rowW = 0;
@@ -78,7 +85,7 @@
78
85
  else rowW += w.approxW;
79
86
  }
80
87
  return Math.max(height, rows * ROW_H + PAD * 2);
81
- })();
88
+ })());
82
89
  </script>
83
90
 
84
91
  <div role="img" aria-label={ariaLabel} style="width:100%;">
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <path d="m8 2 6 11H2L8 2Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round" />
4
7
  <path d="M8 7v3M8 11.5h.01" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- export let size: number = 16;
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
3
4
  </script>
4
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
5
6
  <path d="M4 6.5a4 4 0 0 1 8 0V9l1.2 2H2.8L4 9V6.5ZM6.5 12.5a1.5 1.5 0 0 0 3 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
@@ -1,7 +1,9 @@
1
1
  <script lang="ts">
2
- let className = '';
3
- export { className as class };
4
- export let size: number = 14;
2
+ interface Props {
3
+ class?: string;
4
+ size?: number;
5
+ }
6
+ let { class: className = '', size = 14 }: Props = $props();
5
7
  </script>
6
8
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none" aria-hidden="true" focusable="false" class={className}>
7
9
  <path d="M5.5 8 10 12.5 14.5 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <circle cx="8" cy="6" r="2.5" stroke="currentColor" stroke-width="1.5" />
4
7
  <path d="M3 13c0-2.5 2.2-4.5 5-4.5s5 2 5 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- export let size: number = 14;
2
+ interface Props { size?: number }
3
+ let { size = 14 }: Props = $props();
3
4
  </script>
4
5
  <svg width={size} height={size} viewBox="0 0 14 14" fill="none" aria-hidden="true" focusable="false">
5
6
  <path d="M3 3l8 8M11 3l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <rect x="2" y="2" width="5" height="5" rx="1" stroke="currentColor" stroke-width="1.5" />
4
7
  <rect x="9" y="2" width="5" height="5" rx="1" stroke="currentColor" stroke-width="1.5" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <rect x="2.5" y="3.5" width="11" height="9" rx="1.5" stroke="currentColor" stroke-width="1.5" />
4
7
  <line x1="2.5" y1="6.5" x2="13.5" y2="6.5" stroke="currentColor" stroke-width="1.5" />
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- export let size: number = 14;
2
+ interface Props { size?: number }
3
+ let { size = 14 }: Props = $props();
3
4
  </script>
4
5
  <svg width={size} height={size} viewBox="0 0 14 14" fill="none" aria-hidden="true" focusable="false">
5
6
  <path d="M7 1.5v7m0 0L4.5 6m2.5 2.5L9.5 6M2 11h10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- export let size: number = 16;
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
3
4
  </script>
4
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
5
6
  <circle cx="8" cy="8" r="6" stroke="currentColor" stroke-width="1.5" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <rect x="2" y="2" width="4" height="4" rx="0.5" stroke="currentColor" stroke-width="1.5" />
4
7
  <rect x="10" y="2" width="4" height="4" rx="0.5" stroke="currentColor" stroke-width="1.5" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <circle cx="5" cy="8" r="2.5" stroke="currentColor" stroke-width="1.5" />
4
7
  <circle cx="11" cy="8" r="2.5" stroke="currentColor" stroke-width="1.5" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <rect x="3" y="2.5" width="10" height="11" rx="1.5" stroke="currentColor" stroke-width="1.5" />
4
7
  <line x1="5.5" y1="6" x2="10.5" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- export let size: number = 12;
2
+ interface Props { size?: number }
3
+ let { size = 12 }: Props = $props();
3
4
  </script>
4
5
  <svg width={size} height={size} viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false">
5
6
  <path d="M6 1.5v9M1.5 6h9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <rect x="2" y="5" width="12" height="6" rx="1" stroke="currentColor" stroke-width="1.5" />
4
7
  <line x1="5" y1="11" x2="5" y2="13" stroke="currentColor" stroke-width="1.5" />
@@ -1,8 +1,10 @@
1
1
  <script lang="ts">
2
- let className = '';
3
- export { className as class };
4
- export let size: number = 16;
5
- export let style: string = '';
2
+ interface Props {
3
+ class?: string;
4
+ size?: number;
5
+ style?: string;
6
+ }
7
+ let { class: className = '', size = 16, style = '' }: Props = $props();
6
8
  </script>
7
9
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false" class={className} {style}>
8
10
  <circle cx="7" cy="7" r="4.5" stroke="currentColor" stroke-width="1.5" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <path d="m8 1.5 5 2v4.5c0 3-2 5.5-5 6.5-3-1-5-3.5-5-6.5V3.5l5-2Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round" />
4
7
  </svg>
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <circle cx="8" cy="8" r="2.2" stroke="currentColor" stroke-width="1.5" />
4
7
  <path d="M8 1.5v1.6M8 12.9v1.6M14.5 8h-1.6M3.1 8H1.5m11-4.6-1.1 1.1M4.6 11.4l-1.1 1.1m0-9 1.1 1.1m6.7 6.7 1.1 1.1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <circle cx="8" cy="3.5" r="1.6" stroke="currentColor" stroke-width="1.5" />
4
7
  <circle cx="3.5" cy="12.5" r="1.6" stroke="currentColor" stroke-width="1.5" />
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- export let size: number = 16;
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
3
4
  </script>
4
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
5
6
  <path d="M8 2v6m0 0L5 5.5M8 8l3-2.5M3 12h10M3 14h10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <rect x="3" y="6" width="10" height="8" rx="1.5" stroke="currentColor" stroke-width="1.5" />
4
7
  <path d="M5.5 6V4.5a2.5 2.5 0 0 1 5 0V6" stroke="currentColor" stroke-width="1.5" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <path d="M2 6c3-3 9-3 12 0M4 9c2.5-2.5 5.5-2.5 8 0" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
4
7
  <circle cx="8" cy="12" r="1" fill="currentColor" />
@@ -1,4 +1,7 @@
1
- <script lang="ts">export let size: number = 16;</script>
1
+ <script lang="ts">
2
+ interface Props { size?: number }
3
+ let { size = 16 }: Props = $props();
4
+ </script>
2
5
  <svg width={size} height={size} viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false">
3
6
  <path d="M2 11s1.5-1 6-1 6 1 6 1M2 8s1.5-1.5 6-1.5 6 1.5 6 1.5M2 5s1.5-2 6-2 6 2 6 2" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
4
7
  </svg>