@kanso-labs/react-native-kanso-ui 0.4.0 → 0.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.
Files changed (109) hide show
  1. package/README.md +4 -1
  2. package/dist/autocomplete/index.js +39 -0
  3. package/dist/autocomplete/index.js.map +1 -0
  4. package/dist/badge/index.js +74 -0
  5. package/dist/badge/index.js.map +1 -0
  6. package/dist/badge/styles.js +51 -0
  7. package/dist/badge/styles.js.map +1 -0
  8. package/dist/button/index.d.ts +2 -1
  9. package/dist/button/index.js +35 -2
  10. package/dist/button/index.js.map +1 -1
  11. package/dist/button/slots.d.ts +2 -1
  12. package/dist/button/slots.js.map +1 -1
  13. package/dist/chip/index.js +2 -2
  14. package/dist/components/app-bar/index.d.ts +111 -0
  15. package/dist/components/app-bar/index.js +341 -0
  16. package/dist/components/app-bar/index.js.map +1 -0
  17. package/dist/components/autocomplete/index.d.ts +49 -0
  18. package/dist/components/autocomplete/index.js +87 -0
  19. package/dist/components/autocomplete/index.js.map +1 -0
  20. package/dist/components/button/index.d.ts +1 -1
  21. package/dist/components/button/index.js +197 -151
  22. package/dist/components/button/index.js.map +1 -1
  23. package/dist/components/card/index.js +2 -2
  24. package/dist/components/checkbox/index.js +106 -193
  25. package/dist/components/checkbox/index.js.map +1 -1
  26. package/dist/components/chip/index.js +1 -1
  27. package/dist/components/chip-group/index.js +3 -3
  28. package/dist/components/dialog/index.js +4 -3
  29. package/dist/components/dialog/index.js.map +1 -1
  30. package/dist/components/icon-button/index.d.ts +1 -1
  31. package/dist/components/icon-button/index.js +206 -160
  32. package/dist/components/icon-button/index.js.map +1 -1
  33. package/dist/components/link/index.js +2 -2
  34. package/dist/components/list/index.d.ts +216 -0
  35. package/dist/components/list/index.js +1118 -0
  36. package/dist/components/list/index.js.map +1 -0
  37. package/dist/components/list-detail/index.d.ts +56 -0
  38. package/dist/components/list-detail/index.js +169 -0
  39. package/dist/components/list-detail/index.js.map +1 -0
  40. package/dist/components/list-item/index.d.ts +63 -0
  41. package/dist/components/list-item/index.js +275 -0
  42. package/dist/components/list-item/index.js.map +1 -0
  43. package/dist/components/menu/index.d.ts +309 -0
  44. package/dist/components/menu/index.js +1283 -0
  45. package/dist/components/menu/index.js.map +1 -0
  46. package/dist/components/navigation-bar/index.d.ts +170 -0
  47. package/dist/components/navigation-bar/index.js +494 -0
  48. package/dist/components/navigation-bar/index.js.map +1 -0
  49. package/dist/components/number-field/index.js +3 -3
  50. package/dist/components/popover/index.d.ts +140 -0
  51. package/dist/components/popover/index.js +704 -0
  52. package/dist/components/popover/index.js.map +1 -0
  53. package/dist/components/progress-indicator/index.js +3 -3
  54. package/dist/components/radio-group/index.js +2 -2
  55. package/dist/components/search-field/index.d.ts +11 -3
  56. package/dist/components/search-field/index.js +66 -60
  57. package/dist/components/search-field/index.js.map +1 -1
  58. package/dist/components/segmented-button/index.js +4 -4
  59. package/dist/components/sheet/index.js +5 -4
  60. package/dist/components/sheet/index.js.map +1 -1
  61. package/dist/components/snackbar/index.js +4 -4
  62. package/dist/components/switch/index.js +3 -3
  63. package/dist/control/checkbox-box.js +137 -0
  64. package/dist/control/checkbox-box.js.map +1 -0
  65. package/dist/field/index.d.ts +1 -1
  66. package/dist/field/index.js +3 -3
  67. package/dist/form/index.d.ts +1 -1
  68. package/dist/glyphs/index.js +22 -3
  69. package/dist/glyphs/index.js.map +1 -1
  70. package/dist/hooks/useAppBarScroll.d.ts +56 -0
  71. package/dist/hooks/useAppBarScroll.js +87 -0
  72. package/dist/hooks/useAppBarScroll.js.map +1 -0
  73. package/dist/i18n/index.js +16 -1
  74. package/dist/i18n/index.js.map +1 -1
  75. package/dist/i18n/messages.js +272 -34
  76. package/dist/i18n/messages.js.map +1 -1
  77. package/dist/index.d.ts +12 -3
  78. package/dist/index.js +12 -3
  79. package/dist/indicator/index.d.ts +2 -2
  80. package/dist/indicator/index.js +1 -1
  81. package/dist/indicator/motion.js +1 -1
  82. package/dist/mark/index.js +1 -1
  83. package/dist/modal/index.d.ts +1 -1
  84. package/dist/modal/index.js +2 -9
  85. package/dist/modal/index.js.map +1 -1
  86. package/dist/navigation/index.d.ts +29 -0
  87. package/dist/navigation/index.js +405 -0
  88. package/dist/navigation/index.js.map +1 -0
  89. package/dist/navigation/styles.js +61 -0
  90. package/dist/navigation/styles.js.map +1 -0
  91. package/dist/overlay/anchored.d.ts +2 -0
  92. package/dist/overlay/anchored.js +182 -0
  93. package/dist/overlay/anchored.js.map +1 -0
  94. package/dist/overlay/host.d.ts +2 -0
  95. package/dist/overlay/index.d.ts +4 -0
  96. package/dist/overlay/panel.js +215 -0
  97. package/dist/overlay/panel.js.map +1 -0
  98. package/dist/overlay/placement.d.ts +8 -0
  99. package/dist/overlay/placement.js +87 -0
  100. package/dist/overlay/placement.js.map +1 -0
  101. package/dist/press/index.js +74 -68
  102. package/dist/press/index.js.map +1 -1
  103. package/dist/ref/index.js +15 -0
  104. package/dist/ref/index.js.map +1 -0
  105. package/dist/row/index.js +158 -0
  106. package/dist/row/index.js.map +1 -0
  107. package/dist/row/styles.js +51 -0
  108. package/dist/row/styles.js.map +1 -0
  109. package/package.json +3 -3
