react-native-mantine 0.11.0 → 0.12.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.
@@ -200,11 +200,17 @@ const SegmentedControl = exports.SegmentedControl = /*#__PURE__*/(0, _react.forw
200
200
  }
201
201
  onChange?.(item.value);
202
202
  };
203
+
204
+ // Calculate perpendicular dimension for the indicator
205
+ // For horizontal: use 80% of segment height
206
+ // For vertical: use segment width minus padding
207
+ const perpendicularDimension = segmentLayouts[activeIndex] ? orientation === 'horizontal' ? segmentLayouts[activeIndex].height * 0.8 : segmentLayouts[activeIndex].width - (0, _rem.rem)(4) : 0;
203
208
  const indicatorStyle = {
204
209
  [orientation === 'horizontal' ? 'left' : 'top']: indicatorPosition,
205
210
  [orientation === 'horizontal' ? 'width' : 'height']: indicatorSize,
206
- [orientation === 'horizontal' ? 'height' : 'width']: '100%'
211
+ [orientation === 'horizontal' ? 'height' : 'width']: orientation === 'horizontal' ? '80%' : perpendicularDimension
207
212
  };
213
+ console.log('perpendicularDimension', perpendicularDimension);
208
214
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.BoxView, {
209
215
  ref: ref,
210
216
  style: sx(styles.root, style),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_themeProvider","_index3","_rem","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","sizes","xs","fontSize","rem","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","createStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","exports","forwardRef","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","useComponentDefaultProps","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","useState","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","useRef","Animated","Value","current","indicatorSize","useEffect","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","indicatorStyle","jsxs","BoxView","children","length","jsx","View","isActive","isDisabled","TouchableOpacity","onPress","activeOpacity","onLayout","Text","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_themeProvider","_index3","_rem","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","sizes","xs","fontSize","rem","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","createStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","exports","forwardRef","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","useComponentDefaultProps","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","useState","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","useRef","Animated","Value","current","indicatorSize","useEffect","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","perpendicularDimension","indicatorStyle","console","log","jsxs","BoxView","children","length","jsx","View","isActive","isDisabled","TouchableOpacity","onPress","activeOpacity","onLayout","Text","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAOA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,IAAA,GAAAN,OAAA;AAA4C,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AA8C5C,MAAMkB,KAAK,GAAG;EACZC,EAAE,EAAE;IACFC,QAAQ,EAAE,IAAAC,QAAG,EAAC,EAAE,CAAC;IACjBC,eAAe,EAAE,IAAAD,QAAG,EAAC,CAAC,CAAC;IACvBE,iBAAiB,EAAE,IAAAF,QAAG,EAAC,CAAC,CAAC;IACzBG,MAAM,EAAE,IAAAH,QAAG,EAAC,EAAE;EAChB,CAAC;EACDI,EAAE,EAAE;IACFL,QAAQ,EAAE,IAAAC,QAAG,EAAC,EAAE,CAAC;IACjBC,eAAe,EAAE,IAAAD,QAAG,EAAC,CAAC,CAAC;IACvBE,iBAAiB,EAAE,IAAAF,QAAG,EAAC,EAAE,CAAC;IAC1BG,MAAM,EAAE,IAAAH,QAAG,EAAC,EAAE;EAChB,CAAC;EACDK,EAAE,EAAE;IACFN,QAAQ,EAAE,IAAAC,QAAG,EAAC,EAAE,CAAC;IACjBC,eAAe,EAAE,IAAAD,QAAG,EAAC,CAAC,CAAC;IACvBE,iBAAiB,EAAE,IAAAF,QAAG,EAAC,EAAE,CAAC;IAC1BG,MAAM,EAAE,IAAAH,QAAG,EAAC,EAAE;EAChB,CAAC;EACDM,EAAE,EAAE;IACFP,QAAQ,EAAE,IAAAC,QAAG,EAAC,EAAE,CAAC;IACjBC,eAAe,EAAE,IAAAD,QAAG,EAAC,CAAC,CAAC;IACvBE,iBAAiB,EAAE,IAAAF,QAAG,EAAC,EAAE,CAAC;IAC1BG,MAAM,EAAE,IAAAH,QAAG,EAAC,EAAE;EAChB,CAAC;EACDO,EAAE,EAAE;IACFR,QAAQ,EAAE,IAAAC,QAAG,EAAC,EAAE,CAAC;IACjBC,eAAe,EAAE,IAAAD,QAAG,EAAC,EAAE,CAAC;IACxBE,iBAAiB,EAAE,IAAAF,QAAG,EAAC,EAAE,CAAC;IAC1BG,MAAM,EAAE,IAAAH,QAAG,EAAC,EAAE;EAChB;AACF,CAAC;AAED,MAAMQ,SAAS,GAAG,IAAAC,oBAAY,EAC5B,CACEC,KAAK,EACL;EACEC,MAAM;EACNC,QAAQ;EACRC,WAAW;EACXC;AAOF,CAAC,EACD;EAAEC;AAAK,CAAC,KACL;EACH,MAAMC,UAAU,GAAGnB,KAAK,CAACkB,IAAI,CAAuB,IAAIlB,KAAK,CAACQ,EAAE;EAEhE,OAAO;IACLY,IAAI,EAAE;MACJC,QAAQ,EAAE,UAAU;MACpBC,aAAa,EAAEN,WAAW,KAAK,YAAY,GAAG,KAAK,GAAG,QAAQ;MAC9DO,eAAe,EACbV,KAAK,CAACW,WAAW,KAAK,MAAM,GACxBX,KAAK,CAACY,MAAM,CAACC,IAAI,GAAG,CAAC,CAAC,GACtBb,KAAK,CAACY,MAAM,CAACE,IAAI,GAAG,CAAC,CAAC;MAC5BC,YAAY,EAAEf,KAAK,CAACgB,EAAE,CAACf,MAAM,CAACA,MAAM,CAAC;MACrCgB,OAAO,EAAE,IAAA3B,QAAG,EAAC,CAAC,CAAQ;MACtB4B,OAAO,EAAEhB,QAAQ,GAAG,GAAG,GAAG,CAAC;MAC3B,IAAIE,SAAS,IAAI;QAAEe,KAAK,EAAE;MAAO,CAAC;IACpC,CAAC;IACDC,SAAS,EAAE;MACTZ,QAAQ,EAAE,UAAU;MACpBE,eAAe,EAAEV,KAAK,CAACqB,KAAK;MAC5BN,YAAY,EAAGf,KAAK,CAACgB,EAAE,CAACf,MAAM,CAACA,MAAM,CAAC,GAAc,IAAAX,QAAG,EAAC,CAAC,CAAC;MAC1DgC,WAAW,EAAE,MAAM;MACnBC,YAAY,EAAE;QAAEJ,KAAK,EAAE,CAAC;QAAE1B,MAAM,EAAE;MAAE,CAAC;MACrC+B,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,CAAC;MACfC,SAAS,EAAE,CAAC;MACZ,IAAI1B,KAAK,CAACW,WAAW,KAAK,MAAM,IAAI;QAClCD,eAAe,EAAEV,KAAK,CAACY,MAAM,CAACC,IAAI,GAAG,CAAC;MACxC,CAAC;IACH,CAAC;IACDc,OAAO,EAAE;MACPC,IAAI,EAAE,CAAC;MACPpC,iBAAiB,EAAEc,UAAU,CAACd,iBAAwB;MACtDD,eAAe,EAAEe,UAAU,CAACf,eAAsB;MAClDsC,SAAS,EAAEvB,UAAU,CAACb,MAAa;MACnCqC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBhB,YAAY,EAAGf,KAAK,CAACgB,EAAE,CAACf,MAAM,CAACA,MAAM,CAAC,GAAc,IAAAX,QAAG,EAAC,CAAC,CAAC;MAC1D0C,MAAM,EAAE;IACV,CAAC;IACDC,KAAK,EAAE;MACL5C,QAAQ,EAAEiB,UAAU,CAACjB,QAAe;MACpC6C,UAAU,EAAE,KAAK;MACjBC,SAAS,EAAE;IACb,CAAC;IACDC,WAAW,EAAE;MACXC,KAAK,EAAErC,KAAK,CAACW,WAAW,KAAK,MAAM,GAAGX,KAAK,CAACqB,KAAK,GAAGrB,KAAK,CAACsC;IAC5D,CAAC;IACDC,aAAa,EAAE;MACbF,KAAK,EACHrC,KAAK,CAACW,WAAW,KAAK,MAAM,GACxBX,KAAK,CAACY,MAAM,CAACC,IAAI,GAAG,CAAC,CAAC,GACtBb,KAAK,CAACY,MAAM,CAACE,IAAI,GAAG,CAAC;IAC7B,CAAC;IACD0B,aAAa,EAAE;MACbH,KAAK,EACHrC,KAAK,CAACW,WAAW,KAAK,MAAM,GACxBX,KAAK,CAACY,MAAM,CAACC,IAAI,GAAG,CAAC,CAAC,GACtBb,KAAK,CAACY,MAAM,CAACE,IAAI,GAAG,CAAC;IAC7B;EACF,CAAC;AACH,CACF,CAAQ;AAER,MAAM2B,YAA4C,GAAG;EACnDpC,IAAI,EAAE,IAAI;EACVgC,KAAK,EAAE,MAAM;EACbpC,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,KAAK;EACfC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,KAAK;EAChBsC,kBAAkB,EAAE;AACtB,CAAC;AAEM,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAG,IAAAE,iBAAU,EACxC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;IACJC,KAAK,EAAEC,eAAe;IACtBC,YAAY;IACZC,QAAQ;IACRC,IAAI;IACJ/C,IAAI;IACJgC,KAAK;IACLpC,MAAM;IACNC,QAAQ;IACRC,WAAW;IACXC,SAAS;IACTsC,kBAAkB;IAClBW,KAAK;IACL,GAAGC;EACL,CAAC,GAAG,IAAAC,uCAAwB,EAAC,kBAAkB,EAAEd,YAAY,EAAEK,KAAK,CAAC;EAErE,MAAM;IAAEU,MAAM;IAAEC;EAAG,CAAC,GAAG3D,SAAS,CAC9B;IAAEuC,KAAK;IAAEpC,MAAM;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAU,CAAC,EACnD;IAAEsD,IAAI,EAAE,kBAAkB;IAAErD;EAAK,CACnC,CAAQ;;EAER;EACA,MAAMsD,cAAsC,GAAGP,IAAI,CAACQ,GAAG,CAAEC,IAAI,IAC3D,OAAOA,IAAI,KAAK,QAAQ,GACpB;IAAE5B,KAAK,EAAE4B,IAAI;IAAEb,KAAK,EAAEa,IAAI;IAAE3D,QAAQ,EAAE;EAAM,CAAC,GAC7C2D,IACN,CAAC;EAED,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAC,eAAQ,EACxDd,YAAY,IAAIS,cAAc,CAAC,CAAC,CAAC,EAAEX,KAAK,IAAI,EAC9C,CAAC;EACD,MAAM,CAACiB,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAF,eAAQ,EAElD,EAAE,CAAC;EAEL,MAAMhB,KAAK,GACTC,eAAe,KAAKkB,SAAS,GAAGlB,eAAe,GAAGa,iBAAiB;EACrE,MAAMM,WAAW,GAAGT,cAAc,CAACU,SAAS,CACzCR,IAAI,IAAKA,IAAI,CAACb,KAAK,KAAKA,KAC3B,CAAC;EAED,MAAMsB,iBAAiB,GAAG,IAAAC,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAC/D,MAAMC,aAAa,GAAG,IAAAJ,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAE3D,IAAAE,gBAAS,EAAC,MAAM;IACd,IAAIX,cAAc,CAACG,WAAW,CAAC,EAAE;MAC/B,MAAMS,MAAM,GAAGZ,cAAc,CAACG,WAAW,CAAC;MAC1C;;MAEAI,qBAAQ,CAACM,QAAQ,CAAC,CAChBN,qBAAQ,CAACO,MAAM,CAACT,iBAAiB,EAAE;QACjCU,OAAO,EAAE7E,WAAW,KAAK,YAAY,GAAG0E,MAAM,CAACI,CAAC,GAAGJ,MAAM,CAACK,CAAC;QAC3DC,QAAQ,EAAEzC,kBAAkB;QAC5B0C,eAAe,EAAE;MACnB,CAAC,CAAC,EACFZ,qBAAQ,CAACO,MAAM,CAACJ,aAAa,EAAE;QAC7BK,OAAO,EACL7E,WAAW,KAAK,YAAY,GAAG0E,MAAM,CAAC1D,KAAK,GAAG0D,MAAM,CAACpF,MAAM;QAC7D0F,QAAQ,EAAEzC,kBAAkB;QAC5B0C,eAAe,EAAE;MACnB,CAAC,CAAC,CACH,CAAC,CAACC,KAAK,CAAC,CAAC;IACZ;EACF,CAAC,EAAE,CACDjB,WAAW,EACXH,cAAc,EACd9D,WAAW,EACXuC,kBAAkB,EAClB4B,iBAAiB,EACjBK,aAAa,CACd,CAAC;EAEF,MAAMW,mBAAmB,GAAGA,CAACC,KAAa,EAAEC,KAAwB,KAAK;IACvE,MAAM;MAAEP,CAAC;MAAEC,CAAC;MAAE/D,KAAK;MAAE1B;IAAO,CAAC,GAAG+F,KAAK,CAACC,WAAW,CAACZ,MAAM;IACxDX,iBAAiB,CAAEwB,IAAI,IAAK;MAC1B,MAAMC,UAAU,GAAG,CAAC,GAAGD,IAAI,CAAC;MAC5BC,UAAU,CAACJ,KAAK,CAAC,GAAG;QAAEN,CAAC;QAAEC,CAAC;QAAE/D,KAAK;QAAE1B;MAAO,CAAC;MAC3C,OAAOkG,UAAU;IACnB,CAAC,CAAC;EACJ,CAAC;EAED,MAAMC,WAAW,GAAI/B,IAA0B,IAAK;IAClD,IAAI3D,QAAQ,IAAI2D,IAAI,CAAC3D,QAAQ,EAAE;IAE/B,IAAI+C,eAAe,KAAKkB,SAAS,EAAE;MACjCJ,oBAAoB,CAACF,IAAI,CAACb,KAAK,CAAC;IAClC;IACAG,QAAQ,GAAGU,IAAI,CAACb,KAAK,CAAC;EACxB,CAAC;;EAED;EACA;EACA;EACA,MAAM6C,sBAAsB,GAAG5B,cAAc,CAACG,WAAW,CAAC,GACtDjE,WAAW,KAAK,YAAY,GAC1B8D,cAAc,CAACG,WAAW,CAAC,CAAC3E,MAAM,GAAG,GAAG,GACxCwE,cAAc,CAACG,WAAW,CAAC,CAACjD,KAAK,GAAG,IAAA7B,QAAG,EAAC,CAAC,CAAC,GAC5C,CAAC;EAEL,MAAMwG,cAAc,GAAG;IACrB,CAAC3F,WAAW,KAAK,YAAY,GAAG,MAAM,GAAG,KAAK,GAAGmE,iBAAiB;IAClE,CAACnE,WAAW,KAAK,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAGwE,aAAa;IAClE,CAACxE,WAAW,KAAK,YAAY,GAAG,QAAQ,GAAG,OAAO,GAChDA,WAAW,KAAK,YAAY,GAAG,KAAK,GAAG0F;EAC3C,CAAC;EAEDE,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEH,sBAAsB,CAAC;EAE7D,oBACE,IAAA9H,WAAA,CAAAkI,IAAA,EAACvI,MAAA,CAAAwI,OAAO;IAACnD,GAAG,EAAEA,GAAI;IAACM,KAAK,EAAEI,EAAE,CAACD,MAAM,CAACjD,IAAI,EAAE8C,KAAK,CAAE;IAAA,GAAKC,MAAM;IAAA6C,QAAA,GACzDlC,cAAc,CAACmC,MAAM,KAAKzC,cAAc,CAACyC,MAAM,iBAC9C,IAAArI,WAAA,CAAAsI,GAAA,EAAC5I,YAAA,CAAA+G,QAAQ,CAAC8B,IAAI;MAACjD,KAAK,EAAE,CAACG,MAAM,CAACpC,SAAS,EAAE0E,cAAc;IAAS,CAAE,CACnE,EAEAnC,cAAc,CAACC,GAAG,CAAC,CAACC,IAAI,EAAE0B,KAAK,KAAK;MACnC,MAAMgB,QAAQ,GAAG1C,IAAI,CAACb,KAAK,KAAKA,KAAK;MACrC,MAAMwD,UAAU,GAAGtG,QAAQ,IAAI2D,IAAI,CAAC3D,QAAQ;MAE5C,oBACE,IAAAnC,WAAA,CAAAsI,GAAA,EAAC5I,YAAA,CAAAgJ,gBAAgB;QAEfpD,KAAK,EAAEG,MAAM,CAAC7B,OAAQ;QACtB+E,OAAO,EAAEA,CAAA,KAAMd,WAAW,CAAC/B,IAAI,CAAE;QACjC3D,QAAQ,EAAEsG,UAAW;QACrBG,aAAa,EAAE,GAAI;QACnBC,QAAQ,EAAGpB,KAAK,IAAKF,mBAAmB,CAACC,KAAK,EAAEC,KAAK,CAAE;QAAAW,QAAA,eAEvD,IAAApI,WAAA,CAAAsI,GAAA,EAAC1I,OAAA,CAAAkJ,IAAI;UACHxD,KAAK,EAAE,CACLG,MAAM,CAACvB,KAAK,EACZsE,QAAQ,GAAG/C,MAAM,CAACpB,WAAW,GAAGoB,MAAM,CAACjB,aAAa,EACpDiE,UAAU,IAAIhD,MAAM,CAAChB,aAAa,CAClC;UAAA2D,QAAA,EAEDtC,IAAI,CAAC5B;QAAK,CACP;MAAC,GAfF4B,IAAI,CAACb,KAgBM,CAAC;IAEvB,CAAC,CAAC;EAAA,CACK,CAAC;AAEd,CACF,CAAC;AAEDL,gBAAgB,CAACmE,WAAW,GAAG,kBAAkB","ignoreList":[]}
@@ -195,11 +195,17 @@ export const SegmentedControl = /*#__PURE__*/forwardRef((props, ref) => {
195
195
  }
196
196
  onChange?.(item.value);
197
197
  };
198
+
199
+ // Calculate perpendicular dimension for the indicator
200
+ // For horizontal: use 80% of segment height
201
+ // For vertical: use segment width minus padding
202
+ const perpendicularDimension = segmentLayouts[activeIndex] ? orientation === 'horizontal' ? segmentLayouts[activeIndex].height * 0.8 : segmentLayouts[activeIndex].width - rem(4) : 0;
198
203
  const indicatorStyle = {
199
204
  [orientation === 'horizontal' ? 'left' : 'top']: indicatorPosition,
200
205
  [orientation === 'horizontal' ? 'width' : 'height']: indicatorSize,
201
- [orientation === 'horizontal' ? 'height' : 'width']: '100%'
206
+ [orientation === 'horizontal' ? 'height' : 'width']: orientation === 'horizontal' ? '80%' : perpendicularDimension
202
207
  };
208
+ console.log('perpendicularDimension', perpendicularDimension);
203
209
  return /*#__PURE__*/_jsxs(BoxView, {
204
210
  ref: ref,
205
211
  style: sx(styles.root, style),
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useState","useRef","useEffect","TouchableOpacity","Animated","BoxView","Text","useComponentDefaultProps","createStyles","rem","jsx","_jsx","jsxs","_jsxs","sizes","xs","fontSize","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","Value","current","indicatorSize","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","indicatorStyle","children","length","View","isActive","isDisabled","onPress","activeOpacity","onLayout","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useState","useRef","useEffect","TouchableOpacity","Animated","BoxView","Text","useComponentDefaultProps","createStyles","rem","jsx","_jsx","jsxs","_jsxs","sizes","xs","fontSize","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","Value","current","indicatorSize","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","perpendicularDimension","indicatorStyle","console","log","children","length","View","isActive","isDisabled","onPress","activeOpacity","onLayout","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKpG,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,wBAAwB;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAExC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wBAAwB;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA0FD,eAAO,MAAM,gBAAgB,mFAmH3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,wBAAwB;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAExC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wBAAwB;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA4HD,eAAO,MAAM,gBAAgB,mFAgJ5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKpG,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,wBAAwB;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAExC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wBAAwB;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA0FD,eAAO,MAAM,gBAAgB,mFAmH3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,wBAAwB;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAExC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wBAAwB;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA4HD,eAAO,MAAM,gBAAgB,mFAgJ5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-mantine",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Make Mantine Accessable on React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -3,7 +3,12 @@ import { TouchableOpacity, Animated } from 'react-native';
3
3
  import type { LayoutChangeEvent } from 'react-native';
4
4
  import { BoxView } from '../BoxView';
5
5
  import { Text } from '../Text';
6
- import type { DefaultProps, MantineColor, MantineNumberSize, MantineSize } from '../../theme/types';
6
+ import type {
7
+ DefaultProps,
8
+ MantineColor,
9
+ MantineNumberSize,
10
+ MantineSize,
11
+ } from '../../theme/types';
7
12
  import { useComponentDefaultProps } from '../../theme/theme-provider';
8
13
  import { createStyles } from '../../theme';
9
14
  import { rem } from '../../theme/utils/rem';
@@ -53,11 +58,36 @@ export interface SegmentedControlProps extends DefaultProps {
53
58
  }
54
59
 
55
60
  const sizes = {
56
- xs: { fontSize: rem(10), paddingVertical: rem(3), paddingHorizontal: rem(6), height: rem(24) },
57
- sm: { fontSize: rem(12), paddingVertical: rem(5), paddingHorizontal: rem(10), height: rem(28) },
58
- md: { fontSize: rem(14), paddingVertical: rem(7), paddingHorizontal: rem(14), height: rem(32) },
59
- lg: { fontSize: rem(16), paddingVertical: rem(9), paddingHorizontal: rem(16), height: rem(38) },
60
- xl: { fontSize: rem(18), paddingVertical: rem(12), paddingHorizontal: rem(20), height: rem(44) },
61
+ xs: {
62
+ fontSize: rem(10),
63
+ paddingVertical: rem(3),
64
+ paddingHorizontal: rem(6),
65
+ height: rem(24),
66
+ },
67
+ sm: {
68
+ fontSize: rem(12),
69
+ paddingVertical: rem(5),
70
+ paddingHorizontal: rem(10),
71
+ height: rem(28),
72
+ },
73
+ md: {
74
+ fontSize: rem(14),
75
+ paddingVertical: rem(7),
76
+ paddingHorizontal: rem(14),
77
+ height: rem(32),
78
+ },
79
+ lg: {
80
+ fontSize: rem(16),
81
+ paddingVertical: rem(9),
82
+ paddingHorizontal: rem(16),
83
+ height: rem(38),
84
+ },
85
+ xl: {
86
+ fontSize: rem(18),
87
+ paddingVertical: rem(12),
88
+ paddingHorizontal: rem(20),
89
+ height: rem(44),
90
+ },
61
91
  };
62
92
 
63
93
  const useStyles = createStyles(
@@ -83,7 +113,10 @@ const useStyles = createStyles(
83
113
  root: {
84
114
  position: 'relative',
85
115
  flexDirection: orientation === 'horizontal' ? 'row' : 'column',
86
- backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark?.[6] : theme.colors.gray?.[1],
116
+ backgroundColor:
117
+ theme.colorScheme === 'dark'
118
+ ? theme.colors.dark?.[6]
119
+ : theme.colors.gray?.[1],
87
120
  borderRadius: theme.fn.radius(radius),
88
121
  padding: rem(4) as any,
89
122
  opacity: disabled ? 0.5 : 1,
@@ -121,10 +154,16 @@ const useStyles = createStyles(
121
154
  color: theme.colorScheme === 'dark' ? theme.white : theme.black,
122
155
  },
123
156
  inactiveLabel: {
124
- color: theme.colorScheme === 'dark' ? theme.colors.dark?.[1] : theme.colors.gray?.[7],
157
+ color:
158
+ theme.colorScheme === 'dark'
159
+ ? theme.colors.dark?.[1]
160
+ : theme.colors.gray?.[7],
125
161
  },
126
162
  disabledLabel: {
127
- color: theme.colorScheme === 'dark' ? theme.colors.dark?.[3] : theme.colors.gray?.[5],
163
+ color:
164
+ theme.colorScheme === 'dark'
165
+ ? theme.colors.dark?.[3]
166
+ : theme.colors.gray?.[5],
128
167
  },
129
168
  };
130
169
  }
@@ -140,121 +179,150 @@ const defaultProps: Partial<SegmentedControlProps> = {
140
179
  transitionDuration: 200,
141
180
  };
142
181
 
143
- export const SegmentedControl = forwardRef<any, SegmentedControlProps>((props, ref) => {
144
- const {
145
- value: controlledValue,
146
- defaultValue,
147
- onChange,
148
- data,
149
- size,
150
- color,
151
- radius,
152
- disabled,
153
- orientation,
154
- fullWidth,
155
- transitionDuration,
156
- style,
157
- ...others
158
- } = useComponentDefaultProps('SegmentedControl', defaultProps, props);
159
-
160
- const { styles, sx } = useStyles(
161
- { color, radius, disabled, orientation, fullWidth },
162
- { name: 'SegmentedControl', size }
163
- ) as any;
164
-
165
- // Normalize data to SegmentedControlItem[]
166
- const normalizedData: SegmentedControlItem[] = data.map((item) =>
167
- typeof item === 'string' ? { label: item, value: item, disabled: false } : item
168
- );
169
-
170
- const [uncontrolledValue, setUncontrolledValue] = useState(
171
- defaultValue ?? normalizedData[0]?.value ?? ''
172
- );
173
- const [segmentLayouts, setSegmentLayouts] = useState<{ x: number; y: number; width: number; height: number }[]>([]);
174
-
175
- const value = controlledValue !== undefined ? controlledValue : uncontrolledValue;
176
- const activeIndex = normalizedData.findIndex((item) => item.value === value);
177
-
178
- const indicatorPosition = useRef(new Animated.Value(0)).current;
179
- const indicatorSize = useRef(new Animated.Value(0)).current;
180
-
181
- useEffect(() => {
182
- if (segmentLayouts[activeIndex]) {
183
- const layout = segmentLayouts[activeIndex];
184
- // Indicator positions itself based on segment layout, no additional offset needed
185
-
186
- Animated.parallel([
187
- Animated.timing(indicatorPosition, {
188
- toValue: orientation === 'horizontal' ? layout.x : layout.y,
189
- duration: transitionDuration,
190
- useNativeDriver: false,
191
- }),
192
- Animated.timing(indicatorSize, {
193
- toValue: orientation === 'horizontal' ? layout.width : layout.height,
194
- duration: transitionDuration,
195
- useNativeDriver: false,
196
- }),
197
- ]).start();
198
- }
199
- }, [activeIndex, segmentLayouts, orientation, transitionDuration, indicatorPosition, indicatorSize]);
200
-
201
- const handleSegmentLayout = (index: number, event: LayoutChangeEvent) => {
202
- const { x, y, width, height } = event.nativeEvent.layout;
203
- setSegmentLayouts((prev) => {
204
- const newLayouts = [...prev];
205
- newLayouts[index] = { x, y, width, height };
206
- return newLayouts;
207
- });
208
- };
209
-
210
- const handlePress = (item: SegmentedControlItem) => {
211
- if (disabled || item.disabled) return;
212
-
213
- if (controlledValue === undefined) {
214
- setUncontrolledValue(item.value);
215
- }
216
- onChange?.(item.value);
217
- };
218
-
219
- const indicatorStyle = {
220
- [orientation === 'horizontal' ? 'left' : 'top']: indicatorPosition,
221
- [orientation === 'horizontal' ? 'width' : 'height']: indicatorSize,
222
- [orientation === 'horizontal' ? 'height' : 'width']: '100%',
223
- };
224
-
225
- return (
226
- <BoxView ref={ref} style={sx(styles.root, style)} {...others}>
227
- {segmentLayouts.length === normalizedData.length && (
228
- <Animated.View style={[styles.indicator, indicatorStyle as any]} />
229
- )}
230
-
231
- {normalizedData.map((item, index) => {
232
- const isActive = item.value === value;
233
- const isDisabled = disabled || item.disabled;
234
-
235
- return (
236
- <TouchableOpacity
237
- key={item.value}
238
- style={styles.segment}
239
- onPress={() => handlePress(item)}
240
- disabled={isDisabled}
241
- activeOpacity={0.7}
242
- onLayout={(event) => handleSegmentLayout(index, event)}
243
- >
244
- <Text
245
- style={[
246
- styles.label,
247
- isActive ? styles.activeLabel : styles.inactiveLabel,
248
- isDisabled && styles.disabledLabel,
249
- ]}
182
+ export const SegmentedControl = forwardRef<any, SegmentedControlProps>(
183
+ (props, ref) => {
184
+ const {
185
+ value: controlledValue,
186
+ defaultValue,
187
+ onChange,
188
+ data,
189
+ size,
190
+ color,
191
+ radius,
192
+ disabled,
193
+ orientation,
194
+ fullWidth,
195
+ transitionDuration,
196
+ style,
197
+ ...others
198
+ } = useComponentDefaultProps('SegmentedControl', defaultProps, props);
199
+
200
+ const { styles, sx } = useStyles(
201
+ { color, radius, disabled, orientation, fullWidth },
202
+ { name: 'SegmentedControl', size }
203
+ ) as any;
204
+
205
+ // Normalize data to SegmentedControlItem[]
206
+ const normalizedData: SegmentedControlItem[] = data.map((item) =>
207
+ typeof item === 'string'
208
+ ? { label: item, value: item, disabled: false }
209
+ : item
210
+ );
211
+
212
+ const [uncontrolledValue, setUncontrolledValue] = useState(
213
+ defaultValue ?? normalizedData[0]?.value ?? ''
214
+ );
215
+ const [segmentLayouts, setSegmentLayouts] = useState<
216
+ { x: number; y: number; width: number; height: number }[]
217
+ >([]);
218
+
219
+ const value =
220
+ controlledValue !== undefined ? controlledValue : uncontrolledValue;
221
+ const activeIndex = normalizedData.findIndex(
222
+ (item) => item.value === value
223
+ );
224
+
225
+ const indicatorPosition = useRef(new Animated.Value(0)).current;
226
+ const indicatorSize = useRef(new Animated.Value(0)).current;
227
+
228
+ useEffect(() => {
229
+ if (segmentLayouts[activeIndex]) {
230
+ const layout = segmentLayouts[activeIndex];
231
+ // Indicator positions itself based on segment layout, no additional offset needed
232
+
233
+ Animated.parallel([
234
+ Animated.timing(indicatorPosition, {
235
+ toValue: orientation === 'horizontal' ? layout.x : layout.y,
236
+ duration: transitionDuration,
237
+ useNativeDriver: false,
238
+ }),
239
+ Animated.timing(indicatorSize, {
240
+ toValue:
241
+ orientation === 'horizontal' ? layout.width : layout.height,
242
+ duration: transitionDuration,
243
+ useNativeDriver: false,
244
+ }),
245
+ ]).start();
246
+ }
247
+ }, [
248
+ activeIndex,
249
+ segmentLayouts,
250
+ orientation,
251
+ transitionDuration,
252
+ indicatorPosition,
253
+ indicatorSize,
254
+ ]);
255
+
256
+ const handleSegmentLayout = (index: number, event: LayoutChangeEvent) => {
257
+ const { x, y, width, height } = event.nativeEvent.layout;
258
+ setSegmentLayouts((prev) => {
259
+ const newLayouts = [...prev];
260
+ newLayouts[index] = { x, y, width, height };
261
+ return newLayouts;
262
+ });
263
+ };
264
+
265
+ const handlePress = (item: SegmentedControlItem) => {
266
+ if (disabled || item.disabled) return;
267
+
268
+ if (controlledValue === undefined) {
269
+ setUncontrolledValue(item.value);
270
+ }
271
+ onChange?.(item.value);
272
+ };
273
+
274
+ // Calculate perpendicular dimension for the indicator
275
+ // For horizontal: use 80% of segment height
276
+ // For vertical: use segment width minus padding
277
+ const perpendicularDimension = segmentLayouts[activeIndex]
278
+ ? orientation === 'horizontal'
279
+ ? segmentLayouts[activeIndex].height * 0.8
280
+ : segmentLayouts[activeIndex].width - rem(4)
281
+ : 0;
282
+
283
+ const indicatorStyle = {
284
+ [orientation === 'horizontal' ? 'left' : 'top']: indicatorPosition,
285
+ [orientation === 'horizontal' ? 'width' : 'height']: indicatorSize,
286
+ [orientation === 'horizontal' ? 'height' : 'width']:
287
+ orientation === 'horizontal' ? '80%' : perpendicularDimension,
288
+ };
289
+
290
+ console.log('perpendicularDimension', perpendicularDimension);
291
+
292
+ return (
293
+ <BoxView ref={ref} style={sx(styles.root, style)} {...others}>
294
+ {segmentLayouts.length === normalizedData.length && (
295
+ <Animated.View style={[styles.indicator, indicatorStyle as any]} />
296
+ )}
297
+
298
+ {normalizedData.map((item, index) => {
299
+ const isActive = item.value === value;
300
+ const isDisabled = disabled || item.disabled;
301
+
302
+ return (
303
+ <TouchableOpacity
304
+ key={item.value}
305
+ style={styles.segment}
306
+ onPress={() => handlePress(item)}
307
+ disabled={isDisabled}
308
+ activeOpacity={0.7}
309
+ onLayout={(event) => handleSegmentLayout(index, event)}
250
310
  >
251
- {item.label}
252
- </Text>
253
- </TouchableOpacity>
254
- );
255
- })}
256
- </BoxView>
257
- );
258
- });
311
+ <Text
312
+ style={[
313
+ styles.label,
314
+ isActive ? styles.activeLabel : styles.inactiveLabel,
315
+ isDisabled && styles.disabledLabel,
316
+ ]}
317
+ >
318
+ {item.label}
319
+ </Text>
320
+ </TouchableOpacity>
321
+ );
322
+ })}
323
+ </BoxView>
324
+ );
325
+ }
326
+ );
259
327
 
260
328
  SegmentedControl.displayName = 'SegmentedControl';