basefn 1.9.1 → 1.11.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 (98) hide show
  1. package/package.json +4 -4
  2. package/rescript.json +1 -1
  3. package/src/Basefn.res +5 -0
  4. package/src/Basefn.res.mjs +4 -0
  5. package/src/Basefn__Responsive.res.mjs +5 -5
  6. package/src/Basefn__Utils.res.mjs +2 -2
  7. package/src/Demo.res +59 -59
  8. package/src/Demo.res.mjs +630 -628
  9. package/src/Example.res +3 -3
  10. package/src/Example.res.mjs +48 -47
  11. package/src/components/Basefn__Accordion.res +5 -5
  12. package/src/components/Basefn__Accordion.res.mjs +25 -26
  13. package/src/components/Basefn__Alert.res +4 -4
  14. package/src/components/Basefn__Alert.res.mjs +20 -18
  15. package/src/components/Basefn__AlertDialog.res +5 -5
  16. package/src/components/Basefn__AlertDialog.res.mjs +23 -21
  17. package/src/components/Basefn__AppLayout.res +3 -3
  18. package/src/components/Basefn__AppLayout.res.mjs +25 -24
  19. package/src/components/Basefn__AspectRatio.res +1 -1
  20. package/src/components/Basefn__AspectRatio.res.mjs +2 -2
  21. package/src/components/Basefn__Avatar.res.mjs +3 -3
  22. package/src/components/Basefn__Badge.res +1 -1
  23. package/src/components/Basefn__Badge.res.mjs +2 -2
  24. package/src/components/Basefn__Breadcrumb.res +5 -5
  25. package/src/components/Basefn__Breadcrumb.res.mjs +14 -14
  26. package/src/components/Basefn__Button.res +1 -1
  27. package/src/components/Basefn__Button.res.mjs +10 -9
  28. package/src/components/Basefn__ButtonGroup.res +1 -1
  29. package/src/components/Basefn__ButtonGroup.res.mjs +2 -2
  30. package/src/components/Basefn__Card.res +3 -3
  31. package/src/components/Basefn__Card.res.mjs +11 -11
  32. package/src/components/Basefn__Checkbox.res +1 -1
  33. package/src/components/Basefn__Checkbox.res.mjs +7 -7
  34. package/src/components/Basefn__ContextMenu.res +4 -4
  35. package/src/components/Basefn__ContextMenu.res.mjs +22 -20
  36. package/src/components/Basefn__Drawer.res +5 -5
  37. package/src/components/Basefn__Drawer.res.mjs +22 -20
  38. package/src/components/Basefn__Dropdown.res +4 -4
  39. package/src/components/Basefn__Dropdown.res.mjs +20 -18
  40. package/src/components/Basefn__Grid.res.mjs +15 -14
  41. package/src/components/Basefn__HoverCard.res +3 -3
  42. package/src/components/Basefn__HoverCard.res.mjs +14 -12
  43. package/src/components/Basefn__Icon.res.mjs +8 -7
  44. package/src/components/Basefn__Input.res.mjs +4 -4
  45. package/src/components/Basefn__Kbd.res +2 -2
  46. package/src/components/Basefn__Kbd.res.mjs +5 -5
  47. package/src/components/Basefn__Label.res +1 -1
  48. package/src/components/Basefn__Label.res.mjs +4 -4
  49. package/src/components/Basefn__Modal.res +5 -5
  50. package/src/components/Basefn__Modal.res.mjs +20 -18
  51. package/src/components/Basefn__Popover.res +3 -3
  52. package/src/components/Basefn__Popover.res.mjs +15 -13
  53. package/src/components/Basefn__Progress.res +2 -2
  54. package/src/components/Basefn__Progress.res.mjs +16 -14
  55. package/src/components/Basefn__Radio.res +1 -1
  56. package/src/components/Basefn__Radio.res.mjs +7 -7
  57. package/src/components/Basefn__Resizable.css +156 -0
  58. package/src/components/Basefn__Resizable.res +318 -0
  59. package/src/components/Basefn__Resizable.res.mjs +343 -0
  60. package/src/components/Basefn__ScrollArea.res +1 -1
  61. package/src/components/Basefn__ScrollArea.res.mjs +2 -2
  62. package/src/components/Basefn__Select.res +2 -2
  63. package/src/components/Basefn__Select.res.mjs +7 -6
  64. package/src/components/Basefn__Separator.res +1 -1
  65. package/src/components/Basefn__Separator.res.mjs +9 -9
  66. package/src/components/Basefn__Sidebar.res +7 -7
  67. package/src/components/Basefn__Sidebar.res.mjs +28 -24
  68. package/src/components/Basefn__Skeleton.res.mjs +2 -2
  69. package/src/components/Basefn__Slider.res +4 -4
  70. package/src/components/Basefn__Slider.res.mjs +21 -20
  71. package/src/components/Basefn__Spinner.res +1 -1
  72. package/src/components/Basefn__Spinner.res.mjs +8 -8
  73. package/src/components/Basefn__Spotlight.res +22 -14
  74. package/src/components/Basefn__Spotlight.res.mjs +79 -65
  75. package/src/components/Basefn__Stepper.res +6 -6
  76. package/src/components/Basefn__Stepper.res.mjs +20 -24
  77. package/src/components/Basefn__Switch.res +1 -1
  78. package/src/components/Basefn__Switch.res.mjs +16 -14
  79. package/src/components/Basefn__Tabs.res +4 -4
  80. package/src/components/Basefn__Tabs.res.mjs +19 -17
  81. package/src/components/Basefn__Textarea.res.mjs +4 -4
  82. package/src/components/Basefn__ThemeToggle.res +1 -1
  83. package/src/components/Basefn__ThemeToggle.res.mjs +13 -10
  84. package/src/components/Basefn__Timeline.res +6 -6
  85. package/src/components/Basefn__Timeline.res.mjs +21 -21
  86. package/src/components/Basefn__Toast.res +4 -4
  87. package/src/components/Basefn__Toast.res.mjs +23 -20
  88. package/src/components/Basefn__Toggle.res +1 -1
  89. package/src/components/Basefn__Toggle.res.mjs +8 -7
  90. package/src/components/Basefn__ToggleGroup.res +2 -2
  91. package/src/components/Basefn__ToggleGroup.res.mjs +12 -10
  92. package/src/components/Basefn__Tooltip.res +3 -3
  93. package/src/components/Basefn__Tooltip.res.mjs +14 -12
  94. package/src/components/Basefn__Topbar.res +7 -7
  95. package/src/components/Basefn__Topbar.res.mjs +22 -22
  96. package/src/components/Basefn__Typography.res +2 -2
  97. package/src/components/Basefn__Typography.res.mjs +13 -13
  98. package/src/styles/Basefn__Theme.res.mjs +5 -5
