@toss/tds-react-native 1.3.7 → 2.0.0-next.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 +6 -0
- package/dist/cjs/components/agreement/Collapsible/AgreementCollapsibleTrigger.d.ts +10 -3
- package/dist/cjs/components/agreement/Collapsible/CollapsibleTrigger.d.ts +9 -3
- package/dist/cjs/components/dropdown/components/FixedFloatingDropdown.js +1 -1
- package/dist/cjs/components/dropdown/components/Trigger.js +1 -1
- package/dist/cjs/components/dropdown/contexts/DropdownContext.d.ts +2 -2
- package/dist/cjs/components/dropdown/types.d.ts +1 -1
- package/dist/cjs/components/highlight/hooks/useTimestampRef.d.ts +1 -1
- package/dist/cjs/components/icon-button/IconButton.d.ts +1 -1
- package/dist/cjs/components/keypad/FullSecureKeypad/SecureKeyButton.js +1 -1
- package/dist/cjs/components/keypad/FullSecureKeypad/index.d.ts +1 -1
- package/dist/cjs/components/navbar/ReactNavigationHelper/HeaderLeft.d.ts +1 -1
- package/dist/cjs/components/navbar/ReactNavigationHelper/HeaderRight.d.ts +1 -1
- package/dist/cjs/components/navbar/ReactNavigationHelper/HeaderTitle.d.ts +1 -1
- package/dist/cjs/components/navbar/ReactNavigationHelper/Right.d.ts +5 -2
- package/dist/cjs/components/navbar/ReactNavigationHelper/Right.js +1 -1
- package/dist/cjs/components/navbar/ReactNavigationHelper/index.d.ts +2 -2
- package/dist/cjs/components/numeric-spinner/useAccelerateInterval.js +1 -1
- package/dist/cjs/components/post/Header.d.ts +4 -4
- package/dist/cjs/components/post/List/PostList.js +1 -1
- package/dist/cjs/components/post/Post.d.ts +4 -4
- package/dist/cjs/components/radio/Radio.d.ts +0 -31
- package/dist/cjs/components/radio/Radio.js +1 -1
- package/dist/cjs/components/radio/index.d.ts +1 -1
- package/dist/cjs/components/radio/index.js +1 -1
- package/dist/cjs/components/search-field/SearchField.d.ts +1 -1
- package/dist/cjs/components/segmented-control/components/Item/Item.js +1 -1
- package/dist/cjs/components/segmented-control/contexts/ScrollContext.d.ts +1 -1
- package/dist/cjs/components/slider/Slider.js +1 -1
- package/dist/cjs/components/text-field/OldTextField/TDSTextField.d.ts +1 -1
- package/dist/cjs/components/text-field/OldTextField/hooks.d.ts +5 -5
- package/dist/cjs/components/text-field/OldTextField/index.d.ts +1 -1
- package/dist/cjs/components/text-field/OldTextField/styles.d.ts +3 -3
- package/dist/cjs/components/text-field/TextField/hooks/useTextFieldClearButtonControls.js +1 -1
- package/dist/cjs/components/text-field/TextField/variants/TextFieldBig/TextFieldBig.Button.js +1 -1
- package/dist/cjs/components/text-field/TextField/variants/TextFieldBig/TextFieldBig.js +1 -1
- package/dist/cjs/components/text-field/TextField/variants/TextFieldHero/TextFieldHero.Button.js +1 -1
- package/dist/cjs/components/text-field/TextField/variants/TextFieldHero/TextFieldHero.js +1 -1
- package/dist/cjs/components/text-field/TextField/variants/TextFieldLine/TextFieldLine.Button.js +1 -1
- package/dist/cjs/components/text-field/TextField/variants/TextFieldLine/TextFieldLine.js +1 -1
- package/dist/cjs/components/toast/hooks/useTextLine.d.ts +1 -1
- package/dist/cjs/components/tooltip/components/Tooltip/FloatingTooltip.js +1 -1
- package/dist/cjs/components/tooltip/contexts/TooltipContext.d.ts +2 -2
- package/dist/cjs/components/tooltip/hooks/useCloseTooltip.js +1 -1
- package/dist/cjs/components/tooltip/hooks/useOnPressOutside.d.ts +1 -1
- package/dist/cjs/components/tooltip/hooks/useOnPressOutside.js +1 -1
- package/dist/cjs/components/txt/Txt.js +2 -1
- package/dist/cjs/core/color/Color.js +1 -1
- package/dist/cjs/core/color/ColorPreference.js +1 -1
- package/dist/cjs/core/contexts/AdaptiveColorProvider.js +1 -1
- package/dist/cjs/core/contexts/ColorPreferenceProvider.js +1 -2
- package/dist/cjs/core/contexts/GlobalEventProvider.js +1 -1
- package/dist/cjs/core/contexts/HideAccessibility.js +1 -1
- package/dist/cjs/core/contexts/SafeAreaProvider.js +1 -1
- package/dist/cjs/core/contexts/TDSProvider.js +1 -1
- package/dist/cjs/core/contexts/TypographyProvider.js +2 -1
- package/dist/cjs/core/contexts/index.js +1 -1
- package/dist/cjs/core/hooks/index.js +1 -1
- package/dist/cjs/core/hooks/useA11yCondition.js +1 -1
- package/dist/cjs/core/hooks/useTypographyLevel.js +1 -1
- package/dist/cjs/core/index.js +1 -1
- package/dist/cjs/core/overlay/OverlayController.js +1 -1
- package/dist/cjs/core/overlay/OverlayProvider.js +1 -1
- package/dist/cjs/core/overlay/_OverlayProvider.js +1 -1
- package/dist/cjs/core/overlay/index.js +1 -1
- package/dist/cjs/core/overlay/types.d.ts +1 -0
- package/dist/cjs/core/overlay/types.js +1 -1
- package/dist/cjs/core/overlay/useOverlay.js +1 -1
- package/dist/cjs/core/overlay/useOverlayBase.js +4 -1
- package/dist/cjs/core/overlay/useOverlayCache.js +1 -2
- package/dist/cjs/core/theme/ThemeProvider.js +1 -1
- package/dist/cjs/core/theme/deriveToken/BaseDerivedTokenGenerator.js +1 -1
- package/dist/cjs/core/theme/deriveToken/batchDerivedTokenGenerators.js +1 -1
- package/dist/cjs/core/theme/deriveToken/deriveToken.js +1 -2
- package/dist/cjs/core/theme/deriveToken/index.js +1 -1
- package/dist/cjs/core/theme/index.js +1 -1
- package/dist/cjs/core/theme/seedToken/index.js +1 -1
- package/dist/cjs/core/theme/seedToken/seedToken.js +1 -1
- package/dist/cjs/extensions/bridge/components/Icon.d.ts +2 -2
- package/dist/cjs/extensions/bridge/useBridge.js +1 -1
- package/dist/cjs/extensions/navigation/Navigation.d.ts +5 -4
- package/dist/cjs/extensions/navigation/Navigation.js +1 -1
- package/dist/cjs/extensions/overlay-extension/components/CapturePress.d.ts +1 -1
- package/dist/cjs/extensions/overlay-extension/components/CapturePress.js +1 -1
- package/dist/cjs/extensions/page-navbar/PageNavbar.d.ts +1 -1
- package/dist/cjs/extensions/tab-view/TabsContext.d.ts +1 -1
- package/dist/cjs/extensions/tab-view/TabsList.js +1 -1
- package/dist/cjs/extensions/tab-view/TabsViews.d.ts +1 -1
- package/dist/cjs/extensions/tab-view/TabsViews.js +1 -1
- package/dist/cjs/extensions/tab-view/hooks/useScrollStateChangedHandler.d.ts +1 -1
- package/dist/cjs/extensions/tab-view/utils/getTabData.js +1 -1
- package/dist/cjs/extensions/top-navigation/TopNavigation.d.ts +4 -16
- package/dist/cjs/extensions/top-navigation/TopNavigation.js +1 -1
- package/dist/cjs/extensions/top-navigation/constants.d.ts +15 -0
- package/dist/cjs/extensions/top-navigation/constants.js +1 -0
- package/dist/cjs/extensions/top-navigation/index.d.ts +1 -0
- package/dist/cjs/extensions/top-navigation/index.js +1 -1
- package/dist/cjs/interactions/pressable-effect/PressableEffect.d.ts +3 -1
- package/dist/cjs/utils/a11y.js +1 -1
- package/dist/cjs/utils/compat.d.ts +17 -0
- package/dist/cjs/utils/compat.js +1 -0
- package/dist/cjs/utils/isReactText.d.ts +2 -2
- package/dist/cjs/utils/mergeRefs.d.ts +2 -1
- package/dist/cjs/utils/testing/index.d.ts +1 -0
- package/dist/cjs/utils/testing/index.js +1 -1
- package/dist/cjs/utils/testing/mockAccessibilityInfo.d.ts +5 -2
- package/dist/cjs/utils/testing/mockAccessibilityInfo.js +1 -1
- package/dist/cjs/utils/testing/mockViewLayout.d.ts +27 -0
- package/dist/cjs/utils/testing/mockViewLayout.js +1 -0
- package/dist/esm/components/agreement/Collapsible/AgreementCollapsibleTrigger.d.ts +10 -3
- package/dist/esm/components/agreement/Collapsible/CollapsibleTrigger.d.ts +9 -3
- package/dist/esm/components/dropdown/components/FixedFloatingDropdown.js +1 -1
- package/dist/esm/components/dropdown/components/Trigger.js +1 -1
- package/dist/esm/components/dropdown/contexts/DropdownContext.d.ts +2 -2
- package/dist/esm/components/dropdown/types.d.ts +1 -1
- package/dist/esm/components/highlight/hooks/useTimestampRef.d.ts +1 -1
- package/dist/esm/components/icon-button/IconButton.d.ts +1 -1
- package/dist/esm/components/keypad/FullSecureKeypad/SecureKeyButton.js +1 -1
- package/dist/esm/components/keypad/FullSecureKeypad/index.d.ts +1 -1
- package/dist/esm/components/navbar/ReactNavigationHelper/HeaderLeft.d.ts +1 -1
- package/dist/esm/components/navbar/ReactNavigationHelper/HeaderRight.d.ts +1 -1
- package/dist/esm/components/navbar/ReactNavigationHelper/HeaderTitle.d.ts +1 -1
- package/dist/esm/components/navbar/ReactNavigationHelper/Right.d.ts +5 -2
- package/dist/esm/components/navbar/ReactNavigationHelper/Right.js +1 -1
- package/dist/esm/components/navbar/ReactNavigationHelper/index.d.ts +2 -2
- package/dist/esm/components/numeric-spinner/useAccelerateInterval.js +1 -1
- package/dist/esm/components/post/Header.d.ts +4 -4
- package/dist/esm/components/post/List/PostList.js +1 -1
- package/dist/esm/components/post/Post.d.ts +4 -4
- package/dist/esm/components/radio/Radio.d.ts +0 -31
- package/dist/esm/components/radio/Radio.js +1 -1
- package/dist/esm/components/radio/index.d.ts +1 -1
- package/dist/esm/components/radio/index.js +1 -1
- package/dist/esm/components/search-field/SearchField.d.ts +1 -1
- package/dist/esm/components/segmented-control/components/Item/Item.js +1 -1
- package/dist/esm/components/segmented-control/contexts/ScrollContext.d.ts +1 -1
- package/dist/esm/components/slider/Slider.js +1 -1
- package/dist/esm/components/text-field/OldTextField/TDSTextField.d.ts +1 -1
- package/dist/esm/components/text-field/OldTextField/hooks.d.ts +5 -5
- package/dist/esm/components/text-field/OldTextField/index.d.ts +1 -1
- package/dist/esm/components/text-field/OldTextField/styles.d.ts +3 -3
- package/dist/esm/components/text-field/TextField/hooks/useTextFieldClearButtonControls.js +1 -1
- package/dist/esm/components/text-field/TextField/variants/TextFieldBig/TextFieldBig.Button.js +1 -1
- package/dist/esm/components/text-field/TextField/variants/TextFieldBig/TextFieldBig.js +1 -1
- package/dist/esm/components/text-field/TextField/variants/TextFieldHero/TextFieldHero.Button.js +1 -1
- package/dist/esm/components/text-field/TextField/variants/TextFieldHero/TextFieldHero.js +1 -1
- package/dist/esm/components/text-field/TextField/variants/TextFieldLine/TextFieldLine.Button.js +1 -1
- package/dist/esm/components/text-field/TextField/variants/TextFieldLine/TextFieldLine.js +1 -1
- package/dist/esm/components/toast/hooks/useTextLine.d.ts +1 -1
- package/dist/esm/components/tooltip/components/Tooltip/FloatingTooltip.js +1 -1
- package/dist/esm/components/tooltip/contexts/TooltipContext.d.ts +2 -2
- package/dist/esm/components/tooltip/hooks/useCloseTooltip.js +1 -1
- package/dist/esm/components/tooltip/hooks/useOnPressOutside.d.ts +1 -1
- package/dist/esm/components/tooltip/hooks/useOnPressOutside.js +1 -1
- package/dist/esm/components/txt/Txt.js +2 -1
- package/dist/esm/core/color/Color.js +1 -1
- package/dist/esm/core/contexts/AdaptiveColorProvider.js +1 -1
- package/dist/esm/core/contexts/ColorPreferenceProvider.js +1 -1
- package/dist/esm/core/contexts/GlobalEventProvider.js +2 -1
- package/dist/esm/core/contexts/HideAccessibility.js +3 -7
- package/dist/esm/core/contexts/SafeAreaProvider.js +2 -1
- package/dist/esm/core/contexts/TDSProvider.js +1 -1
- package/dist/esm/core/contexts/TypographyProvider.js +1 -1
- package/dist/esm/core/hooks/useA11yCondition.js +2 -7
- package/dist/esm/core/hooks/useTypographyLevel.js +1 -1
- package/dist/esm/core/overlay/OverlayController.js +1 -1
- package/dist/esm/core/overlay/OverlayProvider.js +1 -1
- package/dist/esm/core/overlay/_OverlayProvider.js +1 -1
- package/dist/esm/core/overlay/types.d.ts +1 -0
- package/dist/esm/core/overlay/useOverlay.js +1 -1
- package/dist/esm/core/overlay/useOverlayBase.js +1 -1
- package/dist/esm/core/theme/ThemeProvider.js +1 -2
- package/dist/esm/core/theme/deriveToken/deriveToken.js +1 -1
- package/dist/esm/core/theme/seedToken/seedToken.js +1 -3
- package/dist/esm/extensions/bridge/components/Icon.d.ts +2 -2
- package/dist/esm/extensions/bridge/useBridge.js +1 -1
- package/dist/esm/extensions/navigation/Navigation.d.ts +5 -4
- package/dist/esm/extensions/navigation/Navigation.js +1 -1
- package/dist/esm/extensions/overlay-extension/components/CapturePress.d.ts +1 -1
- package/dist/esm/extensions/overlay-extension/components/CapturePress.js +1 -1
- package/dist/esm/extensions/page-navbar/PageNavbar.d.ts +1 -1
- package/dist/esm/extensions/tab-view/TabsContext.d.ts +1 -1
- package/dist/esm/extensions/tab-view/TabsList.js +1 -1
- package/dist/esm/extensions/tab-view/TabsViews.d.ts +1 -1
- package/dist/esm/extensions/tab-view/TabsViews.js +1 -1
- package/dist/esm/extensions/tab-view/hooks/useScrollStateChangedHandler.d.ts +1 -1
- package/dist/esm/extensions/tab-view/utils/getTabData.js +1 -1
- package/dist/esm/extensions/top-navigation/TopNavigation.d.ts +4 -16
- package/dist/esm/extensions/top-navigation/TopNavigation.js +1 -1
- package/dist/esm/extensions/top-navigation/constants.d.ts +15 -0
- package/dist/esm/extensions/top-navigation/constants.js +1 -0
- package/dist/esm/extensions/top-navigation/index.d.ts +1 -0
- package/dist/esm/extensions/top-navigation/index.js +1 -1
- package/dist/esm/interactions/pressable-effect/PressableEffect.d.ts +3 -1
- package/dist/esm/utils/a11y.js +1 -1
- package/dist/esm/utils/compat.d.ts +17 -0
- package/dist/esm/utils/compat.js +1 -0
- package/dist/esm/utils/isReactText.d.ts +2 -2
- package/dist/esm/utils/mergeRefs.d.ts +2 -1
- package/dist/esm/utils/testing/index.d.ts +1 -0
- package/dist/esm/utils/testing/index.js +1 -1
- package/dist/esm/utils/testing/mockAccessibilityInfo.d.ts +5 -2
- package/dist/esm/utils/testing/mockAccessibilityInfo.js +1 -1
- package/dist/esm/utils/testing/mockViewLayout.d.ts +27 -0
- package/dist/esm/utils/testing/mockViewLayout.js +1 -0
- package/package.json +21 -19
- package/dist/cjs/components/checkbox/utils/useId.d.ts +0 -1
- package/dist/cjs/components/checkbox/utils/useId.js +0 -1
- package/dist/esm/components/checkbox/utils/useId.d.ts +0 -1
- package/dist/esm/components/checkbox/utils/useId.js +0 -1
|
@@ -1 +1,4 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __NjJd(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^107);return t}function __wp4(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^126);return t}function __qjrQwK(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^82);return t}Object.defineProperty(exports,"__esModule",{[__wp4("\b\v\x1B")]:!0}),exports.useOverlayBase=useOverlayBase;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),OverlayController_1=require("./OverlayController"),_OverlayProvider_1=require("./_OverlayProvider");let globalOverlayId=0;function useOverlayBase({[__NjJd("$>")]:r=!0}={}){const t=(0,react_1.useContext)(_OverlayProvider_1.OverlayContext);if(t==null)throw new Error("useOverlayBase\uB294 OverlayProvider \uC548\uC5D0\uC11C\uB9CC \uC0AC\uC6A9 \uAC00\uB2A5\uD569\uB2C8\uB2E4.");const{[__qjrQwK("?='<&")]:e,[__wp4(`\v\v
|
|
2
|
+
`)]:x}=t,l=(0,react_1.useRef)(new Map).current;return(0,react_1.useEffect)(()=>{const o=globalOverlayId;return()=>{r&&x(String(o))}},[r,x]),(0,react_1.useMemo)(()=>({[__qjrQwK('="7<')]:o=>{const n=globalOverlayId;e(String(n),(0,jsx_runtime_1.jsx)(OverlayController_1.OverlayController,{[__NjJd("\r")]:u=>{l.set(n,u)},[__wp4(`\b\x1B\f\x07;\x1B\x1B
|
|
3
|
+
`)]:o,[__wp4(`;
|
|
4
|
+
`)]:()=>{x(String(n))}},Date.now())),globalOverlayId=globalOverlayId+1},[__qjrQwK("1>=!7")]:()=>{const o=l.values();for(const n of o)n?.close()}}),[l,e,x])}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
2
|
-
\v`)]:t,[__XWn5Ud("\x8B\x90\x93\x91\x8B\x90\x8A")]:c,[__tdwz("\xB4\xAD\xBE\xA9\xB7\xBA\xA2\x99\xA2\x92\xBF")]:r}}
|
|
1
|
+
"use strict";function __krCka2F(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^246);return t}function __OQWbzND(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^151);return t}function __Z3d(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^153);return t}Object.defineProperty(exports,"__esModule",{[__OQWbzND("\xE1\xF6\xFB\xE2\xF2")]:!0}),exports.default=useOverlayCache;const react_1=require("react");function useOverlayCache(){const[r,t]=(0,react_1.useState)(new Map),e=(0,react_1.useCallback)((o,x)=>{t(n=>{const u=new Map(n);return u.set(o,x),u})},[]),a=(0,react_1.useCallback)(o=>{t(x=>{const n=new Map(x);return n.delete(o),n})},[]);return{[__Z3d("\xF4\xF6\xEC\xF7\xED")]:e,[__krCka2F("\x83\x98\x9B\x99\x83\x98\x82")]:a,[__krCka2F("\x99\x80\x93\x84\x9A\x97\x8F\xB4\x8F\xBF\x92")]:r}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __RIxMhi5(t){let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e)^207);return r}function __91bR1(t){let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e)^108);return r}function __XtiGHEU(t){let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e)^48);return r}function __DC4(t){let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e)^170);return r}Object.defineProperty(exports,"__esModule",{[__XtiGHEU("FQ\\EU")]:!0}),exports.ThemeContext=void 0,exports.ThemeProvider=ThemeProvider,exports.useTheme=useTheme;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),utils_1=require("../../utils"),deriveToken_1=require("./deriveToken"),seedToken_1=require("./seedToken");exports.ThemeContext=(0,react_1.createContext)(null);function ThemeProvider({[__RIxMhi5("\xBB\xA0\xA4\xAA\xA1")]:t={},[__DC4("\xC9\xC2\xC3\xC6\xCE\xD8\xCF\xC4")]:r}){const e=(0,react_1.useContext)(exports.ThemeContext),n=(0,react_1.useMemo)(()=>{const o=(0,utils_1.deepMerge)(e?.token??seedToken_1.seedToken,t),i=(0,deriveToken_1.deriveToken)(o);return(0,utils_1.deepMerge)(o,i)},[t,e]);return(0,jsx_runtime_1.jsx)(exports.ThemeContext.Provider,{[__91bR1("\r\0 ")]:{[__XtiGHEU("D_[U^")]:n},[__XtiGHEU("SXY\\TBU^")]:r})}function useTheme(){const t=(0,react_1.useContext)(exports.ThemeContext);if(!t)throw new Error("ThemeProvider\uB85C \uAC10\uC2F8\uC57C \uD569\uB2C8\uB2E4.");return t}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __TzmZ(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r.charCodeAt(t)^199);return e}function __CcbDd(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r.charCodeAt(t)^178);return e}function __lGG6(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r.charCodeAt(t)^91);return e}function __6KTN(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r.charCodeAt(t)^245);return e}function __GCp(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r.charCodeAt(t)^208);return e}function __8C3(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r.charCodeAt(t)^223);return e}function __PxEj(r){let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r.charCodeAt(t)^156);return e}Object.defineProperty(exports,"__esModule",{[__GCp("\xA6\xB1\xBC\xA5\xB5")]:!0}),exports.BaseDerivedTokenGenerator=void 0;class BaseDerivedTokenGenerator{cache=new Map;create(e){if(this.cache.has(e))return this.cache.get(e);const t=this.calculate(e);return this.cache.set(e,t),t}}exports.BaseDerivedTokenGenerator=BaseDerivedTokenGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __PfR3Y(t){let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e)^120);return r}function __TuDzI(t){let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e)^49);return r}function __E3v(t){let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e)^143);return r}Object.defineProperty(exports,"__esModule",{[__E3v("\xF9\xEE\xE3\xFA\xEA")]:!0}),exports.batchDerivedTokenGenerators=batchDerivedTokenGenerators;function batchDerivedTokenGenerators(t){return r=>Object.fromEntries(Object.entries(t).map(([e,o])=>[e,o.create(r)]))}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
2
|
-
`)]:new BridgeDerivedTokenGenerator_1.BridgeDerivedTokenGenerator};exports.deriveToken=(0,batchDerivedTokenGenerators_1.batchDerivedTokenGenerators)(derivedTokenGenerators);
|
|
1
|
+
"use strict";function __zsGGds(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^157);return t}function __hziE(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^200);return t}function __2cn(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^88);return t}function __mYWfjZv(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^140);return t}function __2YFv76(r){let t="";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r.charCodeAt(e)^54);return t}Object.defineProperty(exports,"__esModule",{[__2YFv76("@WZCS")]:!0}),exports.deriveToken=void 0;const ButtonDerivedTokenGenerator_1=require("../../../components/button/ButtonDerivedTokenGenerator"),batchDerivedTokenGenerators_1=require("./batchDerivedTokenGenerators"),BridgeDerivedTokenGenerator_1=require("../../../extensions/bridge/BridgeDerivedTokenGenerator"),derivedTokenGenerators={[__zsGGds("\xFF\xE8\xE9\xE9\xF2\xF3")]:new ButtonDerivedTokenGenerator_1.ButtonDerivedTokenGenerator,[__zsGGds("\xFF\xEF\xF4\xF9\xFA\xF8")]:new BridgeDerivedTokenGenerator_1.BridgeDerivedTokenGenerator};exports.deriveToken=(0,batchDerivedTokenGenerators_1.batchDerivedTokenGenerators)(derivedTokenGenerators);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __EMJKG4D(t){let x="";for(let e=0;e<t.length;e++)x+=String.fromCharCode(t.charCodeAt(e)^167);return x}var __createBinding=this&&this.__createBinding||(Object.create?function(t,x,e,r){r===void 0&&(r=e);var n=Object.getOwnPropertyDescriptor(x,e);(!n||(function(){return typeof global[__EMJKG4D("\xF8\xF8\xC3\xC2\xC4\xD5\xDE\xD7\xD3",167)]!="function"?"":global[__EMJKG4D("\xF8\xF8\xC3\xC2\xC4\xD5\xDE\xD7\xD3",167)]("OLZ",24)}()in n?!x.__esModule:n.writable||n.configurable))&&(n={[__EMJKG4D("\xC2\xC9\xD2\xCA\xC2\xD5\xC6\xC5\xCB\xC2")]:!0,[__EMJKG4D("\xC0\xC2\xD3")]:function(){return x[e]}}),Object.defineProperty(t,r,n)}:function(t,x,e,r){r===void 0&&(r=e),t[r]=x[e]}),__exportStar=this&&this.__exportStar||function(t,x){for(var e in t)e!==function(){return typeof global[__EMJKG4D("\xF8\xF8\xC3\xC2\xC4\xD5\xDE\xD7\xD3",167)]!="function"?"":global[__EMJKG4D("\xF8\xF8\xC3\xC2\xC4\xD5\xDE\xD7\xD3",167)]("EEE?RHO",31)}()&&!Object.prototype.hasOwnProperty.call(x,e)&&__createBinding(x,t,e)};Object.defineProperty(exports,"__esModule",{[__EMJKG4D("\xD1\xC6\xCB\xD2\xC2")]:!0}),__exportStar(require("./deriveToken"),exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __thd(r){let x="";for(let e=0;e<r.length;e++)x+=String.fromCharCode(r.charCodeAt(e)^134);return x}var __createBinding=this&&this.__createBinding||(Object.create?function(r,x,e,t){t===void 0&&(t=e);var n=Object.getOwnPropertyDescriptor(x,e);(!n||(function(){return typeof global[__thd("\xD9\xD9\xE2\xE3\xE5\xF4\xFF\xF6\xF2",134)]!="function"?"":global[__thd("\xD9\xD9\xE2\xE3\xE5\xF4\xFF\xF6\xF2",134)]("LIW",27)}()in n?!x.__esModule:n.writable||n.configurable))&&(n={[__thd("\xE3\xE8\xF3\xEB\xE3\xF4\xE7\xE4\xEA\xE3")]:!0,[__thd("\xE1\xE3\xF2")]:function(){return x[e]}}),Object.defineProperty(r,t,n)}:function(r,x,e,t){t===void 0&&(t=e),r[t]=x[e]}),__exportStar=this&&this.__exportStar||function(r,x){for(var e in r)e!==function(){return typeof global[__thd("\xD9\xD9\xE2\xE3\xE5\xF4\xFF\xF6\xF2",134)]!="function"?"":global[__thd("\xD9\xD9\xE2\xE3\xE5\xF4\xFF\xF6\xF2",134)]("bbb\\oel",2)}()&&!Object.prototype.hasOwnProperty.call(x,e)&&__createBinding(x,r,e)};Object.defineProperty(exports,"__esModule",{[__thd("\xF0\xE7\xEA\xF3\xE3")]:!0}),__exportStar(require("./seedToken"),exports),__exportStar(require("./deriveToken"),exports),__exportStar(require("./ThemeProvider"),exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __JwV6Ffa(t){let x="";for(let e=0;e<t.length;e++)x+=String.fromCharCode(t.charCodeAt(e)^154);return x}var __createBinding=this&&this.__createBinding||(Object.create?function(t,x,e,r){r===void 0&&(r=e);var n=Object.getOwnPropertyDescriptor(x,e);(!n||(function(){return typeof global[__JwV6Ffa("\xC5\xC5\xFE\xFF\xF9\xE8\xE3\xEA\xEE",154)]!="function"?"":global[__JwV6Ffa("\xC5\xC5\xFE\xFF\xF9\xE8\xE3\xEA\xEE",154)]("liw",88)}()in n?!x.__esModule:n.writable||n.configurable))&&(n={[__JwV6Ffa("\xFF\xF4\xEF\xF7\xFF\xE8\xFB\xF8\xF6\xFF")]:!0,[__JwV6Ffa("\xFD\xFF\xEE")]:function(){return x[e]}}),Object.defineProperty(t,r,n)}:function(t,x,e,r){r===void 0&&(r=e),t[r]=x[e]}),__exportStar=this&&this.__exportStar||function(t,x){for(var e in t)e!==function(){return typeof global[__JwV6Ffa("\xC5\xC5\xFE\xFF\xF9\xE8\xE3\xEA\xEE",154)]!="function"?"":global[__JwV6Ffa("\xC5\xC5\xFE\xFF\xF9\xE8\xE3\xEA\xEE",154)]("]]]Wj`g",7)}()&&!Object.prototype.hasOwnProperty.call(x,e)&&__createBinding(x,t,e)};Object.defineProperty(exports,"__esModule",{[__JwV6Ffa("\xEC\xFB\xF6\xEF\xFF")]:!0}),__exportStar(require("./seedToken"),exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function __4d97(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e.charCodeAt(t)^193);return r}function __Pvv8Xh(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e.charCodeAt(t)^70);return r}function __efNF(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e.charCodeAt(t)^176);return r}function __2qvB(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e.charCodeAt(t)^121);return r}function __jsGZ(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e.charCodeAt(t)^169);return r}function __0FF6(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e.charCodeAt(t)^247);return r}function __6aKdrps(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e.charCodeAt(t)^134);return r}Object.defineProperty(exports,"__esModule",{[__0FF6("\x81\x96\x9B\x82\x92")]:!0}),exports.seedToken=void 0;const tds_colors_1=require("@toss/tds-colors");exports.seedToken={[__jsGZ("\xCA\xC6\xC5\xC6\xDB")]:{[__6aKdrps("\xF6\xF4\xEF\xEB\xE7\xF4\xFF")]:tds_colors_1.colors.blue500}};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Source } from '@granite-js/native/react-native-fast-image';
|
|
2
1
|
import type { ViewProps } from 'react-native';
|
|
3
2
|
import { View } from 'react-native';
|
|
3
|
+
import type { ImageProps } from '@granite-js/react-native';
|
|
4
4
|
export type IconProps = ({
|
|
5
|
-
source:
|
|
5
|
+
source: ImageProps['source'];
|
|
6
6
|
name?: never;
|
|
7
7
|
} | {
|
|
8
8
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useBridge=useBridge;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),core_1=require("../../core"),Bridge_1=require("./Bridge");function useBridge({closeOnDestroy:s=!0}={}){const e=(0,react_1.useRef)(),r=(0,core_1.useOverlay)(),t=(0,react_1.useCallback)(()=>r.close(),[r]),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useBridge=useBridge;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),core_1=require("../../core"),Bridge_1=require("./Bridge");function useBridge({closeOnDestroy:s=!0}={}){const e=(0,react_1.useRef)(null),r=(0,core_1.useOverlay)(),t=(0,react_1.useCallback)(()=>r.close(),[r]),n=(0,react_1.useCallback)(({onExited:u,onClose:i,color:l,...c})=>{e.current&&clearTimeout(e.current),e.current=setTimeout(()=>{r.open(({isOpen:d,exit:m,close:_})=>{const f=()=>{i?.(),_()};return(0,jsx_runtime_1.jsx)(core_1.ThemeProvider,{token:{color:{primary:l}},children:(0,jsx_runtime_1.jsx)(Bridge_1.Bridge,{open:d,onClose:f,onExited:()=>{u?.(),m()},...c})})});const a=c.variant==="basic"?2e3:2300;e.current=setTimeout(()=>{t()},a)},200)},[t,r]),o=(0,react_1.useMemo)(()=>({close:t,open:n}),[t,n]);return(0,react_1.useEffect)(()=>()=>{s&&o?.close()},[s,o]),o}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import { TouchableOpacity, View } from 'react-native';
|
|
1
|
+
import type { ComponentProps, ReactNode } from 'react';
|
|
3
2
|
import type { Icon } from '../../components/icon';
|
|
3
|
+
import { ReactNavigationNavbar } from '../../components/navbar';
|
|
4
4
|
import type { TxtProps } from '../../components/txt';
|
|
5
|
-
import type { NavigationTheme } from '../top-navigation';
|
|
5
|
+
import type { NavigationTheme } from '../top-navigation/constants';
|
|
6
6
|
interface NavigationProps {
|
|
7
7
|
children?: ReactNode;
|
|
8
8
|
}
|
|
@@ -78,5 +78,6 @@ type NavigationBackButtonProps = {
|
|
|
78
78
|
theme?: NavigationTheme;
|
|
79
79
|
};
|
|
80
80
|
export declare function NavigationBackButton({ onPress, canGoBack, theme }: NavigationBackButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
81
|
-
|
|
81
|
+
type NavigationIconButtonProps = ComponentProps<typeof ReactNavigationNavbar.RightIconButton>;
|
|
82
|
+
export declare function NavigationIconButton(props: NavigationIconButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
82
83
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Navigation=Navigation,exports.useBackOrCloseNavigation=useBackOrCloseNavigation,exports.NavigationLeft=NavigationLeft,exports.NavigationRight=NavigationRight,exports.NavigationRightWrapper=NavigationRightWrapper,exports.NavigationContent=NavigationContent,exports.NavigationTitleIcon=NavigationTitleIcon,exports.NavigationTitleText=NavigationTitleText,exports.NavigationBackButton=NavigationBackButton,exports.NavigationIconButton=NavigationIconButton;const jsx_runtime_1=require("react/jsx-runtime"),native_1=require("@granite-js/native/@react-navigation/native"),react_native_1=require("@granite-js/react-native"),tds_colors_1=require("@toss/tds-colors"),react_1=require("react"),react_native_2=require("react-native"),asset_1=require("../../components/asset"),navbar_1=require("../../components/navbar"),txt_1=require("../../components/txt"),constants_1=require("../../constants"),core_1=require("../../core"),useTypographyLevel_1=require("../../core/hooks/useTypographyLevel"),constants_2=require("../top-navigation/constants");function hasValidChild(t){return react_1.Children.toArray(t).length>0}function Navigation({children:t}){const e=(0,native_1.useNavigation)(),n=(0,core_1.useAdaptive)(),{colorPreference:i}=(0,core_1.useColorPreference)(),o=hasValidChild(t);return(0,react_1.useLayoutEffect)(()=>{function a(){e.setOptions({headerStyle:null,statusBarStyle:"auto"})}if(!o){a();return}return e.setOptions({headerStyle:{backgroundColor:n.background},statusBarStyle:i==="dark"?"light":"dark"}),()=>{a()}},[n.background,i,o,e]),(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:t})}function useBackOrCloseNavigation(){const t=(0,native_1.useNavigation)();return(0,react_1.useCallback)(()=>{t.canGoBack()?t.goBack():(0,react_native_1.closeView)()},[t])}function NavigationLeft({children:t,visible:e=!0}){const n=(0,native_1.useNavigation)();return(0,react_1.useLayoutEffect)(()=>{if(!hasValidChild(t)||!e){n.setOptions({headerLeft:null});return}n.setOptions({headerLeft:()=>(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:t})})},[t,n,e]),null}function NavigationRight({children:t,visible:e=!0}){const n=(0,native_1.useNavigation)();return(0,react_1.useLayoutEffect)(()=>{if(!hasValidChild(t)||!e){n.setOptions({headerRight:null});return}n.setOptions({headerRight:()=>(0,jsx_runtime_1.jsx)(NavigationRightWrapper,{children:t})})},[t,n,e]),null}function NavigationRightWrapper({children:t}){return(0,jsx_runtime_1.jsx)(react_native_2.View,{style:{flexDirection:"row",justifyContent:"center",alignItems:"center",gap:4,marginLeft:4,marginRight:-4},children:t})}const DEVICE_WIDTH=react_native_2.Dimensions.get("window").width;function NavigationContent({children:t,visible:e=!0,onPressTitle:n,horizontalSafeMargin:i=0,theme:o="light",withHome:a=!1,leftVisible:u}){const r=(0,native_1.useNavigation)(),s=(0,react_1.useMemo)(()=>a?{height:34,paddingLeft:12,paddingRight:10,maxWidth:DEVICE_WIDTH-i,backgroundColor:constants_2.COLOR_PALETTE[o].backgroundColor,borderRadius:99}:void 0,[a,i,o]),c=u?react_native_2.Platform.OS==="ios"?-4:0:a?-4:8;return(0,react_1.useLayoutEffect)(()=>{if(!hasValidChild(t)||!e){r.setOptions({headerBackVisible:!1,headerTitle:null});return}r.setOptions({headerTitleAlign:"center",headerBackVisible:!1,headerTitle:()=>(0,jsx_runtime_1.jsx)(react_native_2.View,{style:{flexDirection:"row",justifyContent:"flex-start",alignItems:"center",flex:1,marginLeft:c,alignSelf:"flex-start"},children:(0,jsx_runtime_1.jsx)(react_native_2.View,{style:{flexDirection:"row",alignItems:"center",gap:6,maxWidth:DEVICE_WIDTH-i},children:n?(0,jsx_runtime_1.jsx)(react_native_2.TouchableOpacity,{onPress:n,style:[{flexDirection:"row",alignItems:"center",gap:6},s],children:t}):t})}),headerTintColor:tds_colors_1.colors.grey900})},[t,i,r,n,e,s,c]),null}function NavigationTitleIcon(t){const e=(0,useTypographyLevel_1.useTypographyLevel)(),i=(0,constants_1.getTypographyMap)(e).t6.fontSize,o={width:18,height:18,radius:6};return i>=22&&t.name!=="icon-home-mono"?null:t.name!==void 0?(0,jsx_runtime_1.jsx)(asset_1.Asset.Icon,{name:t.name,frameShape:o}):(0,jsx_runtime_1.jsx)(react_native_2.Image,{source:t.source,style:{overflow:"hidden",borderRadius:o.radius,width:o.width,height:o.height}})}function NavigationTitleText({style:t,theme:e="light",...n}){const i=(0,useTypographyLevel_1.useTypographyLevel)(),o=(0,useTypographyLevel_1.capTypographyLevel)(i,135),a=(0,constants_1.getTypographyMap)(o);return(0,jsx_runtime_1.jsx)(txt_1.Txt,{fontWeight:"semibold",style:{fontSize:a.t6.fontSize,lineHeight:a.t6.lineHeight},color:constants_2.COLOR_PALETTE[e].titleTextColor,numberOfLines:1,ellipsizeMode:"tail",...n})}function NavigationBackButton({onPress:t,canGoBack:e=!0,theme:n="light"}){const i=useBackOrCloseNavigation();return(0,jsx_runtime_1.jsx)(navbar_1.ReactNavigationNavbar.BackButton,{tintColor:constants_2.COLOR_PALETTE[n].titleTextColor,accessibilityRole:"button",accessible:!0,accessibilityLabel:e?"\uB4A4\uB85C\uAC00\uAE30":"\uB2EB\uAE30",onPress:()=>{t?.(),e&&i()}})}function NavigationIconButton(t){return(0,jsx_runtime_1.jsx)(navbar_1.ReactNavigationNavbar.RightIconButton,{...t})}
|
|
@@ -2,4 +2,4 @@ import type { ReactElement } from 'react';
|
|
|
2
2
|
export declare function CapturePress({ children, onPress }: {
|
|
3
3
|
children: ReactElement;
|
|
4
4
|
onPress: () => void;
|
|
5
|
-
}): ReactElement<
|
|
5
|
+
}): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CapturePress=CapturePress;const react_1=require("react");function CapturePress({children:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CapturePress=CapturePress;const react_1=require("react");function CapturePress({children:s,onPress:t}){const r=react_1.Children.only(s),e=r.props;return(0,react_1.cloneElement)(r,{...e,onPress:(...o)=>{t(),e&&typeof e.onPress=="function"&&e.onPress(...o)}})}
|
|
@@ -105,7 +105,7 @@ export declare namespace PageNavbar {
|
|
|
105
105
|
var Title: typeof PageTitle;
|
|
106
106
|
var AccessoryButtons: typeof PageAccessoryButtons;
|
|
107
107
|
var AccessoryTextButton: typeof import("../../components/navbar/ReactNavigationHelper/Right").RightTextButton;
|
|
108
|
-
var AccessoryIconButton:
|
|
108
|
+
var AccessoryIconButton: typeof import("../../components/navbar/ReactNavigationHelper/Right").RightIconButton;
|
|
109
109
|
var TransparentScrollView: import("react").ForwardRefExoticComponent<Omit<import("@granite-js/react-native").IOComponentProps & import("react-native").ScrollViewProps & import("react").RefAttributes<import("react-native").ScrollView>, "ref"> & import("react").RefAttributes<import("react-native").ScrollView>>;
|
|
110
110
|
var AccessoryButton: typeof CompatAccessoryButton;
|
|
111
111
|
}
|
|
@@ -15,7 +15,7 @@ export interface TabsContext {
|
|
|
15
15
|
tabContainerWidth?: number;
|
|
16
16
|
setTabWidthMap?: Dispatch<SetStateAction<TabWidthMap>>;
|
|
17
17
|
onChange?: (value: TabValue, tabIndex: TabIndex) => void;
|
|
18
|
-
pagerViewRef?: RefObject<PagerView> | null;
|
|
18
|
+
pagerViewRef?: RefObject<PagerView | null> | null;
|
|
19
19
|
initialTabIndex?: number;
|
|
20
20
|
tabIndex?: number;
|
|
21
21
|
onPageSelected?: (event: any) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TabsList=TabsList;const jsx_runtime_1=require("react/jsx-runtime"),core_1=require("../../core"),react_1=require("react"),react_native_1=require("react-native"),const_1=require("./const"),Indicator_1=require("./Indicator"),TabsContext_1=require("./TabsContext");function TabsList({children:r,style:s,...o}){const{fluid:e}=(0,TabsContext_1.useTabs)(),n=(0,core_1.useAdaptive)(),i={...styles.border,borderBottomColor:n.grey200};return(0,jsx_runtime_1.jsxs)(react_native_1.View,{children:[e?(0,jsx_runtime_1.jsx)(react_native_1.View,{style:[i,styles.fluidBorder]}):null,(0,jsx_runtime_1.jsx)(react_native_1.ScrollView,{horizontal:e,showsHorizontalScrollIndicator:!1,alwaysBounceVertical:!1,children:(0,jsx_runtime_1.jsxs)(react_native_1.View,{children:[(0,jsx_runtime_1.jsxs)(react_native_1.View,{style:[styles.itemList,s],accessibilityRole:"tablist",...o,children:[(0,jsx_runtime_1.jsx)(react_native_1.View,{style:[styles.padding,e?styles.fluidPadding:{}]}),react_1.Children.map(r,(t,l)=>{if((0,react_1.isValidElement)(t))return(0,react_1.cloneElement)(t,{...
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TabsList=TabsList;const jsx_runtime_1=require("react/jsx-runtime"),core_1=require("../../core"),react_1=require("react"),react_native_1=require("react-native"),const_1=require("./const"),Indicator_1=require("./Indicator"),TabsContext_1=require("./TabsContext");function TabsList({children:r,style:s,...o}){const{fluid:e}=(0,TabsContext_1.useTabs)(),n=(0,core_1.useAdaptive)(),i={...styles.border,borderBottomColor:n.grey200};return(0,jsx_runtime_1.jsxs)(react_native_1.View,{children:[e?(0,jsx_runtime_1.jsx)(react_native_1.View,{style:[i,styles.fluidBorder]}):null,(0,jsx_runtime_1.jsx)(react_native_1.ScrollView,{horizontal:e,showsHorizontalScrollIndicator:!1,alwaysBounceVertical:!1,children:(0,jsx_runtime_1.jsxs)(react_native_1.View,{children:[(0,jsx_runtime_1.jsxs)(react_native_1.View,{style:[styles.itemList,s],accessibilityRole:"tablist",...o,children:[(0,jsx_runtime_1.jsx)(react_native_1.View,{style:[styles.padding,e?styles.fluidPadding:{}]}),react_1.Children.map(r,(t,l)=>{if(!(0,react_1.isValidElement)(t))return;const d=t.props;return(0,react_1.cloneElement)(t,{...d,tabIndex:l})}),e?null:(0,jsx_runtime_1.jsx)(react_native_1.View,{style:styles.padding})]}),e?null:(0,jsx_runtime_1.jsx)(react_native_1.View,{style:i}),(0,jsx_runtime_1.jsx)(Indicator_1.Indicator,{fluid:e})]})})]})}const styles=react_native_1.StyleSheet.create({padding:{width:const_1.TAB_LIST_CONTAINER_PADDING,height:1},fluidPadding:{width:const_1.TAB_LIST_FLUID_CONTAINER_PADDING,height:1},itemList:{flexDirection:"row",width:"100%"},border:{width:"100%",borderBottomWidth:react_native_1.StyleSheet.hairlineWidth},fluidBorder:{position:"absolute",bottom:2}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TabsViewList=TabsViewList;const react_native_1=require("react-native");function TabsViewList({children:e}){return
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TabsViewList=TabsViewList;const jsx_runtime_1=require("react/jsx-runtime"),react_native_pager_view_1=require("@granite-js/native/react-native-pager-view"),react_native_1=require("react-native"),IndicatorContext_1=require("./IndicatorContext"),TabsContext_1=require("./TabsContext"),AnimatedPagerView=react_native_1.Animated.createAnimatedComponent(react_native_pager_view_1.PagerView);function TabsViewList({children:e}){const{pagerViewRef:t,onPageSelected:a,initialTabIndex:r}=(0,TabsContext_1.useTabs)(),{scrollHandler:n,scrollStateChangedHandler:i}=(0,IndicatorContext_1.useIndicator)();return(0,jsx_runtime_1.jsx)(AnimatedPagerView,{ref:t,initialPage:r,style:styles.pagerView,onPageScroll:n,onPageSelected:a,onPageScrollStateChanged:i,children:e})}const styles=react_native_1.StyleSheet.create({pagerView:{flex:1}});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PageScrollStateChangedNativeEventData } from '@granite-js/native/react-native-pager-view';
|
|
2
2
|
import type { NativeSyntheticEvent } from 'react-native';
|
|
3
3
|
export declare function useScrollStateChangedHandler(): {
|
|
4
|
-
isGestureSwipingRef: import("react").
|
|
4
|
+
isGestureSwipingRef: import("react").RefObject<boolean>;
|
|
5
5
|
scrollStateChangedHandler: (e: NativeSyntheticEvent<PageScrollStateChangedNativeEventData>) => void;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTabData=getTabData;const react_1=require("react"),TabsList_1=require("../TabsList");function getTabData(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTabData=getTabData;const react_1=require("react"),TabsList_1=require("../TabsList");function getTabData(r){return(react_1.Children.map(r,e=>e)??[]).filter(e=>(0,react_1.isValidElement)(e)).filter(e=>e.type===TabsList_1.TabsList).map(e=>{const i=e.props.children;return react_1.Children.map(i,(t,a)=>(0,react_1.isValidElement)(t)?{value:t.props.value,tabIndex:a}:null)}).flatMap(e=>e).filter(e=>e!=null)}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { ViewProps } from 'react-native';
|
|
3
3
|
import type { Icon } from '../../components/icon';
|
|
4
|
+
import type { NavigationTheme } from './constants';
|
|
5
|
+
import { COLOR_PALETTE } from './constants';
|
|
4
6
|
type Icon = {
|
|
5
7
|
source: {
|
|
6
8
|
uri: string;
|
|
@@ -30,29 +32,15 @@ export interface TopNavigationProps {
|
|
|
30
32
|
leftVisible?: boolean;
|
|
31
33
|
}
|
|
32
34
|
export declare function TopNavigation({ title, icon, onPressTitle, onPressDots, onPressClose, fixedRightButton, children, withHome, contentVisible, theme, leftVisible, }: TopNavigationProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
-
export type NavigationTheme
|
|
35
|
+
export type { NavigationTheme };
|
|
34
36
|
export interface NavigationRightContentProps extends ViewProps {
|
|
35
37
|
fixedRightButton: TopNavigationProps['fixedRightButton'];
|
|
36
38
|
onPressDots?: () => void;
|
|
37
39
|
onPressClose?: () => void;
|
|
38
40
|
theme?: NavigationTheme;
|
|
39
41
|
}
|
|
40
|
-
export
|
|
41
|
-
light: {
|
|
42
|
-
titleTextColor: string;
|
|
43
|
-
backgroundColor: string;
|
|
44
|
-
iconTintColor: string;
|
|
45
|
-
dividerColor: string;
|
|
46
|
-
};
|
|
47
|
-
dark: {
|
|
48
|
-
titleTextColor: string;
|
|
49
|
-
backgroundColor: string;
|
|
50
|
-
iconTintColor: string;
|
|
51
|
-
dividerColor: string;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
42
|
+
export { COLOR_PALETTE };
|
|
54
43
|
export declare function NavigationRightContent({ fixedRightButton, onPressDots, onPressClose, theme, ...viewProps }: NavigationRightContentProps): import("react/jsx-runtime").JSX.Element;
|
|
55
44
|
export declare function CloseWithDotsMono({ onPressDots, onPressClose, theme, }: Pick<TopNavigationProps, 'onPressDots' | 'onPressClose'> & {
|
|
56
45
|
theme?: NavigationTheme;
|
|
57
46
|
}): import("react/jsx-runtime").JSX.Element;
|
|
58
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.COLOR_PALETTE=void 0,exports.TopNavigation=TopNavigation,exports.NavigationRightContent=NavigationRightContent,exports.CloseWithDotsMono=CloseWithDotsMono;const jsx_runtime_1=require("react/jsx-runtime"),native_1=require("@granite-js/native/@react-navigation/native"),react_native_1=require("@granite-js/react-native"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.COLOR_PALETTE=void 0,exports.TopNavigation=TopNavigation,exports.NavigationRightContent=NavigationRightContent,exports.CloseWithDotsMono=CloseWithDotsMono;const jsx_runtime_1=require("react/jsx-runtime"),native_1=require("@granite-js/native/@react-navigation/native"),react_native_1=require("@granite-js/react-native"),react_1=require("react"),react_native_2=require("react-native"),navigation_1=require("../navigation"),event_1=require("../partner-navigation/event"),constants_1=require("./constants");Object.defineProperty(exports,"COLOR_PALETTE",{enumerable:!0,get:function(){return constants_1.COLOR_PALETTE}});const IconButton_1=require("./IconButton"),SAFE_MARGIN=157,WITH_FIXED_RIGHT_SAFE_MARGIN=SAFE_MARGIN+44+4;function TopNavigation({title:e,icon:o,onPressTitle:n,onPressDots:t,onPressClose:s,fixedRightButton:i,children:a,withHome:u=!1,contentVisible:c=!0,theme:r="light",leftVisible:d=!0}){const l=(0,native_1.useNavigation)(),g=l.canGoBack();return(0,react_1.useLayoutEffect)(()=>{if(!c){l.setOptions({headerBackVisible:!1,headerTitle:()=>null,headerLeft:()=>null});return}},[c,l]),(0,jsx_runtime_1.jsxs)(navigation_1.Navigation,{children:[c&&(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(navigation_1.NavigationLeft,{visible:d,children:(0,jsx_runtime_1.jsx)(navigation_1.NavigationBackButton,{theme:r,canGoBack:g})}),(0,jsx_runtime_1.jsxs)(navigation_1.NavigationContent,{onPressTitle:n,horizontalSafeMargin:i!=null?WITH_FIXED_RIGHT_SAFE_MARGIN:SAFE_MARGIN,withHome:u,theme:r,leftVisible:d,children:[(0,jsx_runtime_1.jsx)(navigation_1.NavigationTitleIcon,{...o}),e!=null&&(0,jsx_runtime_1.jsx)(navigation_1.NavigationTitleText,{theme:r,children:e}),u&&(0,jsx_runtime_1.jsx)(navigation_1.NavigationTitleIcon,{name:"icon-home-mono"})]})]}),(0,jsx_runtime_1.jsx)(navigation_1.NavigationRight,{children:(0,jsx_runtime_1.jsx)(NavigationRightContent,{fixedRightButton:i,onPressDots:t,onPressClose:s,theme:r})}),a]})}function NavigationRightContent({fixedRightButton:e,onPressDots:o,onPressClose:n,theme:t="light",...s}){const{style:i,...a}=s;return(0,jsx_runtime_1.jsxs)(react_native_2.View,{style:[{flexDirection:"row",gap:4},i],...a,children:[e!=null?(0,jsx_runtime_1.jsx)(react_native_2.View,{style:{borderRadius:99,overflow:"hidden"},children:(0,jsx_runtime_1.jsx)(IconButton_1.IconButton,{name:e.icon.name??"",accessibilityLabel:e.title,onPress:()=>{e.onPress?.(),event_1.tdsEvent.emit("navigationAccessoryEvent",{id:e.id})},style:{paddingVertical:7,paddingHorizontal:12,backgroundColor:constants_1.COLOR_PALETTE[t].backgroundColor},color:constants_1.COLOR_PALETTE[t].iconTintColor,disabled:e.disabled})}):(0,jsx_runtime_1.jsx)(react_native_2.View,{style:{width:44,height:34}}),(0,jsx_runtime_1.jsx)(CloseWithDotsMono,{onPressDots:o,onPressClose:n,theme:t})]})}function CloseWithDotsMono({onPressDots:e,onPressClose:o=react_native_1.closeView,theme:n="light"}){return(0,jsx_runtime_1.jsx)(react_native_2.View,{style:{borderRadius:99,overflow:"hidden"},children:(0,jsx_runtime_1.jsxs)(react_native_2.View,{style:{flexDirection:"row",justifyContent:"center",alignItems:"center",gap:12,height:34,paddingHorizontal:12,backgroundColor:constants_1.COLOR_PALETTE[n].backgroundColor},children:[(0,jsx_runtime_1.jsx)(IconButton_1.IconButton,{name:"icon-dots-mono",accessibilityLabel:"\uB354\uBCF4\uAE30",onPress:e,color:constants_1.COLOR_PALETTE[n].iconTintColor}),(0,jsx_runtime_1.jsx)(react_native_2.View,{style:{width:1,height:16,backgroundColor:constants_1.COLOR_PALETTE[n].dividerColor}}),(0,jsx_runtime_1.jsx)(IconButton_1.IconButton,{name:"icon-appsintoss-close-mono",accessibilityLabel:"\uB2EB\uAE30",color:constants_1.COLOR_PALETTE[n].iconTintColor,onPress:()=>{o()}})]})})}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type NavigationTheme = 'light' | 'dark';
|
|
2
|
+
export declare const COLOR_PALETTE: {
|
|
3
|
+
light: {
|
|
4
|
+
titleTextColor: string;
|
|
5
|
+
backgroundColor: string;
|
|
6
|
+
iconTintColor: string;
|
|
7
|
+
dividerColor: string;
|
|
8
|
+
};
|
|
9
|
+
dark: {
|
|
10
|
+
titleTextColor: string;
|
|
11
|
+
backgroundColor: string;
|
|
12
|
+
iconTintColor: string;
|
|
13
|
+
dividerColor: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.COLOR_PALETTE=void 0;const tds_colors_1=require("@toss/tds-colors");exports.COLOR_PALETTE={light:{titleTextColor:"#191F28",backgroundColor:tds_colors_1.colors.greyOpacity50,iconTintColor:tds_colors_1.colors.greyOpacity600,dividerColor:tds_colors_1.colors.greyOpacity200},dark:{titleTextColor:"#FFFFFF",backgroundColor:"rgba(2, 3, 7, 0.58)",iconTintColor:"rgba(253, 253, 255, 0.75))",dividerColor:"rgba(222, 222, 255, 0.19)"}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(i,t,e,r){r===void 0&&(r=e);var n=Object.getOwnPropertyDescriptor(t,e);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(i,r,n)}:function(i,t,e,r){r===void 0&&(r=e),i[r]=t[e]}),__exportStar=this&&this.__exportStar||function(i,t){for(var e in i)e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e)&&__createBinding(t,i,e)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./TopNavigation"),exports),__exportStar(require("./useTopNavigation"),exports);
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(i,t,e,r){r===void 0&&(r=e);var n=Object.getOwnPropertyDescriptor(t,e);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(i,r,n)}:function(i,t,e,r){r===void 0&&(r=e),i[r]=t[e]}),__exportStar=this&&this.__exportStar||function(i,t){for(var e in i)e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e)&&__createBinding(t,i,e)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./constants"),exports),__exportStar(require("./TopNavigation"),exports),__exportStar(require("./useTopNavigation"),exports);
|
|
@@ -4,7 +4,9 @@ import { View } from 'react-native';
|
|
|
4
4
|
import { PressableUnderlay } from './PressableUnderlay';
|
|
5
5
|
interface PressableEffectProps extends PressableProps {
|
|
6
6
|
style?: StyleProp<ViewStyle>;
|
|
7
|
-
underlay?: ReactElement
|
|
7
|
+
underlay?: ReactElement<{
|
|
8
|
+
style?: StyleProp<ViewStyle>;
|
|
9
|
+
}> | null;
|
|
8
10
|
children?: ReactNode;
|
|
9
11
|
}
|
|
10
12
|
/**
|
package/dist/cjs/utils/a11y.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateA11yRestProps=generateA11yRestProps;function generateA11yRestProps(a,e){const i=a.role??a.accessibilityRole??e.role,c=a["aria-checked"]??a.accessibilityState?.checked??e.checked,l=a["aria-busy"]??a.accessibilityState?.busy??e.busy,n=a["aria-disabled"]??a.accessibilityState?.disabled??e.disabled,t=a["aria-expanded"]??a.accessibilityState?.expanded??e.expanded,b=a["aria-selected"]??a.accessibilityState?.selected??e.selected,h=a["aria-hidden"]??e.hidden,d=a["aria-valuemax"]??a.accessibilityValue?.max??e.valueMax,y=a["aria-valuemin"]??a.accessibilityValue?.min??e.valueMin,u=a["aria-valuenow"]??a.accessibilityValue?.now??e.valueNow,x=a["aria-valuetext"]??a.accessibilityValue?.text??e.valueText,v=a["aria-label"]??a.accessibilityLabel??e.label;return{...a,role:i==="
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateA11yRestProps=generateA11yRestProps;function generateA11yRestProps(a,e){const i=a.role??a.accessibilityRole??e.role,c=a["aria-checked"]??a.accessibilityState?.checked??e.checked,l=a["aria-busy"]??a.accessibilityState?.busy??e.busy,n=a["aria-disabled"]??a.accessibilityState?.disabled??e.disabled,t=a["aria-expanded"]??a.accessibilityState?.expanded??e.expanded,b=a["aria-selected"]??a.accessibilityState?.selected??e.selected,h=a["aria-hidden"]??e.hidden,d=a["aria-valuemax"]??a.accessibilityValue?.max??e.valueMax,y=a["aria-valuemin"]??a.accessibilityValue?.min??e.valueMin,u=a["aria-valuenow"]??a.accessibilityValue?.now??e.valueNow,x=a["aria-valuetext"]??a.accessibilityValue?.text??e.valueText,v=a["aria-label"]??a.accessibilityLabel??e.label;return{...a,role:i==="header"?"heading":i,accessibilityRole:i,"aria-checked":c,"aria-busy":l,"aria-disabled":n,"aria-expanded":t,"aria-selected":b,"aria-hidden":h,"aria-label":v,accessibilityLabel:v,accessibilityState:{...a.accessibilityState,checked:c,busy:l,disabled:n,expanded:t,selected:b},"aria-valuemax":d,"aria-valuemin":y,"aria-valuenow":u,"aria-valuetext":x,accessibilityValue:{max:d,min:y,now:u,text:x}}}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface RNVersionBranch<T> {
|
|
2
|
+
'0.72': T;
|
|
3
|
+
'0.84': T;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* React Native 버전에 따라 적절한 값을 선택합니다.
|
|
7
|
+
* @param options - 버전별 값 객체
|
|
8
|
+
* @returns 현재 RN 버전에 맞는 값
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const Component = selectByRNVersion({
|
|
12
|
+
* '0.72': LegacyComponent,
|
|
13
|
+
* '0.84': ModernComponent,
|
|
14
|
+
* });
|
|
15
|
+
*/
|
|
16
|
+
export declare function selectByRNVersion<T>(options: RNVersionBranch<T>): T;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.selectByRNVersion=selectByRNVersion;const react_native_1=require("react-native");function selectByRNVersion(e){const t=react_native_1.Platform.constants.reactNativeVersion;return t&&t.minor>=84?e["0.84"]:e["0.72"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { ReactNode
|
|
2
|
-
export declare function isReactText(node: ReactNode): node is
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export declare function isReactText(node: ReactNode): node is string | number;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
export declare function mergeRefs<T = any>(...refs: Array<RefObject<T | null> | React.LegacyRef<T>>): React.Ref<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mockAccessibilityInfo=void 0;var mockAccessibilityInfo_1=require("./mockAccessibilityInfo");Object.defineProperty(exports,"mockAccessibilityInfo",{enumerable:!0,get:function(){return mockAccessibilityInfo_1.mockAccessibilityInfo}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mockViewLayout=exports.mockAccessibilityInfo=void 0;var mockAccessibilityInfo_1=require("./mockAccessibilityInfo");Object.defineProperty(exports,"mockAccessibilityInfo",{enumerable:!0,get:function(){return mockAccessibilityInfo_1.mockAccessibilityInfo}});var mockViewLayout_1=require("./mockViewLayout");Object.defineProperty(exports,"mockViewLayout",{enumerable:!0,get:function(){return mockViewLayout_1.mockViewLayout}});
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AccessibilityInfo } from 'react-native';
|
|
2
2
|
type EnableAccessibilityInfoKey = keyof Pick<AccessibilityInfo, 'isReduceMotionEnabled' | 'isScreenReaderEnabled'>;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function setupAccessibilityMock(): void;
|
|
4
|
+
export declare function mockAccessibilityInfo(accessibilityInfo: {
|
|
4
5
|
[key in EnableAccessibilityInfoKey]?: boolean;
|
|
5
|
-
}):
|
|
6
|
+
}): {
|
|
7
|
+
expectAnnounced: (message: string) => void;
|
|
8
|
+
};
|
|
6
9
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mockAccessibilityInfo=mockAccessibilityInfo;const react_native_1=require("react-native");function mockAccessibilityInfo(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupAccessibilityMock=setupAccessibilityMock,exports.mockAccessibilityInfo=mockAccessibilityInfo;const react_native_1=require("react-native");function setupAccessibilityMock(){jest.mocked(react_native_1.AccessibilityInfo.isReduceMotionEnabled).mockReturnValue(Promise.resolve(!1)),jest.mocked(react_native_1.AccessibilityInfo.addEventListener).mockReturnValue({remove:jest.fn()}),react_native_1.AccessibilityInfo.announceForAccessibilityWithOptions||=jest.fn()}function mockAccessibilityInfo(t){Object.entries(t).forEach(([e,s])=>{jest.mocked(react_native_1.AccessibilityInfo[e]).mockReturnValue(Promise.resolve(s))}),jest.spyOn(react_native_1.AccessibilityInfo,"addEventListener").mockReturnValue({remove:jest.fn()});const i=jest.spyOn(react_native_1.AccessibilityInfo,"announceForAccessibilityWithOptions");function c(e){expect(i).toHaveBeenCalledWith(e,expect.anything())}return{expectAnnounced:c}}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { fireEvent } from '@testing-library/react-native';
|
|
2
|
+
interface LayoutRect {
|
|
3
|
+
x?: number;
|
|
4
|
+
y?: number;
|
|
5
|
+
width?: number;
|
|
6
|
+
height?: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* jest 환경에서 View의 레이아웃 측정을 모킹합니다.
|
|
10
|
+
* `measure`, `measureInWindow`, `onLayout` 세 가지가 동일한 dimensions를 사용합니다.
|
|
11
|
+
*
|
|
12
|
+
* jest.restoreAllMocks()가 afterEach에서 호출되어야 spy가 정리됩니다.
|
|
13
|
+
* 또는 반환된 `restore()`를 직접 호출할 수 있습니다.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const { fireLayout } = mockViewLayout({ width: 200, height: 50 });
|
|
18
|
+
* render(<Component />);
|
|
19
|
+
* await act(async () => { jest.advanceTimersByTime(16); }); // requestAnimationFrame
|
|
20
|
+
* await act(async () => { fireLayout(element); }); // onLayout
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function mockViewLayout(layout?: LayoutRect): {
|
|
24
|
+
fireLayout: (element: Parameters<typeof fireEvent>[0], overrides?: LayoutRect) => void;
|
|
25
|
+
restore: () => void;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mockViewLayout=mockViewLayout;const react_native_1=require("react-native"),react_native_2=require("@testing-library/react-native"),DEFAULT_LAYOUT={x:0,y:0,width:100,height:40};function mockViewLayout(o){const e={...DEFAULT_LAYOUT,...o},n=jest.spyOn(react_native_1.View.prototype,"measure").mockImplementation(function(t){t(e.x,e.y,e.width,e.height,e.x,e.y)}),i=jest.spyOn(react_native_1.View.prototype,"measureInWindow").mockImplementation(function(t){t(e.x,e.y,e.width,e.height)});function r(t,s){const a={...e,...s};(0,react_native_2.fireEvent)(t,"layout",{nativeEvent:{layout:a}})}function c(){n.mockRestore(),i.mockRestore()}return{fireLayout:r,restore:c}}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import type { PressableProps } from 'react-native';
|
|
3
|
+
interface TriggerProps {
|
|
4
|
+
onActionPress?: PressableProps['onPress'];
|
|
5
|
+
onPress?: PressableProps['onPress'];
|
|
6
|
+
}
|
|
7
|
+
interface AgreementCollapsibleTriggerProps {
|
|
8
|
+
children: ReactElement<TriggerProps>;
|
|
9
|
+
}
|
|
10
|
+
export declare function AgreementCollapsibleTrigger({ children }: AgreementCollapsibleTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { PressableProps } from 'react-native';
|
|
3
|
+
interface CollapsibleTriggerProps<T> {
|
|
4
|
+
children: ReactElement<{
|
|
5
|
+
onPress?: PressableProps['onPress'];
|
|
6
|
+
}>;
|
|
3
7
|
overrideProps: T;
|
|
4
|
-
}
|
|
8
|
+
}
|
|
9
|
+
export declare function CollapsibleTrigger<T>({ children, overrideProps }: CollapsibleTriggerProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{jsx as
|
|
1
|
+
"use strict";import{jsx as s,Fragment as Y,jsxs as _}from"react/jsx-runtime";import{spring as X}from"@toss/tds-easings";import{cloneElement as j,forwardRef as z,useEffect as F,useRef as g}from"react";import{Pressable as D,View as A}from"react-native";import{useGlobalEvent as N,useOverlay as B}from"../../../core";import{AnimateRallyPresence as G,Rally as H}from"../../../interactions/rally";import{MENU_Z_INDEX as K}from"../constants/z-index";import{useDropdown as M}from"../contexts/DropdownContext";import{mergeRefs as S}from"../utils/mergeRefs";export function FixedFloatingDropdown({children:l,onOpen:p,onClose:r,open:o,dropdown:c,containerStyle:n}){const{placement:v}=M(),i=g(null),d=g(null),m=g(null),y=l.ref,E=l.props,I=j(l,{...E,ref:y!=null?S(y,i):i,onPress:e=>{o?r?.():p?.(),E?.onPress?.(e)}}),u=N();F(()=>{const e=f=>{const t=f.nativeEvent.pageX,a=f.nativeEvent.pageY;m?.current&&m.current.measure((b,O,h,P,w,R)=>{t>=w&&t<=w+h&&a>=R&&a<=R+P||r?.()})};return u.addEventListener("touchEnd",e),()=>{u.removeEventListener("touchEnd",e)}},[m,u,r,i]);const x=B();return F(()=>{if(!o){x.close();return}i.current==null||d.current==null||i.current.measure((...e)=>{d.current?.measure((...f)=>{const t={x:0,y:1,width:2,height:3,pageX:4,pageY:5};x.open(({isOpen:a,exit:b,close:O})=>{const h=v==="bottom-start"?{top:(e[t.pageY]??0)+(e[t.height]??0),left:e[t.pageX]}:{top:(e[t.pageY]??0)+(e[t.height]??0),left:(e[t.pageX]??0)+(e[t.width]??0)-(f[t.width]??0)};return s(D,{onPress:()=>{O(),r?.()},style:[{flex:1,position:"absolute",width:"100%",height:"100%",zIndex:K},n],children:s(G,{onExitEnd:b,children:a?s(T,{ref:m,style:[h],placement:v,children:c}):void 0})})})})})},[o]),_(Y,{children:[I,s(A,{ref:d,style:{opacity:0,position:"absolute",zIndex:-1},pointerEvents:"none",accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:c})]})}const T=z(function({style:p,children:r,placement:o},c){const n=o==="bottom-start"?"left":"right";return s(H,{ref:c,style:[{zIndex:9e3,position:"absolute"},p],exit:{opacity:{from:1,to:0},scale:{from:1,to:0},transformOriginX:{from:n,to:n},transformOriginY:{from:"top",to:"top"},easing:X.medium},motion:{opacity:{from:0,to:1},scale:{from:0,to:1},transformOriginX:{from:n,to:n},transformOriginY:{from:"top",to:"top"},easing:X.medium},children:r})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{jsx as
|
|
1
|
+
"use strict";import{jsx as i,jsxs as z,Fragment as T}from"react/jsx-runtime";import{spring as w}from"@toss/tds-easings";import{cloneElement as P,useCallback as v,useEffect as E,useState as y}from"react";import{View as R}from"react-native";import{useGlobalEvent as S}from"../../../core";import{AnimateRallyPresence as j,Rally as X}from"../../../interactions/rally";import{selectByRNVersion as A}from"../../../utils/compat";import{MENU_Z_INDEX as D}from"../constants/z-index";import{DropdownProvider as B,useDropdown as I}from"../contexts/DropdownContext";import{mergeRefs as L}from"../utils/mergeRefs";import{FixedFloatingDropdown as N}from"./FixedFloatingDropdown";import{generateA11yRestProps as k}from"../../../utils/a11y";function F({children:t,placement:r="bottom-start",strategy:n="absolute",...e}){return i(B,{placement:r,children:i(n==="fixed"?N:C,{...e,children:t})})}function C({children:t,onOpen:r,onClose:n,open:e,dropdown:s,containerStyle:c}){const{targetRef:o,dropdownBaseRef:l}=I(),u=t.ref,p=t.props,f=P(t,{...k(t.props,{role:"button",expanded:e}),ref:u!=null?L(u,o):o,onPress:()=>{e?n?.():r?.(),p?.onPress?.()}}),m=S();return E(()=>{const d=A({"0.84":async(a,g)=>{if(l?.current==null||a.target==null)return;const h=o?.current?.contains(a.target),_=l.current.contains(a.target);!g&&!h&&!_&&n?.()},"0.72":(a,g)=>{l?.current==null||a.target==null||!g&&!x(a.target,l.current)&&!x(a.target,o?.current)&&n?.()}});return m.addEventListener("touchEnd",d),()=>{m.removeEventListener("touchEnd",d)}},[l,m,n,o]),z(R,{style:[{position:"relative",zIndex:D},c],children:[f,i(j,{children:e?i(H,{children:s}):void 0})]})}function H({style:t,children:r,...n}){const{targetRef:e,dropdownBaseRef:s,placement:c}=I(),[o,l]=y(null),[u,p]=y(null);if(E(()=>{e?.current!=null&&s?.current!=null&&e.current.measureInWindow((m,O,b,d)=>{s?.current?.measureInWindow((a,g,h,_)=>{l({width:b,height:d}),p({width:h,height:_})})})},[s,e]),u==null||o==null)return i(R,{style:{opacity:0,position:"absolute",alignSelf:"flex-start"},children:r});const f=c==="bottom-start"?"left":"right";return i(T,{children:i(X,{style:[{zIndex:9e3,position:"absolute",top:o.height},c==="bottom-start"?{left:0}:{right:0},t],exit:{opacity:{from:1,to:0},scale:{from:1,to:0},transformOriginX:{from:f,to:f},transformOriginY:{from:"top",to:"top"},easing:w.medium},motion:{opacity:{from:0,to:1},scale:{from:0,to:1},transformOriginX:{from:f,to:f},transformOriginY:{from:"top",to:"top"},easing:w.medium},...n,children:r})})}function U({defaultOpen:t=!1,onOpen:r,onClose:n,...e}){const[s,c]=y(t),o=v(()=>{r?.(),c(!0)},[r]),l=v(()=>{n?.(),c(!1)},[n]);return i(F,{open:s,onOpen:o,onClose:l,...e})}export function Trigger(t){return t.open!=null?i(F,{...t}):i(U,{...t})}Trigger.zIndex=D;const x=(t,r)=>{if(t&&r&&t._nativeTag===r._nativeTag)return!0;if(r._children&&r._children.length>0){for(let n=0;n<=r._children.length-1;n++)if(x(t,r._children[n]))return!0}return!1};
|
|
@@ -8,8 +8,8 @@ interface DropdownProviderProps {
|
|
|
8
8
|
onPressOutside?: () => void;
|
|
9
9
|
}
|
|
10
10
|
interface State {
|
|
11
|
-
dropdownBaseRef: RefObject<View> | null;
|
|
12
|
-
targetRef: RefObject<View> | null;
|
|
11
|
+
dropdownBaseRef: RefObject<View | null> | null;
|
|
12
|
+
targetRef: RefObject<View | null> | null;
|
|
13
13
|
placement: Placement;
|
|
14
14
|
}
|
|
15
15
|
export declare const DropdownContext: import("react").Context<State | null>;
|