@hzblj/kara-components 0.21.0 → 0.23.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/CHANGELOG.md +28 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js +1 -0
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js.map +1 -1
- package/lib/module/organisms/header/header-large-title-fade.android.js +6 -0
- package/lib/module/organisms/header/header-large-title-fade.android.js.map +1 -0
- package/lib/module/organisms/header/header-large-title-fade.ios.js +15 -0
- package/lib/module/organisms/header/header-large-title-fade.ios.js.map +1 -0
- package/lib/module/organisms/header/index.js +1 -0
- package/lib/module/organisms/header/index.js.map +1 -1
- package/lib/typescript/molecules/navigation-bar/navigation-bar.types.d.ts +10 -1
- package/lib/typescript/organisms/header/header-large-title-fade.d.ts +1 -0
- package/lib/typescript/organisms/header/header-large-title-fade.ios.d.ts +7 -0
- package/lib/typescript/organisms/header/header.types.d.ts +5 -0
- package/lib/typescript/organisms/header/index.d.ts +1 -0
- package/package.json +4 -4
- package/src/molecules/navigation-bar/navigation-bar.ios.tsx +1 -0
- package/src/molecules/navigation-bar/navigation-bar.types.ts +11 -1
- package/src/organisms/header/header-large-title-fade.android.tsx +3 -0
- package/src/organisms/header/header-large-title-fade.ios.tsx +12 -0
- package/src/organisms/header/header.types.ts +7 -0
- package/src/organisms/header/index.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @hzblj/kara-components
|
|
2
2
|
|
|
3
|
+
## 0.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#74](https://github.com/hzblj/kara-ui/pull/74) [`874778c`](https://github.com/hzblj/kara-ui/commit/874778c94b9757942e7466aff6e00bc791cb2481) Thanks [@hzblj](https://github.com/hzblj)! - `NavigationBar`'s integrated search (`placement: 'integratedButton'`) opens the way the system's own does on iOS 26: the search button grows into the field with the bar's Liquid Glass morph and the cancel splits off its end, then merges back and the field shrinks into the button on close. `search.buttonPlacement: 'leading'` puts the button after the leading items.
|
|
8
|
+
|
|
9
|
+
- [#72](https://github.com/hzblj/kara-ui/pull/72) [`71631d9`](https://github.com/hzblj/kara-ui/commit/71631d98ca18a4793773df8b8ca974e8e58b90e1) Thanks [@hzblj](https://github.com/hzblj)! - A search field's `voice` takes `sizes`: the clear and microphone glyphs, the stop button and the waveform (its width, height and bars, `barRadius: 0` for flat ones), each keeping its default when left out. New bars grow in from the middle as they come in at the edge, and the waveform keeps flowing while the main thread is busy (`@hzblj/expo-waveform` 0.4.0).
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`874778c`](https://github.com/hzblj/kara-ui/commit/874778c94b9757942e7466aff6e00bc791cb2481), [`71631d9`](https://github.com/hzblj/kara-ui/commit/71631d98ca18a4793773df8b8ca974e8e58b90e1), [`83e36b8`](https://github.com/hzblj/kara-ui/commit/83e36b82e136e450303a34ca47df3fe2732133ae)]:
|
|
14
|
+
- @hzblj/kara-native@0.23.0
|
|
15
|
+
- @hzblj/kara-sx@0.23.0
|
|
16
|
+
- @hzblj/kara-theme@0.23.0
|
|
17
|
+
|
|
18
|
+
## 0.22.0
|
|
19
|
+
|
|
20
|
+
### Minor Changes
|
|
21
|
+
|
|
22
|
+
- [#70](https://github.com/hzblj/kara-ui/pull/70) [`877e43c`](https://github.com/hzblj/kara-ui/commit/877e43cc26be5029af3c3b7c2f4cb9059c14f202) Thanks [@hzblj](https://github.com/hzblj)! - `HeaderLargeTitleFade` (`@hzblj/kara-ui/header`) fades content under the header, like segments or chips, out and back with the large title while the header search is open, in step with UIKit's animation (iOS). `ScrollViewZPosition` is removed: a large title stays in the bar when the screen's first view is not a scroll view, so the empty anchor scroll view it kept visible is no longer needed.
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [[`877e43c`](https://github.com/hzblj/kara-ui/commit/877e43cc26be5029af3c3b7c2f4cb9059c14f202)]:
|
|
27
|
+
- @hzblj/kara-native@0.22.0
|
|
28
|
+
- @hzblj/kara-sx@0.22.0
|
|
29
|
+
- @hzblj/kara-theme@0.22.0
|
|
30
|
+
|
|
3
31
|
## 0.21.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
|
@@ -76,6 +76,7 @@ export const NavigationBar = ({
|
|
|
76
76
|
ref: barRef,
|
|
77
77
|
searchButtonImageName: toImageName(search?.buttonIcon),
|
|
78
78
|
searchButtonLabel: search ? search.buttonLabel ?? DEFAULT_LABELS.search : undefined,
|
|
79
|
+
searchButtonPlacement: search?.buttonPlacement,
|
|
79
80
|
searchCancelImageName: toImageName(search?.cancelIcon),
|
|
80
81
|
searchCancelLabel: search ? search.cancelLabel ?? DEFAULT_LABELS.cancel : undefined,
|
|
81
82
|
searchClearImageName: toImageName(clearIcon),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["iconResourceName","NavigationBar","NativeNavigationBar","useAppTheme","useImperativeHandle","useMemo","useRef","StyleSheet","SEARCH_ROW_HEIGHT","jsx","_jsx","BAR_HEIGHT","styles","create","bar","height","width","stackedSearchBar","DEFAULT_LABELS","back","cancel","close","search","toImageName","icon","undefined","toNativeItem","item","type","imageName","label","ignoreDetachedView","inverted","leadingItems","testID","title","titleAlignment","titleVisible","trailingItems","theme","barRef","font","typography","headline","color","ref","clear","current","clearSearchText","catch","setText","text","setSearchText","voice","clearIcon","nativeVoice","clearImageName","microphoneImageName","microphoneIcon","stopImageName","stopIcon","nativeLeadingItems","map","nativeTrailingItems","isStackedSearch","placement","fontFamily","fontSize","itemColor","onSearchFocusChange","onFocusChange","onSearchTextChange","onChangeText","searchButtonImageName","buttonIcon","searchButtonLabel","buttonLabel","searchCancelImageName","cancelIcon","searchCancelLabel","cancelLabel","searchClearImageName","searchPlaceholder","placeholder","searchPlacement","searchTestID","searchVoice","style","titleColor"],"sourceRoot":"../../../../src","sources":["molecules/navigation-bar/navigation-bar.ios.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["iconResourceName","NavigationBar","NativeNavigationBar","useAppTheme","useImperativeHandle","useMemo","useRef","StyleSheet","SEARCH_ROW_HEIGHT","jsx","_jsx","BAR_HEIGHT","styles","create","bar","height","width","stackedSearchBar","DEFAULT_LABELS","back","cancel","close","search","toImageName","icon","undefined","toNativeItem","item","type","imageName","label","ignoreDetachedView","inverted","leadingItems","testID","title","titleAlignment","titleVisible","trailingItems","theme","barRef","font","typography","headline","color","ref","clear","current","clearSearchText","catch","setText","text","setSearchText","voice","clearIcon","nativeVoice","clearImageName","microphoneImageName","microphoneIcon","stopImageName","stopIcon","nativeLeadingItems","map","nativeTrailingItems","isStackedSearch","placement","fontFamily","fontSize","itemColor","onSearchFocusChange","onFocusChange","onSearchTextChange","onChangeText","searchButtonImageName","buttonIcon","searchButtonLabel","buttonLabel","searchButtonPlacement","buttonPlacement","searchCancelImageName","cancelIcon","searchCancelLabel","cancelLabel","searchClearImageName","searchPlaceholder","placeholder","searchPlacement","searchTestID","searchVoice","style","titleColor"],"sourceRoot":"../../../../src","sources":["molecules/navigation-bar/navigation-bar.ios.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HeaderLargeTitleFade","children"],"sourceRoot":"../../../../src","sources":["organisms/header/header-large-title-fade.android.tsx"],"mappings":";;AAEA,OAAO,MAAMA,oBAAmD,GAAGA,CAAC;EAACC;AAAmC,CAAC,KAAKA,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { LargeTitleFade } from '@hzblj/kara-native/swift-ui';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
/**
|
|
6
|
+
* Fades its content out and back with the large title when the header search opens and closes, in step with UIKit's
|
|
7
|
+
* own animation. Keep the content mounted while searching: a `HeaderInset` moves with the bar's animation, and content
|
|
8
|
+
* mounted into it mid-animation draws off its place until the animation ends.
|
|
9
|
+
*/
|
|
10
|
+
export const HeaderLargeTitleFade = ({
|
|
11
|
+
children
|
|
12
|
+
}) => /*#__PURE__*/_jsx(LargeTitleFade, {
|
|
13
|
+
children: children
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=header-large-title-fade.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LargeTitleFade","jsx","_jsx","HeaderLargeTitleFade","children"],"sourceRoot":"../../../../src","sources":["organisms/header/header-large-title-fade.ios.tsx"],"mappings":";;AAAA,SAAQA,cAAc,QAAO,6BAA6B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI1D;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAmD,GAAGA,CAAC;EAACC;AAAmC,CAAC,kBACvGF,IAAA,CAACF,cAAc;EAAAI,QAAA,EAAEA;AAAQ,CAAiB,CAC3C","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsTitleRevealed"],"sourceRoot":"../../../../src","sources":["organisms/header/index.ts"],"mappings":";;AAAA,cAAc,mBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,SAAQA,kBAAkB,QAAO,mBAAgB;AACjD,cAAc,iBAAiB;AAE/B,cAAc,iBAAc;AAC5B,cAAc,wBAAwB;AACtC,cAAc,+BAA4B;AAC1C,cAAc,wBAAqB;AACnC,cAAc,sBAAmB;AACjC,cAAc,+BAA4B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useIsTitleRevealed"],"sourceRoot":"../../../../src","sources":["organisms/header/index.ts"],"mappings":";;AAAA,cAAc,mBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,SAAQA,kBAAkB,QAAO,mBAAgB;AACjD,cAAc,iBAAiB;AAE/B,cAAc,iBAAc;AAC5B,cAAc,wBAAwB;AACtC,cAAc,+BAA4B;AAC1C,cAAc,wBAAqB;AACnC,cAAc,sBAAmB;AACjC,cAAc,+BAA4B","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SearchVoiceMeter } from '@hzblj/kara-native';
|
|
1
|
+
import type { SearchVoiceMeter, SearchVoiceSizes } from '@hzblj/kara-native';
|
|
2
2
|
import type { ReactNode, Ref } from 'react';
|
|
3
3
|
import type { ColorValue } from 'react-native';
|
|
4
4
|
import type { IconName } from '../../atoms/icon';
|
|
@@ -32,6 +32,8 @@ export type SearchFieldVoice = {
|
|
|
32
32
|
onStart: () => void;
|
|
33
33
|
/** The stop button was pressed. */
|
|
34
34
|
onStop: () => void;
|
|
35
|
+
/** The glyphs, the stop button and the waveform, each the platform's own size unless set. */
|
|
36
|
+
sizes?: SearchVoiceSizes;
|
|
35
37
|
/** The glyph in the stop button. */
|
|
36
38
|
stopIcon?: IconName;
|
|
37
39
|
/** The stop button's accessibility label. */
|
|
@@ -74,6 +76,11 @@ export type NavigationBarSearchRef = {
|
|
|
74
76
|
* the title, `integratedButton` as a search item beside the trailing items that turns the bar into the field.
|
|
75
77
|
*/
|
|
76
78
|
export type NavigationBarSearchPlacement = 'integratedButton' | 'stacked';
|
|
79
|
+
/**
|
|
80
|
+
* Where `integratedButton` puts its search button: beside the trailing items, or after the leading ones. On iOS 26 the
|
|
81
|
+
* button grows into the field and the cancel splits off its end, the way the system's own search does.
|
|
82
|
+
*/
|
|
83
|
+
export type NavigationBarSearchButtonPlacement = 'leading' | 'trailing';
|
|
77
84
|
/**
|
|
78
85
|
* A search field in the bar. iOS only for now; Android keeps the title. A focused field gets a cancel item that
|
|
79
86
|
* empties it and ends the search, a bar item like the others.
|
|
@@ -83,6 +90,8 @@ export type NavigationBarSearch = {
|
|
|
83
90
|
buttonIcon?: IconName;
|
|
84
91
|
/** `integratedButton`: the search item's label for VoiceOver. `Search` by default. */
|
|
85
92
|
buttonLabel?: string;
|
|
93
|
+
/** `integratedButton`: `trailing` by default. */
|
|
94
|
+
buttonPlacement?: NavigationBarSearchButtonPlacement;
|
|
86
95
|
/** The cancel item's icon, one of the app's icons; the system cross unset. */
|
|
87
96
|
cancelIcon?: IconName;
|
|
88
97
|
/** The cancel item's label for VoiceOver. `Cancel` by default. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './header-large-title-fade.ios';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HeaderLargeTitleFadeComponent } from './header.types';
|
|
2
|
+
/**
|
|
3
|
+
* Fades its content out and back with the large title when the header search opens and closes, in step with UIKit's
|
|
4
|
+
* own animation. Keep the content mounted while searching: a `HeaderInset` moves with the bar's animation, and content
|
|
5
|
+
* mounted into it mid-animation draws off its place until the animation ends.
|
|
6
|
+
*/
|
|
7
|
+
export declare const HeaderLargeTitleFade: HeaderLargeTitleFadeComponent;
|
|
@@ -437,4 +437,9 @@ export type HeaderInsetProps = {
|
|
|
437
437
|
children?: ReactNode;
|
|
438
438
|
};
|
|
439
439
|
export type HeaderInsetComponent = (props: HeaderInsetProps) => ReactNode;
|
|
440
|
+
export type HeaderLargeTitleFadeProps = {
|
|
441
|
+
/** Content under the header (segments, chips) that leaves with the large title while the header search is open. */
|
|
442
|
+
children?: ReactNode;
|
|
443
|
+
};
|
|
444
|
+
export type HeaderLargeTitleFadeComponent = (props: HeaderLargeTitleFadeProps) => ReactNode;
|
|
440
445
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hzblj/kara-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "The atoms, molecules, organisms and templates of @hzblj/kara-ui — real SwiftUI and Jetpack Compose views through @expo/ui.",
|
|
5
5
|
"author": "Jan Blazej",
|
|
6
6
|
"license": "MIT",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@hzblj/expo-native-icons": "^0.1.0",
|
|
68
68
|
"@hzblj/expo-rich-haptics": "^0.1.0",
|
|
69
|
-
"@hzblj/kara-native": "^0.
|
|
70
|
-
"@hzblj/kara-sx": "^0.
|
|
71
|
-
"@hzblj/kara-theme": "^0.
|
|
69
|
+
"@hzblj/kara-native": "^0.23.0",
|
|
70
|
+
"@hzblj/kara-sx": "^0.23.0",
|
|
71
|
+
"@hzblj/kara-theme": "^0.23.0",
|
|
72
72
|
"sf-symbols-typescript": "^2.2.0"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
@@ -83,6 +83,7 @@ export const NavigationBar: NavigationBarComponent = ({
|
|
|
83
83
|
ref={barRef}
|
|
84
84
|
searchButtonImageName={toImageName(search?.buttonIcon)}
|
|
85
85
|
searchButtonLabel={search ? (search.buttonLabel ?? DEFAULT_LABELS.search) : undefined}
|
|
86
|
+
searchButtonPlacement={search?.buttonPlacement}
|
|
86
87
|
searchCancelImageName={toImageName(search?.cancelIcon)}
|
|
87
88
|
searchCancelLabel={search ? (search.cancelLabel ?? DEFAULT_LABELS.cancel) : undefined}
|
|
88
89
|
searchClearImageName={toImageName(clearIcon)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {SearchVoiceMeter} from '@hzblj/kara-native'
|
|
1
|
+
import type {SearchVoiceMeter, SearchVoiceSizes} from '@hzblj/kara-native'
|
|
2
2
|
import type {ReactNode, Ref} from 'react'
|
|
3
3
|
import type {ColorValue} from 'react-native'
|
|
4
4
|
|
|
@@ -34,6 +34,8 @@ export type SearchFieldVoice = {
|
|
|
34
34
|
onStart: () => void
|
|
35
35
|
/** The stop button was pressed. */
|
|
36
36
|
onStop: () => void
|
|
37
|
+
/** The glyphs, the stop button and the waveform, each the platform's own size unless set. */
|
|
38
|
+
sizes?: SearchVoiceSizes
|
|
37
39
|
/** The glyph in the stop button. */
|
|
38
40
|
stopIcon?: IconName
|
|
39
41
|
/** The stop button's accessibility label. */
|
|
@@ -75,6 +77,12 @@ export type NavigationBarSearchRef = {
|
|
|
75
77
|
*/
|
|
76
78
|
export type NavigationBarSearchPlacement = 'integratedButton' | 'stacked'
|
|
77
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Where `integratedButton` puts its search button: beside the trailing items, or after the leading ones. On iOS 26 the
|
|
82
|
+
* button grows into the field and the cancel splits off its end, the way the system's own search does.
|
|
83
|
+
*/
|
|
84
|
+
export type NavigationBarSearchButtonPlacement = 'leading' | 'trailing'
|
|
85
|
+
|
|
78
86
|
/**
|
|
79
87
|
* A search field in the bar. iOS only for now; Android keeps the title. A focused field gets a cancel item that
|
|
80
88
|
* empties it and ends the search, a bar item like the others.
|
|
@@ -84,6 +92,8 @@ export type NavigationBarSearch = {
|
|
|
84
92
|
buttonIcon?: IconName
|
|
85
93
|
/** `integratedButton`: the search item's label for VoiceOver. `Search` by default. */
|
|
86
94
|
buttonLabel?: string
|
|
95
|
+
/** `integratedButton`: `trailing` by default. */
|
|
96
|
+
buttonPlacement?: NavigationBarSearchButtonPlacement
|
|
87
97
|
/** The cancel item's icon, one of the app's icons; the system cross unset. */
|
|
88
98
|
cancelIcon?: IconName
|
|
89
99
|
/** The cancel item's label for VoiceOver. `Cancel` by default. */
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {LargeTitleFade} from '@hzblj/kara-native/swift-ui'
|
|
2
|
+
|
|
3
|
+
import type {HeaderLargeTitleFadeComponent, HeaderLargeTitleFadeProps} from './header.types'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Fades its content out and back with the large title when the header search opens and closes, in step with UIKit's
|
|
7
|
+
* own animation. Keep the content mounted while searching: a `HeaderInset` moves with the bar's animation, and content
|
|
8
|
+
* mounted into it mid-animation draws off its place until the animation ends.
|
|
9
|
+
*/
|
|
10
|
+
export const HeaderLargeTitleFade: HeaderLargeTitleFadeComponent = ({children}: HeaderLargeTitleFadeProps) => (
|
|
11
|
+
<LargeTitleFade>{children}</LargeTitleFade>
|
|
12
|
+
)
|
|
@@ -414,3 +414,10 @@ export type HeaderInsetProps = {
|
|
|
414
414
|
}
|
|
415
415
|
|
|
416
416
|
export type HeaderInsetComponent = (props: HeaderInsetProps) => ReactNode
|
|
417
|
+
|
|
418
|
+
export type HeaderLargeTitleFadeProps = {
|
|
419
|
+
/** Content under the header (segments, chips) that leaves with the large title while the header search is open. */
|
|
420
|
+
children?: ReactNode
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
export type HeaderLargeTitleFadeComponent = (props: HeaderLargeTitleFadeProps) => ReactNode
|