@inzumer/ui-library 1.1.0 → 1.3.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.
Files changed (57) hide show
  1. package/dist/{chunk-PVDRNAYK.js → chunk-3YRDRHO3.js} +33 -22
  2. package/dist/chunk-3YRDRHO3.js.map +1 -0
  3. package/dist/chunk-53YMHM24.js +20 -0
  4. package/dist/chunk-53YMHM24.js.map +1 -0
  5. package/dist/chunk-DP274HDM.js +34 -0
  6. package/dist/chunk-DP274HDM.js.map +1 -0
  7. package/dist/chunk-FFKHEBQ7.js +41 -0
  8. package/dist/chunk-FFKHEBQ7.js.map +1 -0
  9. package/dist/chunk-GQMA2AQI.js +3 -0
  10. package/dist/chunk-GQMA2AQI.js.map +1 -0
  11. package/dist/{chunk-DXJQNQ5K.js → chunk-KL6I2JFC.js} +3 -3
  12. package/dist/{chunk-DXJQNQ5K.js.map → chunk-KL6I2JFC.js.map} +1 -1
  13. package/dist/chunk-NKNSSH2Q.js +142 -0
  14. package/dist/chunk-NKNSSH2Q.js.map +1 -0
  15. package/dist/{chunk-ZEGQFAYE.js → chunk-PF5PSCG4.js} +12 -6
  16. package/dist/chunk-PF5PSCG4.js.map +1 -0
  17. package/dist/chunk-QT62VC36.js +50 -0
  18. package/dist/chunk-QT62VC36.js.map +1 -0
  19. package/dist/{chunk-CJ4LRU6X.js → chunk-SMKLV4ET.js} +12 -6
  20. package/dist/chunk-SMKLV4ET.js.map +1 -0
  21. package/dist/chunk-V3YXRI7M.js +41 -0
  22. package/dist/chunk-V3YXRI7M.js.map +1 -0
  23. package/dist/chunk-WUEVXL76.js +91 -0
  24. package/dist/chunk-WUEVXL76.js.map +1 -0
  25. package/dist/chunk-XCUA543I.js +59 -0
  26. package/dist/chunk-XCUA543I.js.map +1 -0
  27. package/dist/components/atoms/Button/index.js +2 -1
  28. package/dist/components/atoms/Input/index.js +2 -1
  29. package/dist/components/atoms/Select/index.d.ts +29 -0
  30. package/dist/components/atoms/Select/index.js +6 -0
  31. package/dist/components/atoms/Select/index.js.map +1 -0
  32. package/dist/components/atoms/Textarea/index.d.ts +28 -0
  33. package/dist/components/atoms/Textarea/index.js +6 -0
  34. package/dist/components/atoms/Textarea/index.js.map +1 -0
  35. package/dist/components/molecules/Accordion/index.d.ts +26 -0
  36. package/dist/components/molecules/Accordion/index.js +4 -0
  37. package/dist/components/molecules/Accordion/index.js.map +1 -0
  38. package/dist/components/molecules/BottomSheet/index.js +4 -2
  39. package/dist/components/molecules/Drawer/index.d.ts +44 -0
  40. package/dist/components/molecules/Drawer/index.js +11 -0
  41. package/dist/components/molecules/Drawer/index.js.map +1 -0
  42. package/dist/components/molecules/Modal/index.js +4 -2
  43. package/dist/components/molecules/Table/index.d.ts +39 -0
  44. package/dist/components/molecules/Table/index.js +4 -0
  45. package/dist/components/molecules/Table/index.js.map +1 -0
  46. package/dist/hooks/useFocusTrap/index.d.ts +9 -0
  47. package/dist/hooks/useFocusTrap/index.js +3 -0
  48. package/dist/hooks/useFocusTrap/index.js.map +1 -0
  49. package/dist/hooks/useScrollLock/index.d.ts +4 -0
  50. package/dist/hooks/useScrollLock/index.js +3 -0
  51. package/dist/hooks/useScrollLock/index.js.map +1 -0
  52. package/dist/index.d.ts +7 -0
  53. package/dist/index.js +18 -9
  54. package/package.json +29 -1
  55. package/dist/chunk-CJ4LRU6X.js.map +0 -1
  56. package/dist/chunk-PVDRNAYK.js.map +0 -1
  57. package/dist/chunk-ZEGQFAYE.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -4,18 +4,25 @@ export { Image, ImageProps } from './components/atoms/Image/index.js';
