h2o-library 2.0.0 → 2.1.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 (77) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/charts/components/index.d.ts +2 -0
  3. package/dist/charts/components/src/button/button.d.ts +3 -0
  4. package/dist/charts/components/src/chip/chip.d.ts +4 -1
  5. package/dist/charts/components/src/content-switch/content-switch.d.ts +3 -0
  6. package/dist/charts/components/src/expandable-search/expandable-search.d.ts +40 -0
  7. package/dist/charts/components/src/input/input.d.ts +5 -0
  8. package/dist/charts/components/src/onboarding/onboarding.d.ts +100 -0
  9. package/dist/charts/components/src/radio-group/radio-group.d.ts +3 -0
  10. package/dist/charts/hooks/index.d.ts +1 -0
  11. package/dist/charts/hooks/src/use-onboarding.d.ts +66 -0
  12. package/dist/components/index.d.ts +2 -0
  13. package/dist/components/src/button/button.d.ts +3 -0
  14. package/dist/components/src/chip/chip.d.ts +4 -1
  15. package/dist/components/src/content-switch/content-switch.d.ts +3 -0
  16. package/dist/components/src/expandable-search/expandable-search.d.ts +40 -0
  17. package/dist/components/src/input/input.d.ts +5 -0
  18. package/dist/components/src/onboarding/onboarding.d.ts +100 -0
  19. package/dist/components/src/radio-group/radio-group.d.ts +3 -0
  20. package/dist/esm/components/index.d.ts +2 -0
  21. package/dist/esm/components/src/button/button.d.ts +3 -0
  22. package/dist/esm/components/src/button/button.js +1 -1
  23. package/dist/esm/components/src/chip/chip.d.ts +4 -1
  24. package/dist/esm/components/src/chip/chip.js +1 -1
  25. package/dist/esm/components/src/content-switch/content-switch.d.ts +3 -0
  26. package/dist/esm/components/src/content-switch/content-switch.js +1 -1
  27. package/dist/esm/components/src/expandable-search/expandable-search.css +120 -0
  28. package/dist/esm/components/src/expandable-search/expandable-search.d.ts +40 -0
  29. package/dist/esm/components/src/expandable-search/expandable-search.js +2 -0
  30. package/dist/esm/components/src/input/input.d.ts +5 -0
  31. package/dist/esm/components/src/input/input.js +1 -1
  32. package/dist/esm/components/src/modal/modal.js +1 -1
  33. package/dist/esm/components/src/onboarding/onboarding.css +178 -0
  34. package/dist/esm/components/src/onboarding/onboarding.d.ts +100 -0
  35. package/dist/esm/components/src/onboarding/onboarding.js +2 -0
  36. package/dist/esm/components/src/radio-group/radio-group.d.ts +3 -0
  37. package/dist/esm/components/src/radio-group/radio-group.js +1 -1
  38. package/dist/esm/hooks/index.d.ts +1 -0
  39. package/dist/esm/hooks/src/use-onboarding.d.ts +66 -0
  40. package/dist/esm/hooks/src/use-onboarding.js +2 -0
  41. package/dist/esm/index.js +1 -1
  42. package/dist/hooks/components/index.d.ts +2 -0
  43. package/dist/hooks/components/src/button/button.d.ts +3 -0
  44. package/dist/hooks/components/src/chip/chip.d.ts +4 -1
  45. package/dist/hooks/components/src/content-switch/content-switch.d.ts +3 -0
  46. package/dist/hooks/components/src/expandable-search/expandable-search.d.ts +40 -0
  47. package/dist/hooks/components/src/input/input.d.ts +5 -0
  48. package/dist/hooks/components/src/onboarding/onboarding.d.ts +100 -0
  49. package/dist/hooks/components/src/radio-group/radio-group.d.ts +3 -0
  50. package/dist/hooks/hooks/index.d.ts +1 -0
  51. package/dist/hooks/hooks/src/use-onboarding.d.ts +66 -0
  52. package/dist/hooks/index.cjs.js +1 -1
  53. package/dist/hooks/index.js +1 -1
  54. package/dist/hooks/src/use-onboarding.d.ts +66 -0
  55. package/dist/index.cjs.js +1 -1
  56. package/dist/index.css +1 -1
  57. package/dist/types/components/index.d.ts +2 -0
  58. package/dist/types/components/src/button/button.d.ts +3 -0
  59. package/dist/types/components/src/chip/chip.d.ts +4 -1
  60. package/dist/types/components/src/content-switch/content-switch.d.ts +3 -0
  61. package/dist/types/components/src/expandable-search/expandable-search.d.ts +40 -0
  62. package/dist/types/components/src/input/input.d.ts +5 -0
  63. package/dist/types/components/src/onboarding/onboarding.d.ts +100 -0
  64. package/dist/types/components/src/radio-group/radio-group.d.ts +3 -0
  65. package/dist/types/hooks/index.d.ts +1 -0
  66. package/dist/types/hooks/src/use-onboarding.d.ts +66 -0
  67. package/dist/utils/components/index.d.ts +2 -0
  68. package/dist/utils/components/src/button/button.d.ts +3 -0
  69. package/dist/utils/components/src/chip/chip.d.ts +4 -1
  70. package/dist/utils/components/src/content-switch/content-switch.d.ts +3 -0
  71. package/dist/utils/components/src/expandable-search/expandable-search.d.ts +40 -0
  72. package/dist/utils/components/src/input/input.d.ts +5 -0
  73. package/dist/utils/components/src/onboarding/onboarding.d.ts +100 -0
  74. package/dist/utils/components/src/radio-group/radio-group.d.ts +3 -0
  75. package/dist/utils/hooks/index.d.ts +1 -0
  76. package/dist/utils/hooks/src/use-onboarding.d.ts +66 -0
  77. package/package.json +7 -2
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Pluggable persistence adapter for onboarding flows. Swap to back completion
3
+ * with cookies, a backend, or anything else by implementing these two methods.
4
+ *
5
+ * @property {(id: string) => boolean} isCompleted - Whether the flow `id` was already finished/skipped.
6
+ * @property {(id: string, completed: boolean) => void} setCompleted - Persist (or clear) completion for `id`.
7
+ */
8
+ export interface OnboardingStorage {
9
+ isCompleted: (id: string) => boolean;
10
+ setCompleted: (id: string, completed: boolean) => void;
11
+ }
12
+ export declare const localStorageOnboarding: OnboardingStorage;
13
+ export declare const memoryOnboarding: OnboardingStorage;
14
+ /**
15
+ * Options for {@link useOnboarding}.
16
+ *
17
+ * @property {string} id - Stable flow identifier; used as the persistence key.
18
+ * @property {number} total - Number of steps in the flow.
19
+ * @property {boolean} [run] - Controlled active state. Omit to let the hook manage start/stop internally.
20
+ * @property {boolean} [autoStart] - In uncontrolled mode, start on mount when the flow is not yet completed. Default `true`.
21
+ * @property {boolean} [persist] - Persist completion so a finished/skipped flow does not auto-restart. Default `true`.
22
+ * @property {OnboardingStorage} [storage] - Persistence adapter. Default `localStorageOnboarding`.
23
+ * @property {number} [startDelay] - Delay (ms) before auto-start, e.g. to let the page settle. Default `0`.
24
+ */
25
+ export interface UseOnboardingOptions {
26
+ id: string;
27
+ total: number;
28
+ run?: boolean;
29
+ autoStart?: boolean;
30
+ persist?: boolean;
31
+ storage?: OnboardingStorage;
32
+ startDelay?: number;
33
+ onStart?: () => void;
34
+ onStepChange?: (index: number, previous: number) => void;
35
+ onSkip?: (index: number) => void;
36
+ onFinish?: () => void;
37
+ onStop?: () => void;
38
+ }
39
+ /** Imperative control surface + state returned by {@link useOnboarding}. */
40
+ export interface UseOnboardingReturn {
41
+ active: boolean;
42
+ index: number;
43
+ total: number;
44
+ isFirst: boolean;
45
+ isLast: boolean;
46
+ completed: boolean;
47
+ start: () => void;
48
+ stop: () => void;
49
+ next: () => void;
50
+ prev: () => void;
51
+ goTo: (index: number) => void;
52
+ skip: () => void;
53
+ finish: () => void;
54
+ reset: () => void;
55
+ }
56
+ /**
57
+ * Headless onboarding/tour state machine: drives a flow by `id`, tracks the
58
+ * current step, persists completion, and supports controlled or uncontrolled use.
59
+ *
60
+ * Pair with the `Onboarding` component for ready-made coachmarks, or render your
61
+ * own UI from the returned state for a fully custom flow.
62
+ *
63
+ * @param {UseOnboardingOptions} options
64
+ * @returns {UseOnboardingReturn} State (`active`, `index`, `isFirst`, …) and controls (`next`, `prev`, `skip`, `finish`, `reset`, …).
65
+ */
66
+ export declare function useOnboarding({ id, total, run, autoStart, persist, storage, startDelay, onStart, onStepChange, onSkip, onFinish, onStop, }: UseOnboardingOptions): UseOnboardingReturn;