@antadesign/anta 0.3.30 → 0.3.32

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 (50) hide show
  1. package/dist/anta_helpers.d.ts +4 -0
  2. package/dist/anta_helpers.js +10 -0
  3. package/dist/box-types.d.ts +12 -1
  4. package/dist/bundle.css +1 -1
  5. package/dist/bundle.js +140 -66
  6. package/dist/components/Box.d.ts +18 -6
  7. package/dist/components/Box.js +4 -0
  8. package/dist/components/Expander.d.ts +17 -9
  9. package/dist/components/Expander.js +14 -1
  10. package/dist/components/InputDate.js +2 -0
  11. package/dist/components/MenuItem.d.ts +9 -7
  12. package/dist/components/MenuItem.js +21 -2
  13. package/dist/components/Text.js +2 -3
  14. package/dist/components/Title.d.ts +8 -2
  15. package/dist/components/Title.js +17 -6
  16. package/dist/elements/a-box.css +1 -1
  17. package/dist/elements/a-box.d.ts +2 -0
  18. package/dist/elements/a-box.js +74 -32
  19. package/dist/elements/a-button.css +1 -1
  20. package/dist/elements/a-button.d.ts +5 -2
  21. package/dist/elements/a-calendar.js +3 -1
  22. package/dist/elements/a-copy.js +23 -3
  23. package/dist/elements/a-dialog.js +2 -0
  24. package/dist/elements/a-expander.css +1 -1
  25. package/dist/elements/a-expander.js +118 -39
  26. package/dist/elements/a-input-time.js +2 -1
  27. package/dist/elements/a-menu-item.css +1 -1
  28. package/dist/elements/a-menu.js +43 -3
  29. package/dist/elements/a-panel.css +1 -1
  30. package/dist/elements/a-panel.js +1 -1
  31. package/dist/elements/a-radio-group.js +2 -2
  32. package/dist/elements/a-slider.js +2 -2
  33. package/dist/elements/a-tabs.js +2 -2
  34. package/dist/elements/a-title.css +1 -1
  35. package/dist/elements/a-tooltip.js +1 -1
  36. package/dist/general_types.d.ts +22 -6
  37. package/dist/index.d.ts +1 -1
  38. package/dist/theme-antune.css +1 -1
  39. package/docs/changelog.md +64 -0
  40. package/docs/comparison.md +1 -1
  41. package/docs/components/box.md +81 -24
  42. package/docs/components/button.md +127 -381
  43. package/docs/components/expander.md +88 -47
  44. package/docs/components/menu.md +37 -15
  45. package/docs/components/panel.md +5 -6
  46. package/docs/components/select-faceted.md +25 -11
  47. package/docs/components/title.md +19 -0
  48. package/docs/credits.md +3 -0
  49. package/docs/packages/plot.md +234 -19
  50. package/package.json +2 -2
@@ -57,6 +57,10 @@ export declare function nativeStateChange<D>(e: StateChangeEvent<D>): {
57
57
  export declare function customEventHandler<D>(handler?: (event: CustomEvent<D>, detail: D) => void): ((input: StateChangeEvent<D>) => void) | undefined;
58
58
  /** Parse a finite number, falling back for missing, empty, or invalid values. */
59
59
  export declare function finiteNumber(value: string | number | null, fallback: number): number;
60
+ /** Normalize the JSX `truncate` shorthand to a positive CSS line count. */
61
+ export declare function lineClamp(truncate: boolean | number | undefined): number | undefined;
62
+ /** Leave modified navigation to the browser, OS, or text field. Shift+Tab remains focus navigation. */
63
+ export declare function isModifiedNavigationKey(event: Pick<KeyboardEvent, 'key' | 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'>): boolean;
60
64
  export declare const IS_MAC: boolean;
61
65
  /** Default row hint teaching the Alt/⌥-click "select only this" accelerator on
62
66
  * bulk-select rows (`Select` multiple, `SelectFaceted` multiple facets). Shared
@@ -36,6 +36,14 @@ function finiteNumber(value, fallback) {
36
36
  const number = Number(value);
37
37
  return Number.isFinite(number) ? number : fallback;
38
38
  }
39
+ function lineClamp(truncate) {
40
+ const lines = typeof truncate === "number" ? truncate : truncate ? 1 : void 0;
41
+ return lines != null && lines >= 1 ? lines : void 0;
42
+ }
43
+ const NAVIGATION_KEYS = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End", "PageUp", "PageDown", "Tab"]);
44
+ function isModifiedNavigationKey(event) {
45
+ return NAVIGATION_KEYS.has(event.key) && (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey && event.key !== "Tab");
46
+ }
39
47
  const IS_MAC = typeof navigator !== "undefined" && /Mac|iPhone|iPad/i.test(navigator.userAgent || "");
40
48
  const ISOLATE_HINT = IS_MAC ? "\u2325+Click to select only this" : "Alt+Click to select only this";
41
49
  const ISOLATE_HINT_DELAY = 700;
@@ -204,8 +212,10 @@ export {
204
212
  installDismissTrigger,
205
213
  isInsideOpenMenu,
206
214
  isMenuOpen,
215
+ isModifiedNavigationKey,
207
216
  isPopupAriaReceiver,
208
217
  lengthStyle,
218
+ lineClamp,
209
219
  nativeStateChange,
210
220
  neutralToneAttr,
211
221
  optionPresentationAttrs,
@@ -120,11 +120,22 @@ export interface BoxContext {
120
120
  * own background is not behind it. */
121
121
  backgroundColor: string;
122
122
  }
123
- /** Current box dimensions and its content-overflow state. */
123
+ /** A descendant's border box, in CSS pixels from the Box's top-left border edge. */
124
+ export interface BoxRect {
125
+ top: number;
126
+ right: number;
127
+ bottom: number;
128
+ left: number;
129
+ width: number;
130
+ height: number;
131
+ }
132
+ /** Current box dimensions, matching descendant rects, and content-overflow state. */
124
133
  export interface BoxMeasurement {
125
134
  /** Border-box width and height in CSS pixels. */
126
135
  width: number;
127
136
  height: number;
137
+ /** Matches for `includeRectsFor`, in document order. Empty when omitted. */
138
+ rects: BoxRect[];
128
139
  /** Padding-box dimensions, matching the browser's `clientWidth` / `clientHeight`. */
129
140
  clientWidth: number;
130
141
  clientHeight: number;