@kahitsan/ksui 0.13.1 → 0.13.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kahitsan/ksui",
3
- "version": "0.13.1",
3
+ "version": "0.13.2",
4
4
  "description": "ksui is a standalone set of SolidJS UI components for KahitSan/Hilinga and any SolidJS app. Published to the public npm registry and consumed as a normal dependency. Ships source under a `solid` export condition so the consumer's vite-plugin-solid compiles it with only solid-js externalized; it depends on nothing but solid-js + lucide-solid and injects its own CSS.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -25,7 +25,7 @@ import { getAccountIcon } from "../../utils/account-icons";
25
25
  import { buildLogoSrc } from "../../utils/account-logo-url";
26
26
 
27
27
  // Shared 16-color palette and initials algorithm. Keep in lockstep with
28
- // the kserp's ~/lib/avatar.ts so the host runtime and the plugin fleet
28
+ // the original ~/lib/avatar.ts so the host runtime and the plugin fleet
29
29
  // render the same chip for the same user. Exported so any future widget
30
30
  // (or a caller's inline use) can derive a user's color/initials without
31
31
  // rendering the chip itself.
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/components/AddAttachmentTile.tsx (vendored into the plugin remote).
1
+ // Vendored into plugin remotes.
2
2
  // Dashed "Add" tile with a small Camera / Image-or-file popover menu.
3
3
 
4
4
  import { createSignal, onCleanup, onMount, Show } from "solid-js";
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/components/CameraCapture.tsx (vendored into the plugin remote).
1
+ // Vendored into plugin remotes.
2
2
  // getUserMedia camera capture modal. Button is ksui's own base primitive.
3
3
 
4
4
  import { createSignal, onCleanup, onMount, Show } from "solid-js";
@@ -1,4 +1,4 @@
1
- // Source: kserp src/components/ui/DataTable/DataTable.tsx (the host's Tailwind-
1
+ // Source: the host's Tailwind-
2
2
  // classed table). Ported into ksui as a DOMAIN-FREE base primitive: a
3
3
  // server-side (fetchFn) OR client-side (data) table with debounced search,
4
4
  // column sort, pagination / "Show more" load mode, a filters JSX slot, an
@@ -16,7 +16,7 @@
16
16
  // library carries no host primitive and no native `<input type="date">`.
17
17
  //
18
18
  // The public type surface (DataTableRow / DataTableColumn / FetchResult /
19
- // FetchParams / DataTableProps) mirrors the kernel's `@kserp/host-ui` ambient
19
+ // FetchParams / DataTableProps) mirrors the ambient host-ui type
20
20
  // contract EXACTLY, so a caller written against host-ui works unchanged here.
21
21
  //
22
22
  // Composition note: the date filter renders ksui's own `DatePicker` (a sibling
@@ -58,7 +58,7 @@ const STYLE_ID = "ksui-datatable-style";
58
58
  // ---------------------------------------------------------------------------
59
59
  //
60
60
  // Every color in the injected stylesheet is driven by a `--ksui-dt-*` CSS
61
- // custom property; the fallback after each `var(...)` is the host kserp
61
+ // custom property; the fallback after each `var(...)` is the host
62
62
  // DataTable's exact value (resolved from its Tailwind classes — zinc/amber
63
63
  // dark theme). To retint, wrap the table in a container that sets the vars,
64
64
  // e.g. `<div style={{ "--ksui-dt-card-bg": "#000", "--ksui-dt-accent": "#0af" }}>`.
@@ -148,7 +148,7 @@ function ensureDataTableStyle(): void {
148
148
  }
149
149
 
150
150
  // ---------------------------------------------------------------------------
151
- // Types (mirror the kernel's @kserp/host-ui contract exactly)
151
+ // Types (mirror the host UI kit's type contract exactly)
152
152
  // ---------------------------------------------------------------------------
153
153
 