4
4
  export { Input, InputProps } from './components/atoms/Input/index.js';
5
5
  export { Link, LinkProps } from './components/atoms/Link/index.js';
6
6
  export { RichText, RichTextProps, RichTextVariant, elementByVariant } from './components/atoms/RichText/index.js';
7
+ export { Select, SelectProps } from './components/atoms/Select/index.js';
7
8
  export { Switch, SwitchProps } from './components/atoms/Switch/index.js';
9
+ export { Textarea, TextareaProps } from './components/atoms/Textarea/index.js';
10
+ export { Accordion, AccordionProps } from './components/molecules/Accordion/index.js';
8
11
  export { BottomSheet, BottomSheetProps } from './components/molecules/BottomSheet/index.js';
9
12
  export { BreadcrumbItem, Breadcrumbs, BreadcrumbsProps } from './components/molecules/Breadcrumbs/index.js';
10
13
  export { Card, CardContent, CardContentProps, CardDescription, CardDescriptionProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps } from './components/molecules/Card/index.js';
14
+ export { Drawer, DrawerProps } from './components/molecules/Drawer/index.js';
11
15
  export { Language, LanguageOption, LanguageProps } from './components/molecules/Language/index.js';
12
16
  export { Modal, ModalProps } from './components/molecules/Modal/index.js';
13
17
  export { Snackbar, SnackbarProps } from './components/molecules/Snackbar/index.js';
18
+ export { Table, TableBody, TableCell, TableCellProps, TableHead, TableHeaderCell, TableHeaderCellProps, TableProps, TableRow } from './components/molecules/Table/index.js';
14
19
  export { Timeline, TimelineItem, TimelineProps } from './components/molecules/Timeline/index.js';
15
20
  export { useDelayedUnmount } from './hooks/useDelayedUnmount/index.js';
16
21
  export { useDismissableLayer } from './hooks/useDismissableLayer/index.js';
22
+ export { useFocusTrap } from './hooks/useFocusTrap/index.js';
17
23
  export { useMediaQuery } from './hooks/useMediaQuery/index.js';
18
24
  export { useMergedRef } from './hooks/useMergedRef/index.js';
25
+ export { useScrollLock } from './hooks/useScrollLock/index.js';
19
26
  export { cn } from './utils/cn/index.js';
20
27
  import 'react';
21
28
  import 'class-variance-authority/types';
package/dist/index.js CHANGED
@@ -1,20 +1,29 @@
1
+ export { Modal } from './chunk-SMKLV4ET.js';
2
+ export { Snackbar } from './chunk-BKPP4D3Q.js';
3
+ export { Table, TableBody, TableCell, TableHead, TableHeaderCell, TableRow } from './chunk-XCUA543I.js';
4
+ export { Timeline } from './chunk-UL33H4AD.js';
1
5
  export { useMediaQuery } from './chunk-2HCMNEIQ.js';
2
- export { BottomSheet } from './chunk-ZEGQFAYE.js';
6
+ export { Switch } from './chunk-ZABQF65Z.js';
7
+ export { Textarea } from './chunk-3YRDRHO3.js';
8
+ export { Accordion } from './chunk-V3YXRI7M.js';
9
+ export { BottomSheet } from './chunk-PF5PSCG4.js';
3
10
  export { Breadcrumbs } from './chunk-PE6XEC7Y.js';
4
11
  export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-N5CLCKR3.js';
5
- export { Language } from './chunk-2YBZCUME.js';
6
- export { Modal } from './chunk-CJ4LRU6X.js';
7
- export { useDismissableLayer } from './chunk-JCJP427C.js';
8
- export { Snackbar } from './chunk-BKPP4D3Q.js';
9
- export { Timeline } from './chunk-UL33H4AD.js';
12
+ export { Drawer } from './chunk-NKNSSH2Q.js';
13
+ export { useScrollLock } from './chunk-53YMHM24.js';
10
14
  export { useDelayedUnmount } from './chunk-BNEEI7S5.js';