@@ -0,0 +1,140 @@
1
+ import { OverlayAlign, OverlaySide } from "../../overlay/placement.js";
2
+ import "../../overlay/index.js";
3
+ import { HostInstance, StyleProp, TextProps, ViewProps, ViewStyle } from "react-native";
4
+ import { ReactNode, Ref, RefObject } from "react";
5
+ //#region src/components/popover/index.d.ts
6
+ /** Where the panel sits along the side it opens on. */
7
+ type PopoverAlign = OverlayAlign;
8
+ type PopoverContentProps = Omit<ViewProps, 'children' | 'role' | 'style'> & {
9
+ /**
10
+ * Where the panel sits along the side it opens on. On `top` and `bottom`,
11
+ * `start` and `end` follow a right-to-left layout.
12
+ * @default 'center'
13
+ */
14
+ readonly align?: PopoverAlign;
15
+ /** Moves the panel along that side, in dp: right or down when positive. */
16
+ readonly alignOffset?: number;
17
+ readonly children?: ReactNode;
18
+ readonly ref?: Ref<HostInstance>;
19
+ /**
20
+ * Which side of the trigger the panel opens on. It flips to the opposite
21
+ * side when there is no room.
22
+ * @default 'bottom'
23
+ */
24
+ readonly side?: PopoverSide;
25
+ /**
26
+ * The gap between the trigger and the panel, in dp.
27
+ * @default spacing.sm
28
+ */
29
+ readonly sideOffset?: number;
30
+ readonly style?: StyleProp<ViewStyle>;
31
+ /** A view to place the panel beside other than the trigger. */
32
+ readonly triggerRef?: RefObject<HostInstance | null>;
33
+ };
34
+ type PopoverDescriptionProps = TextProps & {
35
+ readonly ref?: Ref<HostInstance>;
36
+ };
37
+ type PopoverProps = {
38
+ /** The button that opens the popover, and `Popover.Content`. */
39
+ readonly children?: ReactNode;
40
+ /**
41
+ * How long the pointer has to be gone from a hovered popover's trigger
42
+ * and panel before it closes, in milliseconds. Ignored by a pressed one.
43
+ * @default 200
44
+ */
45
+ readonly closeDelay?: number;
46
+ /** Whether the popover starts open, when it keeps its own state. */
47
+ readonly defaultOpen?: boolean;
48
+ /**
49
+ * How long a pointer rests on a hover trigger, or a press is held on it,
50
+ * before the popover opens, in milliseconds. Ignored by a pressed one.
51
+ * @default 600
52
+ */
53
+ readonly delay?: number;
54
+ /** Whether the popover is open, when the call site holds the state. */
55
+ readonly isOpen?: boolean;
56
+ /**
57
+ * Keeps a screen reader inside the panel while it is open, as a dialog
58
+ * does. Off by default: a popover leaves the screen in reach, which is the
59
+ * difference from `Sheet`. A hovered popover is never modal.
60
+ * @default false
61
+ */
62
+ readonly modal?: boolean;
63
+ /** Called with the new state as the popover opens or closes. */
64
+ readonly onOpenChange?: (isOpen: boolean) => void;
65
+ /**
66
+ * The panel's width: `sm` caps it at 240dp, `md` at 320dp. Either way it is
67
+ * only as wide as its content.
68
+ * @default 'md'
69
+ */
70
+ readonly size?: PopoverSize;
71
+ /**
72
+ * What opens the panel: a press on the trigger, or a pointer resting on
73
+ * it. `hover` is the tooltips page's rich tooltip, and on touch it opens
74
+ * on a press held for `delay`.
75
+ * @default 'press'
76
+ */
77
+ readonly trigger?: PopoverTrigger;
78
+ };
79
+ /** Which side of the trigger the panel opens on. */
80
+ type PopoverSide = OverlaySide;
81
+ type PopoverSize = 'md' | 'sm';
82
+ type PopoverTitle = {
83
+ readonly id: string;
84
+ readonly setTitle: (node: HostInstance | null) => void;
85
+ };
86
+ type PopoverTitleProps = Omit<TextProps, 'role'> & {
87
+ readonly ref?: Ref<HostInstance>;
88
+ };
89
+ type PopoverTrigger = 'hover' | 'press';
90
+ /**
91
+ * A panel anchored to the control that opened it, as the tooltips spec
92
+ * page's rich tooltip draws one. Pass `isOpen` with `onOpenChange` to hold
93
+ * the open state, or `defaultOpen` to let it keep its own.
94
+ *
95
+ * ```tsx
96
+ * <Popover>
97
+ * <Button variant="outlined">Open</Button>
98
+ * <Popover.Content>
99
+ * <Popover.Title>Headline</Popover.Title>
100
+ * <Popover.Description>Supporting text</Popover.Description>
101
+ * </Popover.Content>
102
+ * </Popover>
103
+ * ```
104
+ *
105
+ * Non-modal by default, which leaves the screen in reach of a screen reader,
106
+ * and `modal` keeps one inside it. A press outside the panel and a button
107
+ * given `slot="close"` inside it close it, and a press on its trigger
108
+ * toggles it. Composed rather than configured by props, as web's is: a
109
+ * `Button` or `IconButton` placed directly inside `Popover` is its trigger,
110
+ * and the panel is placed beside it.
111
+ */
112
+ declare function Popover({ children, closeDelay, defaultOpen, delay, isOpen, modal, onOpenChange, size, trigger }: PopoverProps): import("react").JSX.Element;
113
+ declare namespace Popover {
114
+ var Content: typeof PopoverContent;
115
+ var Description: typeof PopoverDescription;
116
+ var Title: typeof PopoverTitle;
117
+ }
118
+ /**
119
+ * The panel itself. Everything the popover shows goes in here; the trigger
120
+ * stays outside it. Its content scrolls when it runs past the room the
121
+ * window leaves on the side it opened on.
122
+ *
123
+ * `style`, `ref` and `testID` land on the panel.
124
+ */
125
+ declare function PopoverContent({ triggerRef, ...props }: PopoverContentProps): import("react").JSX.Element | null;
126
+ /**
127
+ * Supporting text under the title, in body medium on on-surface variant.
128
+ * `style`, `ref` and `testID` land on React Native's own Text.
129
+ */
130
+ declare function PopoverDescription({ style, ...props }: PopoverDescriptionProps): import("react").JSX.Element;
131
+ /**
132
+ * Names the popover: the panel is labelled by it, and a screen reader is
133
+ * sent to it once a pressed popover shows. In title small on on-surface
134
+ * variant, the rich tooltip's subhead. `style`, `ref` and `testID` land on
135
+ * React Native's own Text.
136
+ */
137
+ declare function PopoverTitle({ ref, style, ...props }: PopoverTitleProps): import("react").JSX.Element;
138
+ //#endregion
139
+ export { Popover, type PopoverAlign, PopoverContent, type PopoverContentProps, PopoverDescription, type PopoverDescriptionProps, type PopoverProps, type PopoverSide, type PopoverSize, PopoverTitle, type PopoverTitleProps, type PopoverTrigger };
140
+ //# sourceMappingURL=index.d.ts.map