@a4ui/core 0.7.0 → 0.8.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.
- package/README.md +16 -0
- package/dist/elements.css +2903 -0
- package/dist/elements.d.ts +2 -0
- package/dist/elements.iife.js +6 -0
- package/dist/elements.js +6486 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +1918 -1588
- package/dist/ui/Clock.d.ts +28 -0
- package/dist/ui/Countdown.d.ts +2 -1
- package/dist/ui/Sortable.d.ts +33 -0
- package/package.json +9 -3
- package/preset.js +3 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
export interface ClockProps {
|
|
3
|
+
/** 'digital' (default) or 'analog'. */
|
|
4
|
+
variant?: 'digital' | 'analog';
|
|
5
|
+
/** Show the seconds hand / seconds digits. @default true */
|
|
6
|
+
seconds?: boolean;
|
|
7
|
+
/** 12-hour clock with AM/PM instead of 24-hour. @default false */
|
|
8
|
+
hour12?: boolean;
|
|
9
|
+
/** IANA time zone (e.g. 'America/Hermosillo'); defaults to the local zone. */
|
|
10
|
+
timeZone?: string;
|
|
11
|
+
/** Diameter in px for the analog face. @default 160 */
|
|
12
|
+
size?: number;
|
|
13
|
+
class?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Live, self-updating clock. Ticks once per second from a single interval
|
|
17
|
+
* (started in `onMount`, cleared in `onCleanup`) and renders either a digital
|
|
18
|
+
* `HH:MM:SS` readout or an analog SVG dial. Pass `timeZone` to show a specific
|
|
19
|
+
* IANA zone instead of the viewer's local time.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <Clock />
|
|
24
|
+
* <Clock variant="analog" size={200} timeZone="America/Hermosillo" />
|
|
25
|
+
* <Clock hour12 seconds={false} />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function Clock(props: ClockProps): JSX.Element;
|
package/dist/ui/Countdown.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export interface CountdownProps {
|
|
|
9
9
|
/**
|
|
10
10
|
* Live countdown to `props.to`, shown as four cells (Days / Hours / Mins /
|
|
11
11
|
* Secs). Updates every second and calls `props.onComplete` once when it hits
|
|
12
|
-
* zero.
|
|
12
|
+
* zero. Each digit rolls like an old flip clock as it changes. Hours, minutes,
|
|
13
|
+
* and seconds are zero-padded to two digits.
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
15
16
|
* ```tsx
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
export interface SortableProps<T> {
|
|
3
|
+
/** The items to render, in current order. */
|
|
4
|
+
items: T[];
|
|
5
|
+
/** Stable unique key for an item (used for drag tracking + list keying). */
|
|
6
|
+
itemKey: (item: T) => string;
|
|
7
|
+
/** Render an item's content (the grip handle is added automatically to its left). */
|
|
8
|
+
children: (item: T) => JSX.Element;
|
|
9
|
+
/** Called with the new order after a drop. */
|
|
10
|
+
onReorder: (items: T[]) => void;
|
|
11
|
+
/** Disable dragging. */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
class?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Vertical list whose rows reorder by dragging a grip handle. Pointer-events
|
|
17
|
+
* driven (works with mouse and touch): the grabbed row leaves behind a dashed
|
|
18
|
+
* placeholder while a floating clone follows the pointer, and other rows shift
|
|
19
|
+
* live as the pointer crosses their midpoint. `onReorder` fires once on drop
|
|
20
|
+
* with the final order.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <Sortable
|
|
25
|
+
* items={fields()}
|
|
26
|
+
* itemKey={(f) => f.id}
|
|
27
|
+
* onReorder={setFields}
|
|
28
|
+
* >
|
|
29
|
+
* {(field) => <span>{field.label}</span>}
|
|
30
|
+
* </Sortable>
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function Sortable<T>(props: SortableProps<T>): JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a4ui/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "A4ui — Spatial Glass design system & component library for SolidJS (Kobalte behavior + Tailwind glass tokens + motion).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,13 +40,18 @@
|
|
|
40
40
|
"import": "./dist/index.js"
|
|
41
41
|
},
|
|
42
42
|
"./preset": "./preset.js",
|
|
43
|
-
"./styles.css": "./dist/styles.css"
|
|
43
|
+
"./styles.css": "./dist/styles.css",
|
|
44
|
+
"./elements": {
|
|
45
|
+
"import": "./dist/elements.js"
|
|
46
|
+
},
|
|
47
|
+
"./elements.css": "./dist/elements.css"
|
|
44
48
|
},
|
|
45
49
|
"publishConfig": {
|
|
46
50
|
"access": "public"
|
|
47
51
|
},
|
|
48
52
|
"scripts": {
|
|
49
|
-
"build": "vite build",
|
|
53
|
+
"build": "vite build && npm run build:elements",
|
|
54
|
+
"build:elements": "vite build --config vite.elements.config.ts && node scripts/build-elements-css.mjs",
|
|
50
55
|
"dev": "vite build --watch",
|
|
51
56
|
"preview": "node scripts/gen-llms.mjs && vite --config vite.preview.config.ts",
|
|
52
57
|
"preview:build": "node scripts/gen-llms.mjs && vite build --config vite.preview.config.ts",
|
|
@@ -99,6 +104,7 @@
|
|
|
99
104
|
"lint-staged": "^16.4.0",
|
|
100
105
|
"playwright-core": "^1.61.1",
|
|
101
106
|
"prettier": "^3.9.5",
|
|
107
|
+
"solid-element": "^1.9.2",
|
|
102
108
|
"tailwindcss": "^3.4.19",
|
|
103
109
|
"typescript": "^5.6.0",
|
|
104
110
|
"typescript-eslint": "^8.64.0",
|
package/preset.js
CHANGED
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
// content: ['./src/**/*.{ts,tsx}', './node_modules/@a4ui/core/dist/**/*.js'],
|
|
15
15
|
// }
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
// Explicit .js extension so the preset resolves under strict Node ESM (used by
|
|
18
|
+
// our elements-css build), not just bundlers.
|
|
19
|
+
import plugin from 'tailwindcss/plugin.js'
|
|
18
20
|
|
|
19
21
|
// Frosted "space glass" surfaces. addComponents so they tree-shake like any
|
|
20
22
|
// utility (emitted only when the class is found in scanned content — a4ui's own
|