11
- export { Button, buttonStyles } from './chunk-DXJQNQ5K.js';
15
+ export { useDismissableLayer } from './chunk-JCJP427C.js';
16
+ export { useFocusTrap } from './chunk-QT62VC36.js';
17
+ export { Language } from './chunk-2YBZCUME.js';
18
+ import './chunk-GQMA2AQI.js';
19
+ export { Button, buttonStyles } from './chunk-KL6I2JFC.js';
12
20
  export { useMergedRef } from './chunk-P4Z7HH66.js';
13
21
  export { Icon } from './chunk-7HQFLM4A.js';
14
22
  export { Image } from './chunk-5IHM2545.js';
15
- export { Input } from './chunk-PVDRNAYK.js';
23
+ export { Input } from './chunk-DP274HDM.js';
16
24
  export { Link } from './chunk-D4I5OF3C.js';
17
- export { Switch } from './chunk-ZABQF65Z.js';
25
+ export { Select } from './chunk-WUEVXL76.js';
26
+ import './chunk-FFKHEBQ7.js';
18
27
  export { RichText, elementByVariant } from './chunk-P4CV2EPR.js';
19
28
  export { cn } from './chunk-6LLGTBM6.js';
20
29
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inzumer/ui-library",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "description": "React UI component library for the Inzumer design system",
6
6
  "license": "MIT",
@@ -56,10 +56,22 @@
56
56
  "types": "./dist/components/atoms/RichText/index.d.ts",
57
57
  "import": "./dist/components/atoms/RichText/index.js"
58
58
  },
59
+ "./select": {
60
+ "types": "./dist/components/atoms/Select/index.d.ts",
61
+ "import": "./dist/components/atoms/Select/index.js"
62
+ },
59
63
  "./switch": {
60
64
  "types": "./dist/components/atoms/Switch/index.d.ts",
61
65
  "import": "./dist/components/atoms/Switch/index.js"
62
66
  },
67
+ "./textarea": {
68
+ "types": "./dist/components/atoms/Textarea/index.d.ts",
69
+ "import": "./dist/components/atoms/Textarea/index.js"
70
+ },
71
+ "./accordion": {
72
+ "types": "./dist/components/molecules/Accordion/index.d.ts",
73
+ "import": "./dist/components/molecules/Accordion/index.js"
74
+ },
63
75
  "./bottom-sheet": {
64
76
  "types": "./dist/components/molecules/BottomSheet/index.d.ts",
65
77
  "import": "./dist/components/molecules/BottomSheet/index.js"
@@ -72,6 +84,10 @@
72
84
  "types": "./dist/components/molecules/Card/index.d.ts",
73
85
  "import": "./dist/components/molecules/Card/index.js"
74
86
  },
87
+ "./drawer": {
88
+ "types": "./dist/components/molecules/Drawer/index.d.ts",
89
+ "import": "./dist/components/molecules/Drawer/index.js"
90
+ },
75
91
  "./language": {
76
92
  "types": "./dist/components/molecules/Language/index.d.ts",
77
93
  "import": "./dist/components/molecules/Language/index.js"
@@ -84,6 +100,10 @@
84
100
  "types": "./dist/components/molecules/Snackbar/index.d.ts",
85
101
  "import": "./dist/components/molecules/Snackbar/index.js"
86
102
  },
103
+ "./table": {
104
+ "types": "./dist/components/molecules/Table/index.d.ts",
105
+ "import": "./dist/components/molecules/Table/index.js"
106
+ },
87
107
  "./timeline": {
88
108
  "types": "./dist/components/molecules/Timeline/index.d.ts",
89
109
  "import": "./dist/components/molecules/Timeline/index.js"
@@ -96,6 +116,10 @@
96
116
  "types": "./dist/hooks/useDismissableLayer/index.d.ts",
97
117
  "import": "./dist/hooks/useDismissableLayer/index.js"
98
118
  },
