klun-ui 0.1.2 → 0.1.4

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ All notable changes to **klun-ui** are documented here. The format follows
5
5
  [Semantic Versioning](https://semver.org/) (pre-1.0: minor/patch bumps may carry
6
6
  small breaking changes).
7
7
 
8
+ ## [0.1.4] — 2026-06-21
9
+
10
+ ### Fixed
11
+ - **`Modal`** no longer draws the footer divider when there's no body (e.g.
12
+ confirmation dialogs), so the actions sit cleanly under the heading instead of
13
+ reading as an empty band.
14
+
15
+ ## [0.1.3] — 2026-06-20
16
+
17
+ ### Fixed
18
+ - **`TimePicker`** dropdowns now flip above the trigger when there isn't enough
19
+ room below the viewport (e.g. when the picker sits low inside a
20
+ `DateTimePicker` popover), instead of overflowing off-screen.
21
+
8
22
  ## [0.1.2] — 2026-06-20
9
23
 
10
24
  ### Added
@@ -40,6 +54,8 @@ small breaking changes).
40
54
  `ConfigProvider`, i18n locales, and the full component set (layout, forms,
41
55
  navigation, data display, feedback, overlays, charts).
42
56
 
57
+ [0.1.4]: https://www.npmjs.com/package/klun-ui/v/0.1.4
58
+ [0.1.3]: https://www.npmjs.com/package/klun-ui/v/0.1.3
43
59
  [0.1.2]: https://www.npmjs.com/package/klun-ui/v/0.1.2
44
60
  [0.1.1]: https://www.npmjs.com/package/klun-ui/v/0.1.1
45
61
  [0.1.0]: https://www.npmjs.com/package/klun-ui/v/0.1.0
@@ -6999,6 +6999,7 @@ function TimeColumn({
6999
6999
  const colRef = react.useRef(null);
7000
7000
  const [active, setActive] = react.useState(-1);
7001
7001
  const selected = options.find((o) => o.value === current);
7002
+ const flipUp = open && typeof window !== "undefined" && colRef.current ? colRef.current.getBoundingClientRect().bottom + 248 > window.innerHeight : false;
7002
7003
  const panel = () => colRef.current?.querySelector(".klun-select-listbox") ?? null;
7003
7004
  const scrollTo = (i, center) => {
7004
7005
  requestAnimationFrame(() => {
@@ -7078,7 +7079,7 @@ function TimeColumn({
7078
7079
  open ? /* @__PURE__ */ jsxRuntime.jsx(
7079
7080
  SelectListbox,
7080
7081
  {
7081
- className: "klun-time-picker__listbox",
7082
+ className: chunkTPGAXYFU_cjs.cx("klun-time-picker__listbox", flipUp && "klun-select-listbox--up"),
7082
7083
  options,
7083
7084
  current,
7084
7085
  active,
@@ -9953,7 +9954,7 @@ var Modal = react.forwardRef(function Modal2({ open, onClose, title, description
9953
9954
  closable ? /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: onClose, "aria-label": modal.close, className: "klun-modal__close", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 5l10 10M15 5L5 15", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }) : null
9954
9955
  ] }) : null,
9955
9956
  children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "klun-modal__body", children }) : null,
9956
- footer ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "klun-modal__footer", children: footer }) : null
9957
+ footer ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkTPGAXYFU_cjs.cx("klun-modal__footer", !children && "klun-modal__footer--flush"), children: footer }) : null
9957
9958
  ]
9958
9959
  }
9959
9960
  ) });
@@ -10211,5 +10212,5 @@ exports.useSize = useSize;
10211
10212
  exports.viVN = viVN;
10212
10213
  exports.zhCN = zhCN;
10213
10214
  exports.zhTW = zhTW;
10214
- //# sourceMappingURL=chunk-OPAZ7GAU.cjs.map
10215
- //# sourceMappingURL=chunk-OPAZ7GAU.cjs.map
10215
+ //# sourceMappingURL=chunk-54YNPINO.cjs.map
10216
+ //# sourceMappingURL=chunk-54YNPINO.cjs.map