@oxy.so/bloom 2.11.0 → 2.12.1

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 (187) hide show
  1. package/docs/app-shell.mdx +90 -4
  2. package/docs/content-panel.mdx +65 -19
  3. package/docs/date-picker.mdx +80 -2
  4. package/docs/listing-card.mdx +54 -0
  5. package/docs/rating.mdx +52 -2
  6. package/docs/stay-search.mdx +38 -0
  7. package/lib/commonjs/app-shell/AppShell.js +121 -5
  8. package/lib/commonjs/app-shell/AppShell.js.map +1 -1
  9. package/lib/commonjs/app-shell/layout.js +10 -5
  10. package/lib/commonjs/app-shell/layout.js.map +1 -1
  11. package/lib/commonjs/content-panel/ContentPanel.js +8 -2
  12. package/lib/commonjs/content-panel/ContentPanel.js.map +1 -1
  13. package/lib/commonjs/content-panel/ContentPanel.web.js +38 -25
  14. package/lib/commonjs/content-panel/ContentPanel.web.js.map +1 -1
  15. package/lib/commonjs/date-picker/TimeField.js +175 -0
  16. package/lib/commonjs/date-picker/TimeField.js.map +1 -0
  17. package/lib/commonjs/date-picker/index.js +7 -0
  18. package/lib/commonjs/date-picker/index.js.map +1 -1
  19. package/lib/commonjs/date-picker/time.js +160 -0
  20. package/lib/commonjs/date-picker/time.js.map +1 -0
  21. package/lib/commonjs/index.js +7 -0
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/index.web.js +7 -0
  24. package/lib/commonjs/index.web.js.map +1 -1
  25. package/lib/commonjs/listing-card/ListingCard.js +34 -1
  26. package/lib/commonjs/listing-card/ListingCard.js.map +1 -1
  27. package/lib/commonjs/listing-card/WishlistCard.js +50 -8
  28. package/lib/commonjs/listing-card/WishlistCard.js.map +1 -1
  29. package/lib/commonjs/listing-card/shared.js +23 -1
  30. package/lib/commonjs/listing-card/shared.js.map +1 -1
  31. package/lib/commonjs/message-bubble/MessageBubble.js +16 -1
  32. package/lib/commonjs/message-bubble/MessageBubble.js.map +1 -1
  33. package/lib/commonjs/rating/RatingInput.js +218 -0
  34. package/lib/commonjs/rating/RatingInput.js.map +1 -0
  35. package/lib/commonjs/rating/index.js +7 -0
  36. package/lib/commonjs/rating/index.js.map +1 -1
  37. package/lib/commonjs/stay-search/DestinationSuggestions.js +46 -9
  38. package/lib/commonjs/stay-search/DestinationSuggestions.js.map +1 -1
  39. package/lib/commonjs/stay-search/GuestPicker.js +9 -0
  40. package/lib/commonjs/stay-search/GuestPicker.js.map +1 -1
  41. package/lib/commonjs/track-list/parts.js +0 -13
  42. package/lib/commonjs/track-list/parts.js.map +1 -1
  43. package/lib/module/app-shell/AppShell.js +121 -5
  44. package/lib/module/app-shell/AppShell.js.map +1 -1
  45. package/lib/module/app-shell/layout.js +10 -5
  46. package/lib/module/app-shell/layout.js.map +1 -1
  47. package/lib/module/content-panel/ContentPanel.js +8 -2
  48. package/lib/module/content-panel/ContentPanel.js.map +1 -1
  49. package/lib/module/content-panel/ContentPanel.web.js +38 -25
  50. package/lib/module/content-panel/ContentPanel.web.js.map +1 -1
  51. package/lib/module/date-picker/TimeField.js +170 -0
  52. package/lib/module/date-picker/TimeField.js.map +1 -0
  53. package/lib/module/date-picker/index.js +3 -0
  54. package/lib/module/date-picker/index.js.map +1 -1
  55. package/lib/module/date-picker/time.js +151 -0
  56. package/lib/module/date-picker/time.js.map +1 -0
  57. package/lib/module/index.js +1 -1
  58. package/lib/module/index.js.map +1 -1
  59. package/lib/module/index.web.js +1 -1
  60. package/lib/module/index.web.js.map +1 -1
  61. package/lib/module/listing-card/ListingCard.js +34 -1
  62. package/lib/module/listing-card/ListingCard.js.map +1 -1
  63. package/lib/module/listing-card/WishlistCard.js +50 -8
  64. package/lib/module/listing-card/WishlistCard.js.map +1 -1
  65. package/lib/module/listing-card/shared.js +22 -0
  66. package/lib/module/listing-card/shared.js.map +1 -1
  67. package/lib/module/message-bubble/MessageBubble.js +16 -1
  68. package/lib/module/message-bubble/MessageBubble.js.map +1 -1
  69. package/lib/module/rating/RatingInput.js +212 -0
  70. package/lib/module/rating/RatingInput.js.map +1 -0
  71. package/lib/module/rating/index.js +1 -0
  72. package/lib/module/rating/index.js.map +1 -1
  73. package/lib/module/stay-search/DestinationSuggestions.js +45 -9
  74. package/lib/module/stay-search/DestinationSuggestions.js.map +1 -1
  75. package/lib/module/stay-search/GuestPicker.js +9 -0
  76. package/lib/module/stay-search/GuestPicker.js.map +1 -1
  77. package/lib/module/track-list/parts.js +1 -14
  78. package/lib/module/track-list/parts.js.map +1 -1
  79. package/lib/typescript/commonjs/app-shell/AppShell.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/app-shell/layout.d.ts +5 -4
  81. package/lib/typescript/commonjs/app-shell/layout.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/app-shell/types.d.ts +12 -2
  83. package/lib/typescript/commonjs/app-shell/types.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/content-panel/ContentPanel.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/content-panel/ContentPanel.web.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/content-panel/types.d.ts +53 -42
  87. package/lib/typescript/commonjs/content-panel/types.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/date-picker/TimeField.d.ts +6 -0
  89. package/lib/typescript/commonjs/date-picker/TimeField.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/date-picker/index.d.ts +2 -1
  91. package/lib/typescript/commonjs/date-picker/index.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/date-picker/time.d.ts +56 -0
  93. package/lib/typescript/commonjs/date-picker/time.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/date-picker/types.d.ts +49 -3
  95. package/lib/typescript/commonjs/date-picker/types.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/index.d.ts +2 -2
  97. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/index.web.d.ts +2 -2
  99. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/listing-card/ListingCard.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/listing-card/WishlistCard.d.ts +1 -1
  102. package/lib/typescript/commonjs/listing-card/WishlistCard.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/listing-card/shared.d.ts +8 -1
  104. package/lib/typescript/commonjs/listing-card/shared.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/listing-card/types.d.ts +37 -0
  106. package/lib/typescript/commonjs/listing-card/types.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/message-bubble/MessageBubble.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/rating/RatingInput.d.ts +8 -0
  109. package/lib/typescript/commonjs/rating/RatingInput.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/rating/index.d.ts +2 -1
  111. package/lib/typescript/commonjs/rating/index.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/rating/types.d.ts +31 -0
  113. package/lib/typescript/commonjs/rating/types.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/stay-search/DestinationSuggestions.d.ts +8 -0
  115. package/lib/typescript/commonjs/stay-search/DestinationSuggestions.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/stay-search/GuestPicker.d.ts +6 -1
  117. package/lib/typescript/commonjs/stay-search/GuestPicker.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/stay-search/types.d.ts +20 -0
  119. package/lib/typescript/commonjs/stay-search/types.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/track-list/parts.d.ts.map +1 -1
  121. package/lib/typescript/module/app-shell/AppShell.d.ts.map +1 -1
  122. package/lib/typescript/module/app-shell/layout.d.ts +5 -4
  123. package/lib/typescript/module/app-shell/layout.d.ts.map +1 -1
  124. package/lib/typescript/module/app-shell/types.d.ts +12 -2
  125. package/lib/typescript/module/app-shell/types.d.ts.map +1 -1
  126. package/lib/typescript/module/content-panel/ContentPanel.d.ts.map +1 -1
  127. package/lib/typescript/module/content-panel/ContentPanel.web.d.ts.map +1 -1
  128. package/lib/typescript/module/content-panel/types.d.ts +53 -42
  129. package/lib/typescript/module/content-panel/types.d.ts.map +1 -1
  130. package/lib/typescript/module/date-picker/TimeField.d.ts +6 -0
  131. package/lib/typescript/module/date-picker/TimeField.d.ts.map +1 -0
  132. package/lib/typescript/module/date-picker/index.d.ts +2 -1
  133. package/lib/typescript/module/date-picker/index.d.ts.map +1 -1
  134. package/lib/typescript/module/date-picker/time.d.ts +56 -0
  135. package/lib/typescript/module/date-picker/time.d.ts.map +1 -0
  136. package/lib/typescript/module/date-picker/types.d.ts +49 -3
  137. package/lib/typescript/module/date-picker/types.d.ts.map +1 -1
  138. package/lib/typescript/module/index.d.ts +2 -2
  139. package/lib/typescript/module/index.d.ts.map +1 -1
  140. package/lib/typescript/module/index.web.d.ts +2 -2
  141. package/lib/typescript/module/index.web.d.ts.map +1 -1
  142. package/lib/typescript/module/listing-card/ListingCard.d.ts.map +1 -1
  143. package/lib/typescript/module/listing-card/WishlistCard.d.ts +1 -1
  144. package/lib/typescript/module/listing-card/WishlistCard.d.ts.map +1 -1
  145. package/lib/typescript/module/listing-card/shared.d.ts +8 -1
  146. package/lib/typescript/module/listing-card/shared.d.ts.map +1 -1
  147. package/lib/typescript/module/listing-card/types.d.ts +37 -0
  148. package/lib/typescript/module/listing-card/types.d.ts.map +1 -1
  149. package/lib/typescript/module/message-bubble/MessageBubble.d.ts.map +1 -1
  150. package/lib/typescript/module/rating/RatingInput.d.ts +8 -0
  151. package/lib/typescript/module/rating/RatingInput.d.ts.map +1 -0
  152. package/lib/typescript/module/rating/index.d.ts +2 -1
  153. package/lib/typescript/module/rating/index.d.ts.map +1 -1
  154. package/lib/typescript/module/rating/types.d.ts +31 -0
  155. package/lib/typescript/module/rating/types.d.ts.map +1 -1
  156. package/lib/typescript/module/stay-search/DestinationSuggestions.d.ts +8 -0
  157. package/lib/typescript/module/stay-search/DestinationSuggestions.d.ts.map +1 -1
  158. package/lib/typescript/module/stay-search/GuestPicker.d.ts +6 -1
  159. package/lib/typescript/module/stay-search/GuestPicker.d.ts.map +1 -1
  160. package/lib/typescript/module/stay-search/types.d.ts +20 -0
  161. package/lib/typescript/module/stay-search/types.d.ts.map +1 -1
  162. package/lib/typescript/module/track-list/parts.d.ts.map +1 -1
  163. package/package.json +1 -1
  164. package/src/app-shell/AppShell.tsx +91 -4
  165. package/src/app-shell/layout.ts +10 -5
  166. package/src/app-shell/types.ts +12 -2
  167. package/src/content-panel/ContentPanel.tsx +8 -2
  168. package/src/content-panel/ContentPanel.web.tsx +39 -25
  169. package/src/content-panel/types.ts +50 -42
  170. package/src/date-picker/TimeField.tsx +162 -0
  171. package/src/date-picker/index.ts +6 -0
  172. package/src/date-picker/time.ts +158 -0
  173. package/src/date-picker/types.ts +52 -3
  174. package/src/index.ts +9 -2
  175. package/src/index.web.ts +9 -2
  176. package/src/listing-card/ListingCard.tsx +34 -1
  177. package/src/listing-card/WishlistCard.tsx +42 -6
  178. package/src/listing-card/shared.ts +22 -0
  179. package/src/listing-card/types.ts +37 -0
  180. package/src/message-bubble/MessageBubble.tsx +21 -1
  181. package/src/rating/RatingInput.tsx +214 -0
  182. package/src/rating/index.ts +9 -1
  183. package/src/rating/types.ts +33 -0
  184. package/src/stay-search/DestinationSuggestions.tsx +48 -9
  185. package/src/stay-search/GuestPicker.tsx +9 -0
  186. package/src/stay-search/types.ts +20 -0
  187. package/src/track-list/parts.tsx +1 -20
