@oxy.so/bloom 6.0.0 → 6.2.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.
- package/README.md +1 -1
- package/docs/adoption-matrix.mdx +5 -3
- package/docs/chat-composer.mdx +5 -1
- package/docs/cover-header.mdx +56 -0
- package/docs/message-media.mdx +5 -0
- package/docs/sticker.mdx +64 -0
- package/lib/commonjs/ai-profile-card/AiProfileCard.js +186 -263
- package/lib/commonjs/ai-profile-card/AiProfileCard.js.map +1 -1
- package/lib/commonjs/chat-composer/SuggestionList.js +3 -1
- package/lib/commonjs/chat-composer/SuggestionList.js.map +1 -1
- package/lib/commonjs/chat-composer/SuggestionList.web.js +3 -1
- package/lib/commonjs/chat-composer/SuggestionList.web.js.map +1 -1
- package/lib/commonjs/chat-composer/create-suggestion-list.js +64 -10
- package/lib/commonjs/chat-composer/create-suggestion-list.js.map +1 -1
- package/lib/commonjs/chat-composer/messages.js +7 -0
- package/lib/commonjs/chat-composer/messages.js.map +1 -1
- package/lib/commonjs/cover-header/CoverHeader.js +83 -0
- package/lib/commonjs/cover-header/CoverHeader.js.map +1 -0
- package/lib/commonjs/cover-header/CoverImage.js +72 -0
- package/lib/commonjs/cover-header/CoverImage.js.map +1 -0
- package/lib/commonjs/cover-header/index.js +13 -0
- package/lib/commonjs/cover-header/index.js.map +1 -0
- package/lib/commonjs/cover-header/types.js +6 -0
- package/lib/commonjs/cover-header/types.js.map +1 -0
- package/lib/commonjs/index.js +972 -938
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +982 -948
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/locale/translations/ar.js +7 -0
- package/lib/commonjs/locale/translations/ar.js.map +1 -1
- package/lib/commonjs/locale/translations/bn.js +7 -0
- package/lib/commonjs/locale/translations/bn.js.map +1 -1
- package/lib/commonjs/locale/translations/ca.js +7 -0
- package/lib/commonjs/locale/translations/ca.js.map +1 -1
- package/lib/commonjs/locale/translations/de.js +7 -0
- package/lib/commonjs/locale/translations/de.js.map +1 -1
- package/lib/commonjs/locale/translations/es.js +7 -0
- package/lib/commonjs/locale/translations/es.js.map +1 -1
- package/lib/commonjs/locale/translations/fr.js +7 -0
- package/lib/commonjs/locale/translations/fr.js.map +1 -1
- package/lib/commonjs/locale/translations/hi.js +7 -0
- package/lib/commonjs/locale/translations/hi.js.map +1 -1
- package/lib/commonjs/locale/translations/id.js +7 -0
- package/lib/commonjs/locale/translations/id.js.map +1 -1
- package/lib/commonjs/locale/translations/it.js +7 -0
- package/lib/commonjs/locale/translations/it.js.map +1 -1
- package/lib/commonjs/locale/translations/ja.js +7 -0
- package/lib/commonjs/locale/translations/ja.js.map +1 -1
- package/lib/commonjs/locale/translations/pt.js +7 -0
- package/lib/commonjs/locale/translations/pt.js.map +1 -1
- package/lib/commonjs/locale/translations/ru.js +7 -0
- package/lib/commonjs/locale/translations/ru.js.map +1 -1
- package/lib/commonjs/locale/translations/tr.js +7 -0
- package/lib/commonjs/locale/translations/tr.js.map +1 -1
- package/lib/commonjs/locale/translations/zh.js +7 -0
- package/lib/commonjs/locale/translations/zh.js.map +1 -1
- package/lib/commonjs/message-media/StickerMessage.js +11 -2
- package/lib/commonjs/message-media/StickerMessage.js.map +1 -1
- package/lib/commonjs/sticker/Sticker.js +14 -0
- package/lib/commonjs/sticker/Sticker.js.map +1 -0
- package/lib/commonjs/sticker/Sticker.web.js +14 -0
- package/lib/commonjs/sticker/Sticker.web.js.map +1 -0
- package/lib/commonjs/sticker/create-sticker.js +118 -0
- package/lib/commonjs/sticker/create-sticker.js.map +1 -0
- package/lib/commonjs/sticker/index.js +26 -0
- package/lib/commonjs/sticker/index.js.map +1 -0
- package/lib/commonjs/sticker/index.web.js +26 -0
- package/lib/commonjs/sticker/index.web.js.map +1 -0
- package/lib/commonjs/sticker/lottie-module.js +97 -0
- package/lib/commonjs/sticker/lottie-module.js.map +1 -0
- package/lib/commonjs/sticker/lottie-module.web.js +96 -0
- package/lib/commonjs/sticker/lottie-module.web.js.map +1 -0
- package/lib/commonjs/sticker/types.js +6 -0
- package/lib/commonjs/sticker/types.js.map +1 -0
- package/lib/module/ai-profile-card/AiProfileCard.js +185 -262
- package/lib/module/ai-profile-card/AiProfileCard.js.map +1 -1
- package/lib/module/chat-composer/SuggestionList.js +3 -1
- package/lib/module/chat-composer/SuggestionList.js.map +1 -1
- package/lib/module/chat-composer/SuggestionList.web.js +3 -1
- package/lib/module/chat-composer/SuggestionList.web.js.map +1 -1
- package/lib/module/chat-composer/create-suggestion-list.js +64 -10
- package/lib/module/chat-composer/create-suggestion-list.js.map +1 -1
- package/lib/module/chat-composer/messages.js +7 -0
- package/lib/module/chat-composer/messages.js.map +1 -1
- package/lib/module/cover-header/CoverHeader.js +78 -0
- package/lib/module/cover-header/CoverHeader.js.map +1 -0
- package/lib/module/cover-header/CoverImage.js +68 -0
- package/lib/module/cover-header/CoverImage.js.map +1 -0
- package/lib/module/cover-header/index.js +4 -0
- package/lib/module/cover-header/index.js.map +1 -0
- package/lib/module/cover-header/types.js +4 -0
- package/lib/module/cover-header/types.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +2 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/locale/translations/ar.js +7 -0
- package/lib/module/locale/translations/ar.js.map +1 -1
- package/lib/module/locale/translations/bn.js +7 -0
- package/lib/module/locale/translations/bn.js.map +1 -1
- package/lib/module/locale/translations/ca.js +7 -0
- package/lib/module/locale/translations/ca.js.map +1 -1
- package/lib/module/locale/translations/de.js +7 -0
- package/lib/module/locale/translations/de.js.map +1 -1
- package/lib/module/locale/translations/es.js +7 -0
- package/lib/module/locale/translations/es.js.map +1 -1
- package/lib/module/locale/translations/fr.js +7 -0
- package/lib/module/locale/translations/fr.js.map +1 -1
- package/lib/module/locale/translations/hi.js +7 -0
- package/lib/module/locale/translations/hi.js.map +1 -1
- package/lib/module/locale/translations/id.js +7 -0
- package/lib/module/locale/translations/id.js.map +1 -1
- package/lib/module/locale/translations/it.js +7 -0
- package/lib/module/locale/translations/it.js.map +1 -1
- package/lib/module/locale/translations/ja.js +7 -0
- package/lib/module/locale/translations/ja.js.map +1 -1
- package/lib/module/locale/translations/pt.js +7 -0
- package/lib/module/locale/translations/pt.js.map +1 -1
- package/lib/module/locale/translations/ru.js +7 -0
- package/lib/module/locale/translations/ru.js.map +1 -1
- package/lib/module/locale/translations/tr.js +7 -0
- package/lib/module/locale/translations/tr.js.map +1 -1
- package/lib/module/locale/translations/zh.js +7 -0
- package/lib/module/locale/translations/zh.js.map +1 -1
- package/lib/module/message-media/StickerMessage.js +11 -2
- package/lib/module/message-media/StickerMessage.js.map +1 -1
- package/lib/module/sticker/Sticker.js +11 -0
- package/lib/module/sticker/Sticker.js.map +1 -0
- package/lib/module/sticker/Sticker.web.js +11 -0
- package/lib/module/sticker/Sticker.web.js.map +1 -0
- package/lib/module/sticker/create-sticker.js +113 -0
- package/lib/module/sticker/create-sticker.js.map +1 -0
- package/lib/module/sticker/index.js +5 -0
- package/lib/module/sticker/index.js.map +1 -0
- package/lib/module/sticker/index.web.js +10 -0
- package/lib/module/sticker/index.web.js.map +1 -0
- package/lib/module/sticker/lottie-module.js +90 -0
- package/lib/module/sticker/lottie-module.js.map +1 -0
- package/lib/module/sticker/lottie-module.web.js +88 -0
- package/lib/module/sticker/lottie-module.web.js.map +1 -0
- package/lib/module/sticker/types.js +4 -0
- package/lib/module/sticker/types.js.map +1 -0
- package/lib/typescript/commonjs/ai-profile-card/AiProfileCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts +1 -1
- package/lib/typescript/commonjs/chat-composer/SuggestionList.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts +1 -1
- package/lib/typescript/commonjs/chat-composer/SuggestionList.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts +4 -2
- package/lib/typescript/commonjs/chat-composer/create-suggestion-list.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/messages.d.ts +6 -0
- package/lib/typescript/commonjs/chat-composer/messages.d.ts.map +1 -1
- package/lib/typescript/commonjs/chat-composer/types.d.ts +17 -0
- package/lib/typescript/commonjs/chat-composer/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/cover-header/CoverHeader.d.ts +21 -0
- package/lib/typescript/commonjs/cover-header/CoverHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/cover-header/CoverImage.d.ts +11 -0
- package/lib/typescript/commonjs/cover-header/CoverImage.d.ts.map +1 -0
- package/lib/typescript/commonjs/cover-header/index.d.ts +3 -0
- package/lib/typescript/commonjs/cover-header/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/cover-header/types.d.ts +33 -0
- package/lib/typescript/commonjs/cover-header/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +3 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +3 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/ar.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/bn.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/ca.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/de.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/es.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/fr.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/hi.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/id.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/it.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/ja.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/pt.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/ru.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/tr.d.ts.map +1 -1
- package/lib/typescript/commonjs/locale/translations/zh.d.ts.map +1 -1
- package/lib/typescript/commonjs/message-media/StickerMessage.d.ts +3 -2
- package/lib/typescript/commonjs/message-media/StickerMessage.d.ts.map +1 -1
- package/lib/typescript/commonjs/message-media/types.d.ts +3 -0
- package/lib/typescript/commonjs/message-media/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/sticker/Sticker.d.ts +3 -0
- package/lib/typescript/commonjs/sticker/Sticker.d.ts.map +1 -0
- package/lib/typescript/commonjs/sticker/Sticker.web.d.ts +3 -0
- package/lib/typescript/commonjs/sticker/Sticker.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/sticker/create-sticker.d.ts +23 -0
- package/lib/typescript/commonjs/sticker/create-sticker.d.ts.map +1 -0
- package/lib/typescript/commonjs/sticker/index.d.ts +4 -0
- package/lib/typescript/commonjs/sticker/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/sticker/index.web.d.ts +4 -0
- package/lib/typescript/commonjs/sticker/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/sticker/lottie-module.d.ts +23 -0
- package/lib/typescript/commonjs/sticker/lottie-module.d.ts.map +1 -0
- package/lib/typescript/commonjs/sticker/lottie-module.web.d.ts +18 -0
- package/lib/typescript/commonjs/sticker/lottie-module.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/sticker/types.d.ts +43 -0
- package/lib/typescript/commonjs/sticker/types.d.ts.map +1 -0
- package/lib/typescript/module/ai-profile-card/AiProfileCard.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/SuggestionList.d.ts +1 -1
- package/lib/typescript/module/chat-composer/SuggestionList.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts +1 -1
- package/lib/typescript/module/chat-composer/SuggestionList.web.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts +4 -2
- package/lib/typescript/module/chat-composer/create-suggestion-list.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/messages.d.ts +6 -0
- package/lib/typescript/module/chat-composer/messages.d.ts.map +1 -1
- package/lib/typescript/module/chat-composer/types.d.ts +17 -0
- package/lib/typescript/module/chat-composer/types.d.ts.map +1 -1
- package/lib/typescript/module/cover-header/CoverHeader.d.ts +21 -0
- package/lib/typescript/module/cover-header/CoverHeader.d.ts.map +1 -0
- package/lib/typescript/module/cover-header/CoverImage.d.ts +11 -0
- package/lib/typescript/module/cover-header/CoverImage.d.ts.map +1 -0
- package/lib/typescript/module/cover-header/index.d.ts +3 -0
- package/lib/typescript/module/cover-header/index.d.ts.map +1 -0
- package/lib/typescript/module/cover-header/types.d.ts +33 -0
- package/lib/typescript/module/cover-header/types.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +3 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +3 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/ar.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/bn.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/ca.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/de.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/es.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/fr.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/hi.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/id.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/it.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/ja.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/pt.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/ru.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/tr.d.ts.map +1 -1
- package/lib/typescript/module/locale/translations/zh.d.ts.map +1 -1
- package/lib/typescript/module/message-media/StickerMessage.d.ts +3 -2
- package/lib/typescript/module/message-media/StickerMessage.d.ts.map +1 -1
- package/lib/typescript/module/message-media/types.d.ts +3 -0
- package/lib/typescript/module/message-media/types.d.ts.map +1 -1
- package/lib/typescript/module/sticker/Sticker.d.ts +3 -0
- package/lib/typescript/module/sticker/Sticker.d.ts.map +1 -0
- package/lib/typescript/module/sticker/Sticker.web.d.ts +3 -0
- package/lib/typescript/module/sticker/Sticker.web.d.ts.map +1 -0
- package/lib/typescript/module/sticker/create-sticker.d.ts +23 -0
- package/lib/typescript/module/sticker/create-sticker.d.ts.map +1 -0
- package/lib/typescript/module/sticker/index.d.ts +4 -0
- package/lib/typescript/module/sticker/index.d.ts.map +1 -0
- package/lib/typescript/module/sticker/index.web.d.ts +4 -0
- package/lib/typescript/module/sticker/index.web.d.ts.map +1 -0
- package/lib/typescript/module/sticker/lottie-module.d.ts +23 -0
- package/lib/typescript/module/sticker/lottie-module.d.ts.map +1 -0
- package/lib/typescript/module/sticker/lottie-module.web.d.ts +18 -0
- package/lib/typescript/module/sticker/lottie-module.web.d.ts.map +1 -0
- package/lib/typescript/module/sticker/types.d.ts +43 -0
- package/lib/typescript/module/sticker/types.d.ts.map +1 -0
- package/package.json +48 -1
- package/src/ai-profile-card/AiProfileCard.tsx +159 -241
- package/src/chat-composer/SuggestionList.tsx +2 -1
- package/src/chat-composer/SuggestionList.web.tsx +2 -1
- package/src/chat-composer/create-suggestion-list.tsx +54 -8
- package/src/chat-composer/messages.ts +9 -0
- package/src/chat-composer/types.ts +17 -0
- package/src/cover-header/CoverHeader.tsx +75 -0
- package/src/cover-header/CoverImage.tsx +60 -0
- package/src/cover-header/index.ts +3 -0
- package/src/cover-header/types.ts +30 -0
- package/src/index.ts +3 -0
- package/src/index.web.ts +3 -0
- package/src/locale/translations/ar.ts +3 -0
- package/src/locale/translations/bn.ts +3 -0
- package/src/locale/translations/ca.ts +3 -0
- package/src/locale/translations/de.ts +3 -0
- package/src/locale/translations/es.ts +3 -0
- package/src/locale/translations/fr.ts +3 -0
- package/src/locale/translations/hi.ts +3 -0
- package/src/locale/translations/id.ts +3 -0
- package/src/locale/translations/it.ts +3 -0
- package/src/locale/translations/ja.ts +3 -0
- package/src/locale/translations/pt.ts +3 -0
- package/src/locale/translations/ru.ts +3 -0
- package/src/locale/translations/tr.ts +3 -0
- package/src/locale/translations/zh.ts +3 -0
- package/src/message-media/StickerMessage.tsx +21 -8
- package/src/message-media/types.ts +3 -0
- package/src/sticker/Sticker.tsx +5 -0
- package/src/sticker/Sticker.web.tsx +5 -0
- package/src/sticker/create-sticker.tsx +129 -0
- package/src/sticker/index.ts +3 -0
- package/src/sticker/index.web.ts +8 -0
- package/src/sticker/lottie-module.ts +109 -0
- package/src/sticker/lottie-module.web.ts +107 -0
- package/src/sticker/types.ts +45 -0
package/README.md
CHANGED
|
@@ -162,7 +162,7 @@ Icons go one step further: every glyph is its own subpath, `@oxy.so/bloom/icons/
|
|
|
162
162
|
| Overlays | `dialog`, `alert-dialog`, `bottom-sheet`, `popover`, `context-menu`, `dropdown-menu`, `menubar`, `tooltip`, `overlay`, `portal`, `teleport`, `surfaces`, `settings-modal` |
|
|
163
163
|
| Actions | `button`, `button-group`, `social-button`, `fab`, `frosted-icon-button`, `pressable-scale`, `subtle-hover` |
|
|
164
164
|
| Forms | `text-field`, `textarea`, `phone-input`, `input-otp`, `field`, `input-group`, `label`, `select`, `command`, `checkbox`, `radio`, `switch`, `slider`, `segmented-control`, `search`, `date-picker`, `file-upload`, `auth-card`, `stepper`, `rating`, `wizard` |
|
|
165
|
-
| Layout and lists | `grid`, `list`, `scroll`, `settings-list`, `card`, `accordion`, `aspect-ratio`, `divider`, `item`, `carousel` |
|
|
165
|
+
| Layout and lists | `grid`, `list`, `scroll`, `settings-list`, `card`, `cover-header`, `accordion`, `aspect-ratio`, `divider`, `item`, `carousel` |
|
|
166
166
|
| Data and charts | `table`, `data-table`, `chart-cards`, `stat-cards`, `calendar`, `composition-bar`, `dot-grid-meter`, `stat-bar`, `activity-heatmap`, `recent-hires-card`, `patient-info-card`, `important-alerts-card`, `agent-limits-card`, `ai-profile-card` |
|
|
167
167
|
| Music and media | `media-card`, `media-controls`, `media-header`, `media-player`, `media-shelf`, `track-list`, `queue-panel`, `lyrics`, `music-library`, `creator-studio`, `sortable-media` |
|
|
168
168
|
| Housing | `home-search`, `listing-actions`, `listing-editor`, `offering-badge`, `place-reviews`, `property-insights`, `tenancy`, `eviction` |
|
package/docs/adoption-matrix.mdx
CHANGED
|
@@ -32,7 +32,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
|
|
|
32
32
|
|
|
33
33
|
## Totals
|
|
34
34
|
|
|
35
|
-
- **
|
|
35
|
+
- **208 families** in `src/`, **206** published (a subpath, the root barrel, or both). **41** carry a web fork.
|
|
36
36
|
- Docs, stories and suites are gated as a standard by `src/__tests__/family-coverage.test.ts`; the per-family counts are in the table below.
|
|
37
37
|
|
|
38
38
|
| contract | applies to | reads | delegated | n/a¹ | adaptation |
|
|
@@ -163,6 +163,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
|
|
|
163
163
|
| `contact-card` | `@oxy.so/bloom/contact-card` + barrel | universal | `contact-card.mdx` | yes | 2 | | | | |
|
|
164
164
|
| `content-panel` | `@oxy.so/bloom/content-panel` + barrel | web fork | `content-panel.mdx` | yes | 8 | | | | |
|
|
165
165
|
| `context-menu` | `@oxy.so/bloom/context-menu` + barrel | web fork | `context-menu.mdx` | yes | 5 | | | reads | |
|
|
166
|
+
| `cover-header` | `@oxy.so/bloom/cover-header` + barrel | universal | `cover-header.mdx` | yes | 1 | | | | |
|
|
166
167
|
| `creator-studio` | `@oxy.so/bloom/creator-studio` + barrel | universal | `creator-studio.mdx` | yes | 4 | | n/a¹ | | **adaptation** |
|
|
167
168
|
| `data-table` | `@oxy.so/bloom/data-table` + barrel | universal | `data-table.mdx` | yes | 4 | | reads | | reads |
|
|
168
169
|
| `date-picker` | `@oxy.so/bloom/date-picker` + barrel | universal | `date-picker.mdx` | yes | 5 | reads | reads | | reads |
|
|
@@ -228,7 +229,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
|
|
|
228
229
|
| `menu-item` | `@oxy.so/bloom/menu-item` + barrel | universal | `menu-item.mdx` | yes | 1 | | | | |
|
|
229
230
|
| `menubar` | `@oxy.so/bloom/menubar` + barrel | web fork | `menubar.mdx` | yes | 5 | | | reads | reads |
|
|
230
231
|
| `message-bubble` | `@oxy.so/bloom/message-bubble` + barrel | universal | `message-bubble.mdx` | yes | 2 | | | | |
|
|
231
|
-
| `message-media` | `@oxy.so/bloom/message-media` + barrel | universal | `message-media.mdx` | yes |
|
|
232
|
+
| `message-media` | `@oxy.so/bloom/message-media` + barrel | universal | `message-media.mdx` | yes | 3 | n/a¹ | | | |
|
|
232
233
|
| `motion` | `@oxy.so/bloom/motion` + barrel | web fork | `motion.mdx` | yes | 4 | | | | |
|
|
233
234
|
| `music-library` | `@oxy.so/bloom/music-library` + barrel | universal | `music-library.mdx` | yes | 4 | n/a¹ | | | |
|
|
234
235
|
| `navigation-banner` | `@oxy.so/bloom/navigation-banner` + barrel | universal | `navigation-banner.mdx` | yes | 2 | | | | |
|
|
@@ -287,6 +288,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
|
|
|
287
288
|
| `stay-filters` | `@oxy.so/bloom/stay-filters` + barrel | universal | `stay-filters.mdx` | yes | 5 | n/a¹ | reads | | |
|
|
288
289
|
| `stay-search` | `@oxy.so/bloom/stay-search` + barrel | universal | `stay-search.mdx` | yes | 5 | | | | |
|
|
289
290
|
| `stepper` | `@oxy.so/bloom/stepper` + barrel | universal | `stepper.mdx` | yes | 4 | reads | reads | | |
|
|
291
|
+
| `sticker` | `@oxy.so/bloom/sticker` + barrel | web fork | `sticker.mdx` | yes | 1 | | | | |
|
|
290
292
|
| `styles` | `@oxy.so/bloom/styles` + barrel | universal | `styles.mdx` | yes | 83 | n/a¹ | | | |
|
|
291
293
|
| `subtle-hover` | `@oxy.so/bloom/subtle-hover` + barrel | universal | `subtle-hover.mdx` | yes | 1 | | | | |
|
|
292
294
|
| `surface` | `@oxy.so/bloom/surface` + barrel | web fork | `surface.mdx` | yes | 37 | | | | |
|
|
@@ -302,7 +304,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
|
|
|
302
304
|
| `tenancy` | `@oxy.so/bloom/tenancy` + barrel | universal | `tenancy.mdx` | yes | 5 | | reads | | |
|
|
303
305
|
| `text-field` | `@oxy.so/bloom/text-field` + barrel | universal | `text-field.mdx` | yes | 16 | reads | reads | | |
|
|
304
306
|
| `textarea` | `@oxy.so/bloom/textarea` + barrel | universal | `textarea.mdx` | yes | 4 | reads | reads | | n/a¹ |
|
|
305
|
-
| `theme` | `@oxy.so/bloom/theme` + barrel | web fork | `theme.mdx` | yes |
|
|
307
|
+
| `theme` | `@oxy.so/bloom/theme` + barrel | web fork | `theme.mdx` | yes | 345 | | | n/a¹ | reads |
|
|
306
308
|
| `theme-toggle` | `@oxy.so/bloom/theme-toggle` + barrel | universal | `theme-toggle.mdx` | yes | 2 | n/a¹ | | | |
|
|
307
309
|
| `toast` | `@oxy.so/bloom/toast` + barrel | universal | `toast.mdx` | yes | 17 | | | | |
|
|
308
310
|
| `tooltip` | `@oxy.so/bloom/tooltip` + barrel | web fork | `tooltip.mdx` | yes | 1 | | | | |
|
package/docs/chat-composer.mdx
CHANGED
|
@@ -136,6 +136,10 @@ Times ("12:41", "Yesterday") never appear here. `VoiceRecorder` takes `seconds`
|
|
|
136
136
|
|
|
137
137
|
One `SuggestionList` serves all three kinds; only the leading slot differs (an avatar, a glyph disc, the emoji). Rows are `role="option"` inside a `role="listbox"` with `aria-selected` — the spelling react-native-web reads; `accessibilityState` alone would render a list with no state on web. Each row is named by its label **and** handle, because "Ana" alone is ambiguous in a group.
|
|
138
138
|
|
|
139
|
+
A person marked `verified` gets the accent verified badge after the name, and the row's name says so ("Ana Restrepo, Verified, @ana"); the marker belongs to `kind="mention"` only.
|
|
140
|
+
|
|
141
|
+
The list also answers the two states a search passes through. `loading` replaces the rows with a named, busy "Searching…" line, so a list with nothing *yet* is not read as one that found nothing. An empty list still draws nothing by default — right for a composer that shows the list only while it has rows — and `showEmpty` draws the localized "No people found" line instead (`emptyLabel` replaces it), for a picker the user opened on purpose.
|
|
142
|
+
|
|
139
143
|
The list renders **in flow** above the bar rather than in a portal. Anchoring it over the conversation is a layout decision an app makes with its own container (`position: absolute` on a wrapper); a portal here would have to guess the scroll parent.
|
|
140
144
|
|
|
141
145
|
## Voice recorder
|
|
@@ -227,7 +231,7 @@ State colours 150ms; the mic ↔ send cross-fade 220ms; the recording dot pulses
|
|
|
227
231
|
|
|
228
232
|
`ComposerBanner` — `kind`, `title`, `preview`, `thumbnail`, `icon`, `accentColor`, `onClose`, `closeLabel`, `trailing`.
|
|
229
233
|
`ComposerAttachmentStrip` — `attachments`, `onRemove`, `size` (56), `removeLabel`.
|
|
230
|
-
`SuggestionList` — `kind`, `suggestions
|
|
234
|
+
`SuggestionList` — `kind`, `suggestions` (each may carry `verified`), `activeIndex`, `onSelectSuggestion`, `onActiveIndexChange`, `header`, `maxHeight` (232), `loading`, `showEmpty`, `emptyLabel`.
|
|
231
235
|
`VoiceRecorder` — `state`, `seconds`, `duration`, `amplitudes`, `playing`, `onPlayToggle`, `onCancel`, `onDelete`, `onSend`, `onLock`, `slideToCancel`, `labels`.
|
|
232
236
|
`AttachmentMenu` — `open`/`defaultOpen`/`onOpenChange`, `items`, `layout`, `columns`, `onSelect`, `recent`, `label`.
|
|
233
237
|
`EmojiPicker` — `groups`, `onSelectEmoji`, `activeGroup`, `query`, `filter`, `frequentlyUsed`, `skinTone`, `columns` (8), `height` (288), `tabs`, `activeTab`, `labels`.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: CoverHeader
|
|
3
|
+
description: A cover band with content rising into its bottom edge — a profile's banner and the avatar that overlaps it.
|
|
4
|
+
order: 106
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# CoverHeader
|
|
8
|
+
|
|
9
|
+
A cover band (a photo, or anything you draw) and a content column whose top
|
|
10
|
+
rises `overlap` points into the band's bottom edge. It is the geometry of a
|
|
11
|
+
profile page's banner-plus-avatar, and of `AiProfileCard`, which is built on it.
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import { CoverHeader } from '@oxy.so/bloom/cover-header';
|
|
15
|
+
|
|
16
|
+
<CoverHeader coverSource={bannerUrl} coverHeight={170} overlap={45}
|
|
17
|
+
contentStyle={{ paddingHorizontal: 16 }}>
|
|
18
|
+
<Avatar size={90} source={avatarUrl} />
|
|
19
|
+
<Text variant="title-2-medium">Maya Collins</Text>
|
|
20
|
+
</CoverHeader>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Props
|
|
24
|
+
|
|
25
|
+
| Prop | Default | |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| `coverSource` | — | photo across the band; without one the band is `background-tertiary` |
|
|
28
|
+
| `coverPosition` | `{ x: 0.5, y: 0.5 }` | where the crop sits, as `object-position` fractions |
|
|
29
|
+
| `cover` | — | drawn in the band instead of the photo |
|
|
30
|
+
| `coverHeight` | `170` | height of the band |
|
|
31
|
+
| `overlap` | `45` | how far the content rises into the band, clamped to `0..coverHeight` |
|
|
32
|
+
| `coverStyle` | — | the band's style (corner radii, another fill) |
|
|
33
|
+
| `contentStyle` | — | the content column's style; its `paddingTop` is the component's |
|
|
34
|
+
| `testID` | — | also names `-cover`, `-cover-image` and `-content` |
|
|
35
|
+
|
|
36
|
+
## How the overlap is made
|
|
37
|
+
|
|
38
|
+
By layout. Nothing is moved.
|
|
39
|
+
|
|
40
|
+
- The band is the **first** child, positioned absolutely over the top `coverHeight`.
|
|
41
|
+
- The content is the **last** child, in flow, with `paddingTop: coverHeight - overlap`.
|
|
42
|
+
|
|
43
|
+
There is no negative margin, no transform and no `zIndex`, and each of those
|
|
44
|
+
has broken a profile before:
|
|
45
|
+
|
|
46
|
+
- A **transform** keeps the layout box where it was. The content paints 45pt higher,
|
|
47
|
+
but whatever comes next (a tab strip, a list's next row) still starts after the
|
|
48
|
+
un-moved box, which leaves a 45pt hole.
|
|
49
|
+
- A **negative margin** on the content leaves the paint order to whichever
|
|
50
|
+
view happens to create a stacking context first. Inside a native
|
|
51
|
+
virtualized cell, that has put the avatar under the banner.
|
|
52
|
+
- **`zIndex`** belongs to the overlay stack (`docs/overlay.mdx`), never to a component.
|
|
53
|
+
|
|
54
|
+
Because the content is the later sibling, it paints over the band on iOS,
|
|
55
|
+
Android and web. The measured height is the real one. A list header or
|
|
56
|
+
sticky section placed after a `CoverHeader` starts exactly where its content ends.
|
package/docs/message-media.mdx
CHANGED
|
@@ -258,9 +258,14 @@ answer AND the viewer's wrong pick — hiding the right answer teaches nobody.
|
|
|
258
258
|
|
|
259
259
|
```tsx
|
|
260
260
|
<StickerMessage source={sticker} accessibilityLabel="Sticker: grinning sun" />
|
|
261
|
+
<StickerMessage source={still} animation={lottieUrl} accessibilityLabel="Sticker: waving" />
|
|
261
262
|
<GifMessage source={gif} aspectRatio={1.6} />
|
|
262
263
|
```
|
|
263
264
|
|
|
265
|
+
Given `animation`, the sticker plays its Lottie file through
|
|
266
|
+
[`Sticker`](./sticker.mdx), over `source` as the still — which is also what shows
|
|
267
|
+
under reduced motion or when no Lottie player is installed.
|
|
268
|
+
|
|
264
269
|
**A sticker draws NO surface** — no background, no radius, no padding. Render it
|
|
265
270
|
with `message-bubble`'s `variant="bare"`: a bubble behind a sticker is a picture
|
|
266
271
|
of a sticker, and its scrim turns a cut-out into a square. `resizeMode` is
|
package/docs/sticker.mdx
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Sticker
|
|
3
|
+
description: A Lottie sticker that animates where it can and stays a clean still where it cannot.
|
|
4
|
+
order: 140
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Sticker
|
|
8
|
+
|
|
9
|
+
A sticker, animated when it can be and still when it cannot.
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
import { Sticker } from '@oxy.so/bloom/sticker';
|
|
13
|
+
|
|
14
|
+
<Sticker
|
|
15
|
+
animation={sticker.animation.url} // Lottie JSON or .lottie
|
|
16
|
+
fallback={sticker.fallback.url} // the still image of the same sticker
|
|
17
|
+
size={160}
|
|
18
|
+
accessibilityLabel="Sticker: sad bear"
|
|
19
|
+
/>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Oxy's sticker catalogue (`@oxy.so/stickers`) hands out both URLs for every
|
|
23
|
+
sticker, which is exactly this component's pair of props.
|
|
24
|
+
|
|
25
|
+
## What a person sees
|
|
26
|
+
|
|
27
|
+
| situation | shown |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| the animation is still loading | the still |
|
|
30
|
+
| the animation loaded | the animation |
|
|
31
|
+
| the animation failed to load | the still, for good |
|
|
32
|
+
| the person asked for reduced motion | the still — the player is never mounted |
|
|
33
|
+
| no Lottie player is installed on this platform | the still, with one dev warning naming the package |
|
|
34
|
+
|
|
35
|
+
The still is always drawn first, so a sticker never flashes blank while its
|
|
36
|
+
animation arrives, and every failure mode still looks like a sticker.
|
|
37
|
+
|
|
38
|
+
## Players are optional peers
|
|
39
|
+
|
|
40
|
+
Bloom ships no native code, so each platform's player is an OPTIONAL peer,
|
|
41
|
+
loaded only when a `Sticker` with an `animation` renders:
|
|
42
|
+
|
|
43
|
+
- native: `lottie-react-native` (`npx expo install lottie-react-native`)
|
|
44
|
+
- web: `@lottiefiles/dotlottie-react`
|
|
45
|
+
|
|
46
|
+
An app that shows no animated sticker installs neither. An app with its own
|
|
47
|
+
build of a player hands it in with `provideLottiePlayer(Component)`, adapted to
|
|
48
|
+
`LottiePlayerProps` (`uri`, `loop`, `paused`, `onLoad`, `onError`, `style`).
|
|
49
|
+
|
|
50
|
+
## Props
|
|
51
|
+
|
|
52
|
+
| prop | decides |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| `animation` | the Lottie file; omit it for a still sticker |
|
|
55
|
+
| `fallback` | the still image — required |
|
|
56
|
+
| `size` | square edge, default 128 |
|
|
57
|
+
| `loop` | default true |
|
|
58
|
+
| `paused` | hold the frame, e.g. while scrolled out of view |
|
|
59
|
+
| `accessibilityLabel` | the name; a sticker IS its meaning, so pass its emotion |
|
|
60
|
+
| `decorative` | hide it from assistive technology when its container already names it |
|
|
61
|
+
|
|
62
|
+
Like `StickerMessage`, it draws **no surface** — no background, radius or
|
|
63
|
+
padding. In a chat use `StickerMessage` with `animation`, which is this plus the
|
|
64
|
+
press, sending and failed affordances.
|