@glasshome/ui 1.5.0 → 1.6.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.
@@ -0,0 +1,17 @@
1
+ import { type JSX } from "solid-js";
2
+ export declare function OptionCardGroup(props: {
3
+ value: string | null;
4
+ onChange: (value: string) => void;
5
+ "aria-label"?: string;
6
+ class?: string;
7
+ children: JSX.Element;
8
+ }): JSX.Element;
9
+ export declare function OptionCard(props: {
10
+ value: string;
11
+ title: string;
12
+ description?: string;
13
+ icon?: string;
14
+ disabled?: boolean;
15
+ class?: string;
16
+ children?: JSX.Element;
17
+ }): JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { type Component, type ComponentProps, type JSX } from "solid-js";
2
+ import { Input } from "./input.js";
3
+ declare const PasswordInput: Component<Omit<ComponentProps<typeof Input>, "type"> & {
4
+ /** Rendered left-aligned inside the field (e.g. a lock glyph). */
5
+ leading?: JSX.Element;
6
+ showLabel?: string;
7
+ hideLabel?: string;
8
+ }>;
9
+ export { PasswordInput };
@@ -1,5 +1,7 @@
1
1
  import { RadioGroup as RadioGroupPrimitive } from "@kobalte/core/radio-group";
2
2
  import { type Component, type ComponentProps } from "solid-js";
3
3
  declare const RadioGroup: Component<ComponentProps<typeof RadioGroupPrimitive>>;
4
- declare const RadioGroupItem: Component<ComponentProps<typeof RadioGroupPrimitive.Item>>;
4
+ declare const RadioGroupItem: Component<ComponentProps<typeof RadioGroupPrimitive.Item> & {
5
+ showControl?: boolean;
6
+ }>;
5
7
  export { RadioGroup, RadioGroupItem };
@@ -36,6 +36,10 @@ export declare function LabeledInput(props: {
36
36
  }): JSX.Element;
37
37
  export declare function SwitchRow(props: {
38
38
  label: string;
39
+ description?: string;
40
+ /** Iconify id shown before the label (sensitive-device rows, platform toggles). */
41
+ icon?: string;
39
42
  checked: boolean;
43
+ disabled?: boolean;
40
44
  onChange: (value: boolean) => void;
41
45
  }): JSX.Element;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Position inside a multi-step flow: dots for the eye, one spoken line for
3
+ * screen readers. The dots carry no text of their own, so the sr-only line is
4
+ * the only place the position is readable.
5
+ */
6
+ export declare function StepIndicator(props: {
7
+ count: number;
8
+ index: number;
9
+ class?: string;
10
+ }): import("solid-js").JSX.Element;
@@ -1,11 +1,8 @@
1
- import { type Component } from "solid-js";
2
- interface SwitchProps {
1
+ import { type Component, type ComponentProps } from "solid-js";
2
+ type SwitchProps = Omit<ComponentProps<"button">, "onChange" | "children"> & {
3
3
  checked?: boolean;
4
4
  defaultChecked?: boolean;
5
5
  onChange?: (checked: boolean) => void;
6
- disabled?: boolean;
7
- class?: string;
8
- name?: string;
9
- }
6
+ };
10
7
  declare const Switch: Component<SwitchProps>;
11
8
  export { Switch };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glasshome/ui",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "SolidJS component library for GlassHome, built on Kobalte",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/glasshome/ui#readme",
@@ -192,28 +192,29 @@
192
192
  }
193
193
 
194
194
  /**
195
- * Consistent, theme-aware thin scrollbar across browsers. Firefox uses
196
- * scrollbar-width/color; Chromium/WebKit use the ::-webkit-scrollbar pseudos.
197
- * Applied by the <ScrollArea> component so every scroll surface reads the same.
195
+ * Consistent, theme-aware overlay scrollbar across browsers. Firefox uses
196
+ * scrollbar-width/color; Chromium/WebKit use the ::-webkit-scrollbar pseudos
197
+ * (no stepper-button pseudo is declared, so none render). Applied by every
198
+ * scroll surface that isn't a bare page — <ScrollArea>, dialogs, sheets.
198
199
  */
199
200
  .gh-scroll {
200
201
  scrollbar-width: thin;
201
- scrollbar-color: var(--border) transparent;
202
+ scrollbar-color: color-mix(in srgb, var(--foreground) 22%, transparent) transparent;
202
203
  &::-webkit-scrollbar {
203
- width: 10px;
204
- height: 10px;
204
+ width: 8px;
205
+ height: 8px;
205
206
  }
206
207
  &::-webkit-scrollbar-track {
207
208
  background: transparent;
208
209
  }
209
210
  &::-webkit-scrollbar-thumb {
210
- background: var(--border);
211
+ background: color-mix(in srgb, var(--foreground) 22%, transparent);
211
212
  border-radius: 9999px;
212
213
  border: 2px solid transparent;
213
214
  background-clip: padding-box;
214
215
  }
215
216
  &::-webkit-scrollbar-thumb:hover {
216
- background: var(--muted-foreground);
217
+ background: color-mix(in srgb, var(--foreground) 38%, transparent);
217
218
  }
218
219
  }
219
220