@adecore/ui 0.35.5 → 0.37.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 (81) hide show
  1. package/dist/Button.d.ts +2 -3
  2. package/dist/Button.js +21 -46
  3. package/dist/Checkbox.js +1 -1
  4. package/dist/ChoiceCards.js +2 -2
  5. package/dist/IconPicker.d.ts +2 -1
  6. package/dist/IconPicker.js +504 -217
  7. package/dist/Input.d.ts +5 -3
  8. package/dist/Input.js +127 -112
  9. package/dist/Segmented.js +1 -1
  10. package/dist/SplitButton.d.ts +17 -0
  11. package/dist/SplitButton.js +237 -0
  12. package/dist/Stepper.js +1 -1
  13. package/dist/Switch.js +1 -1
  14. package/dist/Tile.js +2 -2
  15. package/dist/button-class.d.ts +6 -0
  16. package/dist/button-class.js +92 -0
  17. package/dist/command-palette/context.d.ts +10 -0
  18. package/dist/command-palette/context.js +5 -0
  19. package/dist/command-palette/index.parts.d.ts +1 -0
  20. package/dist/command-palette/index.parts.js +2 -1
  21. package/dist/command-palette/parts.d.ts +1 -1
  22. package/dist/command-palette/parts.js +12 -3
  23. package/dist/command-palette/virtual.d.ts +20 -0
  24. package/dist/command-palette/virtual.js +155 -0
  25. package/dist/file-tree/empty-lines.d.ts +11 -0
  26. package/dist/file-tree/empty-lines.js +89 -0
  27. package/dist/file-tree/highlight.d.ts +4 -0
  28. package/dist/file-tree/highlight.js +75 -0
  29. package/dist/file-tree/parts.d.ts +9 -1
  30. package/dist/file-tree/parts.js +297 -205
  31. package/dist/file-tree/style.js +13 -0
  32. package/dist/file-tree/use-empty-lines.d.ts +3 -0
  33. package/dist/file-tree/use-empty-lines.js +176 -0
  34. package/dist/file-tree/use-file-tree.js +5 -1
  35. package/dist/file-tree/use-slots.d.ts +16 -2
  36. package/dist/file-tree/use-slots.js +186 -43
  37. package/dist/format/index.d.ts +1 -1
  38. package/dist/format/index.js +1 -1
  39. package/dist/format/locale.d.ts +1 -0
  40. package/dist/format/locale.js +4 -5
  41. package/dist/index.d.ts +2 -0
  42. package/dist/index.js +1 -0
  43. package/dist/locales/en.d.ts +1 -0
  44. package/dist/locales/en.js +1 -0
  45. package/dist/locales/nl.d.ts +1 -0
  46. package/dist/locales/nl.js +1 -0
  47. package/dist/select-shared.d.ts +1 -1
  48. package/dist/select-shared.js +1 -1
  49. package/dist/settings/SettingsDialog.js +1 -1
  50. package/dist/theme.css +33 -3
  51. package/package.json +2 -1
  52. package/src/Button.tsx +3 -36
  53. package/src/Checkbox.tsx +1 -1
  54. package/src/ChoiceCards.tsx +2 -2
  55. package/src/IconPicker.tsx +220 -136
  56. package/src/Input.tsx +19 -10
  57. package/src/Segmented.tsx +1 -1
  58. package/src/SplitButton.tsx +72 -0
  59. package/src/Stepper.tsx +6 -1
  60. package/src/Switch.tsx +1 -1
  61. package/src/Tile.tsx +2 -2
  62. package/src/button-class.ts +111 -0
  63. package/src/command-palette/context.ts +16 -0
  64. package/src/command-palette/index.parts.ts +2 -0
  65. package/src/command-palette/parts.tsx +11 -12
  66. package/src/command-palette/virtual.tsx +147 -0
  67. package/src/file-tree/empty-lines.ts +105 -0
  68. package/src/file-tree/highlight.ts +80 -0
  69. package/src/file-tree/parts.tsx +42 -11
  70. package/src/file-tree/style.ts +13 -0
  71. package/src/file-tree/use-empty-lines.ts +115 -0
  72. package/src/file-tree/use-file-tree.ts +2 -1
  73. package/src/file-tree/use-slots.ts +176 -17
  74. package/src/format/index.ts +1 -1
  75. package/src/format/locale.ts +13 -7
  76. package/src/index.ts +3 -0
  77. package/src/locales/en.ts +1 -0
  78. package/src/locales/nl.ts +1 -0
  79. package/src/select-shared.ts +2 -1
  80. package/src/settings/SettingsDialog.tsx +1 -1
  81. package/src/theme.css +33 -3
