@space-uy/pulsar-ui 0.11.2 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/lib/module/components/CalendarPicker.js +13 -2
  2. package/lib/module/components/CalendarPicker.js.map +1 -1
  3. package/lib/module/components/Header.js +1 -1
  4. package/lib/module/components/Header.js.map +1 -1
  5. package/lib/module/components/Input.js +2 -0
  6. package/lib/module/components/Input.js.map +1 -1
  7. package/lib/module/components/InputContainer.js +3 -0
  8. package/lib/module/components/InputContainer.js.map +1 -1
  9. package/lib/module/components/OtpInput.js +173 -65
  10. package/lib/module/components/OtpInput.js.map +1 -1
  11. package/lib/module/components/TextArea.js +2 -0
  12. package/lib/module/components/TextArea.js.map +1 -1
  13. package/lib/module/index.js +0 -1
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/typescript/src/components/CalendarPicker.d.ts +18 -1
  16. package/lib/typescript/src/components/CalendarPicker.d.ts.map +1 -1
  17. package/lib/typescript/src/components/Header.d.ts +2 -1
  18. package/lib/typescript/src/components/Header.d.ts.map +1 -1
  19. package/lib/typescript/src/components/Input.d.ts +1 -0
  20. package/lib/typescript/src/components/Input.d.ts.map +1 -1
  21. package/lib/typescript/src/components/InputContainer.d.ts +2 -1
  22. package/lib/typescript/src/components/InputContainer.d.ts.map +1 -1
  23. package/lib/typescript/src/components/OtpInput.d.ts +9 -2
  24. package/lib/typescript/src/components/OtpInput.d.ts.map +1 -1
  25. package/lib/typescript/src/components/TextArea.d.ts +1 -0
  26. package/lib/typescript/src/components/TextArea.d.ts.map +1 -1
  27. package/lib/typescript/src/index.d.ts +0 -2
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/src/components/CalendarPicker.tsx +63 -32
  31. package/src/components/Header.tsx +3 -2
  32. package/src/components/Input.tsx +3 -0
  33. package/src/components/InputContainer.tsx +8 -0
  34. package/src/components/OtpInput.tsx +222 -93
  35. package/src/components/TextArea.tsx +3 -0
  36. package/src/index.tsx +0 -2
  37. package/lib/module/components/OtpInputContainer.js +0 -148
  38. package/lib/module/components/OtpInputContainer.js.map +0 -1
  39. package/lib/typescript/src/components/OtpInputContainer.d.ts +0 -17
  40. package/lib/typescript/src/components/OtpInputContainer.d.ts.map +0 -1
  41. package/src/components/OtpInputContainer.tsx +0 -196
