@bigbinary/neeto-atoms 1.0.27 → 1.0.29
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/dist/{Alert-D_FV8xxo.js → Alert-CayTuRLW.js} +2 -2
- package/dist/{Alert-D_FV8xxo.js.map → Alert-CayTuRLW.js.map} +1 -1
- package/dist/{Button-Q7MPG6ph.js → Button-DSvnInaL.js} +3 -2
- package/dist/Button-DSvnInaL.js.map +1 -0
- package/dist/{DataTable-DbSFUmLd.js → DataTable-C5vfL2Hc.js} +3 -3
- package/dist/{DataTable-DbSFUmLd.js.map → DataTable-C5vfL2Hc.js.map} +1 -1
- package/dist/{DatePicker-RvdQv1LE.js → DatePicker-C5DROLCX.js} +36 -5
- package/dist/{DatePicker-RvdQv1LE.js.map → DatePicker-C5DROLCX.js.map} +1 -1
- package/dist/{Empty-B2JwFmru.js → Empty-CkJBrO62.js} +2 -2
- package/dist/{Empty-B2JwFmru.js.map → Empty-CkJBrO62.js.map} +1 -1
- package/dist/{Label-jZPbTxdX.js → Label-CryFO2yq.js} +2 -2
- package/dist/{Label-jZPbTxdX.js.map → Label-CryFO2yq.js.map} +1 -1
- package/dist/{TimePicker-C4x62jI1.js → TimePicker-2vhf5yYK.js} +5 -1
- package/dist/TimePicker-2vhf5yYK.js.map +1 -0
- package/dist/cjs/{Alert-BVvLyM_d.js → Alert-DnIUdIE3.js} +2 -2
- package/dist/cjs/{Alert-BVvLyM_d.js.map → Alert-DnIUdIE3.js.map} +1 -1
- package/dist/cjs/{Button-Bt_AElge.js → Button-BniJ4TT_.js} +3 -2
- package/dist/cjs/Button-BniJ4TT_.js.map +1 -0
- package/dist/cjs/{DataTable-DhWDzUWw.js → DataTable-D_rEai97.js} +3 -3
- package/dist/cjs/{DataTable-DhWDzUWw.js.map → DataTable-D_rEai97.js.map} +1 -1
- package/dist/cjs/{DatePicker-CA113xZV.js → DatePicker-aFQ4yEf1.js} +36 -5
- package/dist/cjs/{DatePicker-CA113xZV.js.map → DatePicker-aFQ4yEf1.js.map} +1 -1
- package/dist/cjs/{Empty-qzle6YvT.js → Empty-CcZrv7wE.js} +2 -2
- package/dist/cjs/{Empty-qzle6YvT.js.map → Empty-CcZrv7wE.js.map} +1 -1
- package/dist/cjs/{Label-B8SlyX1E.js → Label-BHFmdHwe.js} +2 -2
- package/dist/cjs/{Label-B8SlyX1E.js.map → Label-BHFmdHwe.js.map} +1 -1
- package/dist/cjs/{TimePicker-Ba2FdT1O.js → TimePicker-DReL0GSv.js} +5 -1
- package/dist/cjs/TimePicker-DReL0GSv.js.map +1 -0
- package/dist/cjs/components/Alert.js +3 -2
- package/dist/cjs/components/Alert.js.map +1 -1
- package/dist/cjs/components/Button.js +2 -1
- package/dist/cjs/components/Button.js.map +1 -1
- package/dist/cjs/components/DataTable.js +3 -2
- package/dist/cjs/components/DataTable.js.map +1 -1
- package/dist/cjs/components/DatePicker.js +1 -1
- package/dist/cjs/components/Empty.js +3 -2
- package/dist/cjs/components/Empty.js.map +1 -1
- package/dist/cjs/components/Label.js +3 -2
- package/dist/cjs/components/Label.js.map +1 -1
- package/dist/cjs/components/TimePicker.js +1 -1
- package/dist/cjs/components/index.js +8 -7
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/formik/ActionBlock.js +2 -1
- package/dist/cjs/formik/ActionBlock.js.map +1 -1
- package/dist/cjs/formik/BlockNavigation.js +1 -1
- package/dist/cjs/formik/Button.js +2 -1
- package/dist/cjs/formik/Button.js.map +1 -1
- package/dist/cjs/formik/index.js +2 -2
- package/dist/cjs/index.js +8 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/components/Alert.js +3 -2
- package/dist/components/Alert.js.map +1 -1
- package/dist/components/Button.js +2 -1
- package/dist/components/Button.js.map +1 -1
- package/dist/components/DataTable.js +3 -2
- package/dist/components/DataTable.js.map +1 -1
- package/dist/components/DatePicker/utils.d.ts +4 -0
- package/dist/components/DatePicker.js +1 -1
- package/dist/components/Empty.js +3 -2
- package/dist/components/Empty.js.map +1 -1
- package/dist/components/Label.js +3 -2
- package/dist/components/Label.js.map +1 -1
- package/dist/components/TimePicker.js +1 -1
- package/dist/components/index.js +8 -7
- package/dist/components/index.js.map +1 -1
- package/dist/formik/ActionBlock.js +2 -1
- package/dist/formik/ActionBlock.js.map +1 -1
- package/dist/formik/BlockNavigation.js +1 -1
- package/dist/formik/Button.js +2 -1
- package/dist/formik/Button.js.map +1 -1
- package/dist/formik/index.js +2 -2
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/Button-Q7MPG6ph.js.map +0 -1
- package/dist/TimePicker-C4x62jI1.js.map +0 -1
- package/dist/cjs/Button-Bt_AElge.js.map +0 -1
- package/dist/cjs/TimePicker-Ba2FdT1O.js.map +0 -1
package/dist/components/Alert.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as Alert } from '../Alert-
|
|
1
|
+
export { A as Alert } from '../Alert-CayTuRLW.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-i18next';
|
|
@@ -24,7 +24,8 @@ import '../index-CSUSJzOJ.js';
|
|
|
24
24
|
import '../index-B4_fVWDx.js';
|
|
25
25
|
import '../index-fV_U4ZJM.js';
|
|
26
26
|
import '../index-yFgkK_AM.js';
|
|
27
|
-
import '../Button-
|
|
27
|
+
import '../Button-DSvnInaL.js';
|
|
28
|
+
import 'react-router-dom';
|
|
28
29
|
import '../renderIcon-tlvMyboj.js';
|
|
29
30
|
import '../primitives/Button.js';
|
|
30
31
|
import '../primitives/Spinner.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { B as Button } from '../Button-
|
|
1
|
+
export { B as Button } from '../Button-DSvnInaL.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
|
+
import 'react-router-dom';
|
|
4
5
|
import '../utils-DdHUxIdC.js';
|
|
5
6
|
import '../renderIcon-tlvMyboj.js';
|
|
6
7
|
import '../primitives/Button.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from '../DataTable-
|
|
1
|
+
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from '../DataTable-C5vfL2Hc.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../primitives/Table.js';
|
|
@@ -27,7 +27,8 @@ import '../primitives/Pagination.js';
|
|
|
27
27
|
import '../chevron-left-BDoT8E2-.js';
|
|
28
28
|
import '../ellipsis-lb8Ws6br.js';
|
|
29
29
|
import '../chevron-right-DQnrO-ek.js';
|
|
30
|
-
import '../Button-
|
|
30
|
+
import '../Button-DSvnInaL.js';
|
|
31
|
+
import 'react-router-dom';
|
|
31
32
|
import '../renderIcon-tlvMyboj.js';
|
|
32
33
|
import '../primitives/Tooltip.js';
|
|
33
34
|
import '../tooltip-XkHLgxlU.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTable.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { TimeValue } from "../TimePicker/types";
|
|
2
|
+
/** Coerce dayjs/moment-like objects or date strings to native Date. */
|
|
3
|
+
export declare const toNativeDate: (value: unknown) => Date | null;
|
|
4
|
+
/** Coerce a single or range value to native Date(s). */
|
|
5
|
+
export declare const coerceDateValue: (value: unknown, type: "date" | "range") => Date | [Date | null, Date | null] | null;
|
|
2
6
|
export declare const formatDate: (date: Date | null, formatStr: string) => string;
|
|
3
7
|
export declare const parseDate: (str: string, formatStr: string) => Date | null;
|
|
4
8
|
export declare const clampDate: (date: Date, min?: Date, max?: Date) => Date;
|
package/dist/components/Empty.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { E as Empty } from '../Empty-
|
|
1
|
+
export { E as Empty } from '../Empty-CkJBrO62.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../utils-DdHUxIdC.js';
|
|
5
5
|
import '../primitives/Empty.js';
|
|
6
6
|
import '../index-D7Zy7P05.js';
|
|
7
|
-
import '../Button-
|
|
7
|
+
import '../Button-DSvnInaL.js';
|
|
8
|
+
import 'react-router-dom';
|
|
8
9
|
import '../renderIcon-tlvMyboj.js';
|
|
9
10
|
import '../primitives/Button.js';
|
|
10
11
|
import '../button-Dn5ffsMK.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Empty.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Empty.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/components/Label.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { L as Label } from '../Label-
|
|
1
|
+
export { L as Label } from '../Label-CryFO2yq.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../utils-DdHUxIdC.js';
|
|
@@ -26,7 +26,8 @@ import '../index-CSggBaQF.js';
|
|
|
26
26
|
import '../Popover-dib6elwS.js';
|
|
27
27
|
import '../index-D7Zy7P05.js';
|
|
28
28
|
import '../primitives/HoverCard.js';
|
|
29
|
-
import '../Button-
|
|
29
|
+
import '../Button-DSvnInaL.js';
|
|
30
|
+
import 'react-router-dom';
|
|
30
31
|
import '../primitives/Button.js';
|
|
31
32
|
import '../button-Dn5ffsMK.js';
|
|
32
33
|
import '../index-CfriMyrd.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Label.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/components/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
export { A as Accordion } from '../Accordion-Ch9S_qd3.js';
|
|
2
|
-
export { A as Alert } from '../Alert-
|
|
2
|
+
export { A as Alert } from '../Alert-CayTuRLW.js';
|
|
3
3
|
export { A as Avatar } from '../Avatar-D5YGlXVF.js';
|
|
4
4
|
export { B as Badge } from '../Badge-Bj3ajrWB.js';
|
|
5
|
-
export { B as Button } from '../Button-
|
|
5
|
+
export { B as Button } from '../Button-DSvnInaL.js';
|
|
6
6
|
export { C as Callout } from '../Callout-CTr3dhBe.js';
|
|
7
7
|
export { C as Checkbox } from '../Checkbox-zCxgcZiC.js';
|
|
8
8
|
export { C as ColorPicker } from '../ColorPicker-DtOvy0Gy.js';
|
|
9
|
-
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from '../DataTable-
|
|
10
|
-
export { D as DatePicker } from '../DatePicker-
|
|
9
|
+
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from '../DataTable-C5vfL2Hc.js';
|
|
10
|
+
export { D as DatePicker } from '../DatePicker-C5DROLCX.js';
|
|
11
11
|
export { D as Dialog } from '../Dialog-BURSzxaP.js';
|
|
12
12
|
export { DropdownMenu } from './DropdownMenu.js';
|
|
13
|
-
export { E as Empty } from '../Empty-
|
|
13
|
+
export { E as Empty } from '../Empty-CkJBrO62.js';
|
|
14
14
|
export { I as Input } from '../Input-C1gcv9o2.js';
|
|
15
15
|
export { K as Kbd } from '../Kbd-EqbC0bua.js';
|
|
16
|
-
export { L as Label } from '../Label-
|
|
16
|
+
export { L as Label } from '../Label-CryFO2yq.js';
|
|
17
17
|
export { M as MultiEmailInput } from '../MultiEmailInput-SCTYovtX.js';
|
|
18
18
|
export { P as Pagination } from '../Pagination-DSc9yXPy.js';
|
|
19
19
|
export { P as Popover } from '../Popover-dib6elwS.js';
|
|
@@ -27,7 +27,7 @@ export { S as Stepper } from '../Stepper-BoGkmkY0.js';
|
|
|
27
27
|
export { S as Switch } from '../Switch-B83TGxJ_.js';
|
|
28
28
|
export { T as Tabs } from '../Tabs-DWfKnl3S.js';
|
|
29
29
|
export { T as Textarea } from '../Textarea-C0z50h0N.js';
|
|
30
|
-
export { T as TimePicker } from '../TimePicker-
|
|
30
|
+
export { T as TimePicker } from '../TimePicker-2vhf5yYK.js';
|
|
31
31
|
export { T as TimePickerPanel } from '../TimePickerPanel-CiF0RExY.js';
|
|
32
32
|
export { T as Toastr } from '../Toastr-DYqpSaMd.js';
|
|
33
33
|
export { T as Tooltip } from '../Tooltip-3ZzQyaDV.js';
|
|
@@ -78,6 +78,7 @@ import '../index-BYZaLNq1.js';
|
|
|
78
78
|
import '../index-CSggBaQF.js';
|
|
79
79
|
import '../renderIcon-tlvMyboj.js';
|
|
80
80
|
import '../primitives/Badge.js';
|
|
81
|
+
import 'react-router-dom';
|
|
81
82
|
import '../primitives/Button.js';
|
|
82
83
|
import '../primitives/Spinner.js';
|
|
83
84
|
import '../loader-circle-DycHUAWN.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
3
|
import { useFormikContext } from 'formik';
|
|
4
|
-
import { B as Button } from '../Button-
|
|
4
|
+
import { B as Button } from '../Button-DSvnInaL.js';
|
|
5
5
|
import { c as cn } from '../utils-DdHUxIdC.js';
|
|
6
6
|
import { FormikButton } from './Button.js';
|
|
7
|
+
import 'react-router-dom';
|
|
7
8
|
import '../renderIcon-tlvMyboj.js';
|
|
8
9
|
import '../primitives/Button.js';
|
|
9
10
|
import '../button-Dn5ffsMK.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBlock.js","sources":["../../src/formik/ActionBlock.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { Button, type ButtonProps } from \"src/components/Button\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { FormikButton } from \"./Button\";\n\nexport interface FormikActionBlockProps {\n /** Additional CSS class names for the wrapper. */\n className?: string;\n /** Props forwarded to the submit button. */\n submitButtonProps?: ButtonProps;\n /** Props forwarded to the cancel button. */\n cancelButtonProps?: ButtonProps;\n /**\n * Override the auto-computed submitting state (e.g. from React Query mutation).\n * Falls back to Formik's `isSubmitting` when not provided.\n */\n isSubmitting?: boolean;\n /** Alignment of the buttons. */\n position?: \"left\" | \"right\";\n}\n\nconst FormikActionBlock = forwardRef<HTMLDivElement, FormikActionBlockProps>(\n (\n {\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isSubmittingProp,\n position = \"left\",\n },\n ref\n ) => {\n const { handleReset, isSubmitting: isFormikSubmitting } =\n useFormikContext();\n\n const isSubmitting = isSubmittingProp ?? isFormikSubmitting;\n\n const cancelButton = (\n <Button\n data-testid=\"cancel-button\"\n disabled={isSubmitting}\n label=\"Cancel\"\n variant=\"ghost\"\n onClick={handleReset}\n onMouseDown={(e: React.MouseEvent) => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <FormikButton\n data-testid=\"save-changes-button\"\n label=\"Save changes\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center gap-2\",\n position === \"right\" && \"justify-end\",\n className\n )}\n >\n {position === \"right\" ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n }\n);\n\nFormikActionBlock.displayName = \"FormikActionBlock\";\n\nexport { FormikActionBlock };\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBlock.js","sources":["../../src/formik/ActionBlock.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { Button, type ButtonProps } from \"src/components/Button\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { FormikButton } from \"./Button\";\n\nexport interface FormikActionBlockProps {\n /** Additional CSS class names for the wrapper. */\n className?: string;\n /** Props forwarded to the submit button. */\n submitButtonProps?: ButtonProps;\n /** Props forwarded to the cancel button. */\n cancelButtonProps?: ButtonProps;\n /**\n * Override the auto-computed submitting state (e.g. from React Query mutation).\n * Falls back to Formik's `isSubmitting` when not provided.\n */\n isSubmitting?: boolean;\n /** Alignment of the buttons. */\n position?: \"left\" | \"right\";\n}\n\nconst FormikActionBlock = forwardRef<HTMLDivElement, FormikActionBlockProps>(\n (\n {\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isSubmittingProp,\n position = \"left\",\n },\n ref\n ) => {\n const { handleReset, isSubmitting: isFormikSubmitting } =\n useFormikContext();\n\n const isSubmitting = isSubmittingProp ?? isFormikSubmitting;\n\n const cancelButton = (\n <Button\n data-testid=\"cancel-button\"\n disabled={isSubmitting}\n label=\"Cancel\"\n variant=\"ghost\"\n onClick={handleReset}\n onMouseDown={(e: React.MouseEvent) => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <FormikButton\n data-testid=\"save-changes-button\"\n label=\"Save changes\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center gap-2\",\n position === \"right\" && \"justify-end\",\n className\n )}\n >\n {position === \"right\" ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n }\n);\n\nFormikActionBlock.displayName = \"FormikActionBlock\";\n\nexport { FormikActionBlock };\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,iBAAiB,GAAG,UAAU,CAClC,CACE,EACE,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,GAAG,MAAM,GAClB,EACD,GAAG,KACD;IACF,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,GACrD,gBAAgB,EAAE;AAEpB,IAAA,MAAM,YAAY,GAAG,gBAAgB,IAAI,kBAAkB;AAE3D,IAAA,MAAM,YAAY,IAChBA,GAAA,CAAC,MAAM,mBACO,eAAe,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,OAAO,EACf,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,CAAC,CAAmB,KAAK,CAAC,CAAC,cAAc,EAAE,KACpD,iBAAiB,EAAA,CACrB,CACH;AAED,IAAA,MAAM,YAAY,IAChBA,IAAC,YAAY,EAAA,EAAA,aAAA,EACC,qBAAqB,EACjC,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,QAAQ,KACT,iBAAiB,EAAA,CACrB,CACH;IAED,QACEA,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,QAAQ,KAAK,OAAO,IAAI,aAAa,EACrC,SAAS,CACV,EAAA,QAAA,EAEA,QAAQ,KAAK,OAAO,IACnBC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACG,YAAY,EACZ,YAAY,IACZ,KAEHD,4BACG,YAAY,EACZ,YAAY,CAAA,EAAA,CACZ,CACJ,EAAA,CACG;AAEV,CAAC;AAGH,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useFormikContext } from 'formik';
|
|
3
3
|
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
4
4
|
import { useHistory } from 'react-router-dom';
|
|
5
|
-
import { B as Button } from '../Button-
|
|
5
|
+
import { B as Button } from '../Button-DSvnInaL.js';
|
|
6
6
|
import { D as Dialog } from '../Dialog-BURSzxaP.js';
|
|
7
7
|
import '../utils-DdHUxIdC.js';
|
|
8
8
|
import '../renderIcon-tlvMyboj.js';
|
package/dist/formik/Button.js
CHANGED
|
@@ -2,7 +2,8 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
3
|
import { useFormikContext } from 'formik';
|
|
4
4
|
import { equals } from 'ramda';
|
|
5
|
-
import { B as Button } from '../Button-
|
|
5
|
+
import { B as Button } from '../Button-DSvnInaL.js';
|
|
6
|
+
import 'react-router-dom';
|
|
6
7
|
import '../utils-DdHUxIdC.js';
|
|
7
8
|
import '../renderIcon-tlvMyboj.js';
|
|
8
9
|
import '../primitives/Button.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../src/formik/Button.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { equals } from \"ramda\";\n\nimport { Button, ButtonProps } from \"src/components/Button\";\n\nexport interface FormikButtonProps extends ButtonProps {\n /** Override the auto-computed disabled state. */\n disabled?: boolean;\n}\n\nconst FormikButton = forwardRef<HTMLButtonElement, FormikButtonProps>(\n ({ disabled, ...otherProps }, ref) => {\n const { handleSubmit, isSubmitting, values, initialValues, isValid } =\n useFormikContext();\n\n const isDisabled =\n disabled ?? (isSubmitting || equals(values, initialValues));\n\n return (\n <Button\n ref={ref}\n disabled={isDisabled}\n loading={isSubmitting && isValid}\n onClick={() => handleSubmit()}\n {...otherProps}\n />\n );\n }\n);\n\nFormikButton.displayName = \"FormikButton\";\n\nexport { FormikButton };\n"],"names":["_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../src/formik/Button.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { equals } from \"ramda\";\n\nimport { Button, ButtonProps } from \"src/components/Button\";\n\nexport interface FormikButtonProps extends ButtonProps {\n /** Override the auto-computed disabled state. */\n disabled?: boolean;\n}\n\nconst FormikButton = forwardRef<HTMLButtonElement, FormikButtonProps>(\n ({ disabled, ...otherProps }, ref) => {\n const { handleSubmit, isSubmitting, values, initialValues, isValid } =\n useFormikContext();\n\n const isDisabled =\n disabled ?? (isSubmitting || equals(values, initialValues));\n\n return (\n <Button\n ref={ref}\n disabled={isDisabled}\n loading={isSubmitting && isValid}\n onClick={() => handleSubmit()}\n {...otherProps}\n />\n );\n }\n);\n\nFormikButton.displayName = \"FormikButton\";\n\nexport { FormikButton };\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,YAAY,GAAG,UAAU,CAC7B,CAAC,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,KAAI;AACnC,IAAA,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAClE,gBAAgB,EAAE;AAEpB,IAAA,MAAM,UAAU,GACd,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE7D,IAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EACL,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,YAAY,IAAI,OAAO,EAChC,OAAO,EAAE,MAAM,YAAY,EAAE,EAAA,GACzB,UAAU,EAAA,CACd;AAEN,CAAC;AAGH,YAAY,CAAC,WAAW,GAAG,cAAc;;;;"}
|
package/dist/formik/index.js
CHANGED
|
@@ -78,13 +78,13 @@ import '../Tree-C7r10UY5.js';
|
|
|
78
78
|
import '../chevron-right-DQnrO-ek.js';
|
|
79
79
|
import '../redux-BKH6DnBB.js';
|
|
80
80
|
import '../MultiEmailInput-SCTYovtX.js';
|
|
81
|
-
import '../Button-
|
|
81
|
+
import '../Button-DSvnInaL.js';
|
|
82
|
+
import 'react-router-dom';
|
|
82
83
|
import '../renderIcon-tlvMyboj.js';
|
|
83
84
|
import '../primitives/Button.js';
|
|
84
85
|
import '../primitives/Tooltip.js';
|
|
85
86
|
import '../tooltip-XkHLgxlU.js';
|
|
86
87
|
import '../index-CSggBaQF.js';
|
|
87
|
-
import 'react-router-dom';
|
|
88
88
|
import '../Dialog-BURSzxaP.js';
|
|
89
89
|
import '../primitives/Dialog.js';
|
|
90
90
|
import '../dialog-C6LY-ud7.js';
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { A as Accordion } from './Accordion-Ch9S_qd3.js';
|
|
2
|
-
export { A as Alert } from './Alert-
|
|
2
|
+
export { A as Alert } from './Alert-CayTuRLW.js';
|
|
3
3
|
export { A as Avatar } from './Avatar-D5YGlXVF.js';
|
|
4
4
|
export { B as Badge } from './Badge-Bj3ajrWB.js';
|
|
5
|
-
export { B as Button } from './Button-
|
|
5
|
+
export { B as Button } from './Button-DSvnInaL.js';
|
|
6
6
|
export { C as Callout } from './Callout-CTr3dhBe.js';
|
|
7
7
|
export { C as Checkbox } from './Checkbox-zCxgcZiC.js';
|
|
8
8
|
export { C as ColorPicker } from './ColorPicker-DtOvy0Gy.js';
|
|
9
|
-
export { D as DatePicker } from './DatePicker-
|
|
10
|
-
export { T as TimePicker } from './TimePicker-
|
|
9
|
+
export { D as DatePicker } from './DatePicker-C5DROLCX.js';
|
|
10
|
+
export { T as TimePicker } from './TimePicker-2vhf5yYK.js';
|
|
11
11
|
import './TimePickerPanel-CiF0RExY.js';
|
|
12
12
|
import pureDayjs from 'dayjs';
|
|
13
13
|
import localeData from 'dayjs/plugin/localeData';
|
|
@@ -18,10 +18,10 @@ export { T as TranslationProvider, r as translations } from './TranslationProvid
|
|
|
18
18
|
export { D as DirectionProvider } from './DirectionProvider-DGYDg_He.js';
|
|
19
19
|
export { D as Dialog } from './Dialog-BURSzxaP.js';
|
|
20
20
|
export { DropdownMenu } from './components/DropdownMenu.js';
|
|
21
|
-
export { E as Empty } from './Empty-
|
|
21
|
+
export { E as Empty } from './Empty-CkJBrO62.js';
|
|
22
22
|
export { I as Input } from './Input-C1gcv9o2.js';
|
|
23
23
|
export { K as Kbd } from './Kbd-EqbC0bua.js';
|
|
24
|
-
export { L as Label } from './Label-
|
|
24
|
+
export { L as Label } from './Label-CryFO2yq.js';
|
|
25
25
|
export { P as Pagination } from './Pagination-DSc9yXPy.js';
|
|
26
26
|
export { R as RadioGroup } from './RadioGroup-BNeYQAoT.js';
|
|
27
27
|
export { S as Select } from './Select-TlFBcxcY.js';
|
|
@@ -38,7 +38,7 @@ export { T as Tabs } from './Tabs-DWfKnl3S.js';
|
|
|
38
38
|
export { T as Textarea } from './Textarea-C0z50h0N.js';
|
|
39
39
|
export { T as Tooltip } from './Tooltip-3ZzQyaDV.js';
|
|
40
40
|
export { T as Typography, t as typographyVariants } from './Typography-ClPJbLjP.js';
|
|
41
|
-
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-
|
|
41
|
+
export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-C5vfL2Hc.js';
|
|
42
42
|
export { T as Tree } from './Tree-C7r10UY5.js';
|
|
43
43
|
export { T as TreeSelect } from './TreeSelect-BxsQrdjf.js';
|
|
44
44
|
export { u as useIsMobile } from './use-mobile-IRjN_mlT.js';
|
|
@@ -84,6 +84,7 @@ import './index-BYZaLNq1.js';
|
|
|
84
84
|
import './index-CSggBaQF.js';
|
|
85
85
|
import './renderIcon-tlvMyboj.js';
|
|
86
86
|
import './primitives/Badge.js';
|
|
87
|
+
import 'react-router-dom';
|
|
87
88
|
import './primitives/Button.js';
|
|
88
89
|
import './primitives/Spinner.js';
|
|
89
90
|
import './loader-circle-DycHUAWN.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/utils/dayjs/timezonePlugin.ts","../src/utils/dayjs/index.ts"],"sourcesContent":["import type { Dayjs, PluginFunc } from \"dayjs\";\n\ntype TypeToPos = Record<string, number>;\n\nconst typeToPos: TypeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\n\nconst dateTimeFormatDefaults: Intl.DateTimeFormatOptions = {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n};\n\nconst dtfCache = new Map<string, Intl.DateTimeFormat>();\nconst getDateTimeFormat = (\n timezone: string,\n options: { timeZoneName?: \"short\" | \"long\" } = {}\n): Intl.DateTimeFormat => {\n const timeZoneName = options.timeZoneName || \"short\";\n const key = `${timezone}|${timeZoneName}`;\n let dtf = dtfCache.get(key);\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n hour12: false,\n timeZone: timezone,\n timeZoneName,\n });\n dtfCache.set(key, dtf);\n }\n\n return dtf;\n};\n\nconst localeStringifierCache = new Map<string, Intl.DateTimeFormat>();\nconst getLocaleStringifier = (timezone: string): Intl.DateTimeFormat => {\n let localeStringifier = localeStringifierCache.get(timezone);\n if (!localeStringifier) {\n localeStringifier = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n timeZone: timezone,\n });\n localeStringifierCache.set(timezone, localeStringifier);\n }\n\n return localeStringifier;\n};\n\ninterface DayjsInternal extends Dayjs {\n $ms: number;\n $x: { $timezone?: string };\n $set(unit: string, value: number): DayjsInternal;\n tz(timezone: string, keepLocalTime?: boolean): DayjsInternal;\n offsetName(type?: \"short\" | \"long\"): string | undefined;\n startOf(units: string, startOf?: boolean): DayjsInternal;\n}\n\ntype DayjsFactory = {\n (input?: string | number | Date | Dayjs, format?: string): DayjsInternal;\n utc(input?: string | number | Date, format?: string): DayjsInternal;\n tz: {\n (\n input: string | number | Date | Dayjs,\n arg1?: string,\n arg2?: string\n ): DayjsInternal;\n guess: () => string;\n setDefault: (timezone?: string) => void;\n };\n};\n\ntype DayjsClass = {\n prototype: DayjsInternal;\n};\n\nconst timezonePlugin: PluginFunc = (_o, c, d) => {\n let defaultTimezone: string | undefined;\n\n const dayjsFactory = d as unknown as DayjsFactory;\n const dayjsClass = c as unknown as DayjsClass;\n\n const makeFormatParts = (\n timestamp: number,\n timezone: string,\n options: { timeZoneName?: \"short\" | \"long\" } = {}\n ): Intl.DateTimeFormatPart[] => {\n const date = new Date(timestamp);\n const dtf = getDateTimeFormat(timezone, options);\n\n return dtf.formatToParts(date);\n };\n\n const tzOffset = (timestamp: number, timezone: string): number => {\n const formatResult = makeFormatParts(timestamp, timezone);\n const filled: number[] = [];\n for (let i = 0; i < formatResult.length; i += 1) {\n const { type, value } = formatResult[i];\n const pos = typeToPos[type];\n\n if (pos >= 0) {\n filled[pos] = parseInt(value, 10);\n }\n }\n const hour = filled[3];\n const fixedHour = hour === 24 ? 0 : hour;\n const utcString = `${filled[0]}-${filled[1]}-${filled[2]} ${fixedHour}:${filled[4]}:${filled[5]}:000`;\n const utcTs = dayjsFactory.utc(utcString).valueOf();\n let asTS = Number(timestamp);\n const over = asTS % 1000;\n asTS -= over;\n\n return (utcTs - asTS) / (60 * 1000);\n };\n\n const fixOffset = (\n localTS: number,\n o0: number,\n tz: string\n ): [number, number] => {\n let utcGuess = localTS - o0 * 60 * 1000;\n const o2 = tzOffset(utcGuess, tz);\n if (o0 === o2) {\n return [utcGuess, o0];\n }\n utcGuess -= (o2 - o0) * 60 * 1000;\n const o3 = tzOffset(utcGuess, tz);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n };\n\n const proto = dayjsClass.prototype;\n\n proto.tz = function (\n timezone: string = defaultTimezone!,\n keepLocalTime?: boolean\n ) {\n const oldOffset = this.utcOffset();\n const date = this.toDate();\n const target = getLocaleStringifier(timezone).format(date);\n const diff = Math.round(\n (date.getTime() - new Date(target).getTime()) / 1000 / 60\n );\n let ins = dayjsFactory(target)\n .$set(\"millisecond\", this.$ms)\n .utcOffset(\n -Math.round(date.getTimezoneOffset() / 15) * 15 - diff,\n true\n ) as DayjsInternal;\n if (keepLocalTime) {\n const newOffset = ins.utcOffset();\n ins = ins.add(oldOffset - newOffset, \"minute\") as DayjsInternal;\n }\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n proto.offsetName = function (type?: \"short\" | \"long\") {\n const zone = this.$x.$timezone || dayjsFactory.tz.guess();\n const result = makeFormatParts(this.valueOf(), zone, {\n timeZoneName: type,\n }).find(\n (m: Intl.DateTimeFormatPart) => m.type.toLowerCase() === \"timezonename\"\n );\n\n return result && result.value;\n };\n\n const oldStartOf = proto.startOf;\n proto.startOf = function (units: string, startOf?: boolean) {\n if (!this.$x || !this.$x.$timezone) {\n return oldStartOf.call(this, units, startOf);\n }\n\n const withoutTz = dayjsFactory(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));\n const startOfWithoutTz = oldStartOf.call(withoutTz, units, startOf);\n\n return (startOfWithoutTz as DayjsInternal).tz(this.$x.$timezone, true);\n };\n\n const tzFunction = function (\n input: string | number | Date | Dayjs,\n arg1?: string,\n arg2?: string\n ) {\n const parseFormat = arg2 && arg1;\n const timezone = arg2 || arg1 || defaultTimezone;\n const previousOffset = tzOffset(Number(dayjsFactory()), timezone!);\n if (typeof input !== \"string\") {\n return dayjsFactory(input as string | number | Date).tz(timezone!);\n }\n const localTs = dayjsFactory.utc(input, parseFormat).valueOf();\n const [targetTs, targetOffset] = fixOffset(\n localTs,\n previousOffset,\n timezone!\n );\n const ins = dayjsFactory(targetTs).utcOffset(targetOffset) as DayjsInternal;\n ins.$x.$timezone = timezone;\n\n return ins;\n } as DayjsFactory[\"tz\"];\n\n tzFunction.guess = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n };\n\n tzFunction.setDefault = function (timezone?: string) {\n defaultTimezone = timezone;\n };\n\n dayjsFactory.tz = tzFunction;\n};\n\nexport default timezonePlugin;\n","import pureDayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport localeData from \"dayjs/plugin/localeData\";\nimport utc from \"dayjs/plugin/utc\";\nimport weekday from \"dayjs/plugin/weekday\";\nimport weekOfYear from \"dayjs/plugin/weekOfYear\";\n\nimport timezonePlugin from \"./timezonePlugin\";\n\npureDayjs.extend(weekOfYear);\npureDayjs.extend(weekday);\npureDayjs.extend(localeData);\npureDayjs.extend(utc);\npureDayjs.extend(timezonePlugin);\n\ninterface DayjsInternal extends Dayjs {\n $x: { $timezone?: string };\n}\n\ninterface DayjsWithTz {\n (\n ...args: [string | number | Date | Dayjs | null | undefined, string?]\n ): Dayjs;\n utc(input?: string | number | Date, format?: string): Dayjs;\n tz: {\n (\n input?: string | number | Date | Dayjs,\n arg1?: string,\n arg2?: string\n ): DayjsInternal;\n guess: () => string;\n setDefault: (timezone?: string) => void;\n };\n}\n\nclass LRUCache<K, V> {\n private limit: number;\n private cache: Map<K, V>;\n\n constructor(limit: number) {\n this.limit = limit;\n this.cache = new Map();\n }\n\n get(key: K): V | undefined {\n const value = this.cache.get(key);\n this.cache.delete(key);\n if (value !== undefined) {\n this.cache.set(key, value);\n }\n\n return value;\n }\n\n set(key: K, value: V): void {\n if (this.cache.size >= this.limit) {\n const oldestKey = this.cache.keys().next().value;\n if (oldestKey !== undefined) {\n this.cache.delete(oldestKey);\n }\n }\n this.cache.set(key, value);\n }\n\n has(key: K): boolean {\n return this.cache.has(key);\n }\n}\n\nconst hasTimezone = (dateString: string): boolean => {\n const timezoneRegex = /Z|[+-]\\d{2}:\\d{2}$|[+-]\\d{4}$|GMT([+-]\\d{4})?$/;\n\n return timezoneRegex.test(dateString);\n};\n\nconst cache = new LRUCache<string, Dayjs>(1000);\nconst pureDayjsWithTz = pureDayjs as unknown as DayjsWithTz;\n\nconst dayjs = (\n ...args: [string | number | Date | Dayjs | null | undefined, string?]\n): Dayjs => {\n const cacheKey = JSON.stringify(args);\n\n if (cache.has(cacheKey) && args[0] !== undefined) return cache.get(cacheKey)!;\n\n const userTimezone = pureDayjsWithTz.tz()?.$x?.$timezone;\n const browserTimezone = pureDayjsWithTz.tz.guess();\n const timezone = userTimezone || browserTimezone;\n\n if (userTimezone === browserTimezone || userTimezone === undefined) {\n const result = pureDayjsWithTz(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n const mutableArgs: [\n string | number | Date | Dayjs | null | undefined,\n string?,\n ] = [...args];\n\n if (\n mutableArgs.length > 0 &&\n (typeof mutableArgs[0] === \"string\" || mutableArgs[0] === null)\n ) {\n const pureDayjsArgs: [\n string | number | Date | Dayjs | null | undefined,\n string?,\n ] = [mutableArgs[0], mutableArgs[1]];\n\n if (typeof mutableArgs[0] === \"string\" && hasTimezone(mutableArgs[0])) {\n mutableArgs[0] = pureDayjsWithTz(...pureDayjsArgs);\n } else {\n mutableArgs[0] = pureDayjsWithTz(...pureDayjsArgs).format(\n \"YYYY-MM-DD HH:mm:ss\"\n );\n mutableArgs[1] = \"YYYY-MM-DD HH:mm:ss\";\n }\n }\n\n if (mutableArgs[0]?.toString() === \"Invalid Date\") {\n const result = pureDayjsWithTz(...mutableArgs);\n\n if (mutableArgs[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n const result =\n mutableArgs.length === 2\n ? pureDayjsWithTz.tz(\n mutableArgs[0] as string | number | Date | Dayjs,\n mutableArgs[1],\n timezone\n )\n : pureDayjsWithTz.tz(\n mutableArgs[0] as string | number | Date | Dayjs,\n timezone\n );\n\n if (mutableArgs[0] !== undefined) cache.set(cacheKey, result as Dayjs);\n\n return result as Dayjs;\n};\n\nObject.assign(dayjs, { ...pureDayjs });\n\nexport const getTimezoneAppliedDateTime = (\n inputDateTime: Dayjs | Dayjs[] | null\n): Dayjs | (Dayjs | null)[] | null => {\n const timezoneAppliedDateTime = (date: Dayjs | null): Dayjs | null =>\n date && typeof date.format === \"function\"\n ? dayjs(date.format(\"YYYY-MM-DD HH:mm:ss\"))\n : null;\n\n return Array.isArray(inputDateTime)\n ? inputDateTime.map(timezoneAppliedDateTime)\n : timezoneAppliedDateTime(inputDateTime);\n};\n\nexport { dayjs };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/utils/dayjs/timezonePlugin.ts","../src/utils/dayjs/index.ts"],"sourcesContent":["import type { Dayjs, PluginFunc } from \"dayjs\";\n\ntype TypeToPos = Record<string, number>;\n\nconst typeToPos: TypeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\n\nconst dateTimeFormatDefaults: Intl.DateTimeFormatOptions = {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n};\n\nconst dtfCache = new Map<string, Intl.DateTimeFormat>();\nconst getDateTimeFormat = (\n timezone: string,\n options: { timeZoneName?: \"short\" | \"long\" } = {}\n): Intl.DateTimeFormat => {\n const timeZoneName = options.timeZoneName || \"short\";\n const key = `${timezone}|${timeZoneName}`;\n let dtf = dtfCache.get(key);\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n hour12: false,\n timeZone: timezone,\n timeZoneName,\n });\n dtfCache.set(key, dtf);\n }\n\n return dtf;\n};\n\nconst localeStringifierCache = new Map<string, Intl.DateTimeFormat>();\nconst getLocaleStringifier = (timezone: string): Intl.DateTimeFormat => {\n let localeStringifier = localeStringifierCache.get(timezone);\n if (!localeStringifier) {\n localeStringifier = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n timeZone: timezone,\n });\n localeStringifierCache.set(timezone, localeStringifier);\n }\n\n return localeStringifier;\n};\n\ninterface DayjsInternal extends Dayjs {\n $ms: number;\n $x: { $timezone?: string };\n $set(unit: string, value: number): DayjsInternal;\n tz(timezone: string, keepLocalTime?: boolean): DayjsInternal;\n offsetName(type?: \"short\" | \"long\"): string | undefined;\n startOf(units: string, startOf?: boolean): DayjsInternal;\n}\n\ntype DayjsFactory = {\n (input?: string | number | Date | Dayjs, format?: string): DayjsInternal;\n utc(input?: string | number | Date, format?: string): DayjsInternal;\n tz: {\n (\n input: string | number | Date | Dayjs,\n arg1?: string,\n arg2?: string\n ): DayjsInternal;\n guess: () => string;\n setDefault: (timezone?: string) => void;\n };\n};\n\ntype DayjsClass = {\n prototype: DayjsInternal;\n};\n\nconst timezonePlugin: PluginFunc = (_o, c, d) => {\n let defaultTimezone: string | undefined;\n\n const dayjsFactory = d as unknown as DayjsFactory;\n const dayjsClass = c as unknown as DayjsClass;\n\n const makeFormatParts = (\n timestamp: number,\n timezone: string,\n options: { timeZoneName?: \"short\" | \"long\" } = {}\n ): Intl.DateTimeFormatPart[] => {\n const date = new Date(timestamp);\n const dtf = getDateTimeFormat(timezone, options);\n\n return dtf.formatToParts(date);\n };\n\n const tzOffset = (timestamp: number, timezone: string): number => {\n const formatResult = makeFormatParts(timestamp, timezone);\n const filled: number[] = [];\n for (let i = 0; i < formatResult.length; i += 1) {\n const { type, value } = formatResult[i];\n const pos = typeToPos[type];\n\n if (pos >= 0) {\n filled[pos] = parseInt(value, 10);\n }\n }\n const hour = filled[3];\n const fixedHour = hour === 24 ? 0 : hour;\n const utcString = `${filled[0]}-${filled[1]}-${filled[2]} ${fixedHour}:${filled[4]}:${filled[5]}:000`;\n const utcTs = dayjsFactory.utc(utcString).valueOf();\n let asTS = Number(timestamp);\n const over = asTS % 1000;\n asTS -= over;\n\n return (utcTs - asTS) / (60 * 1000);\n };\n\n const fixOffset = (\n localTS: number,\n o0: number,\n tz: string\n ): [number, number] => {\n let utcGuess = localTS - o0 * 60 * 1000;\n const o2 = tzOffset(utcGuess, tz);\n if (o0 === o2) {\n return [utcGuess, o0];\n }\n utcGuess -= (o2 - o0) * 60 * 1000;\n const o3 = tzOffset(utcGuess, tz);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n };\n\n const proto = dayjsClass.prototype;\n\n proto.tz = function (\n timezone: string = defaultTimezone!,\n keepLocalTime?: boolean\n ) {\n const oldOffset = this.utcOffset();\n const date = this.toDate();\n const target = getLocaleStringifier(timezone).format(date);\n const diff = Math.round(\n (date.getTime() - new Date(target).getTime()) / 1000 / 60\n );\n let ins = dayjsFactory(target)\n .$set(\"millisecond\", this.$ms)\n .utcOffset(\n -Math.round(date.getTimezoneOffset() / 15) * 15 - diff,\n true\n ) as DayjsInternal;\n if (keepLocalTime) {\n const newOffset = ins.utcOffset();\n ins = ins.add(oldOffset - newOffset, \"minute\") as DayjsInternal;\n }\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n proto.offsetName = function (type?: \"short\" | \"long\") {\n const zone = this.$x.$timezone || dayjsFactory.tz.guess();\n const result = makeFormatParts(this.valueOf(), zone, {\n timeZoneName: type,\n }).find(\n (m: Intl.DateTimeFormatPart) => m.type.toLowerCase() === \"timezonename\"\n );\n\n return result && result.value;\n };\n\n const oldStartOf = proto.startOf;\n proto.startOf = function (units: string, startOf?: boolean) {\n if (!this.$x || !this.$x.$timezone) {\n return oldStartOf.call(this, units, startOf);\n }\n\n const withoutTz = dayjsFactory(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));\n const startOfWithoutTz = oldStartOf.call(withoutTz, units, startOf);\n\n return (startOfWithoutTz as DayjsInternal).tz(this.$x.$timezone, true);\n };\n\n const tzFunction = function (\n input: string | number | Date | Dayjs,\n arg1?: string,\n arg2?: string\n ) {\n const parseFormat = arg2 && arg1;\n const timezone = arg2 || arg1 || defaultTimezone;\n const previousOffset = tzOffset(Number(dayjsFactory()), timezone!);\n if (typeof input !== \"string\") {\n return dayjsFactory(input as string | number | Date).tz(timezone!);\n }\n const localTs = dayjsFactory.utc(input, parseFormat).valueOf();\n const [targetTs, targetOffset] = fixOffset(\n localTs,\n previousOffset,\n timezone!\n );\n const ins = dayjsFactory(targetTs).utcOffset(targetOffset) as DayjsInternal;\n ins.$x.$timezone = timezone;\n\n return ins;\n } as DayjsFactory[\"tz\"];\n\n tzFunction.guess = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n };\n\n tzFunction.setDefault = function (timezone?: string) {\n defaultTimezone = timezone;\n };\n\n dayjsFactory.tz = tzFunction;\n};\n\nexport default timezonePlugin;\n","import pureDayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport localeData from \"dayjs/plugin/localeData\";\nimport utc from \"dayjs/plugin/utc\";\nimport weekday from \"dayjs/plugin/weekday\";\nimport weekOfYear from \"dayjs/plugin/weekOfYear\";\n\nimport timezonePlugin from \"./timezonePlugin\";\n\npureDayjs.extend(weekOfYear);\npureDayjs.extend(weekday);\npureDayjs.extend(localeData);\npureDayjs.extend(utc);\npureDayjs.extend(timezonePlugin);\n\ninterface DayjsInternal extends Dayjs {\n $x: { $timezone?: string };\n}\n\ninterface DayjsWithTz {\n (\n ...args: [string | number | Date | Dayjs | null | undefined, string?]\n ): Dayjs;\n utc(input?: string | number | Date, format?: string): Dayjs;\n tz: {\n (\n input?: string | number | Date | Dayjs,\n arg1?: string,\n arg2?: string\n ): DayjsInternal;\n guess: () => string;\n setDefault: (timezone?: string) => void;\n };\n}\n\nclass LRUCache<K, V> {\n private limit: number;\n private cache: Map<K, V>;\n\n constructor(limit: number) {\n this.limit = limit;\n this.cache = new Map();\n }\n\n get(key: K): V | undefined {\n const value = this.cache.get(key);\n this.cache.delete(key);\n if (value !== undefined) {\n this.cache.set(key, value);\n }\n\n return value;\n }\n\n set(key: K, value: V): void {\n if (this.cache.size >= this.limit) {\n const oldestKey = this.cache.keys().next().value;\n if (oldestKey !== undefined) {\n this.cache.delete(oldestKey);\n }\n }\n this.cache.set(key, value);\n }\n\n has(key: K): boolean {\n return this.cache.has(key);\n }\n}\n\nconst hasTimezone = (dateString: string): boolean => {\n const timezoneRegex = /Z|[+-]\\d{2}:\\d{2}$|[+-]\\d{4}$|GMT([+-]\\d{4})?$/;\n\n return timezoneRegex.test(dateString);\n};\n\nconst cache = new LRUCache<string, Dayjs>(1000);\nconst pureDayjsWithTz = pureDayjs as unknown as DayjsWithTz;\n\nconst dayjs = (\n ...args: [string | number | Date | Dayjs | null | undefined, string?]\n): Dayjs => {\n const cacheKey = JSON.stringify(args);\n\n if (cache.has(cacheKey) && args[0] !== undefined) return cache.get(cacheKey)!;\n\n const userTimezone = pureDayjsWithTz.tz()?.$x?.$timezone;\n const browserTimezone = pureDayjsWithTz.tz.guess();\n const timezone = userTimezone || browserTimezone;\n\n if (userTimezone === browserTimezone || userTimezone === undefined) {\n const result = pureDayjsWithTz(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n const mutableArgs: [\n string | number | Date | Dayjs | null | undefined,\n string?,\n ] = [...args];\n\n if (\n mutableArgs.length > 0 &&\n (typeof mutableArgs[0] === \"string\" || mutableArgs[0] === null)\n ) {\n const pureDayjsArgs: [\n string | number | Date | Dayjs | null | undefined,\n string?,\n ] = [mutableArgs[0], mutableArgs[1]];\n\n if (typeof mutableArgs[0] === \"string\" && hasTimezone(mutableArgs[0])) {\n mutableArgs[0] = pureDayjsWithTz(...pureDayjsArgs);\n } else {\n mutableArgs[0] = pureDayjsWithTz(...pureDayjsArgs).format(\n \"YYYY-MM-DD HH:mm:ss\"\n );\n mutableArgs[1] = \"YYYY-MM-DD HH:mm:ss\";\n }\n }\n\n if (mutableArgs[0]?.toString() === \"Invalid Date\") {\n const result = pureDayjsWithTz(...mutableArgs);\n\n if (mutableArgs[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n const result =\n mutableArgs.length === 2\n ? pureDayjsWithTz.tz(\n mutableArgs[0] as string | number | Date | Dayjs,\n mutableArgs[1],\n timezone\n )\n : pureDayjsWithTz.tz(\n mutableArgs[0] as string | number | Date | Dayjs,\n timezone\n );\n\n if (mutableArgs[0] !== undefined) cache.set(cacheKey, result as Dayjs);\n\n return result as Dayjs;\n};\n\nObject.assign(dayjs, { ...pureDayjs });\n\nexport const getTimezoneAppliedDateTime = (\n inputDateTime: Dayjs | Dayjs[] | null\n): Dayjs | (Dayjs | null)[] | null => {\n const timezoneAppliedDateTime = (date: Dayjs | null): Dayjs | null =>\n date && typeof date.format === \"function\"\n ? dayjs(date.format(\"YYYY-MM-DD HH:mm:ss\"))\n : null;\n\n return Array.isArray(inputDateTime)\n ? inputDateTime.map(timezoneAppliedDateTime)\n : timezoneAppliedDateTime(inputDateTime);\n};\n\nexport { dayjs };\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button-Q7MPG6ph.js","sources":["../src/components/Button/constants.ts","../src/components/Button/Button.tsx"],"sourcesContent":["type ButtonSize =\n | \"default\"\n | \"xs\"\n | \"sm\"\n | \"lg\"\n | \"icon\"\n | \"icon-xs\"\n | \"icon-sm\"\n | \"icon-lg\";\n\nexport const ICON_ONLY_SIZE_MAP: Partial<Record<ButtonSize, ButtonSize>> = {\n xs: \"icon-xs\",\n sm: \"icon-sm\",\n default: \"icon\",\n lg: \"icon-lg\",\n};\n\nexport const SPINNER_SIZE_MAP: Record<ButtonSize, string> = {\n xs: \"size-3\",\n sm: \"size-3.5\",\n default: \"size-3.5\",\n lg: \"size-4\",\n icon: \"size-3.5\",\n \"icon-xs\": \"size-3\",\n \"icon-sm\": \"size-3.5\",\n \"icon-lg\": \"size-4\",\n};\n\n// Map NeetoUI tooltip `position` values to Radix side values\nexport const TOOLTIP_SIDE_MAP: Record<\n string,\n \"top\" | \"right\" | \"bottom\" | \"left\"\n> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n};\n","import React, { forwardRef, type ReactNode, type MouseEvent } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport { Spinner } from \"src/primitives/Spinner\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\n\nimport {\n ICON_ONLY_SIZE_MAP,\n SPINNER_SIZE_MAP,\n TOOLTIP_SIDE_MAP,\n} from \"./constants\";\n\ntype ButtonVariant =\n | \"default\"\n | \"secondary\"\n | \"destructive\"\n | \"outline\"\n | \"ghost\"\n | \"link\";\n\ntype ButtonSize =\n | \"default\"\n | \"xs\"\n | \"sm\"\n | \"lg\"\n | \"icon\"\n | \"icon-xs\"\n | \"icon-sm\"\n | \"icon-lg\";\n\ntype IconPosition = \"left\" | \"right\";\n\ntype ButtonType = \"button\" | \"reset\" | \"submit\";\n\ninterface ButtonTooltipProps {\n content?: ReactNode;\n position?: string;\n disabled?: boolean;\n}\n\nexport interface ButtonProps {\n /** Visual variant of the button. */\n variant?: ButtonVariant;\n /** Size of the button. */\n size?: ButtonSize;\n /** Text label rendered inside the button. */\n label?: string;\n /** Icon component, element, or class-name string. */\n icon?: IconProp;\n /** Placement of the icon relative to the label. */\n iconPosition?: IconPosition;\n /** Show a loading spinner and prevent clicks. */\n loading?: boolean;\n /** Disable the button. */\n disabled?: boolean;\n /** Click handler. */\n onClick?: (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** Internal route (react-router `Link`). */\n to?: string;\n /** External URL (renders an anchor tag). */\n href?: string;\n /** HTML button type attribute. */\n type?: ButtonType;\n /** Stretch the button to fill its container. */\n fullWidth?: boolean;\n /** Additional CSS class names. */\n className?: string;\n /** Props forwarded to a wrapping Tooltip. */\n tooltipProps?: ButtonTooltipProps | null;\n /** Render as a custom element (polymorphic). */\n asChild?: boolean;\n /** Children rendered inside the button (fallback for `label`). */\n children?: ReactNode;\n}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = \"default\",\n size = \"default\",\n label,\n icon = null,\n iconPosition = \"right\",\n loading = false,\n disabled = false,\n onClick,\n to,\n href,\n type = \"button\",\n fullWidth = false,\n className,\n tooltipProps = null,\n asChild = false,\n children,\n ...otherProps\n },\n ref\n ) => {\n const isIconSize = size.startsWith(\"icon\");\n const renderLabel = isIconSize ? null : label || children;\n const isIconOnly = !renderLabel && !!icon;\n const resolvedSize = isIconOnly ? (ICON_ONLY_SIZE_MAP[size] ?? size) : size;\n\n // --- Loading / disabled state ---\n const isDisabled = disabled || loading;\n\n // --- Click handler ---\n const handleClick = (\n e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n ) => {\n if (loading || disabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n // --- Icon elements ---\n const iconElement = icon ? renderIcon(icon) : null;\n\n // --- Build the inner content ---\n const buttonContent = (\n <>\n {loading && (\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner\n aria-hidden=\"true\"\n className={SPINNER_SIZE_MAP[resolvedSize]}\n />\n </span>\n )}\n <span\n className={cn(\n \"inline-flex items-center gap-1.5\",\n loading && \"invisible\"\n )}\n >\n {iconPosition === \"left\" && iconElement && (\n <span data-icon=\"inline-start\">{iconElement}</span>\n )}\n {renderLabel && <span>{renderLabel}</span>}\n {iconPosition === \"right\" && iconElement && (\n <span data-icon=\"inline-end\">{iconElement}</span>\n )}\n </span>\n </>\n );\n\n // --- Merged className ---\n const mergedClassName = cn(\n fullWidth && \"w-full\",\n loading && \"relative pointer-events-none\",\n className\n );\n\n // --- Determine render element ---\n let buttonElement: ReactNode;\n\n if (asChild) {\n buttonElement = (\n <PrimitiveButton\n ref={ref}\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n {children}\n </PrimitiveButton>\n );\n } else if (!disabled && to) {\n buttonElement = (\n <PrimitiveButton\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n href={to}\n onClick={handleClick}\n >\n {buttonContent}\n </a>\n </PrimitiveButton>\n );\n } else if (!disabled && href) {\n buttonElement = (\n <PrimitiveButton\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n href={href}\n onClick={handleClick}\n >\n {buttonContent}\n </a>\n </PrimitiveButton>\n );\n } else {\n buttonElement = (\n <PrimitiveButton\n ref={ref}\n type={type}\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n onClick={handleClick}\n {...otherProps}\n >\n {buttonContent}\n </PrimitiveButton>\n );\n }\n\n // --- Tooltip wrapper ---\n if (tooltipProps) {\n const { content, position, disabled: tooltipDisabled } = tooltipProps;\n\n if (tooltipDisabled || !content) {\n return <>{buttonElement}</>;\n }\n\n const side = position ? TOOLTIP_SIDE_MAP[position] : undefined;\n\n // Wrap disabled buttons in a span so tooltip still triggers\n const triggerContent = isDisabled ? (\n <span className=\"inline-flex\">{buttonElement}</span>\n ) : (\n buttonElement\n );\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>{triggerContent}</TooltipTrigger>\n <TooltipContent side={side}>{content}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return <>{buttonElement}</>;\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button };\n"],"names":["_jsxs","_Fragment","_jsx","PrimitiveButton"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker-C4x62jI1.js","sources":["../node_modules/lucide-react/dist/esm/icons/clock.js","../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n];\nconst Clock = createLucideIcon(\"clock\", __iconNode);\n\nexport { __iconNode, Clock as default };\n//# sourceMappingURL=clock.js.map\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from \"react\";\n\nimport { Clock, X } from \"lucide-react\";\nimport { Popover, PopoverAnchor, PopoverContent } from \"src/primitives/Popover\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { TimePickerPanel } from \"./TimePickerPanel\";\nimport type { TimePickerProps, TimeValue } from \"./types\";\nimport { dateToTimeValue, padNumber, parseTimeString, to12Hour } from \"./utils\";\n\nconst SIZE_CONFIG = {\n small: { trigger: \"h-7 text-xs\", icon: \"size-3.5\" },\n medium: { trigger: \"h-8 text-sm\", icon: \"size-4\" },\n large: { trigger: \"h-10 text-sm\", icon: \"size-4\" },\n} as const;\n\nconst TimePicker = forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n value,\n onChange,\n format = \"24\",\n showSeconds = false,\n minuteStep = 1,\n secondStep = 1,\n disabled = false,\n placeholder,\n label,\n error,\n helpText,\n size = \"medium\",\n required = false,\n timezone,\n labelProps,\n className,\n },\n ref\n ) => {\n const generatedId = useId();\n const errorId = `error_${generatedId}`;\n const helpTextId = `helpText_${generatedId}`;\n const containerRef = useRef<HTMLDivElement>(null);\n const popoverContentId = useRef(\n `timepicker-popover-${generatedId}`\n ).current;\n\n const [open, setOpen] = useState(false);\n\n const getInitialTime = useCallback((): TimeValue | null => {\n if (!value) return null;\n if (value instanceof Date) return dateToTimeValue(value);\n\n return {\n hours: value.hours,\n minutes: value.minutes,\n seconds: value.seconds ?? 0,\n };\n }, [value]);\n\n const [internalTime, setInternalTime] = useState<TimeValue | null>(\n getInitialTime\n );\n const [inputText, setInputText] = useState(\"\");\n\n const formatTimeDisplay = useCallback(\n (time: TimeValue | null): string => {\n if (!time) return \"\";\n\n if (format === \"12\") {\n const { hour12, period } = to12Hour(time.hours);\n const parts = [padNumber(hour12), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return `${parts.join(\":\")} ${period}`;\n }\n\n const parts = [padNumber(time.hours), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return parts.join(\":\");\n },\n [format, showSeconds]\n );\n\n useEffect(() => {\n const newTime = getInitialTime();\n setInternalTime(newTime);\n setInputText(formatTimeDisplay(newTime));\n }, [getInitialTime, formatTimeDisplay]);\n\n // Close on outside click\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (e: PointerEvent) => {\n const target = e.target as HTMLElement;\n if (containerRef.current?.contains(target)) return;\n\n const popoverEl = document.getElementById(popoverContentId);\n if (popoverEl?.contains(target)) return;\n\n setOpen(false);\n setInputText(formatTimeDisplay(internalTime));\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n\n return () =>\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open, internalTime, formatTimeDisplay]);\n\n const defaultPlaceholder = showSeconds\n ? format === \"12\"\n ? \"hh:mm:ss AA\"\n : \"HH:mm:ss\"\n : format === \"12\"\n ? \"hh:mm AA\"\n : \"HH:mm\";\n\n const handlePanelChange = (time: TimeValue) => {\n setInternalTime(time);\n setInputText(formatTimeDisplay(time));\n onChange?.(time);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const text = e.target.value;\n setInputText(text);\n\n const parsed = parseTimeString(text, format);\n if (parsed) {\n setInternalTime(parsed);\n onChange?.(parsed);\n }\n };\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n } else if (e.key === \"Escape\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n }\n };\n\n const handleInputFocus = () => {\n if (!open) setOpen(true);\n };\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n setInternalTime(null);\n setInputText(\"\");\n onChange?.({ hours: 0, minutes: 0, seconds: 0 });\n };\n\n const hasField = !!(label || error || helpText);\n const sizeConfig = SIZE_CONFIG[size];\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const triggerContent = (\n <Popover open={open}>\n <PopoverAnchor asChild>\n <div\n ref={containerRef}\n className={cn(\n \"relative flex w-full items-center gap-2 rounded-md border border-input bg-background pe-8 ps-3\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n disabled && \"cursor-not-allowed opacity-50\",\n !!error && \"border-destructive ring-destructive/20 ring-3\",\n sizeConfig.trigger,\n !hasField && className\n )}\n >\n {timezone ? (\n <span className=\"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground\">\n {timezone.toUpperCase()}\n </span>\n ) : (\n <Clock\n className={cn(\n \"shrink-0 text-muted-foreground\",\n sizeConfig.icon\n )}\n />\n )}\n <input\n type=\"text\"\n disabled={disabled}\n aria-label={label || \"Pick a time\"}\n aria-describedby={ariaDescribedBy}\n aria-invalid={!!error || undefined}\n placeholder={placeholder ?? defaultPlaceholder}\n value={inputText}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onFocus={handleInputFocus}\n className={cn(\n \"min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n sizeConfig.trigger.split(\" \").find(c => c.startsWith(\"text-\"))\n )}\n />\n <button\n type=\"button\"\n onPointerDown={e => e.preventDefault()}\n onClick={handleClear}\n className={cn(\n \"absolute inset-y-0 end-2 flex items-center text-muted-foreground hover:text-foreground focus:outline-none\",\n !(inputText && !disabled) && \"invisible\"\n )}\n aria-label=\"Clear time\"\n tabIndex={-1}\n >\n <X className={sizeConfig.icon} />\n </button>\n </div>\n </PopoverAnchor>\n {open && (\n <PopoverContent\n id={popoverContentId}\n className=\"w-auto p-0\"\n align=\"start\"\n onOpenAutoFocus={e => e.preventDefault()}\n onCloseAutoFocus={e => e.preventDefault()}\n onPointerDownOutside={e => e.preventDefault()}\n onInteractOutside={e => e.preventDefault()}\n >\n <TimePickerPanel\n value={internalTime ?? undefined}\n onChange={handlePanelChange}\n format={format}\n showSeconds={showSeconds}\n minuteStep={minuteStep}\n secondStep={secondStep}\n disabled={disabled}\n />\n </PopoverContent>\n )}\n </Popover>\n );\n\n if (!hasField) {\n return (\n <div ref={ref} className={className}>\n {triggerContent}\n </div>\n );\n }\n\n return (\n <Field\n ref={ref}\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {label && (\n <FieldLabel\n {...(labelProps as React.ComponentProps<typeof FieldLabel>)}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n <FieldContent>\n {triggerContent}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nexport { TimePicker };\n"],"names":["_jsxs","_jsx"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button-Bt_AElge.js","sources":["../../../src/components/Button/constants.ts","../../../src/components/Button/Button.tsx"],"sourcesContent":["type ButtonSize =\n | \"default\"\n | \"xs\"\n | \"sm\"\n | \"lg\"\n | \"icon\"\n | \"icon-xs\"\n | \"icon-sm\"\n | \"icon-lg\";\n\nexport const ICON_ONLY_SIZE_MAP: Partial<Record<ButtonSize, ButtonSize>> = {\n xs: \"icon-xs\",\n sm: \"icon-sm\",\n default: \"icon\",\n lg: \"icon-lg\",\n};\n\nexport const SPINNER_SIZE_MAP: Record<ButtonSize, string> = {\n xs: \"size-3\",\n sm: \"size-3.5\",\n default: \"size-3.5\",\n lg: \"size-4\",\n icon: \"size-3.5\",\n \"icon-xs\": \"size-3\",\n \"icon-sm\": \"size-3.5\",\n \"icon-lg\": \"size-4\",\n};\n\n// Map NeetoUI tooltip `position` values to Radix side values\nexport const TOOLTIP_SIDE_MAP: Record<\n string,\n \"top\" | \"right\" | \"bottom\" | \"left\"\n> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n};\n","import React, { forwardRef, type ReactNode, type MouseEvent } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport { Spinner } from \"src/primitives/Spinner\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\n\nimport {\n ICON_ONLY_SIZE_MAP,\n SPINNER_SIZE_MAP,\n TOOLTIP_SIDE_MAP,\n} from \"./constants\";\n\ntype ButtonVariant =\n | \"default\"\n | \"secondary\"\n | \"destructive\"\n | \"outline\"\n | \"ghost\"\n | \"link\";\n\ntype ButtonSize =\n | \"default\"\n | \"xs\"\n | \"sm\"\n | \"lg\"\n | \"icon\"\n | \"icon-xs\"\n | \"icon-sm\"\n | \"icon-lg\";\n\ntype IconPosition = \"left\" | \"right\";\n\ntype ButtonType = \"button\" | \"reset\" | \"submit\";\n\ninterface ButtonTooltipProps {\n content?: ReactNode;\n position?: string;\n disabled?: boolean;\n}\n\nexport interface ButtonProps {\n /** Visual variant of the button. */\n variant?: ButtonVariant;\n /** Size of the button. */\n size?: ButtonSize;\n /** Text label rendered inside the button. */\n label?: string;\n /** Icon component, element, or class-name string. */\n icon?: IconProp;\n /** Placement of the icon relative to the label. */\n iconPosition?: IconPosition;\n /** Show a loading spinner and prevent clicks. */\n loading?: boolean;\n /** Disable the button. */\n disabled?: boolean;\n /** Click handler. */\n onClick?: (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** Internal route (react-router `Link`). */\n to?: string;\n /** External URL (renders an anchor tag). */\n href?: string;\n /** HTML button type attribute. */\n type?: ButtonType;\n /** Stretch the button to fill its container. */\n fullWidth?: boolean;\n /** Additional CSS class names. */\n className?: string;\n /** Props forwarded to a wrapping Tooltip. */\n tooltipProps?: ButtonTooltipProps | null;\n /** Render as a custom element (polymorphic). */\n asChild?: boolean;\n /** Children rendered inside the button (fallback for `label`). */\n children?: ReactNode;\n}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = \"default\",\n size = \"default\",\n label,\n icon = null,\n iconPosition = \"right\",\n loading = false,\n disabled = false,\n onClick,\n to,\n href,\n type = \"button\",\n fullWidth = false,\n className,\n tooltipProps = null,\n asChild = false,\n children,\n ...otherProps\n },\n ref\n ) => {\n const isIconSize = size.startsWith(\"icon\");\n const renderLabel = isIconSize ? null : label || children;\n const isIconOnly = !renderLabel && !!icon;\n const resolvedSize = isIconOnly ? (ICON_ONLY_SIZE_MAP[size] ?? size) : size;\n\n // --- Loading / disabled state ---\n const isDisabled = disabled || loading;\n\n // --- Click handler ---\n const handleClick = (\n e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n ) => {\n if (loading || disabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n // --- Icon elements ---\n const iconElement = icon ? renderIcon(icon) : null;\n\n // --- Build the inner content ---\n const buttonContent = (\n <>\n {loading && (\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner\n aria-hidden=\"true\"\n className={SPINNER_SIZE_MAP[resolvedSize]}\n />\n </span>\n )}\n <span\n className={cn(\n \"inline-flex items-center gap-1.5\",\n loading && \"invisible\"\n )}\n >\n {iconPosition === \"left\" && iconElement && (\n <span data-icon=\"inline-start\">{iconElement}</span>\n )}\n {renderLabel && <span>{renderLabel}</span>}\n {iconPosition === \"right\" && iconElement && (\n <span data-icon=\"inline-end\">{iconElement}</span>\n )}\n </span>\n </>\n );\n\n // --- Merged className ---\n const mergedClassName = cn(\n fullWidth && \"w-full\",\n loading && \"relative pointer-events-none\",\n className\n );\n\n // --- Determine render element ---\n let buttonElement: ReactNode;\n\n if (asChild) {\n buttonElement = (\n <PrimitiveButton\n ref={ref}\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n {children}\n </PrimitiveButton>\n );\n } else if (!disabled && to) {\n buttonElement = (\n <PrimitiveButton\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n href={to}\n onClick={handleClick}\n >\n {buttonContent}\n </a>\n </PrimitiveButton>\n );\n } else if (!disabled && href) {\n buttonElement = (\n <PrimitiveButton\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n href={href}\n onClick={handleClick}\n >\n {buttonContent}\n </a>\n </PrimitiveButton>\n );\n } else {\n buttonElement = (\n <PrimitiveButton\n ref={ref}\n type={type}\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n onClick={handleClick}\n {...otherProps}\n >\n {buttonContent}\n </PrimitiveButton>\n );\n }\n\n // --- Tooltip wrapper ---\n if (tooltipProps) {\n const { content, position, disabled: tooltipDisabled } = tooltipProps;\n\n if (tooltipDisabled || !content) {\n return <>{buttonElement}</>;\n }\n\n const side = position ? TOOLTIP_SIDE_MAP[position] : undefined;\n\n // Wrap disabled buttons in a span so tooltip still triggers\n const triggerContent = isDisabled ? (\n <span className=\"inline-flex\">{buttonElement}</span>\n ) : (\n buttonElement\n );\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>{triggerContent}</TooltipTrigger>\n <TooltipContent side={side}>{content}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return <>{buttonElement}</>;\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button };\n"],"names":["forwardRef","renderIcon","_jsxs","_Fragment","_jsx","Spinner","cn","PrimitiveButton","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker-Ba2FdT1O.js","sources":["../../node_modules/lucide-react/dist/esm/icons/clock.js","../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n];\nconst Clock = createLucideIcon(\"clock\", __iconNode);\n\nexport { __iconNode, Clock as default };\n//# sourceMappingURL=clock.js.map\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from \"react\";\n\nimport { Clock, X } from \"lucide-react\";\nimport { Popover, PopoverAnchor, PopoverContent } from \"src/primitives/Popover\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { TimePickerPanel } from \"./TimePickerPanel\";\nimport type { TimePickerProps, TimeValue } from \"./types\";\nimport { dateToTimeValue, padNumber, parseTimeString, to12Hour } from \"./utils\";\n\nconst SIZE_CONFIG = {\n small: { trigger: \"h-7 text-xs\", icon: \"size-3.5\" },\n medium: { trigger: \"h-8 text-sm\", icon: \"size-4\" },\n large: { trigger: \"h-10 text-sm\", icon: \"size-4\" },\n} as const;\n\nconst TimePicker = forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n value,\n onChange,\n format = \"24\",\n showSeconds = false,\n minuteStep = 1,\n secondStep = 1,\n disabled = false,\n placeholder,\n label,\n error,\n helpText,\n size = \"medium\",\n required = false,\n timezone,\n labelProps,\n className,\n },\n ref\n ) => {\n const generatedId = useId();\n const errorId = `error_${generatedId}`;\n const helpTextId = `helpText_${generatedId}`;\n const containerRef = useRef<HTMLDivElement>(null);\n const popoverContentId = useRef(\n `timepicker-popover-${generatedId}`\n ).current;\n\n const [open, setOpen] = useState(false);\n\n const getInitialTime = useCallback((): TimeValue | null => {\n if (!value) return null;\n if (value instanceof Date) return dateToTimeValue(value);\n\n return {\n hours: value.hours,\n minutes: value.minutes,\n seconds: value.seconds ?? 0,\n };\n }, [value]);\n\n const [internalTime, setInternalTime] = useState<TimeValue | null>(\n getInitialTime\n );\n const [inputText, setInputText] = useState(\"\");\n\n const formatTimeDisplay = useCallback(\n (time: TimeValue | null): string => {\n if (!time) return \"\";\n\n if (format === \"12\") {\n const { hour12, period } = to12Hour(time.hours);\n const parts = [padNumber(hour12), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return `${parts.join(\":\")} ${period}`;\n }\n\n const parts = [padNumber(time.hours), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return parts.join(\":\");\n },\n [format, showSeconds]\n );\n\n useEffect(() => {\n const newTime = getInitialTime();\n setInternalTime(newTime);\n setInputText(formatTimeDisplay(newTime));\n }, [getInitialTime, formatTimeDisplay]);\n\n // Close on outside click\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (e: PointerEvent) => {\n const target = e.target as HTMLElement;\n if (containerRef.current?.contains(target)) return;\n\n const popoverEl = document.getElementById(popoverContentId);\n if (popoverEl?.contains(target)) return;\n\n setOpen(false);\n setInputText(formatTimeDisplay(internalTime));\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n\n return () =>\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open, internalTime, formatTimeDisplay]);\n\n const defaultPlaceholder = showSeconds\n ? format === \"12\"\n ? \"hh:mm:ss AA\"\n : \"HH:mm:ss\"\n : format === \"12\"\n ? \"hh:mm AA\"\n : \"HH:mm\";\n\n const handlePanelChange = (time: TimeValue) => {\n setInternalTime(time);\n setInputText(formatTimeDisplay(time));\n onChange?.(time);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const text = e.target.value;\n setInputText(text);\n\n const parsed = parseTimeString(text, format);\n if (parsed) {\n setInternalTime(parsed);\n onChange?.(parsed);\n }\n };\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n } else if (e.key === \"Escape\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n }\n };\n\n const handleInputFocus = () => {\n if (!open) setOpen(true);\n };\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n setInternalTime(null);\n setInputText(\"\");\n onChange?.({ hours: 0, minutes: 0, seconds: 0 });\n };\n\n const hasField = !!(label || error || helpText);\n const sizeConfig = SIZE_CONFIG[size];\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const triggerContent = (\n <Popover open={open}>\n <PopoverAnchor asChild>\n <div\n ref={containerRef}\n className={cn(\n \"relative flex w-full items-center gap-2 rounded-md border border-input bg-background pe-8 ps-3\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n disabled && \"cursor-not-allowed opacity-50\",\n !!error && \"border-destructive ring-destructive/20 ring-3\",\n sizeConfig.trigger,\n !hasField && className\n )}\n >\n {timezone ? (\n <span className=\"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground\">\n {timezone.toUpperCase()}\n </span>\n ) : (\n <Clock\n className={cn(\n \"shrink-0 text-muted-foreground\",\n sizeConfig.icon\n )}\n />\n )}\n <input\n type=\"text\"\n disabled={disabled}\n aria-label={label || \"Pick a time\"}\n aria-describedby={ariaDescribedBy}\n aria-invalid={!!error || undefined}\n placeholder={placeholder ?? defaultPlaceholder}\n value={inputText}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onFocus={handleInputFocus}\n className={cn(\n \"min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n sizeConfig.trigger.split(\" \").find(c => c.startsWith(\"text-\"))\n )}\n />\n <button\n type=\"button\"\n onPointerDown={e => e.preventDefault()}\n onClick={handleClear}\n className={cn(\n \"absolute inset-y-0 end-2 flex items-center text-muted-foreground hover:text-foreground focus:outline-none\",\n !(inputText && !disabled) && \"invisible\"\n )}\n aria-label=\"Clear time\"\n tabIndex={-1}\n >\n <X className={sizeConfig.icon} />\n </button>\n </div>\n </PopoverAnchor>\n {open && (\n <PopoverContent\n id={popoverContentId}\n className=\"w-auto p-0\"\n align=\"start\"\n onOpenAutoFocus={e => e.preventDefault()}\n onCloseAutoFocus={e => e.preventDefault()}\n onPointerDownOutside={e => e.preventDefault()}\n onInteractOutside={e => e.preventDefault()}\n >\n <TimePickerPanel\n value={internalTime ?? undefined}\n onChange={handlePanelChange}\n format={format}\n showSeconds={showSeconds}\n minuteStep={minuteStep}\n secondStep={secondStep}\n disabled={disabled}\n />\n </PopoverContent>\n )}\n </Popover>\n );\n\n if (!hasField) {\n return (\n <div ref={ref} className={className}>\n {triggerContent}\n </div>\n );\n }\n\n return (\n <Field\n ref={ref}\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {label && (\n <FieldLabel\n {...(labelProps as React.ComponentProps<typeof FieldLabel>)}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n <FieldContent>\n {triggerContent}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nexport { TimePicker };\n"],"names":["createLucideIcon","forwardRef","useId","useRef","useState","useCallback","dateToTimeValue","to12Hour","padNumber","useEffect","parseTimeString","_jsxs","Popover","_jsx","PopoverAnchor","cn","X","PopoverContent","TimePickerPanel","Field","FieldLabel","FieldContent","FieldError","FieldDescription"],"mappings":"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","x_google_ignoreList":[0]}
|