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,7 +1,9 @@
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 Signal$Xote from "xote/src/Signal.res.mjs";
5
+ import * as XoteJSX$Xote from "xote/src/XoteJSX.res.mjs";
6
+ import * as Computed$Xote from "xote/src/Computed.res.mjs";
5
7
 
6
8
  import './Basefn__Tooltip.css'
7
9
  ;
@@ -23,30 +25,30 @@ function Basefn__Tooltip(props) {
23
25
  let __position = props.position;
24
26
  let content = props.content;
25
27
  let position = __position !== undefined ? __position : "Top";
26
- let isVisible = Xote.Signal.make(false, undefined, undefined);
27
- let handleMouseEnter = param => Xote.Signal.set(isVisible, true);
28
- let handleMouseLeave = param => Xote.Signal.set(isVisible, false);
28
+ let isVisible = Signal$Xote.make(false, undefined, undefined);
29
+ let handleMouseEnter = param => Signal$Xote.set(isVisible, true);
30
+ let handleMouseLeave = param => Signal$Xote.set(isVisible, false);
29
31
  let getTooltipClass = () => {
30
32
  let posClass = "basefn-tooltip--" + positionToString(position);
31
33
  return "basefn-tooltip " + posClass;
32
34
  };
33
- let tooltipContent = Xote.Computed.make(() => {
34
- if (Xote.Signal.get(isVisible)) {
35
- return [Xote__JSX.Elements.jsx("div", {
35
+ let tooltipContent = Computed$Xote.make(() => {
36
+ if (Signal$Xote.get(isVisible)) {
37
+ return [XoteJSX$Xote.Elements.jsx("div", {
36
38
  class: getTooltipClass(),
37
- children: Xote.Component.text(content)
39
+ children: Node$Xote.text(content)
38
40
  })];
39
41
  } else {
40
42
  return [];
41
43
  }
42
44
  }, undefined);
43
- return Xote__JSX.Elements.jsxs("div", {
45
+ return XoteJSX$Xote.Elements.jsxs("div", {
44
46
  class: "basefn-tooltip-wrapper",
45
47
  onMouseEnter: handleMouseEnter,
46
48
  onMouseLeave: handleMouseLeave,
47
- children: Xote__JSX.array([
49
+ children: XoteJSX$Xote.array([
48
50
  props.children,
49
- Xote.Component.signalFragment(tooltipContent)
51
+ Node$Xote.signalFragment(tooltipContent)
50
52
  ])
51
53
  });
52
54
  }
@@ -20,11 +20,11 @@ let sizeToString = (size: size) => {
20
20
 
21
21
  @jsx.component
22
22
  let make = (
23
- ~logo: option<Component.node>=?,
23
+ ~logo: option<Node.node>=?,
24
24
  ~navItems: option<array<navItem>>=?,
25
- ~leftContent: option<Component.node>=?,
26
- ~centerContent: option<Component.node>=?,
27
- ~rightContent: option<Component.node>=?,
25
+ ~leftContent: option<Node.node>=?,
26
+ ~centerContent: option<Node.node>=?,
27
+ ~rightContent: option<Node.node>=?,
28
28
  ~onMenuClick: option<unit => unit>=?,
29
29
  ~size: size=Md,
30
30
  ) => {
@@ -35,7 +35,7 @@ let make = (
35
35
  {switch onMenuClick {
36
36
  | Some(handler) =>
37
37
  <button class="basefn-topbar__menu-button" onClick={_ => handler()}>
38
- {Component.text("\u2630")}
38
+ {Node.text("\u2630")}
39
39
  </button>
40
40
  | None => <> </>
41
41
  }}
@@ -58,10 +58,10 @@ let make = (
58
58
  "basefn-topbar__nav-item" ++ (item.active ? " basefn-topbar__nav-item--active" : "")
59
59
 
60
60
  <button key={Int.toString(index)} class={className} onClick={_ => item.onClick()}>
61
- {Component.text(item.label)}
61
+ {Node.text(item.label)}
62
62
  </button>
63
63
  })
64
- ->Component.fragment}
64
+ ->Node.fragment}
65
65
  </nav>
66
66
  | None => <> </>
67
67
  }}
@@ -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__Topbar.css'
7
7
  ;
@@ -27,46 +27,46 @@ function Basefn__Topbar(props) {
27
27
  let logo = props.logo;
28
28
  let size = __size !== undefined ? __size : "Md";
29
29
  let $$class = "basefn-topbar basefn-topbar--" + sizeToString(size);
30
- return Xote__JSX.Elements.jsxs("header", {
30
+ return XoteJSX$Xote.Elements.jsxs("header", {
31
31
  class: $$class,
32
- children: Xote__JSX.array([
33
- Xote__JSX.Elements.jsxs("div", {
32
+ children: XoteJSX$Xote.array([
33
+ XoteJSX$Xote.Elements.jsxs("div", {
34
34
  class: "basefn-topbar__left",
35
- children: Xote__JSX.array([
36
- onMenuClick !== undefined ? Xote__JSX.Elements.jsx("button", {
35
+ children: XoteJSX$Xote.array([
36
+ onMenuClick !== undefined ? XoteJSX$Xote.Elements.jsx("button", {
37
37
  class: "basefn-topbar__menu-button",
38
38
  onClick: param => onMenuClick(),
39
- children: Xote.Component.text("\u2630")
40
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
41
- logo !== undefined ? Xote__JSX.Elements.jsx("div", {
39
+ children: Node$Xote.text("\u2630")
40
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {}),
41
+ logo !== undefined ? XoteJSX$Xote.Elements.jsx("div", {
42
42
  class: "basefn-topbar__logo",
43
43
  children: logo
44
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
45
- leftContent !== undefined ? leftContent : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
44
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {}),
45
+ leftContent !== undefined ? leftContent : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {})
46
46
  ])
47
47
  }),
48
- Xote__JSX.Elements.jsxs("div", {
48
+ XoteJSX$Xote.Elements.jsxs("div", {
49
49
  class: "basefn-topbar__center",
50
- children: Xote__JSX.array([
51
- navItems !== undefined ? Xote__JSX.Elements.jsx("nav", {
50
+ children: XoteJSX$Xote.array([
51
+ navItems !== undefined ? XoteJSX$Xote.Elements.jsx("nav", {
52
52
  class: "basefn-topbar__nav",
53
- children: Xote.Component.fragment(navItems.map((item, index) => {
53
+ children: Node$Xote.fragment(navItems.map((item, index) => {
54
54
  let className = "basefn-topbar__nav-item" + (
55
55
  item.active ? " basefn-topbar__nav-item--active" : ""
56
56
  );
57
- return Xote__JSX.Elements.jsxKeyed("button", {
57
+ return XoteJSX$Xote.Elements.jsxKeyed("button", {
58
58
  class: className,
59
59
  onClick: param => item.onClick(),
60
- children: Xote.Component.text(item.label)
60
+ children: Node$Xote.text(item.label)
61
61
  }, index.toString(), undefined);
62
62
  }))
63
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
64
- centerContent !== undefined ? centerContent : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
63
+ }) : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {}),
64
+ centerContent !== undefined ? centerContent : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {})
65
65
  ])
66
66
  }),
67
- Xote__JSX.Elements.jsx("div", {
67
+ XoteJSX$Xote.Elements.jsx("div", {
68
68
  class: "basefn-topbar__right",
69
- children: rightContent !== undefined ? rightContent : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
69
+ children: rightContent !== undefined ? rightContent : XoteJSX$Xote.jsx(XoteJSX$Xote.jsxFragment, {})
70
70
  })
71
71
  ])
72
72
  });
@@ -75,8 +75,8 @@ let make = (
75
75
 
76
76
  let renderText = text =>
77
77
  switch text {
78
- | ReactiveProp.Reactive(text) => Component.SignalText(text)
79
- | ReactiveProp.Static(text) => Component.text(text)
78
+ | ReactiveProp.Reactive(text) => Node.SignalText(text)
79
+ | ReactiveProp.Static(text) => Node.text(text)
80
80
  }
81
81
 
82
82
  switch variant {
@@ -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__Typography.css'
7
7
  ;
@@ -95,48 +95,48 @@ function Basefn__Typography(props) {
95
95
  _0: text._0
96
96
  };
97
97
  } else {
98
- return Xote.Component.text(text._0);
98
+ return Node$Xote.text(text._0);
99
99
  }
100
100
  };
101
101
  switch (variant) {
102
102
  case "H1" :
103
- return Xote__JSX.Elements.jsx("h1", {
103
+ return XoteJSX$Xote.Elements.jsx("h1", {
104
104
  class: $$class$1,
105
105
  style: style,
106
106
  children: renderText(text)
107
107
  });
108
108
  case "H2" :
109
- return Xote__JSX.Elements.jsx("h2", {
109
+ return XoteJSX$Xote.Elements.jsx("h2", {
110
110
  class: $$class$1,
111
111
  style: style,
112
112
  children: renderText(text)
113
113
  });
114
114
  case "H3" :
115
- return Xote__JSX.Elements.jsx("h3", {
115
+ return XoteJSX$Xote.Elements.jsx("h3", {
116
116
  class: $$class$1,
117
117
  style: style,
118
118
  children: renderText(text)
119
119
  });
120
120
  case "H4" :
121
- return Xote__JSX.Elements.jsx("h4", {
121
+ return XoteJSX$Xote.Elements.jsx("h4", {
122
122
  class: $$class$1,
123
123
  style: style,
124
124
  children: renderText(text)
125
125
  });
126
126
  case "H5" :
127
- return Xote__JSX.Elements.jsx("h5", {
127
+ return XoteJSX$Xote.Elements.jsx("h5", {
128
128
  class: $$class$1,
129
129
  style: style,
130
130
  children: renderText(text)
131
131
  });
132
132
  case "H6" :
133
- return Xote__JSX.Elements.jsx("h6", {
133
+ return XoteJSX$Xote.Elements.jsx("h6", {
134
134
  class: $$class$1,
135
135
  style: style,
136
136
  children: renderText(text)
137
137
  });
138
138
  case "Small" :
139
- return Xote__JSX.Elements.jsx("small", {
139
+ return XoteJSX$Xote.Elements.jsx("small", {
140
140
  class: $$class$1,
141
141
  style: style,
142
142
  children: renderText(text)
@@ -144,19 +144,19 @@ function Basefn__Typography(props) {
144
144
  case "P" :
145
145
  case "Lead" :
146
146
  case "Muted" :
147
- return Xote__JSX.Elements.jsx("p", {
147
+ return XoteJSX$Xote.Elements.jsx("p", {
148
148
  class: $$class$1,
149
149
  style: style,
150
150
  children: renderText(text)
151
151
  });
152
152
  case "Code" :
153
- return Xote__JSX.Elements.jsx("code", {
153
+ return XoteJSX$Xote.Elements.jsx("code", {
154
154
  class: $$class$1,
155
155
  style: style,
156
156
  children: renderText(text)
157
157
  });
158
158
  case "Unstyled" :
159
- return Xote__JSX.Elements.jsx("div", {
159
+ return XoteJSX$Xote.Elements.jsx("div", {
160
160
  class: $$class$1,
161
161
  style: style,
162
162
  children: renderText(text)
@@ -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";
3
+ import * as Signal$Xote from "xote/src/Signal.res.mjs";
4
4
 
5
- let currentTheme = Xote.Signal.make("Light", undefined, undefined);
5
+ let currentTheme = Signal$Xote.make("Light", undefined, undefined);
6
6
 
7
7
  function themeToString(theme) {
8
8
  if (theme === "Light") {
@@ -52,17 +52,17 @@ function loadThemePreference() {
52
52
  }
53
53
 
54
54
  function toggleTheme() {
55
- let match = Xote.Signal.get(currentTheme);
55
+ let match = Signal$Xote.get(currentTheme);
56
56
  let newTheme;
57
57
  newTheme = match === "Light" ? "Dark" : "Light";
58
- Xote.Signal.set(currentTheme, newTheme);
58
+ Signal$Xote.set(currentTheme, newTheme);
59
59
  applyTheme(newTheme);
60
60
  saveThemePreference(newTheme);
61
61
  }
62
62
 
63
63
  function init() {
64
64
  let stored = loadThemePreference();
65
- Xote.Signal.set(currentTheme, stored);
65
+ Signal$Xote.set(currentTheme, stored);
66
66
  applyTheme(stored);
67
67
  }
68
68