154
154
  export interface DataTableRow {
@@ -1,4 +1,4 @@
1
- // Source: kserp src/components/ui/DatePicker/DatePicker.tsx (the host's Tailwind-
1
+ // Source: the host's Tailwind-
2
2
  // classed picker). Ported into ksui as a DOMAIN-FREE base primitive: a trigger
3
3
  // button labeled with the selected date (or "Pick date"), a calendar popover
4
4
  // (month grid, prev/next nav, day selection), single-date AND range mode, an
@@ -50,7 +50,7 @@ import {
50
50
  // Shares the DataTable's `--ksui-dt-*` palette (accent / control-bg / border /
51
51
  // fg / text / muted / faint), so wrapping a date filter and a table in the same
52
52
  // retint container restyles both. Picker-only tones use `--ksui-dp-*`. Fallback
53
- // after each `var(...)` = the host kserp DatePicker's exact Tailwind value.
53
+ // after each `var(...)` = the host DatePicker's exact Tailwind value.
54
54
  //
55
55
  // --ksui-dt-control-bg popover + trigger + input bg (zinc-900, #18181b)
56
56
  // --ksui-dt-border borders / dividers (zinc-800/50, rgba(39,39,42,0.5))
@@ -1,5 +1,5 @@
1
1
  // Self-contained modal dialog. Promoted into ksui from the former host kit so
2
- // the library no longer depends on "@kserp/host-ui": ImageCropper (the only
2
+ // the library no longer depends on the host UI kit: ImageCropper (the only
3
3
  // in-library consumer) now imports Modal from here.
4
4
  //
5
5
  // Like Button/ProgressBar, ksui publishes no sidecar .css — the styles are
@@ -1,7 +1,7 @@
1
1
  // Source: archive/pillar app/pillar-ui/base/ProgressBar/ProgressBar.tsx
2
- // Ported into kserp so the counter cards can reuse the same realtime
2
+ // Ported into the library so the counter cards can reuse the same realtime
3
3
  // progress visualization the session manager uses on the home page.
4
- // Adapted to kserp's TS + lucide-solid conventions.
4
+ // Adapted to the library's TS + lucide-solid conventions.
5
5
 
6
6
  import type { Component, JSX } from "solid-js";
7
7
  import { createMemo, splitProps, Show } from "solid-js";
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/components/MarkdownNotes.tsx (vendored into the plugin remote).
1
+ // Vendored into plugin remotes.
2
2
  //
3
3
  // Renders transaction `notes` with a restricted markdown subset and inline
4
4
  // client-mention chips (@[Name](client:N)). Adapted for the remote: routing is
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/components/MentionTextarea.tsx (vendored into the plugin remote).
1
+ // Vendored into plugin remotes.
2
2
  //
3
3
  // contenteditable rich-text input with an @-trigger client autocomplete that
4
4
  // renders selected mentions as chips. Canonical value is the @[Name](client:ID)
@@ -5,7 +5,7 @@
5
5
  // is hard-coded.
6
6
  //
7
7
  // Unlike the host-owned Button, this is a standalone primitive: it imports only
8
- // solid-js and lucide-solid, never `@kserp/host-ui` or a router. The default
8
+ // solid-js and lucide-solid, never the host UI kit or a router. The default
9
9
  // action renders a plain, self-styled button. Navigation is left to the caller
10
10
  // via `onButtonClick` (or `href`, which renders an anchor instead). Callers who
11
11
  // want the host Button can pass it through the `action` slot, which fully
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/components/VoucherPicker.tsx (vendored into the plugin remote).
1
+ // Vendored into plugin remotes.
2
2
  //
3
3
  // Cross-plugin picker: fetches the SIBLING vouchers plugin's public API at
4
4
  // /api/vouchers and degrades gracefully: when the vouchers plugin isn't
package/src/index.ts CHANGED
@@ -87,7 +87,7 @@ export { default as DatePicker, type DatePickerProps, type DateRangeValue } from
87
87
  // Server-side / client-side data table with debounced search, column sort,
88
88
  // pagination + "Show more" load mode, a filters slot, optional date filter, and
89
89
  // an onRefetch handle. Ported from the host kit; injects its own CSS, no Tailwind.
90
- // The type surface mirrors the kernel's @kserp/host-ui contract exactly, so a
90
+ // The type surface mirrors the host UI kit's type contract exactly, so a
91
91
  // caller written against host-ui works unchanged here.
92
92
  export {
93
93
  default as DataTable,
@@ -175,7 +175,7 @@ export {
175
175
  export type { ParsedDate } from "./utils/parse-date";
176
176
 
177
177
  // Self-contained helpers promoted from the former host kit so the library has no
178
- // "@kserp/host-ui" dependency.
178
+ // the host UI kit dependency.
179
179
  export { highlightMatch, HighlightedText, matchesQuery, matchesAny } from "./utils/highlight";
180
180
  export { confirm, type ConfirmOptions } from "./utils/confirm";
181
181
  export { useFocusTrap, autoFocusOnMount, lockPullToRefresh, unlockPullToRefresh } from "./utils/dom";
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/lib/account-icons.ts (vendored into the plugin remote).
1
+ // Vendored into plugin remotes.
2
2
  // Maps an account-icon slug → lucide glyph, with a type-based fallback for
3
3
  // accounts that have no custom icon yet. Used by AccountAvatar.
4
4
 
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/lib/account-logo-url.ts (vendored into the plugin remote).
1
+ // Vendored into plugin remotes.
2
2
  //
3
3
  // Build the <img src> for a financial account logo. Logos are object-storage
4
4
  // only now: s3_link is the public URL and the sole reference (the legacy
@@ -1,4 +1,4 @@
1
- // Source: KahitSan/kserp src/lib/accounts-index.tsx (promoted into the SDK).
1
+ // Promoted into the SDK.
2
2
  //
3
3
  // Session-scoped index of financial accounts keyed by id. The list rows, the
4
4
  // detail payments list, etc. surface accounts by name only (server denormalises
@@ -1,6 +1,6 @@
1
1
  // Promise-based confirm dialog. Ported into ksui from the former host kit so the
2
2
  // library is self-contained: ExistingAttachmentTile used to import `confirm`
3
- // from "@kserp/host-ui"; it now imports it from here.
3
+ // from the host UI kit; it now imports it from here.
4
4
  //
5
5
  // Renders a ksui Modal + Buttons imperatively (outside any component tree) into
6
6
  // a transient container appended to <body>, resolves the returned promise when
@@ -1,6 +1,6 @@
1
1
  // Search-match highlighting + tiny string-match helpers. Ported into ksui from
2
2
  // the former host kit so the library is self-contained: ComboBox and
3
- // MarkdownNotes used to import `highlightMatch` from "@kserp/host-ui"; they now
3
+ // MarkdownNotes used to import `highlightMatch` from the host UI kit; they now
4
4
  // import it from here. Pure functions plus a `<mark>` wrapper.
5
5
  //
6
6
  // The default highlight tint ships as injected CSS (a `.ksui-mark` class) so the
@@ -4,7 +4,7 @@
4
4
  // runtime context — a permission check (MarkdownNotes gates its client-mention
5
5
  // hover card on "clients.view") and the active workspace id (useAccountsIndex
6
6
  // re-keys its fetch per workspace). The library used to pull these from
7
- // "@kserp/host-ui"; it now owns a tiny opt-in registry instead, so it stays a
7
+ // the host UI kit; it now owns a tiny opt-in registry instead, so it stays a
8
8
  // standalone dependency-free package.
9
9
  //
10
10
  // Default behavior with nothing configured (any plain SolidJS consumer):
@@ -1,6 +1,6 @@
1
1
  // Natural-language date parser + date string formatters.
2
2
  //
3
- // Ported verbatim from the host kserp DatePicker's `parse-date.ts` so ksui's
3
+ // Ported verbatim from the host DatePicker's `parse-date.ts` so ksui's
4
4
  // DatePicker carries no host dependency. Pure functions, no UI, no framework —
5
5
  // depends on nothing. Lives in utils/ (not components/) because it renders
6
6
  // nothing; the DatePicker component calls it.