@@ -1 +1 @@
1
- {"version":3,"names":["default","Button","Tabs","Input","Text","Card","Select","useUIKitTheme","LoadingIndicator","Checkbox","Chip","Icon","IconButton","Header","Switch","ButtonContainer","ButtonVariant","ButtonSize","convertHexToRgba","BottomSheet","TextArea","OtpInputContainer","OtpInput","CalendarPicker","Accordion","AccordionItem","CopyToClipboard","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogFooter","DialogAction","DialogCancel"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,wBAAqB;AACvD,SAASD,OAAO,IAAIE,IAAI,QAAkB,sBAAmB;AAC7D,SAASF,OAAO,IAAIG,KAAK,QAAQ,uBAAoB;AACrD,SAASH,OAAO,IAAII,IAAI,QAAQ,sBAAmB;AACnD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,sBAAmB;AACnD,SAASL,OAAO,IAAIM,MAAM,QAA2B,wBAAqB;AAC1E,SAASN,OAAO,IAAIO,aAAa,QAAQ,qBAAkB;AAE3D,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,kCAA+B;AAC3E,SAASR,OAAO,IAAIS,QAAQ,QAAQ,0BAAuB;AAC3D,SAAST,OAAO,IAAIU,IAAI,QAAQ,sBAAmB;AACnD,SAASV,OAAO,IAAIW,IAAI,QAAuB,sBAAmB;AAClE,SAASX,OAAO,IAAIY,UAAU,QAAQ,4BAAyB;AAC/D,SAASZ,OAAO,IAAIa,MAAM,QAA4B,wBAAqB;AAC3E,SAASb,OAAO,IAAIc,MAAM,QAAQ,wBAAqB;AACvD,SACEd,OAAO,IAAIe,eAAe,EAC1BC,aAAa,EACbC,UAAU,QACL,iCAA8B;AACrC,SAASC,gBAAgB,QAAQ,oBAAiB;AAClD,SAASlB,OAAO,IAAImB,WAAW,QAAQ,6BAA0B;AACjE,SAASnB,OAAO,IAAIoB,QAAQ,QAAQ,0BAAuB;AAC3D,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,QAAQ,QAAQ,0BAAuB;AAEhD,SAAStB,OAAO,IAAIuB,cAAc,QAAQ,gCAA6B;AACvE,SAASvB,OAAO,IAAIwB,SAAS,EAAEC,aAAa,QAAQ,2BAAwB;AAC5E,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SACE1B,OAAO,IAAI2B,MAAM,EACjBC,YAAY,EACZC,WAAW,EACXC,iBAAiB,EACjBC,YAAY,EACZC,YAAY,EACZC,YAAY,QACP,wBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["default","Button","Tabs","Input","Text","Card","Select","useUIKitTheme","LoadingIndicator","Checkbox","Chip","Icon","IconButton","Header","Switch","ButtonContainer","ButtonVariant","ButtonSize","convertHexToRgba","BottomSheet","TextArea","OtpInput","CalendarPicker","Accordion","AccordionItem","CopyToClipboard","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogFooter","DialogAction","DialogCancel"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,wBAAqB;AACvD,SAASD,OAAO,IAAIE,IAAI,QAAkB,sBAAmB;AAC7D,SAASF,OAAO,IAAIG,KAAK,QAAQ,uBAAoB;AACrD,SAASH,OAAO,IAAII,IAAI,QAAQ,sBAAmB;AACnD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,sBAAmB;AACnD,SAASL,OAAO,IAAIM,MAAM,QAA2B,wBAAqB;AAC1E,SAASN,OAAO,IAAIO,aAAa,QAAQ,qBAAkB;AAE3D,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,kCAA+B;AAC3E,SAASR,OAAO,IAAIS,QAAQ,QAAQ,0BAAuB;AAC3D,SAAST,OAAO,IAAIU,IAAI,QAAQ,sBAAmB;AACnD,SAASV,OAAO,IAAIW,IAAI,QAAuB,sBAAmB;AAClE,SAASX,OAAO,IAAIY,UAAU,QAAQ,4BAAyB;AAC/D,SAASZ,OAAO,IAAIa,MAAM,QAA4B,wBAAqB;AAC3E,SAASb,OAAO,IAAIc,MAAM,QAAQ,wBAAqB;AACvD,SACEd,OAAO,IAAIe,eAAe,EAC1BC,aAAa,EACbC,UAAU,QACL,iCAA8B;AACrC,SAASC,gBAAgB,QAAQ,oBAAiB;AAClD,SAASlB,OAAO,IAAImB,WAAW,QAAQ,6BAA0B;AACjE,SAASnB,OAAO,IAAIoB,QAAQ,QAAQ,0BAAuB;AAC3D,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASrB,OAAO,IAAIsB,cAAc,QAAQ,gCAA6B;AACvE,SAAStB,OAAO,IAAIuB,SAAS,EAAEC,aAAa,QAAQ,2BAAwB;AAC5E,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SACEzB,OAAO,IAAI0B,MAAM,EACjBC,YAAY,EACZC,WAAW,EACXC,iBAAiB,EACjBC,YAAY,EACZC,YAAY,EACZC,YAAY,QACP,wBAAqB","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { type StyleProp, type ViewStyle } from 'react-native';
2
+ import { type IconName } from './Icon';
2
3
  type DateRange = {
3
4
  fromDate?: string;
4
5
  toDate?: string;
@@ -13,7 +14,23 @@ type Props = {
13
14
  error?: boolean;
14
15
  hint?: string;
15
16
  title?: string;
17
+ /**
18
+ * Trigger rendering style.
19
+ * - `'input'` (default): full bordered input with label, icon, chevron and optional hint/error.
20
+ * - `'chip'`: compact pill (icon + text), ideal for filter toolbars.
21
+ * In `'chip'` mode, `label`, `hint` and `error` are ignored.
22
+ */
23
+ variant?: 'input' | 'chip';
24
+ /**
25
+ * Text shown inside the chip when `variant='chip'`.
26
+ * Falls back to the formatted selected range, then to `placeholder`.
27
+ */
28
+ chipText?: string;
29
+ /** Icon shown inside the chip when `variant='chip'`. Defaults to `'Calendar'`. */
30
+ chipIconName?: IconName;
31
+ /** Size of the chip trigger when `variant='chip'`. Defaults to `'normal'`. */
32
+ chipSize?: 'normal' | 'small';
16
33
  };
17
- declare const CalendarPicker: ({ style, value, onChange, placeholder, label, disabled, error, hint, }: Props) => import("react/jsx-runtime").JSX.Element;
34
+ declare const CalendarPicker: ({ style, value, onChange, placeholder, label, disabled, error, hint, variant, chipText, chipIconName, chipSize, }: Props) => import("react/jsx-runtime").JSX.Element;
18
35
  export default CalendarPicker;
19
36
  //# sourceMappingURL=CalendarPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAqBtB,KAAK,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAoBF,QAAA,MAAM,cAAc,GAAI,wEASrB,KAAK,4CAqUP,CAAC;AA+BF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"CalendarPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAYtB,OAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAU7C,KAAK,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC/B,CAAC;AAoBF,QAAA,MAAM,cAAc,GAAI,mHAarB,KAAK,4CA+UP,CAAC;AA+BF,eAAe,cAAc,CAAC"}
@@ -2,10 +2,11 @@ import { type PropsWithChildren } from 'react';
2
2
  import { type ViewStyle, type StyleProp } from 'react-native';
3
3
  import { type SharedValue } from 'react-native-reanimated';
4
4
  import { type IconName } from './Icon';
5
- import type { ButtonVariant } from './ButtonContainer';
5
+ import type { ButtonSize, ButtonVariant } from './ButtonContainer';
6
6
  export type HeaderVariant = 'default' | 'secondary';
7
7
  type HeaderButtonProps = {
8
8
  iconName: IconName;
9
+ iconSize?: keyof typeof ButtonSize;
9
10
  onPress?: () => void;
10
11
  disabled?: boolean;
11
12
  variant?: keyof typeof ButtonVariant;
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAChF,OAAiB,EAGf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAIpD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,aAAa,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+LAA+L;IAC/L,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,KAAK,EACL,OAAmB,EACnB,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAgB,EAChB,QAAQ,EACR,OAAO,EACP,iBAA8C,GAC/C,EAAE,KAAK,2CAoKP"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAChF,OAAiB,EAGf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAIpD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,OAAO,UAAU,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,aAAa,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+LAA+L;IAC/L,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,KAAK,EACL,OAAmB,EACnB,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAgB,EAChB,QAAQ,EACR,OAAO,EACP,iBAA8C,GAC/C,EAAE,KAAK,2CAoKP"}
@@ -11,6 +11,7 @@ export declare const Input: import("react").ForwardRefExoticComponent<TextInputP
11
11
  hint?: string;
12
12
  iconName?: IconName;
13
13
  variant?: "text" | "password";
14
+ containerVariant?: "default" | "alternative";
14
15
  clearable?: boolean;
15
16
  } & import("react").RefAttributes<InputRef>>;
16
17
  export default Input;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/Input.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EAKpB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAgBvC,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,KAAK;YAXR,SAAS,CAAC,SAAS,CAAC;YACpB,OAAO;YACP,MAAM;WACP,MAAM;eACF,QAAQ;cACT,MAAM,GAAG,UAAU;gBACjB,OAAO;4CA2GpB,CAAC;AAUF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/Input.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EAKpB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAiBvC,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,KAAK;YAZR,SAAS,CAAC,SAAS,CAAC;YACpB,OAAO;YACP,MAAM;WACP,MAAM;eACF,QAAQ;cACT,MAAM,GAAG,UAAU;uBACV,SAAS,GAAG,aAAa;gBAChC,OAAO;4CA6GpB,CAAC;AAUF,eAAe,KAAK,CAAC"}
@@ -11,12 +11,13 @@ type Props = PropsWithChildren & {
11
11
  focused?: boolean;
12
12
  disabled?: boolean;
13
13
  size?: 'small' | 'default';
14
+ variant?: 'default' | 'alternative';
14
15
  height?: number;
15
16
  iconName?: IconName;
16
17
  };
17
18
  export type InputRef = {
18
19
  focus: () => void;
19
20
  };
20
- export default function InputContainer({ style, contentContainerStyle, error, hint, label, onPress, focused, children, size, disabled, height, iconName, }: Props): import("react/jsx-runtime").JSX.Element;
21
+ export default function InputContainer({ style, contentContainerStyle, error, hint, label, onPress, focused, children, size, disabled, variant, height, iconName, }: Props): import("react/jsx-runtime").JSX.Element;
21
22
  export {};
22
23
  //# sourceMappingURL=InputContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/InputContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AACnE,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,OAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAI7C,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAM7C,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,KAAK,EACL,qBAAqB,EACrB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAgB,EAChB,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,EAAE,KAAK,2CAkEP"}
1
+ {"version":3,"file":"InputContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/InputContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AACnE,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,OAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAI7C,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAM7C,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,KAAK,EACL,qBAAqB,EACrB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAgB,EAChB,QAAQ,EACR,OAAmB,EACnB,MAAM,EACN,QAAQ,GACT,EAAE,KAAK,2CAwEP"}
@@ -1,3 +1,10 @@
1
- import { TextInput, type TextInputProps } from 'react-native';
2
- export declare const OtpInput: import("react").ForwardRefExoticComponent<TextInputProps & import("react").RefAttributes<TextInput>>;
1
+ type OtpInputProps = {
2
+ length?: number;
3
+ value?: string;
4
+ onChange?: (code: string) => void;
5
+ secure?: boolean;
6
+ variant?: 'default' | 'alternative';
7
+ };
8
+ export declare function OtpInput({ length, value, onChange, secure, variant, }: OtpInputProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
3
10
  //# sourceMappingURL=OtpInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../../../src/components/OtpInput.tsx"],"names":[],"mappings":"AAOA,OAAO,EAGL,SAAS,EACT,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAItB,eAAO,MAAM,QAAQ,sGA8EpB,CAAC"}
1
+ {"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../../../src/components/OtpInput.tsx"],"names":[],"mappings":"AAaA,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACrC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACvB,MAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAc,EACd,OAAmB,GACpB,EAAE,aAAa,2CAmLf"}
@@ -11,6 +11,7 @@ export declare const TextArea: import("react").ForwardRefExoticComponent<TextInp
11
11
  numberOfLines?: number;
12
12
  maxLength?: number;
13
13
  onChangeText?: (text: string) => void;
14
+ containerVariant?: "default" | "alternative";
14
15
  } & import("react").RefAttributes<InputRef>>;
15
16
  export default TextArea;
16
17
  //# sourceMappingURL=TextArea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../../src/components/TextArea.tsx"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EAKpB,MAAM,cAAc,CAAC;AAmBtB,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,QAAQ;YAXX,SAAS,CAAC,SAAS,CAAC;YACpB,OAAO;YACP,MAAM;WACP,MAAM;oBACG,MAAM;gBACV,MAAM;mBACH,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;4CAoGtC,CAAC;AASF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../../src/components/TextArea.tsx"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EAKpB,MAAM,cAAc,CAAC;AAoBtB,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,QAAQ;YAZX,SAAS,CAAC,SAAS,CAAC;YACpB,OAAO;YACP,MAAM;WACP,MAAM;oBACG,MAAM;gBACV,MAAM;mBACH,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;uBAClB,SAAS,GAAG,aAAa;4CAsG7C,CAAC;AASF,eAAe,QAAQ,CAAC"}
@@ -17,9 +17,7 @@ export { default as ButtonContainer, ButtonVariant, ButtonSize, } from './compon
17
17
  export { convertHexToRgba } from './utils/uiUtils';
18
18
  export { default as BottomSheet } from './components/BottomSheet';
19
19
  export { default as TextArea } from './components/TextArea';
20
- export { OtpInputContainer } from './components/OtpInputContainer';
21
20
  export { OtpInput } from './components/OtpInput';
22
- export { type OtpInputContainerRef } from './components/OtpInputContainer';
23
21
  export { default as CalendarPicker } from './components/CalendarPicker';
24
22
  export { default as Accordion, AccordionItem } from './components/Accordion';
25
23
  export { CopyToClipboard } from './components/CopyToClipboard';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,aAAa,EACb,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,aAAa,EACb,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@space-uy/pulsar-ui",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "description": "react native ui kit for spacedev",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -19,9 +19,10 @@ import Animated, {
19
19
  import InputContainer from './InputContainer';
20
20
  import BottomSheet, { type BottomSheetProps } from './BottomSheet';
21
21
  import Text from './Text';
22
- import Icon from './Icon';
22
+ import Icon, { type IconName } from './Icon';
23
23
  import Button from './Button';
24
24
  import IconButton from './IconButton';
25
+ import Chip from './Chip';
25
26
 
26
27
  import useTheme from '../hooks/useTheme';
27
28
 
@@ -40,6 +41,22 @@ type Props = {
40
41
  error?: boolean;
41
42
  hint?: string;
42
43
  title?: string;
44
+ /**
45
+ * Trigger rendering style.
46
+ * - `'input'` (default): full bordered input with label, icon, chevron and optional hint/error.
47
+ * - `'chip'`: compact pill (icon + text), ideal for filter toolbars.
48
+ * In `'chip'` mode, `label`, `hint` and `error` are ignored.
49
+ */
50
+ variant?: 'input' | 'chip';
51
+ /**
52
+ * Text shown inside the chip when `variant='chip'`.
53
+ * Falls back to the formatted selected range, then to `placeholder`.
54
+ */
55
+ chipText?: string;
56
+ /** Icon shown inside the chip when `variant='chip'`. Defaults to `'Calendar'`. */
57
+ chipIconName?: IconName;
58
+ /** Size of the chip trigger when `variant='chip'`. Defaults to `'normal'`. */
59
+ chipSize?: 'normal' | 'small';
43
60
  };
44
61
 
45
62
  // Helper function to safely parse ISO date string to Date object
@@ -69,6 +86,10 @@ const CalendarPicker = ({
69
86
  disabled = false,
70
87
  error,
71
88
  hint,
89
+ variant = 'input',
90
+ chipText,
91
+ chipIconName,
92
+ chipSize = 'normal',
72
93
  }: Props) => {
73
94
  const [fromDate, setFromDate] = useState<string | undefined>(
74
95
  value?.fromDate ? format(new Date(value.fromDate), 'yyyy-MM-dd') : undefined
@@ -255,39 +276,49 @@ const CalendarPicker = ({
255
276
  return (
256
277
  <>
257
278
  <View style={style}>
258
- <InputContainer
259
- onPress={handlePress}
260
- disabled={disabled}
261
- focused={isOpen}
262
- error={error}
263
- hint={hint}
264
- label={label}
265
- >
266
- <Icon
267
- style={styles.icon}
268
- name="Calendar"
269
- size={18}
270
- color={convertHexToRgba(colors.foreground, 0.5)}
279
+ {variant === 'chip' ? (
280
+ <Chip
281
+ text={chipText ?? displayValue ?? placeholder}
282
+ iconName={chipIconName ?? 'Calendar'}
283
+ size={chipSize}
284
+ disabled={disabled}
285
+ onPress={handlePress}
271
286
  />
272
- <Text
273
- variant="pm"
274
- style={[
275
- styles.selectText,
276
- {
277
- color: displayValue
278
- ? getInputTextColor()
279
- : convertHexToRgba(colors.foreground, 0.5),
280
- fontFamily: theme.fonts.regular,
281
- },
282
- ]}
283
- numberOfLines={1}
287
+ ) : (
288
+ <InputContainer
289
+ onPress={handlePress}
290
+ disabled={disabled}
291
+ focused={isOpen}
292
+ error={error}
293
+ hint={hint}
294
+ label={label}
284
295
  >
285
- {displayValue ?? placeholder}
286
- </Text>
287
- <Animated.View style={animatedStyle}>
288
- <Icon name="ChevronDown" size={16} color={colors.foreground} />
289
- </Animated.View>
290
- </InputContainer>
296
+ <Icon
297
+ style={styles.icon}
298
+ name="Calendar"
299
+ size={18}
300
+ color={convertHexToRgba(colors.foreground, 0.5)}
301
+ />
302
+ <Text
303
+ variant="pm"
304
+ style={[
305
+ styles.selectText,
306
+ {
307
+ color: displayValue
308
+ ? getInputTextColor()
309
+ : convertHexToRgba(colors.foreground, 0.5),
310
+ fontFamily: theme.fonts.regular,
311
+ },
312
+ ]}
313
+ numberOfLines={1}
314
+ >
315
+ {displayValue ?? placeholder}
316
+ </Text>
317
+ <Animated.View style={animatedStyle}>
318
+ <Icon name="ChevronDown" size={16} color={colors.foreground} />
319
+ </Animated.View>
320
+ </InputContainer>
321
+ )}
291
322
  </View>
292
323
  <BottomSheet ref={bottomSheetRef} onBackdropPress={handleClose}>
293
324
  <View style={styles.calendarContainer}>
@@ -13,7 +13,7 @@ import { type IconName } from './Icon';
13
13
  import useTheme from '../hooks/useTheme';
14
14
 
15
15
  import meassures from '../theme/meassures';
16
- import type { ButtonVariant } from './ButtonContainer';
16
+ import type { ButtonSize, ButtonVariant } from './ButtonContainer';
17
17
 
18
18
  export type HeaderVariant = 'default' | 'secondary';
19
19
 
@@ -21,6 +21,7 @@ const DEFAULT_COLLAPSE_THRESHOLD = 80;
21
21
 
22
22
  type HeaderButtonProps = {
23
23
  iconName: IconName;
24
+ iconSize?: keyof typeof ButtonSize;
24
25
  onPress?: () => void;
25
26
  disabled?: boolean;
26
27
  variant?: keyof typeof ButtonVariant;
@@ -107,7 +108,7 @@ export default function Header({
107
108
  <IconButton
108
109
  iconName={button.iconName}
109
110
  variant={button.variant ?? 'transparent'}
110
- size="medium"
111
+ size={button.iconSize ?? 'medium'}
111
112
  onPress={button.onPress}
112
113
  disabled={button.disabled}
113
114
  rounded={button.rounded}
@@ -26,6 +26,7 @@ type Props = TextInputProps & {
26
26
  hint?: string;
27
27
  iconName?: IconName;
28
28
  variant?: 'text' | 'password';
29
+ containerVariant?: 'default' | 'alternative';
29
30
  clearable?: boolean;
30
31
  };
31
32
 
@@ -42,6 +43,7 @@ export const Input = forwardRef<InputRef, Props>(
42
43
  label,
43
44
  hint,
44
45
  variant = 'text',
46
+ containerVariant = 'default',
45
47
  onBlur,
46
48
  onFocus,
47
49
  iconName,
@@ -93,6 +95,7 @@ export const Input = forwardRef<InputRef, Props>(
93
95
  focused={focused}
94
96
  disabled={!editable}
95
97
  iconName={iconName}
98
+ variant={containerVariant}
96
99
  >
97
100
  <TextInput
98
101
  {...rest}
@@ -29,6 +29,7 @@ type Props = PropsWithChildren & {
29
29
  focused?: boolean;
30
30
  disabled?: boolean;
31
31
  size?: 'small' | 'default';
32
+ variant?: 'default' | 'alternative';
32
33
  height?: number;
33
34
  iconName?: IconName;
34
35
  };
@@ -50,6 +51,7 @@ export default function InputContainer({
50
51
  children,
51
52
  size = 'default',
52
53
  disabled,
54
+ variant = 'default',
53
55
  height,
54
56
  iconName,
55
57
  }: Props) {
@@ -96,6 +98,12 @@ export default function InputContainer({
96
98
  animStyle,
97
99
  styles.container,
98
100
  { height: containerHeight, borderRadius: theme.roundness },
101
+ {
102
+ backgroundColor:
103
+ variant === 'alternative'
104
+ ? colors.background
105
+ : colors.altBackground,
106
+ },
99
107
  contentContainerStyle,
100
108
  ]}
101
109
  >