@@ -120,6 +120,26 @@ export interface ListingCardProps {
120
120
  onFavoriteChange?: (favorite: boolean) => void;
121
121
  /** Called when the card is pressed. */
122
122
  onPress?: () => void;
123
+ /**
124
+ * A long press on the card — a shortcut to a sheet or a menu ("save to a
125
+ * folder"). A long press has no keyboard equivalent and no name to announce,
126
+ * so whatever it reaches must be reachable another way too.
127
+ */
128
+ onLongPress?: () => void;
129
+ /**
130
+ * Web only — right-click, the pointer's spelling of the same shortcut. The
131
+ * event is defaulted for you, so the browser's own menu ("open in a new tab")
132
+ * does not appear on the card while this is set. Same contract as
133
+ * `MessageBubble`'s.
134
+ */
135
+ onContextMenu?: () => void;
136
+ /**
137
+ * Zooms the photo a little while the pointer is over the card (WEB ONLY —
138
+ * there is no hover on a touch screen, and no reduced-motion-safe way to do
139
+ * it on native). Default `false`. Skipped under
140
+ * `prefers-reduced-motion: reduce`.
141
+ */
142
+ hoverZoom?: boolean;
123
143
  /**
124
144
  * The stay's URL. On web the card is a real `<a href>` (open in a new tab,
125
145
  * copy link); with `onPress` too the default navigation is prevented so a
@@ -195,6 +215,23 @@ export interface WishlistCardProps {
195
215
  onPress?: () => void;
196
216
  /** The collection's URL; a real `<a href>` on web, like `ListingCard`. */
197
217
  href?: string;
218
+ /**
219
+ * A glyph left of the name, 16px — what the collection IS ("Coast weekends"
220
+ * beside a heart, "Viewings booked" beside a calendar). Decorative: the name
221
+ * beside it is what a screen reader reads.
222
+ */
223
+ icon?: BloomIconComponent;
224
+ /**
225
+ * The `icon`'s colour, and the tint of the cover while the collection is
226
+ * empty. Default: the secondary text colour, and the plain placeholder.
227
+ */
228
+ color?: string;
229
+ /**
230
+ * What the cover shows while `photos` is empty — a glyph, a line of text, an
231
+ * "Add your first save" affordance. Without it an empty collection draws the
232
+ * plain placeholder square it draws today.
233
+ */
234
+ empty?: ReactNode;
198
235
  /** Replaces the composed name ("Coast weekends, 12 saved"). */
199
236
  accessibilityLabel?: string;
200
237
  style?: StyleProp<ViewStyle>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/listing-card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEzF,yFAAyF;AACzF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,SAAS,CAAC;AAE3D,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,8FAA8F;AAC9F,+FAA+F;AAC/F,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAEjD,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,4HAA4H;AAC5H,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9B,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uFAAuF;IACvF,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,6FAA6F;IAC7F,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9B,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/listing-card/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AA4ChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgDlD,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,QAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,IAAY,EACZ,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,OAAe,EACf,MAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAmB,EACnB,OAAe,EACf,OAAO,EACP,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAA4B,EAC5B,MAAM,EACN,kBAAkB,EAClB,KAAK,EACL,WAAW,EACX,SAAS,EACT,MAAM,GACP,EAAE,kBAAkB,2CAmSpB;AAED,eAAO,MAAM,aAAa,0DAA+B,CAAC"}
1
+ {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/message-bubble/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AA4ChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgDlD,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,QAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,IAAY,EACZ,UAAU,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,OAAe,EACf,MAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAmB,EACnB,OAAe,EACf,OAAO,EACP,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAA4B,EAC5B,MAAM,EACN,kBAAkB,EAClB,KAAK,EACL,WAAW,EACX,SAAS,EACT,MAAM,GACP,EAAE,kBAAkB,2CAuTpB;AAED,eAAO,MAAM,aAAa,0DAA+B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { RatingInputProps } from './types';
3
+ /** `1 star`, `4 stars`. English — `formatStarLabel` replaces it. */
4
+ export declare function defaultStarLabel(value: number): string;
5
+ declare function RatingInputComponent({ value, onChange, max, size, disabled, accessibilityLabel, formatStarLabel, style, testID, }: RatingInputProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare const RatingInput: React.MemoExoticComponent<typeof RatingInputComponent>;
7
+ export {};
8
+ //# sourceMappingURL=RatingInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RatingInput.d.ts","sourceRoot":"","sources":["../../../../src/rating/RatingInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAYpE,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAC;AA+DjE,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,GAAO,EACP,IAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,eAAkC,EAClC,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CAwHlB;AAED,eAAO,MAAM,WAAW,wDAA6B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { Rating } from './Rating';
2
2
  export { RatingBar } from './RatingBar';
3
- export type { RatingBarProps, RatingCountStyle, RatingProps, RatingSize } from './types';
3
+ export { RatingInput } from './RatingInput';
4
+ export type { RatingBarProps, RatingCountStyle, RatingInputProps, RatingInputSize, RatingProps, RatingSize, } from './types';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rating/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rating/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC"}
@@ -28,6 +28,37 @@ export interface RatingProps {
28
28
  style?: StyleProp<ViewStyle>;
29
29
  testID?: string;
30
30
  }
31
+ /** `small` is a 24px star, `medium` (default) 32, `large` 40. */
32
+ export type RatingInputSize = 'small' | 'medium' | 'large';
33
+ export interface RatingInputProps {
34
+ /**
35
+ * The chosen rating, `1..max`, or `null` while nothing is chosen. Fully
36
+ * controlled — the component keeps no value of its own.
37
+ */
38
+ value: number | null;
39
+ /** Called with the chosen rating. Never called with the value already chosen. */
40
+ onChange: (value: number) => void;
41
+ /** How many stars. Default `5`. */
42
+ max?: number;
43
+ /** Default `medium`. */
44
+ size?: RatingInputSize;
45
+ /** Disables the whole group: no press, no keyboard, dimmed. */
46
+ disabled?: boolean;
47
+ /**
48
+ * The NAME of what is being rated ("Overall rating", "Cleanliness").
49
+ * Required: the group draws nothing but stars, so nothing else can tell a
50
+ * screen reader which of several ratings this one is.
51
+ */
52
+ accessibilityLabel: string;
53
+ /**
54
+ * Each star's own name, which is English by default (`"1 star"`,
55
+ * `"4 stars"`). Pass a translated formatter.
56
+ */
57
+ formatStarLabel?: (value: number, max: number) => string;
58
+ style?: StyleProp<ViewStyle>;
59
+ /** Derives `-star-<n>` for each star. */
60
+ testID?: string;
61
+ }
31
62
  export interface RatingBarProps {
32
63
  /** What the row measures ("Cleanliness", "5 stars"). Also the bar's accessible name. */
33
64
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/rating/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uGAAuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/rating/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uGAAuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iFAAiF;IACjF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1,5 +1,13 @@
1
1
  import React from 'react';
2
2
  import type { DestinationSuggestionsProps } from './types';
3
+ /**
4
+ * The next row the arrow keys land on, stepping OVER every disabled one and
5
+ * wrapping once. `-1` when every row is disabled — the highlight then stays
6
+ * where it is rather than landing on a row that answers nothing. Pure.
7
+ */
8
+ export declare function nextSelectable(items: readonly {
9
+ disabled?: boolean;
10
+ }[], from: number, step: 1 | -1): number;
3
11
  declare function DestinationSuggestionsComponent({ items, onSelect, heading, highlightedIndex, onHighlightedIndexChange, accessibilityLabel, style, testID, }: DestinationSuggestionsProps): import("react/jsx-runtime").JSX.Element;
4
12
  export declare const DestinationSuggestions: React.MemoExoticComponent<typeof DestinationSuggestionsComponent>;
5
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DestinationSuggestions.d.ts","sourceRoot":"","sources":["../../../../src/stay-search/DestinationSuggestions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAY/E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AA0B3D,iBAAS,+BAA+B,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,2BAA2B,2CA8G7B;AAED,eAAO,MAAM,sBAAsB,mEAAwC,CAAC"}
1
+ {"version":3,"file":"DestinationSuggestions.d.ts","sourceRoot":"","sources":["../../../../src/stay-search/DestinationSuggestions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAa/E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAiC3D;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EACxC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GACX,MAAM,CAWR;AAED,iBAAS,+BAA+B,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,2BAA2B,2CAuH7B;AAED,eAAO,MAAM,sBAAsB,mEAAwC,CAAC"}
@@ -5,6 +5,11 @@ import type { GuestPickerProps } from './types';
5
5
  * them — the one guests picker, used by the search bar's "Who" panel and the
6
6
  * booking card's guests popover alike. Then an optional note and "Close".
7
7
  *
8
+ * The stepper button names travel too: `decrementLabel` / `incrementLabel`
9
+ * reach every row, so the two words a screen reader reads on the eight buttons
10
+ * are translatable like everything else the family draws. Their default is
11
+ * `Stepper`'s own English pair.
12
+ *
8
13
  * Two rules:
9
14
  * - while any child, infant or pet is counted, adults cannot go below 1 (the
10
15
  * adults `−` disables there), and adding one of them with no adults sets
@@ -13,7 +18,7 @@ import type { GuestPickerProps } from './types';
13
18
  * the cap by lowering that row's `max` to what is left, so the stepper's own
14
19
  * clamping enforces it.
15
20
  */
16
- declare function GuestPickerComponent({ value, onChange, max, maxGuests, kinds, labels, descriptions, note, onClose, closeLabel, size, style, testID, }: GuestPickerProps): import("react/jsx-runtime").JSX.Element;
21
+ declare function GuestPickerComponent({ value, onChange, max, maxGuests, kinds, labels, descriptions, decrementLabel, incrementLabel, note, onClose, closeLabel, size, style, testID, }: GuestPickerProps): import("react/jsx-runtime").JSX.Element;
17
22
  export declare const GuestPicker: React.MemoExoticComponent<typeof GuestPickerComponent>;
18
23
  export {};
19
24
  //# sourceMappingURL=GuestPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GuestPicker.d.ts","sourceRoot":"","sources":["../../../../src/stay-search/GuestPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAWpC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK3D;;;;;;;;;;;;GAYG;AACH,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,GAAG,EACH,SAAS,EACT,KAAmB,EACnB,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,UAAoB,EACpB,IAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CAsDlB;AAED,eAAO,MAAM,WAAW,wDAA6B,CAAC"}
1
+ {"version":3,"file":"GuestPicker.d.ts","sourceRoot":"","sources":["../../../../src/stay-search/GuestPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAWpC,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK3D;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,GAAG,EACH,SAAS,EACT,KAAmB,EACnB,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAoB,EACpB,IAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CAwDlB;AAED,eAAO,MAAM,WAAW,wDAA6B,CAAC"}
@@ -89,6 +89,18 @@ export interface DestinationSuggestion {
89
89
  description?: string;
90
90
  /** A Remix icon component (`RiMapPinLine`, `RiTimeLine`…). Default `RiMapPinLine`. */
91
91
  icon?: ButtonIconComponent;
92
+ /**
93
+ * The row is offered but cannot be chosen — "Use my location" while location
94
+ * is off. It dims, answers no press, and the arrow keys step over it.
95
+ */
96
+ disabled?: boolean;
97
+ /**
98
+ * Why it cannot be chosen ("Location is off"). Drawn in place of
99
+ * `description` while `disabled`, and read after the title, so the row says
100
+ * what is wrong rather than only looking wrong. Ignored when the row is not
101
+ * disabled.
102
+ */
103
+ disabledReason?: string;
92
104
  }
93
105
  export interface DestinationSuggestionsProps {
94
106
  items: readonly DestinationSuggestion[];
@@ -123,6 +135,14 @@ export interface GuestPickerProps {
123
135
  labels?: Partial<Record<GuestKind, string>>;
124
136
  /** Override descriptions (`null` hides one). */
125
137
  descriptions?: Partial<Record<GuestKind, string | null>>;
138
+ /**
139
+ * The name of every row's `−` button, which is English by default
140
+ * (`"Decrease"`). Same spelling as `Stepper`'s, and passed to every row — the
141
+ * row's own title is what says WHICH counter it belongs to.
142
+ */
143
+ decrementLabel?: string;
144
+ /** The name of every row's `+` button. Default `"Increase"`. */
145
+ incrementLabel?: string;
126
146
  /**
127
147
  * The most guests the place takes, counting adults and children (infants and
128
148
  * pets do not count). Their `+` buttons disable once the sum reaches it.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/stay-search/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/stay-search/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../../../src/track-list/parts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAAe,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAgBvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,qEAAqE;AACrE,UAAU,oBAAoB;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iGAAiG;IACjG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EAAE,IAAI,EACV,kBAAkB,EAClB,OAAO,EACP,QAAgB,EAChB,OAAO,EACP,WAAW,EACX,KAAU,EACV,MAAM,EACN,iBAAiB,EAAE,KAAK,EACxB,GAAG,IAAI,EACR,EAAE,oBAAoB,2CA8CtB;AAED,8EAA8E;AAC9E,eAAO,MAAM,UAAU;YAMb,MAAM;UACR,MAAM;YACJ,MAAM;aACL,OAAO;EAgChB,CAAC;AAEH,sHAAsH;AACtH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,GACP,EAAE;IACD,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,2CAiCA"}
1
+ {"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../../../src/track-list/parts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAe,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAcvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,qEAAqE;AACrE,UAAU,oBAAoB;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iGAAiG;IACjG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EAAE,IAAI,EACV,kBAAkB,EAClB,OAAO,EACP,QAAgB,EAChB,OAAO,EACP,WAAW,EACX,KAAU,EACV,MAAM,EACN,iBAAiB,EAAE,KAAK,EACxB,GAAG,IAAI,EACR,EAAE,oBAAoB,2CA6BtB;AAED,8EAA8E;AAC9E,eAAO,MAAM,UAAU;YAMb,MAAM;UACR,MAAM;YACJ,MAAM;aACL,OAAO;EAgChB,CAAC;AAEH,sHAAsH;AACtH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,GACP,EAAE;IACD,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,2CAiCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/app-shell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAyB1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA2nB7C,eAAO,MAAM,QAAQ,2CAA0B,CAAC"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/app-shell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAyB1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAktB7C,eAAO,MAAM,QAAQ,2CAA0B,CAAC"}
@@ -5,10 +5,11 @@ export type ScrollMode = 'document' | 'container' | 'fixed';
5
5
  * Which frame a shell actually gets.
6
6
  *
7
7
  * Native has no document, so `document` falls back to `container` there.
8
- * `split` is the other reduction: its panes each own their scrolling, which is
9
- * only expressible inside a bounded box — a document-scrolling split would have
10
- * one pane growing the page and the others pinned to nothing. So `split`
11
- * resolves `document` to `fixed` (one screen) and honours `container` as-is.
8
+ * `split` and `canvas` are the other reductions: a split's panes each own their
9
+ * scrolling, which is only expressible inside a bounded box (a document-
10
+ * scrolling split would have one pane growing the page and the others pinned to
11
+ * nothing), and a canvas is the viewport itself. Both resolve `document` to
12
+ * `fixed` (one screen) and honour `container` as-is.
12
13
  */
13
14
  export declare function resolveScrollMode(variant: AppShellVariant, scroll: AppShellScroll): ScrollMode;
14
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/app-shell/layout.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AAE5D;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,UAAU,CAI9F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,WAA6D,CAAC;AAEzF,sDAAsD;AACtD,eAAO,MAAM,aAAa,EAAE,WAA6D,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,WAG6B,CAAC;AAEtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAQrD"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/app-shell/layout.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AAE5D;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,UAAU,CAQ9F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,WAA6D,CAAC;AAEzF,sDAAsD;AACtD,eAAO,MAAM,aAAa,EAAE,WAA6D,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,WAG6B,CAAC;AAEtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAQrD"}
@@ -29,8 +29,14 @@ export type AppShellDrawer = 'overlay' | 'reveal';
29
29
  * - `focus` — a single centred column of `contentWidth` and NO nav: sign-in,
30
30
  * onboarding, a reader. It keeps the header, `topBar`, `bottomBar` and
31
31
  * `floatingAction` slots, so a sign-up flow still gets its footer CTA.
32
+ * - `canvas` — the content is the SCREEN: one edge-to-edge area with no reading
33
+ * column, no max width and no padding, exactly one viewport tall, and the
34
+ * chrome floats over it. A map, a board, an editor, a photo viewer. Each
35
+ * region keeps its own inset (the nav is still a card with a gutter around
36
+ * it) so only the canvas runs to the edge. Like `split`, it never scrolls the
37
+ * document — the canvas owns its own panning and zooming.
32
38
  */
33
- export type AppShellVariant = 'dashboard' | 'feed' | 'split' | 'focus';
39
+ export type AppShellVariant = 'dashboard' | 'feed' | 'split' | 'focus' | 'canvas';
34
40
  /** Which single pane a `split` shell shows below `splitFrom`. */
35
41
  export type AppShellPane = 'list' | 'detail' | 'info';
36
42
  /** A tier from `BREAKPOINTS`, the one source of truth for widths. */
@@ -100,7 +106,11 @@ export interface AppShellProps {
100
106
  asideWidth?: number;
101
107
  /** The breakpoint the aside sits beside the content from. Defaults to `xl` (1280). */
102
108
  asideFrom?: AppShellBreakpoint;
103
- /** Below `asideFrom`: `stack` (default) renders it after the content, `hidden` drops it. */
109
+ /**
110
+ * Below `asideFrom`: `stack` (default) renders it after the content, `hidden`
111
+ * drops it. `canvas` always drops it — the screen is the canvas, so there is
112
+ * no column underneath to stack into.
113
+ */
104
114
  asideCollapse?: 'stack' | 'hidden';
105
115
  children?: ReactNode;
106
116
  /** The content column's max width. Defaults to 1300. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app-shell/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app-shell/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPanel.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/ContentPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AAWpC,OAAO,KAAK,EAAgC,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,wDAAwD;AACxD,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAkFpC,eAAO,MAAM,YAAY,+CAA8B,CAAC"}
1
+ {"version":3,"file":"ContentPanel.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/ContentPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AAWpC,OAAO,KAAK,EAAgC,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,wDAAwD;AACxD,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAwFpC,eAAO,MAAM,YAAY,+CAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPanel.web.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/ContentPanel.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AAapC,OAAO,KAAK,EAAgC,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,6DAA6D;AAC7D,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAwMpC,eAAO,MAAM,YAAY,+CAA8B,CAAC"}
1
+ {"version":3,"file":"ContentPanel.web.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/ContentPanel.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,OAAO,KAAe,MAAM,OAAO,CAAC;AAapC,OAAO,KAAK,EAAgC,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,6DAA6D;AAC7D,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAsNpC,eAAO,MAAM,YAAY,+CAA8B,CAAC"}
@@ -49,6 +49,28 @@ export interface ContentPanelProps {
49
49
  * For an app that wants its own elevation without giving up the hairline.
50
50
  */
51
51
  shadow?: string;
52
+ /**
53
+ * The panel is the HEIGHT OF THE SPACE IT IS GIVEN, and its content scrolls
54
+ * inside it — instead of the panel growing with its content while the page
55
+ * scrolls underneath.
56
+ *
57
+ * This is what makes a framed column read as a panel: it reaches the bottom
58
+ * of the screen and closes there, the way the rail beside it does. Without
59
+ * it, a feed taller than the window gives a panel whose top edge you see and
60
+ * whose bottom edge is somewhere past the fold — an open-ended column, not a
61
+ * surface.
62
+ *
63
+ * It needs a parent that BOUNDS it (a flex column with a real height): an
64
+ * `AppShell` with `scroll="fixed"` or `scroll="container"`, or any screen
65
+ * that is `flex: 1`. In a document-scrolled page there is no height to fill
66
+ * and the panel keeps growing with its content — that page wants
67
+ * `scroll="document"`, not this prop.
68
+ *
69
+ * On web the content wrapper becomes the scroller. On native the panel and
70
+ * its content are already `flex: 1`, so a `FlatList`/`ScrollView` inside
71
+ * fills the panel and scrolls within it.
72
+ */
73
+ fill?: boolean;
52
74
  /** Override the surface background utility (defaults to `bg-card`). */
53
75
  surfaceClassName?: string;
54
76
  surfaceStyle?: StyleProp<ViewStyle>;
@@ -86,53 +108,42 @@ export interface ContentPanelProps {
86
108
  */
87
109
  maskColor?: string;
88
110
  /**
89
- * How the WEB overlays (bleed-mask, border-frame) size themselves. No-op on
90
- * native (there are no overlays to size).
91
- * - `'viewport'` (DEFAULT) — sized to the dynamic viewport height (`100dvh`)
92
- * and `position: sticky`-pinned, so they read as a constant frame around
93
- * the visible slice of a panel whose own DOM height can exceed one screen
94
- * — the document-scroll case (e.g. a feed whose page grows with content).
95
- * Requires the panel to sit in a document that actually scrolls; see
96
- * `ContentPanel.web.tsx`'s doc comment.
97
- * - `'panel'` — sized to the panel's own real box via CSS Grid layer-
98
- * stacking (the overlays and the content wrapper all occupy the same
99
- * grid cell) instead of viewport math. The right mode for a consumer
100
- * whose own shell already bounds the panel's height (no document
101
- * scroll — a fixed app shell with its own internal scroll containers),
102
- * where anything the consumer places outside the panel (e.g. a header
103
- * above it) must never be overlapped by an overlay sized to the whole
104
- * viewport.
105
- */
106
- /**
107
- * DEFAULT `'panel'`. The edge describes the panel's OWN box, so it scrolls
108
- * with the content like any other border: on a page taller than the screen
109
- * you see the two side edges while scrolling and the rounded corners at the
110
- * ends, which is what a long framed column looks like.
111
+ * How the WEB overlays (the bleed-mask and the border frame) size themselves.
112
+ * No-op on native (there are no overlays to size).
111
113
  *
112
- * `'viewport'` is the older behaviour: the frame is a screen-tall sticky
113
- * rectangle, so a rounded top and bottom edge follow the viewport down the
114
- * page. It reads as the panel breathing — the frame holds still while the
115
- * content moves inside it, and it jumps 8px on the first scroll — which is
116
- * why it is no longer the default. It remains for a consumer that wants that
117
- * constant frame.
114
+ * - `'viewport'` (DEFAULT) — the frame is a SCREEN-TALL sticky rectangle:
115
+ * `100dvh` minus the insets, pinned at `overlayInset`. The panel's own box
116
+ * grows with its content and the document scrolls it, while the edge stays
117
+ * where the screen is — so the panel reads as a surface that occupies the
118
+ * window from top to bottom and the content moves inside it. This is the
119
+ * mode for a page that scrolls the document.
120
+ * - `'panel'` — the overlays are the panel's OWN box, through CSS Grid
121
+ * layer-stacking (the overlays and the content wrapper share one grid
122
+ * cell). The right mode when the panel's box already IS the visible area
123
+ * (`fill`, inside a shell that bounds it) or when something the consumer
124
+ * placed outside the panel — a header above it — must never be painted
125
+ * over by an overlay sized to the whole viewport.
118
126
  */
119
127
  overlaySizing?: 'viewport' | 'panel';
120
128
  /**
121
- * Pixels of REAL, persistent chrome the consumer has placed above the panel
122
- * — outside it, in normal document flow — that the viewport-mode overlays
123
- * (`overlaySizing="viewport"`, the default) do not otherwise know about.
124
- * No-op when `overlaySizing="panel"` (that mode already starts at the
125
- * panel's own box, wherever that is) and on native (no overlays there).
129
+ * The gap between the VIEWPORT's edge and the sticky frame, in `'viewport'`
130
+ * mode. Default 8.
131
+ *
132
+ * **It must equal the distance from the top of the screen to the panel's own
133
+ * top edge.** Sticky positioning leaves an element at its static position
134
+ * until scrolling would push it past the inset — so a panel that starts 16px
135
+ * down the page with an 8px inset draws its frame at 16, then SNAPS it to 8
136
+ * on the first scroll. That 8px jump is the whole bug, and it reads as the
137
+ * panel breathing. A shell passes its own gutter here.
126
138
  *
127
- * The overlays are sized/positioned off the VIEWPORT (`top: 8px`,
128
- * `height: calc(100dvh - 16px)`) on the assumption that the panel begins
129
- * near the true top of the screen. A consumer with its own sticky chrome
130
- * above the panel (a header, say, kept sticky-pinned the same way) shifts
131
- * where the panel visually starts without moving the panel's own DOM
132
- * position, so the overlays would still read from viewport 0 and paint
133
- * over that chrome. This shifts their `top` down and shrinks their height
134
- * by the same amount, so they begin exactly where the panel visually does.
139
+ * Takes a pair when the top and the bottom differ — persistent chrome above
140
+ * the panel (a sticky header the consumer keeps outside it) shifts where the
141
+ * panel visually starts without moving its DOM position, so the frame has to
142
+ * start lower without also ending higher.
135
143
  */
136
- overlayTopOffset?: number;
144
+ overlayInset?: number | {
145
+ top: number;
146
+ bottom: number;
147
+ };
137
148
  }
138
149
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAElE,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IACrC;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/content-panel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAElE,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IACrC;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { TimeFieldProps } from './types';
3
+ declare function TimeFieldComponent({ value, onChange, min, max, step, hourFormat, size, disabled, accessibilityLabel, placeholder, width, style, testID, }: TimeFieldProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare const TimeField: React.MemoExoticComponent<typeof TimeFieldComponent>;
5
+ export {};
6
+ //# sourceMappingURL=TimeField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeField.d.ts","sourceRoot":"","sources":["../../../../src/date-picker/TimeField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAUlE,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,SAAS,CAAC;AA6C7D,iBAAS,kBAAkB,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,EACH,IAAQ,EACR,UAAkB,EAClB,IAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,cAAc,2CAyFhB;AAED,eAAO,MAAM,SAAS,sDAA2B,CAAC"}
@@ -2,5 +2,6 @@ export { Calendar, RangeCalendar } from './Calendar';
2
2
  export { DatePicker } from './DatePicker';
3
3
  export { DateRangePicker } from './DateRangePicker';
4
4
  export { MeetingScheduler } from './MeetingScheduler';
5
- export type { CalendarConstraintProps, CalendarProps, DatePickerProps, DateRange, DateRangePickerProps, MeetingSchedulerDetails, MeetingSchedulerHost, MeetingSchedulerHourFormat, MeetingSchedulerLabels, MeetingSchedulerProps, MeetingSchedulerValue, RangeCalendarProps, WeekStart, } from './types';
5
+ export { TimeField } from './TimeField';
6
+ export type { CalendarConstraintProps, CalendarProps, DatePickerProps, DateRange, DateRangePickerProps, HourFormat, MeetingSchedulerDetails, MeetingSchedulerHost, MeetingSchedulerHourFormat, MeetingSchedulerLabels, MeetingSchedulerProps, MeetingSchedulerValue, RangeCalendarProps, TimeFieldProps, TimeFieldSize, WeekStart, } from './types';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-picker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,YAAY,EACV,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,GACV,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-picker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,YAAY,EACV,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,SAAS,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { HourFormat } from './types';
2
+ /**
3
+ * Time of day as the family already spells it: a 24-hour `"HH:mm"` string.
4
+ * `MeetingScheduler`'s `timeSlots` and `MeetingSchedulerValue.time` are the same
5
+ * shape, so a `TimeField` value drops straight into one.
6
+ *
7
+ * Everything here is pure, exported, and where the parsing rules live — a field
8
+ * that keeps its own draft cannot be tested through the DOM for every spelling
9
+ * somebody might type.
10
+ */
11
+ /** Minutes since midnight, `0..1439`. */
12
+ export type Minutes = number;
13
+ /** `"14:30"` → 870. `null` for anything that is not a 24h `HH:mm`. */
14
+ export declare function toMinutes(value: string): Minutes | null;
15
+ /** 870 → `"14:30"`. Wraps within the day, so 1440 is `"00:00"`. */
16
+ export declare function fromMinutes(minutes: Minutes): string;
17
+ /** `"14:30"` → `"14:30"` (24h) or `"2:30 PM"` (12h). */
18
+ export declare function formatTime(value: string, hourFormat: HourFormat): string;
19
+ /**
20
+ * What somebody typed → `"HH:mm"`, or `null` when it is not a time.
21
+ *
22
+ * Deliberately forgiving, because a field that only accepts what it printed is
23
+ * a field people fight: `9`, `930`, `9.30`, `9:3`, `0930`, `9 30`, `9pm`,
24
+ * `9:30 p.m.` and `21:30` all parse. A bare number under 24 is an HOUR (`9` is
25
+ * 09:00), four digits are `HHMM` (`0930`); `AM`/`PM` decides the half of the
26
+ * day whatever `hourFormat` says, because somebody who typed `pm` means pm.
27
+ * Without a marker, 24h reads the hour as given and 12h keeps `1..12` in the
28
+ * morning — the value is still `"HH:mm"`, so a caller never has to know which.
29
+ */
30
+ export declare function parseTime(text: string, hourFormat?: HourFormat): string | null;
31
+ /**
32
+ * The nearest multiple of `step` minutes (or the next one up/down, per
33
+ * `round`), at or after `min` and at or before `max`. `step` counts from
34
+ * MIDNIGHT, so 15 gives :00 :15 :30 :45 whatever the bounds are — a step
35
+ * measured from `min` would put the round times off the grid the moment a shop
36
+ * opened at 09:10. Never crosses the end of the day: 23:59 rounded up to a
37
+ * 30-minute grid stays inside it rather than wrapping to the other end.
38
+ */
39
+ export declare function snapTime(value: string, { step, min, max, round, }?: {
40
+ step?: number;
41
+ min?: string;
42
+ max?: string;
43
+ round?: 'nearest' | 'up' | 'down';
44
+ }): string | null;
45
+ /**
46
+ * One arrow press: `direction * step` minutes from `value`, or the first time
47
+ * inside the bounds when there is no value yet. Clamps at the bounds rather
48
+ * than wrapping — a wrap past `max` back to `min` reads as the field refusing
49
+ * the key.
50
+ */
51
+ export declare function stepTime(value: string | null, direction: 1 | -1, { step, min, max }?: {
52
+ step?: number;
53
+ min?: string;
54
+ max?: string;
55
+ }): string | null;
56
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../../src/date-picker/time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;GAQG;AAEH,yCAAyC;AACzC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAI7B,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAIvD;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAKpD;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CASxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,UAAkB,GAAG,MAAM,GAAG,IAAI,CA+BrF;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,EACE,IAAQ,EACR,GAAG,EACH,GAAG,EACH,KAAiB,GAClB,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAAA;CAAO,GACvF,MAAM,GAAG,IAAI,CAkBf;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,EACjB,EAAE,IAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,MAAM,GAAG,IAAI,CAuBf"}