package/dist/Button.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import type { ComponentProps } from 'react';
2
- export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'danger-outline' | 'positive' | 'inverse';
3
- export type ButtonSize = 'xs' | 'sm' | 'md';
4
- export type ButtonShape = 'default' | 'pill';
2
+ import { type ButtonShape, type ButtonSize, type ButtonVariant } from './button-class.ts';
3
+ export type { ButtonShape, ButtonSize, ButtonVariant } from './button-class.ts';
5
4
  export interface ButtonProps extends ComponentProps<'button'> {
6
5
  variant?: ButtonVariant;
7
6
  size?: ButtonSize;
package/dist/Button.js CHANGED
@@ -1,30 +1,8 @@
1
1
  import { c as _c } from "react/compiler-runtime";
2
2
  import clsx from 'clsx';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- const VARIANT = {
5
- // A filled button darkens under the pointer. Its color is the meaning, so no token of its own for hover.
6
- primary: 'bg-accent text-accent-text hover:brightness-90 disabled:hover:brightness-100',
7
- secondary: 'border border-border bg-surface-raised text-text hover:bg-surface-hover disabled:hover:bg-surface-raised',
8
- ghost: 'text-text-muted hover:bg-surface-hover hover:text-text',
9
- danger: 'bg-status-error text-accent-text hover:brightness-90 disabled:hover:brightness-100',
10
- // A step that forgets something rather than destroys it: softer than the filled button of a deletion that cannot come back.
11
- 'danger-outline': 'border border-status-error/35 text-status-error hover:bg-status-error/10 disabled:hover:bg-transparent',
12
- positive: 'bg-positive text-positive-text hover:brightness-90 disabled:hover:brightness-100',
13
- // Dark on a light theme, light on a dark one, matching what Apple's and GitHub's sign-in buttons ask for.
14
- inverse: 'bg-text text-bg hover:opacity-90 disabled:hover:opacity-100'
15
- };
16
- /* 28 and 32 pixels are the compact and the normal control; 24 fits a header of 32. */
17
- const SIZE = {
18
- xs: 'h-6 px-2',
19
- sm: 'h-7 px-2.5',
20
- md: 'h-8 px-3'
21
- };
22
- /* A pill is one size of its own, for a control that sits in a round row, so it takes the place of `size`. */
23
- const SHAPE = {
24
- default: 'rounded-md text-xs',
25
- pill: 'h-9 rounded-full px-3.5 text-sm'
26
- };
3
+ import { buttonClass } from './button-class.js';
27
4
  /* Every button with a word in it. A button that is only an icon is an `IconButton`, which is a square, not a label. */
5
+ import { jsx as _jsx } from "react/jsx-runtime";
28
6
  export function Button(t0) {
29
7
  const $ = _c(24);
30
8
  let className;
@@ -69,25 +47,22 @@ export function Button(t0) {
69
47
  const size = t2 === undefined ? "md" : t2;
70
48
  const shape = t3 === undefined ? "default" : t3;
71
49
  const type = t4 === undefined ? "button" : t4;
72
- const t5 = SHAPE[shape];
73
- const t6 = VARIANT[variant];
74
- const t7 = shape === "default" && SIZE[size];
75
- let t8;
76
- if ($[9] !== className || $[10] !== t5 || $[11] !== t6 || $[12] !== t7) {
77
- t8 = clsx("inline-flex shrink-0 items-center justify-center gap-1.5 font-medium disabled:opacity-50", t5, t6, t7, className);
50
+ let t5;
51
+ if ($[9] !== className || $[10] !== shape || $[11] !== size || $[12] !== variant) {
52
+ t5 = clsx(buttonClass(variant, size, shape), className);
78
53
  $[9] = className;
79
- $[10] = t5;
80
- $[11] = t6;
81
- $[12] = t7;
82
- $[13] = t8;
54
+ $[10] = shape;
55
+ $[11] = size;
56
+ $[12] = variant;
57
+ $[13] = t5;
83
58
  } else {
84
- t8 = $[13];
59
+ t5 = $[13];
85
60
  }
86
- const classes = t8;
61
+ const classes = t5;
87
62
  if (href) {
88
- let t9;
63
+ let t6;
89
64
  if ($[14] !== classes || $[15] !== href || $[16] !== ref || $[17] !== rest) {
90
- t9 = /*#__PURE__*/_jsx("a", {
65
+ t6 = /*#__PURE__*/_jsx("a", {
91
66
  ref: ref,
92
67
  className: classes,
93
68
  href: href,
@@ -99,15 +74,15 @@ export function Button(t0) {
99
74
  $[15] = href;
100
75
  $[16] = ref;
101
76
  $[17] = rest;
102
- $[18] = t9;
77
+ $[18] = t6;
103
78
  } else {
104
- t9 = $[18];
79
+ t6 = $[18];
105
80
  }
106
- return t9;
81
+ return t6;
107
82
  }
108
- let t9;
83
+ let t6;
109
84
  if ($[19] !== classes || $[20] !== ref || $[21] !== rest || $[22] !== type) {
110
- t9 = /*#__PURE__*/_jsx("button", {
85
+ t6 = /*#__PURE__*/_jsx("button", {
111
86
  ref: ref,
112
87
  type: type,
113
88
  className: classes,
@@ -117,9 +92,9 @@ export function Button(t0) {
117
92
  $[20] = ref;
118
93
  $[21] = rest;
119
94
  $[22] = type;
120
- $[23] = t9;
95
+ $[23] = t6;
121
96
  } else {
122
- t9 = $[23];
97
+ t6 = $[23];
123
98
  }
124
- return t9;
99
+ return t6;
125
100
  }
package/dist/Checkbox.js CHANGED
@@ -27,7 +27,7 @@ export function Checkbox(t0) {
27
27
  }
28
28
  let t3;
29
29
  if ($[2] !== className) {
30
- t3 = clsx("flex size-4 shrink-0 items-center justify-center rounded-sm border border-border-strong bg-surface text-accent-text transition-colors", "data-checked:border-accent data-checked:bg-accent data-indeterminate:border-accent data-indeterminate:bg-accent data-disabled:opacity-50", className);
30
+ t3 = clsx("flex size-4 shrink-0 items-center justify-center rounded-sm border border-field-border bg-field text-accent-text transition-colors", "data-checked:border-accent data-checked:bg-accent data-indeterminate:border-accent data-indeterminate:bg-accent data-disabled:opacity-50", className);
31
31
  $[2] = className;
32
32
  $[3] = t3;
33
33
  } else {
@@ -32,7 +32,7 @@ function ChoiceCard(t0) {
32
32
  let t5;
33
33
  if ($[1] !== choice.icon) {
34
34
  t5 = choice.icon && /*#__PURE__*/_jsx("span", {
35
- className: "grid size-8 shrink-0 place-items-center rounded-lg bg-surface-sunken text-text-muted group-data-checked:text-accent",
35
+ className: "grid size-8 shrink-0 place-items-center rounded-lg bg-surface-sunken text-text-muted group-data-checked:text-accent dark:bg-field dark:inset-ring dark:inset-ring-field-border",
36
36
  children: /*#__PURE__*/_jsx(Icon, {
37
37
  icon: choice.icon,
38
38
  size: 16
@@ -91,7 +91,7 @@ function ChoiceCard(t0) {
91
91
  disabled: choice.disabled,
92
92
  "aria-labelledby": t2,
93
93
  "aria-describedby": t3,
94
- className: "group focus-ring flex min-w-0 items-start gap-3 rounded-xl border border-border bg-surface p-3 text-left hover:bg-surface-hover data-checked:border-accent data-disabled:opacity-50 data-disabled:hover:bg-surface",
94
+ className: "group focus-ring flex min-w-0 items-start gap-3 rounded-xl border border-border bg-surface p-3 text-left hover:bg-surface-hover-edged data-checked:border-accent data-disabled:opacity-50 data-disabled:hover:bg-surface",
95
95
  children: [t4, t5, t10, t11]
96
96
  });
97
97
  $[12] = choice.disabled;
@@ -11,7 +11,8 @@ export interface IconPickerProps {
11
11
  disabled?: boolean;
12
12
  onClear?: () => void;
13
13
  label?: string;
14
+ hideLabel?: boolean;
14
15
  className?: string;
15
16
  ref?: Ref<HTMLDivElement>;
16
17
  }
17
- export declare function IconPicker({ icons, value, onValueChange, keywords, searchable, rows, disabled, onClear, label, className, ref }: IconPickerProps): import("react").JSX.Element;
18
+ export declare function IconPicker({ icons, value, onValueChange, keywords, searchable, rows, disabled, onClear, label, hideLabel, className, ref }: IconPickerProps): import("react").JSX.Element;