@@ -1,9 +1,10 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Xote from "xote/src/Xote.res.mjs";
4
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
3
+ import * as Node$Xote from "xote/src/Node.res.mjs";
5
4
  import * as Core__Float from "@rescript/core/src/Core__Float.res.mjs";
5
+ import * as Signal$Xote from "xote/src/Signal.res.mjs";
6
6
  import * as Core__Option from "@rescript/core/src/Core__Option.res.mjs";
7
+ import * as XoteJSX$Xote from "xote/src/XoteJSX.res.mjs";
7
8
 
8
9
  import './Basefn__Slider.css'
9
10
  ;
@@ -26,7 +27,7 @@ function Basefn__Slider(props) {
26
27
  let handleInput = evt => {
27
28
  let target = evt.target;
28
29
  let newValue = Core__Option.getOr(Core__Float.fromString(target.value), 0.0);
29
- Xote.Signal.set(value, newValue);
30
+ Signal$Xote.set(value, newValue);
30
31
  if (onChange !== undefined) {
31
32
  return onChange(newValue);
32
33
  }
@@ -36,30 +37,30 @@ function Basefn__Slider(props) {
36
37
  if (label !== undefined || showValue) {
37
38
  exit = 1;
38
39
  } else {
39
- tmp = Xote__JSX.jsx(Xote__JSX.jsxFragment, {});
40
+ tmp = XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {});
40
41
  }
41
42
  if (exit === 1) {
42
- tmp = Xote__JSX.Elements.jsxs("div", {
43
+ tmp = XoteJSX$Xote.Elements.jsxs("div", {
43
44
  class: "basefn-slider__header",
44
- children: Xote__JSX.array([
45
- label !== undefined ? Xote__JSX.Elements.jsx("span", {
45
+ children: XoteJSX$Xote.array([
46
+ label !== undefined ? XoteJSX$Xote.Elements.jsx("span", {
46
47
  class: "basefn-slider__label",
47
- children: Xote.Component.text(label)
48
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
49
- showValue ? Xote__JSX.Elements.jsx("span", {
48
+ children: Node$Xote.text(label)
49
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {}),
50
+ showValue ? XoteJSX$Xote.Elements.jsx("span", {
50
51
  class: "basefn-slider__value",
51
- children: Xote.Component.textSignal(() => Xote.Signal.get(value).toString())
52
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
52
+ children: Node$Xote.signalText(() => Signal$Xote.get(value).toString())
53
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {})
53
54
  ])
54
55
  });
55
56
  }
56
- return Xote__JSX.Elements.jsx("div", {
57
+ return XoteJSX$Xote.Elements.jsx("div", {
57
58
  class: "basefn-slider",
58
- children: Xote__JSX.Elements.jsxs("div", {
59
+ children: XoteJSX$Xote.Elements.jsxs("div", {
59
60
  class: "basefn-slider__wrapper",
60
- children: Xote__JSX.array([
61
+ children: XoteJSX$Xote.array([
61
62
  tmp,
62
- Xote__JSX.Elements.jsx("input", {
63
+ XoteJSX$Xote.Elements.jsx("input", {
63
64
  class: "basefn-slider__input",
64
65
  type: "range",
65
66
  value: value,
@@ -69,13 +70,13 @@ function Basefn__Slider(props) {
69
70
  step: step.toString(),
70
71
  onInput: handleInput
71
72
  }),
72
- markers !== undefined ? Xote__JSX.Elements.jsx("div", {
73
+ markers !== undefined ? XoteJSX$Xote.Elements.jsx("div", {
73
74
  class: "basefn-slider__markers",
74
- children: Xote.Component.fragment(markers.map(marker => Xote__JSX.Elements.jsx("span", {
75
+ children: Node$Xote.fragment(markers.map(marker => XoteJSX$Xote.Elements.jsx("span", {
75
76
  class: "basefn-slider__marker",
76
- children: Xote.Component.text(marker)
77
+ children: Node$Xote.text(marker)
77
78
  })))
78
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
79
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {})
79
80
  ])
80
81
  })
81
82
  });
@@ -36,7 +36,7 @@ let make = (~size: size=Md, ~variant: variant=Default, ~label: string="") => {
36
36
  <div class="basefn-spinner-container">
37
37
  <div class={getClassName()} role="status" ariaLabel="Loading" />
38
38
  {if showLabel {
39
- <span class="basefn-spinner__label"> {Component.text(label)} </span>
39
+ <span class="basefn-spinner__label"> {Node.text(label)} </span>
40
40
  } else {
41
41
  <empty />
42
42
  }}
@@ -1,7 +1,7 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Xote from "xote/src/Xote.res.mjs";
4
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
3
+ import * as Node$Xote from "xote/src/Node.res.mjs";
4
+ import * as XoteJSX$Xote from "xote/src/XoteJSX.res.mjs";
5
5
 
6
6
  import './Basefn__Spinner.css'
7
7
  ;
@@ -43,18 +43,18 @@ function Basefn__Spinner(props) {
43
43
  return "basefn-spinner " + sizeClass + " " + variantClass;
44
44
  };
45
45
  let showLabel = label !== "";
46
- return Xote__JSX.Elements.jsxs("div", {
46
+ return XoteJSX$Xote.Elements.jsxs("div", {
47
47
  class: "basefn-spinner-container",
48
- children: Xote__JSX.array([
49
- Xote__JSX.Elements.jsx("div", {
48
+ children: XoteJSX$Xote.array([
49
+ XoteJSX$Xote.Elements.jsx("div", {
50
50
  class: getClassName(),
51
51
  role: "status",
52
52
  "aria-label": "Loading"
53
53
  }),
54
- showLabel ? Xote__JSX.Elements.jsx("span", {
54
+ showLabel ? XoteJSX$Xote.Elements.jsx("span", {
55
55
  class: "basefn-spinner__label",
56
- children: Xote.Component.text(label)
57
- }) : Xote__JSX.Elements.jsx("empty", {})
56
+ children: Node$Xote.text(label)
57
+ }) : XoteJSX$Xote.Elements.jsx("empty", {})
58
58
  ])
59
59
  });
60
60
  }
@@ -65,10 +65,18 @@ let make = (
65
65
  | "ArrowDown" => {
66
66
  let _ = Basefn__Dom.preventDefault(evt)
67
67
  Signal.update(activeIndex, i => mod(i + 1, max(len, 1)))
68
+ let _ = %raw(`requestAnimationFrame(() => {
69
+ const el = document.querySelector(".basefn-spotlight__item--active");
70
+ if (el) el.scrollIntoView({ block: "nearest" });
71
+ })`)
68
72
  }
69
73
  | "ArrowUp" => {
70
74
  let _ = Basefn__Dom.preventDefault(evt)
71
75
  Signal.update(activeIndex, i => mod(i - 1 + max(len, 1), max(len, 1)))
76
+ let _ = %raw(`requestAnimationFrame(() => {
77
+ const el = document.querySelector(".basefn-spotlight__item--active");
78
+ if (el) el.scrollIntoView({ block: "nearest" });
79
+ })`)
72
80
  }
73
81
  | "Enter" =>
74
82
  if len > 0 {
@@ -120,10 +128,10 @@ let make = (
120
128
  let currentItems = Signal.get(filteredItems)
121
129
 
122
130
  if Array.length(currentItems) === 0 {
123
- <div class="basefn-spotlight__empty"> {Component.text(emptyMessage)} </div>
131
+ <div class="basefn-spotlight__empty"> {Node.text(emptyMessage)} </div>
124
132
  } else {
125
133
  let lastGroup: ref<option<string>> = ref(None)
126
- let elements: array<Component.node> = []
134
+ let elements: array<Node.node> = []
127
135
 
128
136
  currentItems->Array.forEachWithIndex((item, index) => {
129
137
  switch item.group {
@@ -131,7 +139,7 @@ let make = (
131
139
  lastGroup := Some(group)
132
140
  let _ = elements->Array.push(
133
141
  <div key={"group-" ++ group} class="basefn-spotlight__group-label">
134
- {Component.text(group)}
142
+ {Node.text(group)}
135
143
  </div>,
136
144
  )
137
145
  }
@@ -145,10 +153,10 @@ let make = (
145
153
  let _ = elements->Array.push(
146
154
  <button key={item.id} class={itemClass} onClick={_ => handleSelect(item)}>
147
155
  <div class="basefn-spotlight__item-content">
148
- <div class="basefn-spotlight__item-label"> {Component.text(item.label)} </div>
156
+ <div class="basefn-spotlight__item-label"> {Node.text(item.label)} </div>
149
157
  {switch item.description {
150
158
  | Some(desc) =>
151
- <div class="basefn-spotlight__item-description"> {Component.text(desc)} </div>
159
+ <div class="basefn-spotlight__item-description"> {Node.text(desc)} </div>
152
160
  | None => <> </>
153
161
  }}
154
162
  </div>
@@ -156,7 +164,7 @@ let make = (
156
164
  )
157
165
  })
158
166
 
159
- elements->Component.fragment
167
+ elements->Node.fragment
160
168
  }
161
169
  }
162
170
 
@@ -178,17 +186,17 @@ let make = (
178
186
  <div class="basefn-spotlight__results"> {renderResults()} </div>
179
187
  <div class="basefn-spotlight__footer">
180
188
  <span class="basefn-spotlight__footer-hint">
181
- <span class="basefn-spotlight__footer-key"> {Component.text("\u2191")} </span>
182
- <span class="basefn-spotlight__footer-key"> {Component.text("\u2193")} </span>
183
- {Component.text("to navigate")}
189
+ <span class="basefn-spotlight__footer-key"> {Node.text("\u2191")} </span>
190
+ <span class="basefn-spotlight__footer-key"> {Node.text("\u2193")} </span>
191
+ {Node.text("to navigate")}
184
192
  </span>
185
193
  <span class="basefn-spotlight__footer-hint">
186
- <span class="basefn-spotlight__footer-key"> {Component.text("\u21b5")} </span>
187
- {Component.text("to select")}
194
+ <span class="basefn-spotlight__footer-key"> {Node.text("\u21b5")} </span>
195
+ {Node.text("to select")}
188
196
  </span>
189
197
  <span class="basefn-spotlight__footer-hint">
190
- <span class="basefn-spotlight__footer-key"> {Component.text("esc")} </span>
191
- {Component.text("to close")}
198
+ <span class="basefn-spotlight__footer-key"> {Node.text("esc")} </span>
199
+ {Node.text("to close")}
192
200
  </span>
193
201
  </div>
194
202
  </div>
@@ -199,5 +207,5 @@ let make = (
199
207
  }
200
208
  })
201
209
 
202
- Component.signalFragment(content)
210
+ Node.signalFragment(content)
203
211
  }
@@ -1,10 +1,14 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Xote from "xote/src/Xote.res.mjs";
4
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
3
+ import * as Node$Xote from "xote/src/Node.res.mjs";
5
4
  import * as Basefn__Dom from "../Basefn__Dom.res.mjs";
5
+ import * as Effect$Xote from "xote/src/Effect.res.mjs";
6
+ import * as Signal$Xote from "xote/src/Signal.res.mjs";
6
7
  import * as Basefn__Icon from "./Basefn__Icon.res.mjs";
8
+ import * as XoteJSX$Xote from "xote/src/XoteJSX.res.mjs";
9
+ import * as Computed$Xote from "xote/src/Computed.res.mjs";
7
10
  import * as Primitive_int from "@rescript/runtime/lib/es6/Primitive_int.js";
11
+ import * as ReactiveProp$Xote from "xote/src/ReactiveProp.res.mjs";
8
12
 
9
13
  import './Basefn__Spotlight.css'
10
14
  ;
@@ -18,8 +22,8 @@ function Basefn__Spotlight(props) {
18
22
  let isOpen = props.isOpen;
19
23
  let placeholder = __placeholder !== undefined ? __placeholder : "Search...";
20
24
  let emptyMessage = __emptyMessage !== undefined ? __emptyMessage : "No results found.";
21
- let query = Xote.Signal.make("", undefined, undefined);
22
- let activeIndex = Xote.Signal.make(0, undefined, undefined);
25
+ let query = Signal$Xote.make("", undefined, undefined);
26
+ let activeIndex = Signal$Xote.make(0, undefined, undefined);
23
27
  let defaultFilter = (q, item) => {
24
28
  let q$1 = q.toLowerCase();
25
29
  if (item.label.toLowerCase().includes(q$1)) {
@@ -33,8 +37,8 @@ function Basefn__Spotlight(props) {
33
37
  }
34
38
  };
35
39
  let filterItem = filterFn !== undefined ? filterFn : defaultFilter;
36
- let filteredItems = Xote.Computed.make(() => {
37
- let q = Xote.Signal.get(query);
40
+ let filteredItems = Computed$Xote.make(() => {
41
+ let q = Signal$Xote.get(query);
38
42
  if (q === "") {
39
43
  return items;
40
44
  } else {
@@ -43,26 +47,36 @@ function Basefn__Spotlight(props) {
43
47
  }, undefined);
44
48
  let handleSelect = item => {
45
49
  item.onSelect();
46
- Xote.Signal.set(query, "");
47
- Xote.Signal.set(activeIndex, 0);
50
+ Signal$Xote.set(query, "");
51
+ Signal$Xote.set(activeIndex, 0);
48
52
  onClose();
49
53
  };
50
54
  let handleKeyDown = evt => {
51
55
  let k = evt.key;
52
- let currentItems = Xote.Signal.get(filteredItems);
56
+ let currentItems = Signal$Xote.get(filteredItems);
53
57
  let len = currentItems.length;
54
58
  switch (k) {
55
59
  case "ArrowDown" :
56
60
  Basefn__Dom.preventDefault(evt);
57
- return Xote.Signal.update(activeIndex, i => Primitive_int.mod_(i + 1 | 0, Primitive_int.max(len, 1)));
61
+ Signal$Xote.update(activeIndex, i => Primitive_int.mod_(i + 1 | 0, Primitive_int.max(len, 1)));
62
+ ((requestAnimationFrame(() => {
63
+ const el = document.querySelector(".basefn-spotlight__item--active");
64
+ if (el) el.scrollIntoView({ block: "nearest" });
65
+ })));
66
+ return;
58
67
  case "ArrowUp" :
59
68
  Basefn__Dom.preventDefault(evt);
60
- return Xote.Signal.update(activeIndex, i => Primitive_int.mod_((i - 1 | 0) + Primitive_int.max(len, 1) | 0, Primitive_int.max(len, 1)));
69
+ Signal$Xote.update(activeIndex, i => Primitive_int.mod_((i - 1 | 0) + Primitive_int.max(len, 1) | 0, Primitive_int.max(len, 1)));
70
+ ((requestAnimationFrame(() => {
71
+ const el = document.querySelector(".basefn-spotlight__item--active");
72
+ if (el) el.scrollIntoView({ block: "nearest" });
73
+ })));
74
+ return;
61
75
  case "Enter" :
62
76
  if (len <= 0) {
63
77
  return;
64
78
  }
65
- let idx = Xote.Signal.get(activeIndex);
79
+ let idx = Signal$Xote.get(activeIndex);
66
80
  let item = currentItems[idx];
67
81
  if (item !== undefined) {
68
82
  return handleSelect(item);
@@ -70,8 +84,8 @@ function Basefn__Spotlight(props) {
70
84
  return;
71
85
  }
72
86
  case "Escape" :
73
- Xote.Signal.set(query, "");
74
- Xote.Signal.set(activeIndex, 0);
87
+ Signal$Xote.set(query, "");
88
+ Signal$Xote.set(activeIndex, 0);
75
89
  return onClose();
76
90
  default:
77
91
  return;
@@ -79,20 +93,20 @@ function Basefn__Spotlight(props) {
79
93
  };
80
94
  let handleInput = evt => {
81
95
  let value = Basefn__Dom.target(evt).value;
82
- Xote.Signal.set(query, value);
83
- Xote.Signal.set(activeIndex, 0);
96
+ Signal$Xote.set(query, value);
97
+ Signal$Xote.set(activeIndex, 0);
84
98
  };
85
99
  let handleBackdropClick = evt => {
86
100
  let target = evt.target;
87
101
  let currentTarget = evt.currentTarget;
88
102
  if (target === currentTarget) {
89
- Xote.Signal.set(query, "");
90
- Xote.Signal.set(activeIndex, 0);
103
+ Signal$Xote.set(query, "");
104
+ Signal$Xote.set(activeIndex, 0);
91
105
  return onClose();
92
106
  }
93
107
  };
94
- Xote.Effect.run(() => {
95
- if (Xote.Signal.get(isOpen)) {
108
+ Effect$Xote.run(() => {
109
+ if (Signal$Xote.get(isOpen)) {
96
110
  ((requestAnimationFrame(() => {
97
111
  requestAnimationFrame(() => {
98
112
  const el = document.querySelector(".basefn-spotlight__input");
@@ -102,11 +116,11 @@ function Basefn__Spotlight(props) {
102
116
  }
103
117
  }, undefined);
104
118
  let renderResults = () => {
105
- let currentItems = Xote.Signal.get(filteredItems);
119
+ let currentItems = Signal$Xote.get(filteredItems);
106
120
  if (currentItems.length === 0) {
107
- return Xote__JSX.Elements.jsx("div", {
121
+ return XoteJSX$Xote.Elements.jsx("div", {
108
122
  class: "basefn-spotlight__empty",
109
- children: Xote.Component.text(emptyMessage)
123
+ children: Node$Xote.text(emptyMessage)
110
124
  });
111
125
  }
112
126
  let lastGroup = {
@@ -117,99 +131,99 @@ function Basefn__Spotlight(props) {
117
131
  let group = item.group;
118
132
  if (group !== undefined && group !== lastGroup.contents) {
119
133
  lastGroup.contents = group;
120
- elements.push(Xote__JSX.Elements.jsxKeyed("div", {
134
+ elements.push(XoteJSX$Xote.Elements.jsxKeyed("div", {
121
135
  class: "basefn-spotlight__group-label",
122
- children: Xote.Component.text(group)
136
+ children: Node$Xote.text(group)
123
137
  }, "group-" + group, undefined));
124
138
  }
125
139
  let itemClass = "basefn-spotlight__item" + (
126
- index === Xote.Signal.get(activeIndex) ? " basefn-spotlight__item--active" : ""
140
+ index === Signal$Xote.get(activeIndex) ? " basefn-spotlight__item--active" : ""
127
141
  );
128
142
  let desc = item.description;
129
- elements.push(Xote__JSX.Elements.jsxKeyed("button", {
143
+ elements.push(XoteJSX$Xote.Elements.jsxKeyed("button", {
130
144
  class: itemClass,
131
145
  onClick: param => handleSelect(item),
132
- children: Xote__JSX.Elements.jsxs("div", {
146
+ children: XoteJSX$Xote.Elements.jsxs("div", {
133
147
  class: "basefn-spotlight__item-content",
134
- children: Xote__JSX.array([
135
- Xote__JSX.Elements.jsx("div", {
148
+ children: XoteJSX$Xote.array([
149
+ XoteJSX$Xote.Elements.jsx("div", {
136
150
  class: "basefn-spotlight__item-label",
137
- children: Xote.Component.text(item.label)
151
+ children: Node$Xote.text(item.label)
138
152
  }),
139
- desc !== undefined ? Xote__JSX.Elements.jsx("div", {
153
+ desc !== undefined ? XoteJSX$Xote.Elements.jsx("div", {
140
154
  class: "basefn-spotlight__item-description",
141
- children: Xote.Component.text(desc)
142
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
155
+ children: Node$Xote.text(desc)
156
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {})
143
157
  ])
144
158
  })
145
159
  }, item.id, undefined));
146
160
  });
147
- return Xote.Component.fragment(elements);
161
+ return Node$Xote.fragment(elements);
148
162
  };
149
- return Xote.Component.signalFragment(Xote.Computed.make(() => {
150
- if (Xote.Signal.get(isOpen)) {
151
- return [Xote__JSX.Elements.jsx("div", {
163
+ return Node$Xote.signalFragment(Computed$Xote.make(() => {
164
+ if (Signal$Xote.get(isOpen)) {
165
+ return [XoteJSX$Xote.Elements.jsx("div", {
152
166
  class: "basefn-spotlight-backdrop",
153
167
  onClick: handleBackdropClick,
154
- children: Xote__JSX.Elements.jsxs("div", {
168
+ children: XoteJSX$Xote.Elements.jsxs("div", {
155
169
  class: "basefn-spotlight",
156
170
  onKeyDown: handleKeyDown,
157
- children: Xote__JSX.array([
158
- Xote__JSX.Elements.jsxs("div", {
171
+ children: XoteJSX$Xote.array([
172
+ XoteJSX$Xote.Elements.jsxs("div", {
159
173
  class: "basefn-spotlight__input-wrapper",
160
- children: Xote__JSX.array([
161
- Xote__JSX.jsx(Basefn__Icon.make, {
174
+ children: XoteJSX$Xote.array([
175
+ XoteJSX$Xote.jsx(Basefn__Icon.make, {
162
176
  name: "Search",
163
177
  size: "Sm"
164
178
  }),
165
- Xote__JSX.Elements.jsx("input", {
179
+ XoteJSX$Xote.Elements.jsx("input", {
166
180
  class: "basefn-spotlight__input",
167
181
  type: "text",
168
- value: Xote.ReactiveProp.reactive(query),
182
+ value: ReactiveProp$Xote.reactive(query),
169
183
  placeholder: placeholder,
170
184
  onInput: handleInput
171
185
  })
172
186
  ])
173
187
  }),
174
- Xote__JSX.Elements.jsx("div", {
188
+ XoteJSX$Xote.Elements.jsx("div", {
175
189
  class: "basefn-spotlight__results",
176
190
  children: renderResults()
177
191
  }),
178
- Xote__JSX.Elements.jsxs("div", {
192
+ XoteJSX$Xote.Elements.jsxs("div", {
179
193
  class: "basefn-spotlight__footer",
180
- children: Xote__JSX.array([
181
- Xote__JSX.Elements.jsxs("span", {
194
+ children: XoteJSX$Xote.array([
195
+ XoteJSX$Xote.Elements.jsxs("span", {
182
196
  class: "basefn-spotlight__footer-hint",
183
- children: Xote__JSX.array([
184
- Xote__JSX.Elements.jsx("span", {
197
+ children: XoteJSX$Xote.array([
198
+ XoteJSX$Xote.Elements.jsx("span", {
185
199
  class: "basefn-spotlight__footer-key",
186
- children: Xote.Component.text("\u2191")
200
+ children: Node$Xote.text("\u2191")
187
201
  }),
188
- Xote__JSX.Elements.jsx("span", {
202
+ XoteJSX$Xote.Elements.jsx("span", {
189
203
  class: "basefn-spotlight__footer-key",
190
- children: Xote.Component.text("\u2193")
204
+ children: Node$Xote.text("\u2193")
191
205
  }),
192
- Xote.Component.text("to navigate")
206
+ Node$Xote.text("to navigate")
193
207
  ])
194
208
  }),
195
- Xote__JSX.Elements.jsxs("span", {
209
+ XoteJSX$Xote.Elements.jsxs("span", {
196
210
  class: "basefn-spotlight__footer-hint",
197
- children: Xote__JSX.array([
198
- Xote__JSX.Elements.jsx("span", {
211
+ children: XoteJSX$Xote.array([
212
+ XoteJSX$Xote.Elements.jsx("span", {
199
213
  class: "basefn-spotlight__footer-key",
200
- children: Xote.Component.text("\u21b5")
214
+ children: Node$Xote.text("\u21b5")
201
215
  }),
202
- Xote.Component.text("to select")
216
+ Node$Xote.text("to select")
203
217
  ])
204
218
  }),
205
- Xote__JSX.Elements.jsxs("span", {
219
+ XoteJSX$Xote.Elements.jsxs("span", {
206
220
  class: "basefn-spotlight__footer-hint",
207
- children: Xote__JSX.array([
208
- Xote__JSX.Elements.jsx("span", {
221
+ children: XoteJSX$Xote.array([
222
+ XoteJSX$Xote.Elements.jsx("span", {
209
223
  class: "basefn-spotlight__footer-key",
210
- children: Xote.Component.text("esc")
224
+ children: Node$Xote.text("esc")
211
225
  }),
212
- Xote.Component.text("to close")
226
+ Node$Xote.text("to close")
213
227
  ])
214
228
  })
215
229
  ])
@@ -64,16 +64,16 @@ let make = (
64
64
  <div class="basefn-stepper__step-header" onClick={_ => handleStepClick(index, step.status)}>
65
65
  <div class="basefn-stepper__step-indicator">
66
66
  {switch step.status {
67
- | Completed => Component.text("\u2713")
68
- | Error => Component.text("\u00d7")
69
- | _ => Component.text(Int.toString(index + 1))
67
+ | Completed => Node.text("\u2713")
68
+ | Error => Node.text("\u00d7")
69
+ | _ => Node.text(Int.toString(index + 1))
70
70
  }}
71
71
  </div>
72
72
  <div class="basefn-stepper__step-content">
73
- <div class="basefn-stepper__step-title"> {Component.text(step.title)} </div>
73
+ <div class="basefn-stepper__step-title"> {Node.text(step.title)} </div>
74
74
  {switch step.description {
75
75
  | Some(desc) =>
76
- <div class="basefn-stepper__step-description"> {Component.text(desc)} </div>
76
+ <div class="basefn-stepper__step-description"> {Node.text(desc)} </div>
77
77
  | None => <> </>
78
78
  }}
79
79
  </div>
@@ -81,6 +81,6 @@ let make = (
81
81
  <div class="basefn-stepper__connector" />
82
82
  </div>
83
83
  })
84
- ->Component.fragment}
84
+ ->Node.fragment}
85
85
  </div>
86
86
  }
@@ -1,8 +1,8 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Xote from "xote/src/Xote.res.mjs";
4
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
3
+ import * as Node$Xote from "xote/src/Node.res.mjs";
5
4
  import * as Core__Option from "@rescript/core/src/Core__Option.res.mjs";
5
+ import * as XoteJSX$Xote from "xote/src/XoteJSX.res.mjs";
6
6
 
7
7
  import './Basefn__Stepper.css'
8
8
  ;
@@ -34,33 +34,29 @@ function Basefn__Stepper(props) {
34
34
  let clickableClass = clickable ? " basefn-stepper__step--clickable" : "";
35
35
  return "basefn-stepper__step " + statusClass + clickableClass;
36
36
  };
37
- return Xote__JSX.Elements.jsx("div", {
37
+ return XoteJSX$Xote.Elements.jsx("div", {
38
38
  class: getStepperClass(),
39
- children: Xote.Component.fragment(props.steps.map((step, index) => {
39
+ children: Node$Xote.fragment(props.steps.map((step, index) => {
40
40
  let isClickable = Core__Option.isSome(onStepClick) && (step.status === "Completed" || step.status === "Active");
41
41
  let match = step.status;
42
42
  let tmp;
43
- let exit = 0;
44
43
  switch (match) {
45
44
  case "Inactive" :
46
45
  case "Active" :
47
- exit = 1;
46
+ tmp = Node$Xote.text((index + 1 | 0).toString());
48
47
  break;
49
48
  case "Completed" :
50
- tmp = Xote.Component.text("\u2713");
49
+ tmp = Node$Xote.text("\u2713");
51
50
  break;
52
51
  case "Error" :
53
- tmp = Xote.Component.text("\u00d7");
52
+ tmp = Node$Xote.text("\u00d7");
54
53
  break;
55
54
  }
56
- if (exit === 1) {
57
- tmp = Xote.Component.text((index + 1 | 0).toString());
58
- }
59
55
  let desc = step.description;
60
- return Xote__JSX.Elements.jsxsKeyed("div", {
56
+ return XoteJSX$Xote.Elements.jsxsKeyed("div", {
61
57
  class: getStepClass(step.status, isClickable),
62
- children: Xote__JSX.array([
63
- Xote__JSX.Elements.jsxs("div", {
58
+ children: XoteJSX$Xote.array([
59
+ XoteJSX$Xote.Elements.jsxs("div", {
64
60
  class: "basefn-stepper__step-header",
65
61
  onClick: param => {
66
62
  let status = step.status;
@@ -76,27 +72,27 @@ function Basefn__Stepper(props) {
76
72
  return;
77
73
  }
78
74
  },
79
- children: Xote__JSX.array([
80
- Xote__JSX.Elements.jsx("div", {
75
+ children: XoteJSX$Xote.array([
76
+ XoteJSX$Xote.Elements.jsx("div", {
81
77
  class: "basefn-stepper__step-indicator",
82
78
  children: tmp
83
79
  }),
84
- Xote__JSX.Elements.jsxs("div", {
80
+ XoteJSX$Xote.Elements.jsxs("div", {
85
81
  class: "basefn-stepper__step-content",
86
- children: Xote__JSX.array([
87
- Xote__JSX.Elements.jsx("div", {
82
+ children: XoteJSX$Xote.array([
83
+ XoteJSX$Xote.Elements.jsx("div", {
88
84
  class: "basefn-stepper__step-title",
89
- children: Xote.Component.text(step.title)
85
+ children: Node$Xote.text(step.title)
90
86
  }),
91
- desc !== undefined ? Xote__JSX.Elements.jsx("div", {
87
+ desc !== undefined ? XoteJSX$Xote.Elements.jsx("div", {
92
88
  class: "basefn-stepper__step-description",
93
- children: Xote.Component.text(desc)
94
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
89
+ children: Node$Xote.text(desc)
90
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {})
95
91
  ])
96
92
  })
97
93
  ])
98
94
  }),
99
- Xote__JSX.Elements.jsx("div", {
95
+ XoteJSX$Xote.Elements.jsx("div", {
100
96
  class: "basefn-stepper__connector"
101
97
  })
102
98
  ])
@@ -55,7 +55,7 @@ let make = (
55
55
  <div class="basefn-switch__slider" />
56
56
  </div>
57
57
  {switch label {
58
- | Some(labelText) => <span class="basefn-switch-label"> {Component.text(labelText)} </span>
58
+ | Some(labelText) => <span class="basefn-switch-label"> {Node.text(labelText)} </span>
59
59
  | None => <> </>
60
60
  }}
61
61
  </label>