119
+ "./use-focus-trap": {
120
+ "types": "./dist/hooks/useFocusTrap/index.d.ts",
121
+ "import": "./dist/hooks/useFocusTrap/index.js"
122
+ },
99
123
  "./use-media-query": {
100
124
  "types": "./dist/hooks/useMediaQuery/index.d.ts",
101
125
  "import": "./dist/hooks/useMediaQuery/index.js"
@@ -104,6 +128,10 @@
104
128
  "types": "./dist/hooks/useMergedRef/index.d.ts",
105
129
  "import": "./dist/hooks/useMergedRef/index.js"
106
130
  },
131
+ "./use-scroll-lock": {
132
+ "types": "./dist/hooks/useScrollLock/index.d.ts",
133
+ "import": "./dist/hooks/useScrollLock/index.js"
134
+ },
107
135
  "./cn": {
108
136
  "types": "./dist/utils/cn/index.d.ts",
109
137
  "import": "./dist/utils/cn/index.js"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/molecules/Modal/Modal.styles.ts","../src/components/molecules/Modal/Modal.tsx"],"names":[],"mappings":";;;;;;;;;AAEO,IAAM,kBAAA,GAAqB,GAAA;AAAA,EAChC;AAAA,IACE,qFAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,aAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,gBAAA,GAAmB,GAAA;AAAA,EAC9B;AAAA,IACE,8GAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,uBAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,gBAAA,GAAmB,uDAAA;AAEzB,IAAM,iBAAA,GAAoB,0CAAA;AC7BjC,IAAM,gBAAA,GAAmB,GAAA;AAUlB,IAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CACE,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,MAAA,EAAQ,oBAAA,GAAuB,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,IACrF,GAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAW,OAA8B,IAAI,CAAA;AACnD,IAAA,MAAM,WAAA,GAAc,YAAA,CAAa,GAAA,EAAK,QAAQ,CAAA;AAC9C,IAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,iBAAA,CAAkB,MAAM,gBAAgB,CAAA;AAErE,IAAA,mBAAA,CAAoB,IAAA,EAAM,OAAA,EAAS,QAAA,EAAU,oBAAoB,CAAA;AAEjE,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAW,mBAAmB,EAAE,OAAA,EAAS,CAAA,EAC5C,QAAA,kBAAA,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,WAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,YAAA,EAAW,MAAA;AAAA,QACX,iBAAA,EAAiB,QAAQ,aAAA,GAAgB,MAAA;AAAA,QACzC,WAAW,EAAA,CAAG,gBAAA,CAAiB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,QACrD,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAA,KAAA,oBACC,GAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,eAAc,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,gBAAA,EACxD,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,UAED,QAAA;AAAA,UACA,MAAA,oBAAU,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,mBAAoB,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA;AAAA,KACxD,EACF,CAAA;AAAA,EAEJ;AACF;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-CJ4LRU6X.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const modalOverlayStyles = cva(\n [\n 'fixed inset-0 z-50 flex items-center justify-center bg-[var(--surface-overlay)] p-4',\n 'transition-opacity duration-200 ease-out',\n ],\n {\n variants: {\n visible: {\n true: 'opacity-100',\n false: 'opacity-0',\n },\n },\n defaultVariants: {\n visible: false,\n },\n },\n);\n\nexport const modalPanelStyles = cva(\n [\n 'w-full max-w-md rounded-xl border border-[var(--border-default)] bg-[var(--surface-secondary)] p-6 shadow-lg',\n 'transition-all duration-200 ease-out',\n ],\n {\n variants: {\n visible: {\n true: 'scale-100 opacity-100',\n false: 'scale-95 opacity-0',\n },\n },\n defaultVariants: {\n visible: false,\n },\n },\n);\n\nexport const modalTitleStyles = 'mb-4 text-lg font-semibold text-[var(--text-primary)]';\n\nexport const modalFooterStyles = 'mt-6 flex items-center justify-end gap-2';\n","import { forwardRef, useRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { RichText } from '@components';\nimport { useDelayedUnmount, useDismissableLayer, useMergedRef } from '@hooks';\nimport { cn } from '@utils';\nimport {\n modalFooterStyles,\n modalOverlayStyles,\n modalPanelStyles,\n modalTitleStyles,\n} from './Modal.styles';\n\nconst EXIT_DURATION_MS = 200;\n\nexport type ModalProps = Omit<HTMLAttributes<HTMLDivElement>, 'title'> & {\n open: boolean;\n onClose: () => void;\n title?: ReactNode;\n footer?: ReactNode;\n closeOnBackdropClick?: boolean;\n};\n\nexport const Modal = forwardRef<HTMLDivElement, ModalProps>(\n (\n { open, onClose, title, footer, closeOnBackdropClick = true, className, children, ...props },\n ref,\n ) => {\n const panelRef = useRef<HTMLDivElement | null>(null);\n const setPanelRef = useMergedRef(ref, panelRef);\n const { mounted, visible } = useDelayedUnmount(open, EXIT_DURATION_MS);\n\n useDismissableLayer(open, onClose, panelRef, closeOnBackdropClick);\n\n if (!mounted) {\n return null;\n }\n\n return (\n <div className={modalOverlayStyles({ visible })}>\n <div\n ref={setPanelRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? 'modal-title' : undefined}\n className={cn(modalPanelStyles({ visible }), className)}\n {...props}\n >\n {title && (\n <RichText as=\"h2\" id=\"modal-title\" variant=\"s1\" className={modalTitleStyles}>\n {title}\n </RichText>\n )}\n {children}\n {footer && <div className={modalFooterStyles}>{footer}</div>}\n </div>\n </div>\n );\n },\n);\n\nModal.displayName = 'Modal';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/atoms/Input/Input.styles.ts","../src/components/atoms/Input/Input.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,WAAA,GAAc,GAAA;AAAA,EACzB;AAAA,IACE,kCAAA;AAAA,IACA,kCAAA;AAAA,IACA,sBAAA;AAAA,IACA,qCAAA;AAAA,IACA,6CAAA;AAAA,IACA,4CAAA;AAAA,IACA,sHAAA;AAAA,IACA,kDAAA;AAAA,IACA,iDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO;AAAA,OACT;AAAA,MACA,SAAA,EAAW;AAAA,QACT,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO,SAAA;AAAA,MACP,SAAA,EAAW;AAAA;AACb;AAEJ,CAAA;AAEO,IAAM,gBAAA,GAAmB,gDAAA;AACzB,IAAM,gBAAA,GAAmB,oCAAA;AACzB,IAAM,eAAA,GAAkB,sCAAA;AClBxB,IAAM,KAAA,GAAQ,UAAA;AAAA,EACnB,CAAC,EAAE,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,GAAG,KAAA,IAAS,GAAA,KAAQ;AAClF,IAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,IAAA,MAAM,KAAK,MAAA,IAAU,WAAA;AACrB,IAAA,MAAM,aAAA,GAAgB,QAAQ,OAAA,GAAU,KAAA;AAExC,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACZ,QAAA,EAAA;AAAA,MAAA,KAAA,oBACC,GAAA,CAAC,OAAA,EAAA,EAAM,OAAA,EAAS,EAAA,EACd,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,gBAAA,EACzC,iBACH,CAAA,EACF,CAAA;AAAA,sBAEF,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,EAAA;AAAA,UACA,kBAAA,EAAkB,QAAQ,CAAA,EAAG,EAAE,WAAW,IAAA,GAAO,CAAA,EAAG,EAAE,CAAA,KAAA,CAAA,GAAU,MAAA;AAAA,UAChE,cAAA,EAAc,QAAQ,MAAA,GAAS,MAAA;AAAA,UAC/B,SAAA,EAAW,GAAG,WAAA,CAAY,EAAE,OAAO,aAAA,EAAe,SAAA,EAAW,CAAA,EAAG,SAAS,CAAA;AAAA,UACxE,GAAG;AAAA;AAAA,OACN;AAAA,MACC,KAAA,oBACC,GAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAG,KAAI,EAAA,EAAI,CAAA,EAAG,EAAE,CAAA,MAAA,CAAA,EAAU,MAAK,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,kBACtE,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,MAED,CAAC,KAAA,IAAS,IAAA,oBACT,GAAA,CAAC,YAAS,EAAA,EAAG,GAAA,EAAI,EAAA,EAAI,CAAA,EAAG,EAAE,CAAA,KAAA,CAAA,EAAS,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,iBACxD,QAAA,EAAA,IAAA,EACH;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-PVDRNAYK.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const inputStyles = cva(\n [\n 'flex w-full rounded-md px-3 py-2',\n 'text-sm text-[var(--input-text)]',\n 'bg-[var(--input-bg)]',\n 'border border-[var(--input-border)]',\n 'placeholder:text-[var(--input-placeholder)]',\n 'transition-colors duration-150 ease-in-out',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--border-focus)] focus-visible:ring-offset-0',\n 'focus-visible:border-[var(--input-border-focus)]',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'file:border-0 file:bg-transparent file:text-sm file:font-medium',\n ],\n {\n variants: {\n state: {\n default: '',\n error: 'border-[var(--input-border-error)] focus-visible:ring-[var(--border-error)]',\n },\n inputSize: {\n sm: 'h-8 px-2 text-xs',\n md: 'h-10 px-3 text-sm',\n lg: 'h-12 px-4 text-base',\n },\n },\n defaultVariants: {\n state: 'default',\n inputSize: 'md',\n },\n },\n);\n\nexport const inputLabelStyles = 'text-sm font-medium text-[var(--text-primary)]';\nexport const inputErrorStyles = 'text-xs text-[var(--border-error)]';\nexport const inputHintStyles = 'text-xs text-[var(--text-secondary)]';\n","import type { VariantProps } from 'class-variance-authority';\nimport { forwardRef, useId, type InputHTMLAttributes } from 'react';\nimport { RichText } from '@components';\nimport { cn } from '@utils';\nimport {\n inputErrorStyles,\n inputHintStyles,\n inputLabelStyles,\n inputStyles,\n} from './Input.styles';\n\nexport type InputProps = InputHTMLAttributes<HTMLInputElement> &\n VariantProps<typeof inputStyles> & {\n label?: string;\n hint?: string;\n error?: string;\n };\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ className, state, inputSize, label, hint, error, id: idProp, ...props }, ref) => {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const resolvedState = error ? 'error' : state;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <label htmlFor={id}>\n <RichText as=\"span\" variant=\"p3\" className={inputLabelStyles}>\n {label}\n </RichText>\n </label>\n )}\n <input\n ref={ref}\n id={id}\n aria-describedby={error ? `${id}-error` : hint ? `${id}-hint` : undefined}\n aria-invalid={error ? 'true' : undefined}\n className={cn(inputStyles({ state: resolvedState, inputSize }), className)}\n {...props}\n />\n {error && (\n <RichText as=\"p\" id={`${id}-error`} role=\"alert\" variant=\"p4\" className={inputErrorStyles}>\n {error}\n </RichText>\n )}\n {!error && hint && (\n <RichText as=\"p\" id={`${id}-hint`} variant=\"p4\" className={inputHintStyles}>\n {hint}\n </RichText>\n )}\n </div>\n );\n },\n);\n\nInput.displayName = 'Input';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/molecules/BottomSheet/BottomSheet.styles.ts","../src/components/molecules/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":";;;;;;;;;AAEO,IAAM,wBAAA,GAA2B,GAAA;AAAA,EACtC;AAAA,IACE,8EAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,aAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,sBAAA,GAAyB,GAAA;AAAA,EACpC;AAAA,IACE,+EAAA;AAAA,IACA,6CAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,eAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAEO,IAAM,uBAAA,GACX,gEAAA;AAEK,IAAM,sBAAA,GAAyB,uDAAA;AAE/B,IAAM,uBAAA,GAA0B,0CAAA;AChCvC,IAAM,gBAAA,GAAmB,GAAA;AAUlB,IAAM,WAAA,GAAc,UAAA;AAAA,EACzB,CACE,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,MAAA,EAAQ,oBAAA,GAAuB,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,IACrF,GAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAW,OAA8B,IAAI,CAAA;AACnD,IAAA,MAAM,WAAA,GAAc,YAAA,CAAa,GAAA,EAAK,QAAQ,CAAA;AAC9C,IAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,iBAAA,CAAkB,MAAM,gBAAgB,CAAA;AAErE,IAAA,mBAAA,CAAoB,IAAA,EAAM,OAAA,EAAS,QAAA,EAAU,oBAAoB,CAAA;AAEjE,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAW,yBAAyB,EAAE,OAAA,EAAS,CAAA,EAClD,QAAA,kBAAA,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,WAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,YAAA,EAAW,MAAA;AAAA,QACX,iBAAA,EAAiB,QAAQ,oBAAA,GAAuB,MAAA;AAAA,QAChD,WAAW,EAAA,CAAG,sBAAA,CAAuB,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,QAC3D,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAA,EAAA,EAAI,aAAA,EAAW,IAAA,EAAC,SAAA,EAAW,uBAAA,EAAyB,CAAA;AAAA,UACpD,KAAA,oBACC,GAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,oBAAA,EAAqB,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAW,sBAAA,EAC/D,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,UAED,QAAA;AAAA,UACA,MAAA,oBAAU,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,yBAA0B,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA;AAAA,KAC9D,EACF,CAAA;AAAA,EAEJ;AACF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-ZEGQFAYE.js","sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport const bottomSheetOverlayStyles = cva(\n [\n 'fixed inset-0 z-50 flex items-end justify-center bg-[var(--surface-overlay)]',\n 'transition-opacity duration-200 ease-out',\n ],\n {\n variants: {\n visible: {\n true: 'opacity-100',\n false: 'opacity-0',\n },\n },\n defaultVariants: {\n visible: false,\n },\n },\n);\n\nexport const bottomSheetPanelStyles = cva(\n [\n 'w-full max-w-md rounded-t-xl border border-b-0 border-[var(--border-default)]',\n 'bg-[var(--surface-secondary)] p-6 shadow-lg',\n 'transition-transform duration-200 ease-out',\n ],\n {\n variants: {\n visible: {\n true: 'translate-y-0',\n false: 'translate-y-full',\n },\n },\n defaultVariants: {\n visible: false,\n },\n },\n);\n\nexport const bottomSheetHandleStyles =\n 'mx-auto mb-4 h-1.5 w-10 rounded-full bg-[var(--border-strong)]';\n\nexport const bottomSheetTitleStyles = 'mb-4 text-lg font-semibold text-[var(--text-primary)]';\n\nexport const bottomSheetFooterStyles = 'mt-6 flex items-center justify-end gap-2';\n","import { forwardRef, useRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { RichText } from '@components';\nimport { useDelayedUnmount, useDismissableLayer, useMergedRef } from '@hooks';\nimport { cn } from '@utils';\nimport {\n bottomSheetFooterStyles,\n bottomSheetHandleStyles,\n bottomSheetOverlayStyles,\n bottomSheetPanelStyles,\n bottomSheetTitleStyles,\n} from './BottomSheet.styles';\n\nconst EXIT_DURATION_MS = 200;\n\nexport type BottomSheetProps = Omit<HTMLAttributes<HTMLDivElement>, 'title'> & {\n open: boolean;\n onClose: () => void;\n title?: ReactNode;\n footer?: ReactNode;\n closeOnBackdropClick?: boolean;\n};\n\nexport const BottomSheet = forwardRef<HTMLDivElement, BottomSheetProps>(\n (\n { open, onClose, title, footer, closeOnBackdropClick = true, className, children, ...props },\n ref,\n ) => {\n const panelRef = useRef<HTMLDivElement | null>(null);\n const setPanelRef = useMergedRef(ref, panelRef);\n const { mounted, visible } = useDelayedUnmount(open, EXIT_DURATION_MS);\n\n useDismissableLayer(open, onClose, panelRef, closeOnBackdropClick);\n\n if (!mounted) {\n return null;\n }\n\n return (\n <div className={bottomSheetOverlayStyles({ visible })}>\n <div\n ref={setPanelRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? 'bottom-sheet-title' : undefined}\n className={cn(bottomSheetPanelStyles({ visible }), className)}\n {...props}\n >\n <div aria-hidden className={bottomSheetHandleStyles} />\n {title && (\n <RichText as=\"h2\" id=\"bottom-sheet-title\" variant=\"s1\" className={bottomSheetTitleStyles}>\n {title}\n </RichText>\n )}\n {children}\n {footer && <div className={bottomSheetFooterStyles}>{footer}</div>}\n </div>\n </div>\n );\n },\n);\n\nBottomSheet.displayName = 'BottomSheet';\n"]}