@televet/kibble-ui 4.0.0-beta.42 → 4.0.0-beta.43

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 (112) hide show
  1. package/dist/chunks/{buttonGroup.component-DNfCCrv0.js → buttonGroup.component-BCCxeFx_.js} +2 -2
  2. package/dist/chunks/{buttonGroup.component-DNfCCrv0.js.map → buttonGroup.component-BCCxeFx_.js.map} +1 -1
  3. package/dist/chunks/{buttonGroup.component-BW2Axhrx.js → buttonGroup.component-Cpwnw5G3.js} +2 -2
  4. package/dist/chunks/{buttonGroup.component-BW2Axhrx.js.map → buttonGroup.component-Cpwnw5G3.js.map} +1 -1
  5. package/dist/chunks/{checkbox.component-BTG2oHN_.js → checkbox.component-C8IPf20R.js} +2 -2
  6. package/dist/chunks/{checkbox.component-BTG2oHN_.js.map → checkbox.component-C8IPf20R.js.map} +1 -1
  7. package/dist/chunks/{checkbox.component-WA8Y2Cfq.js → checkbox.component-CvuE1PVR.js} +2 -2
  8. package/dist/chunks/{checkbox.component-WA8Y2Cfq.js.map → checkbox.component-CvuE1PVR.js.map} +1 -1
  9. package/dist/chunks/{checkboxGroup.component-DMSg9Hzt.js → checkboxGroup.component-CQEwY2Fu.js} +2 -2
  10. package/dist/chunks/{checkboxGroup.component-DMSg9Hzt.js.map → checkboxGroup.component-CQEwY2Fu.js.map} +1 -1
  11. package/dist/chunks/{checkboxGroup.component-CoUMqdnh.js → checkboxGroup.component-CaHesQT7.js} +3 -3
  12. package/dist/chunks/{checkboxGroup.component-CoUMqdnh.js.map → checkboxGroup.component-CaHesQT7.js.map} +1 -1
  13. package/dist/chunks/{conversationCard.component-CgwVfDma.js → conversationCard.component-C_gj2TZd.js} +2 -2
  14. package/dist/chunks/{conversationCard.component-CgwVfDma.js.map → conversationCard.component-C_gj2TZd.js.map} +1 -1
  15. package/dist/chunks/{conversationCard.component-ayXnLFsK.js → conversationCard.component-p1vrl1L3.js} +2 -2
  16. package/dist/chunks/{conversationCard.component-ayXnLFsK.js.map → conversationCard.component-p1vrl1L3.js.map} +1 -1
  17. package/dist/chunks/{datePicker.component-D4Sge9Xp.js → datePicker.component-CwQ7lbgj.js} +2 -2
  18. package/dist/chunks/{datePicker.component-D4Sge9Xp.js.map → datePicker.component-CwQ7lbgj.js.map} +1 -1
  19. package/dist/chunks/{datePicker.component-D5TadaSO.js → datePicker.component-DLbm9VYf.js} +3 -3
  20. package/dist/chunks/{datePicker.component-D5TadaSO.js.map → datePicker.component-DLbm9VYf.js.map} +1 -1
  21. package/dist/chunks/{menu.component-CTehgjjv.js → menu.component-D_eoL8VD.js} +2 -2
  22. package/dist/chunks/{menu.component-CTehgjjv.js.map → menu.component-D_eoL8VD.js.map} +1 -1
  23. package/dist/chunks/{menu.component-CSpIl19i.js → menu.component-toq-fDY8.js} +3 -3
  24. package/dist/chunks/{menu.component-CSpIl19i.js.map → menu.component-toq-fDY8.js.map} +1 -1
  25. package/dist/chunks/{modal.types-0p23sZIR.js → modal.types-BhM9guMA.js} +2 -2
  26. package/dist/chunks/{modal.types-0p23sZIR.js.map → modal.types-BhM9guMA.js.map} +1 -1
  27. package/dist/chunks/{modal.types-BGqtuJeQ.js → modal.types-Dz2IFuc7.js} +2 -1
  28. package/dist/chunks/{modal.types-BGqtuJeQ.js.map → modal.types-Dz2IFuc7.js.map} +1 -1
  29. package/dist/chunks/{pinInput.types-PLeb9Wy4.js → pinInput.types-BPnWNbwp.js} +2 -2
  30. package/dist/chunks/{pinInput.types-PLeb9Wy4.js.map → pinInput.types-BPnWNbwp.js.map} +1 -1
  31. package/dist/chunks/{pinInput.types-DDODRsaX.js → pinInput.types-GAEfMLAv.js} +2 -2
  32. package/dist/chunks/{pinInput.types-DDODRsaX.js.map → pinInput.types-GAEfMLAv.js.map} +1 -1
  33. package/dist/chunks/{radioGroup.component-O06WADTy.js → radioGroup.component-B3pl5h2h.js} +2 -2
  34. package/dist/chunks/{radioGroup.component-O06WADTy.js.map → radioGroup.component-B3pl5h2h.js.map} +1 -1
  35. package/dist/chunks/{radioGroup.component-Cisdr-Ir.js → radioGroup.component-DyE_o-Fx.js} +3 -3
  36. package/dist/chunks/{radioGroup.component-Cisdr-Ir.js.map → radioGroup.component-DyE_o-Fx.js.map} +1 -1
  37. package/dist/chunks/{ratingDots.component-Bgh1iv_C.js → ratingDots.component-BesDpg8x.js} +2 -2
  38. package/dist/chunks/{ratingDots.component-Bgh1iv_C.js.map → ratingDots.component-BesDpg8x.js.map} +1 -1
  39. package/dist/chunks/{ratingDots.component-3aUZ-7-n.js → ratingDots.component-C8eBoN9v.js} +2 -2
  40. package/dist/chunks/{ratingDots.component-3aUZ-7-n.js.map → ratingDots.component-C8eBoN9v.js.map} +1 -1
  41. package/dist/chunks/{select.component-C-D415HK.js → select.component-BCFraNbc.js} +2 -2
  42. package/dist/chunks/{select.component-C-D415HK.js.map → select.component-BCFraNbc.js.map} +1 -1
  43. package/dist/chunks/{select.component-CceQLD7L.js → select.component-GTm2laeB.js} +2 -2
  44. package/dist/chunks/{select.component-CceQLD7L.js.map → select.component-GTm2laeB.js.map} +1 -1
  45. package/dist/chunks/{switch.component-8Ksb8br3.js → switch.component-CSGFEF3I.js} +2 -2
  46. package/dist/chunks/{switch.component-8Ksb8br3.js.map → switch.component-CSGFEF3I.js.map} +1 -1
  47. package/dist/chunks/{switch.component-BkifDkJ0.js → switch.component-DjHknb_4.js} +2 -2
  48. package/dist/chunks/{switch.component-BkifDkJ0.js.map → switch.component-DjHknb_4.js.map} +1 -1
  49. package/dist/chunks/{tagBlock.component-P4wTaTqP.js → tagBlock.component-BWbEe9VL.js} +2 -2
  50. package/dist/chunks/{tagBlock.component-P4wTaTqP.js.map → tagBlock.component-BWbEe9VL.js.map} +1 -1
  51. package/dist/chunks/{tagBlock.component-CglDWBFU.js → tagBlock.component-DGGkSE8s.js} +2 -2
  52. package/dist/chunks/{tagBlock.component-CglDWBFU.js.map → tagBlock.component-DGGkSE8s.js.map} +1 -1
  53. package/dist/chunks/{textInput.component-c9ySCd-c.js → textInput.component-D2StzwsH.js} +2 -2
  54. package/dist/chunks/{textInput.component-c9ySCd-c.js.map → textInput.component-D2StzwsH.js.map} +1 -1
  55. package/dist/chunks/{textInput.component-7QTnQmYu.js → textInput.component-db5JWDOn.js} +2 -2
  56. package/dist/chunks/{textInput.component-7QTnQmYu.js.map → textInput.component-db5JWDOn.js.map} +1 -1
  57. package/dist/chunks/{textarea.component-7yXlR6OD.js → textarea.component-DvA5vzjS.js} +2 -2
  58. package/dist/chunks/{textarea.component-7yXlR6OD.js.map → textarea.component-DvA5vzjS.js.map} +1 -1
  59. package/dist/chunks/{textarea.component-Bbf7OmgY.js → textarea.component-VN5A4zVD.js} +2 -2
  60. package/dist/chunks/{textarea.component-Bbf7OmgY.js.map → textarea.component-VN5A4zVD.js.map} +1 -1
  61. package/dist/chunks/{timePicker.component-CWQsy1FJ.js → timePicker.component-Cm2roPxJ.js} +2 -2
  62. package/dist/chunks/{timePicker.component-CWQsy1FJ.js.map → timePicker.component-Cm2roPxJ.js.map} +1 -1
  63. package/dist/chunks/{timePicker.component-DayAeaAE.js → timePicker.component-sttSyiVV.js} +2 -2
  64. package/dist/chunks/{timePicker.component-DayAeaAE.js.map → timePicker.component-sttSyiVV.js.map} +1 -1
  65. package/dist/chunks/{timeRange.component-kKGWfXnG.js → timeRange.component-BuLsK6ed.js} +2 -2
  66. package/dist/chunks/{timeRange.component-kKGWfXnG.js.map → timeRange.component-BuLsK6ed.js.map} +1 -1
  67. package/dist/chunks/{timeRange.component-BMIZhDDZ.js → timeRange.component-OH7hVSwj.js} +2 -2
  68. package/dist/chunks/{timeRange.component-BMIZhDDZ.js.map → timeRange.component-OH7hVSwj.js.map} +1 -1
  69. package/dist/chunks/{withFormControl-BldbKXiV.js → withFormControl-Chelruxy.js} +55 -55
  70. package/dist/chunks/{withFormControl-BldbKXiV.js.map → withFormControl-Chelruxy.js.map} +1 -1
  71. package/dist/chunks/{withFormControl-C35JkDEH.js → withFormControl-CvsBPk94.js} +2 -2
  72. package/dist/chunks/{withFormControl-C35JkDEH.js.map → withFormControl-CvsBPk94.js.map} +1 -1
  73. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  74. package/dist/cjs/components/Checkbox/index.cjs +1 -1
  75. package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
  76. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  77. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  78. package/dist/cjs/components/Menu/index.cjs +1 -1
  79. package/dist/cjs/components/Modal/index.cjs +1 -1
  80. package/dist/cjs/components/PinInput/index.cjs +1 -1
  81. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  82. package/dist/cjs/components/RatingDots/index.cjs +1 -1
  83. package/dist/cjs/components/Select/index.cjs +1 -1
  84. package/dist/cjs/components/Switch/index.cjs +1 -1
  85. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  86. package/dist/cjs/components/TextInput/index.cjs +1 -1
  87. package/dist/cjs/components/Textarea/index.cjs +1 -1
  88. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  89. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  90. package/dist/cjs/components/index.cjs +1 -1
  91. package/dist/cjs/index.cjs +1 -1
  92. package/dist/esm/components/ButtonGroup/index.js +1 -1
  93. package/dist/esm/components/Checkbox/index.js +1 -1
  94. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  95. package/dist/esm/components/ConversationCard/index.js +1 -1
  96. package/dist/esm/components/DatePicker/index.js +1 -1
  97. package/dist/esm/components/Menu/index.js +1 -1
  98. package/dist/esm/components/Modal/index.js +1 -1
  99. package/dist/esm/components/PinInput/index.js +1 -1
  100. package/dist/esm/components/RadioGroup/index.js +1 -1
  101. package/dist/esm/components/RatingDots/index.js +1 -1
  102. package/dist/esm/components/Select/index.js +1 -1
  103. package/dist/esm/components/Switch/index.js +1 -1
  104. package/dist/esm/components/TagBlock/index.js +1 -1
  105. package/dist/esm/components/TextInput/index.js +1 -1
  106. package/dist/esm/components/Textarea/index.js +1 -1
  107. package/dist/esm/components/TimePicker/index.js +1 -1
  108. package/dist/esm/components/TimeRange/index.js +1 -1
  109. package/dist/esm/components/index.js +17 -17
  110. package/dist/esm/index.js +17 -17
  111. package/dist/types/hocs/withFormControl/withFormControl.d.ts +1 -1
  112. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tagBlock.component-CglDWBFU.js","sources":["../../src/components/TagBlock/tagBlock.types.ts","../../src/components/TagBlock/tagBlock.component.tsx"],"sourcesContent":["export enum TagDisabledState {\n Inactive = \"Inactive\",\n Deleted = \"Deleted\",\n}\n\nexport interface TagBlockTag {\n label: string;\n value: string;\n groupLabel?: string;\n}\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { Tag } from \"components/Tag/tag.component\";\nimport { Text } from \"components/Text/text.component\";\nimport { TagBlockTag, TagDisabledState } from \"./tagBlock.types\";\nimport { MenuButtonProps } from \"components/Menu/components/MenuButton/menuButton.components\";\n\ninterface BaseTagBlockProps {\n displayTagsInGroups?: boolean;\n errorText?: string;\n hasError?: boolean;\n loading?: boolean;\n menuProps?: MenuProps;\n onClearAll?: () => void;\n onRemoveTag?: (tag: string, selectedTags: TagBlockTag[]) => void;\n tags: TagBlockTag[];\n title?: string;\n}\n\ninterface DefaultTagBlockProps extends BaseTagBlockProps {\n canBeDeleted?: false;\n onDelete?: never;\n}\n\ninterface DeletableTagBlockProps extends BaseTagBlockProps {\n canBeDeleted: true;\n onDelete: () => void;\n}\n\nexport type TagBlockProps = DefaultTagBlockProps | DeletableTagBlockProps;\n\nconst defaultMenuButtonProps: MenuButtonProps = {\n size: \"sm\",\n variant: \"secondarySubtle\",\n iconName: \"plus\",\n text: \"Add\",\n hideCaret: true,\n};\n\nexport const TagBlock = ({\n title,\n menuProps,\n tags,\n canBeDeleted = false,\n onClearAll,\n onRemoveTag,\n onDelete,\n hasError = false,\n errorText = \"This field contains an error\",\n displayTagsInGroups,\n loading = false,\n}: TagBlockProps): React.JSX.Element => {\n const handleRemoveTag = useCallback(\n (value: string): void => {\n if (onRemoveTag) {\n onRemoveTag(value, tags);\n }\n },\n [onRemoveTag, tags],\n );\n\n const tagsByGroup = React.useMemo(() => {\n if (!displayTagsInGroups) {\n return [];\n }\n const grouped = {} as Record<string, TagBlockTag[]>;\n for (const tag of tags) {\n const group = tag.groupLabel || \"-\";\n if (!grouped[group]) {\n grouped[group] = [];\n }\n grouped[group].push(tag);\n }\n return Object.entries(grouped).map(([groupLabel, tags]) => ({\n groupLabel,\n tags,\n }));\n }, [tags, displayTagsInGroups]);\n\n const renderTags = useCallback(\n (tags: TagBlockTag[]) => {\n return tags.map((tag) => {\n const isDisabled =\n tag.label.includes(TagDisabledState.Inactive) ||\n tag.label.includes(TagDisabledState.Deleted);\n\n return (\n <Tag\n className=\"TagBlock__Tag\"\n data-testid=\"kibble-tag-block-tag\"\n mr={1}\n mb={1}\n key={tag.value}\n label={tag.label}\n onClose={(): void => handleRemoveTag(tag.value)}\n closeButtonDisplay=\"always\"\n fontWeight=\"normal\"\n color={isDisabled ? \"text.placeholder\" : \"text\"}\n size=\"md\"\n />\n );\n });\n },\n [handleRemoveTag],\n );\n\n return (\n <Box\n className=\"TagBlock\"\n data-testid=\"kibble-tag-block\"\n position=\"relative\"\n mb={3}\n py={2}\n pl={4}\n pr={2}\n bg=\"background.subtle\"\n borderRadius=\"lg\"\n boxShadow={hasError ? `0 0 0 2px var(--chakra-colors-border-danger)` : \"\"}\n border=\"1px\"\n borderColor=\"border\"\n overflow={loading ? \"hidden\" : undefined}\n >\n <Flex\n className=\"TagBlock__ButtonContainer\"\n data-testid=\"kibble-tag-block-button-container\"\n justifyContent=\"space-between\"\n >\n <HStack gap={1} minH={10}>\n {title && (\n <Text className=\"TagBlock__Title\" mr={2} fontWeight=\"bold\">\n {title}\n </Text>\n )}\n <Menu\n data-testid=\"kibble-tag-block-menu\"\n {...menuProps}\n buttonProps={menuProps?.buttonProps || defaultMenuButtonProps}\n />\n <Button\n className=\"TagBlock__Button--ClearAll\"\n data-testid=\"kibble-tag-block-clear-all-button\"\n size=\"sm\"\n iconName=\"arrowCircle\"\n variant=\"ghostNeutral\"\n onClick={onClearAll}\n disabled={tags.length <= 0}\n >\n Clear All\n </Button>\n </HStack>\n {canBeDeleted && (\n <Box>\n <Button\n className=\"TagBlock__Button--Delete\"\n data-testid=\"kibble-tag-block-delete-button\"\n iconName=\"trashcan\"\n variant=\"ghostNeutral\"\n onClick={onDelete}\n justifySelf=\"flex-end\"\n />\n </Box>\n )}\n </Flex>\n {Boolean(tags.length) && (\n <Flex\n className=\"TagBlock__TagContainer\"\n data-testid=\"kibble-tag-block-tag-container\"\n mt={2}\n pb={1}\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {displayTagsInGroups && tagsByGroup.length ? (\n <Flex direction=\"column\">\n {tagsByGroup.map(({ groupLabel, tags }) => (\n <Box key={groupLabel} mb={2}>\n <Box\n className=\"TagBlock__GroupTitle\"\n data-testid=\"kibble-tag-block-group-title\"\n >\n <Heading size=\"xs\" pb={2}>\n {groupLabel}\n </Heading>\n </Box>\n <Flex\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderTags(tags)}\n </Flex>\n </Box>\n ))}\n </Flex>\n ) : (\n renderTags(tags)\n )}\n </Flex>\n )}\n {loading && <Spinner fullScreen />}\n {hasError && (\n <Text\n className=\"TagBlock__Error\"\n data-testid=\"kibble-tag-block-error\"\n mt={2}\n size=\"xs\"\n as=\"p\"\n variant=\"danger\"\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\n"],"names":["TagDisabledState","defaultMenuButtonProps","TagBlock","title","menuProps","tags","canBeDeleted","onClearAll","onRemoveTag","onDelete","hasError","errorText","displayTagsInGroups","loading","handleRemoveTag","useCallback","value","tagsByGroup","React","grouped","tag","group","groupLabel","renderTags","isDisabled","jsx","Tag","jsxs","Box","Flex","HStack","Text","Menu","Button","Heading","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"tagBlock.component-DGGkSE8s.js","sources":["../../src/components/TagBlock/tagBlock.types.ts","../../src/components/TagBlock/tagBlock.component.tsx"],"sourcesContent":["export enum TagDisabledState {\n Inactive = \"Inactive\",\n Deleted = \"Deleted\",\n}\n\nexport interface TagBlockTag {\n label: string;\n value: string;\n groupLabel?: string;\n}\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { Tag } from \"components/Tag/tag.component\";\nimport { Text } from \"components/Text/text.component\";\nimport { TagBlockTag, TagDisabledState } from \"./tagBlock.types\";\nimport { MenuButtonProps } from \"components/Menu/components/MenuButton/menuButton.components\";\n\ninterface BaseTagBlockProps {\n displayTagsInGroups?: boolean;\n errorText?: string;\n hasError?: boolean;\n loading?: boolean;\n menuProps?: MenuProps;\n onClearAll?: () => void;\n onRemoveTag?: (tag: string, selectedTags: TagBlockTag[]) => void;\n tags: TagBlockTag[];\n title?: string;\n}\n\ninterface DefaultTagBlockProps extends BaseTagBlockProps {\n canBeDeleted?: false;\n onDelete?: never;\n}\n\ninterface DeletableTagBlockProps extends BaseTagBlockProps {\n canBeDeleted: true;\n onDelete: () => void;\n}\n\nexport type TagBlockProps = DefaultTagBlockProps | DeletableTagBlockProps;\n\nconst defaultMenuButtonProps: MenuButtonProps = {\n size: \"sm\",\n variant: \"secondarySubtle\",\n iconName: \"plus\",\n text: \"Add\",\n hideCaret: true,\n};\n\nexport const TagBlock = ({\n title,\n menuProps,\n tags,\n canBeDeleted = false,\n onClearAll,\n onRemoveTag,\n onDelete,\n hasError = false,\n errorText = \"This field contains an error\",\n displayTagsInGroups,\n loading = false,\n}: TagBlockProps): React.JSX.Element => {\n const handleRemoveTag = useCallback(\n (value: string): void => {\n if (onRemoveTag) {\n onRemoveTag(value, tags);\n }\n },\n [onRemoveTag, tags],\n );\n\n const tagsByGroup = React.useMemo(() => {\n if (!displayTagsInGroups) {\n return [];\n }\n const grouped = {} as Record<string, TagBlockTag[]>;\n for (const tag of tags) {\n const group = tag.groupLabel || \"-\";\n if (!grouped[group]) {\n grouped[group] = [];\n }\n grouped[group].push(tag);\n }\n return Object.entries(grouped).map(([groupLabel, tags]) => ({\n groupLabel,\n tags,\n }));\n }, [tags, displayTagsInGroups]);\n\n const renderTags = useCallback(\n (tags: TagBlockTag[]) => {\n return tags.map((tag) => {\n const isDisabled =\n tag.label.includes(TagDisabledState.Inactive) ||\n tag.label.includes(TagDisabledState.Deleted);\n\n return (\n <Tag\n className=\"TagBlock__Tag\"\n data-testid=\"kibble-tag-block-tag\"\n mr={1}\n mb={1}\n key={tag.value}\n label={tag.label}\n onClose={(): void => handleRemoveTag(tag.value)}\n closeButtonDisplay=\"always\"\n fontWeight=\"normal\"\n color={isDisabled ? \"text.placeholder\" : \"text\"}\n size=\"md\"\n />\n );\n });\n },\n [handleRemoveTag],\n );\n\n return (\n <Box\n className=\"TagBlock\"\n data-testid=\"kibble-tag-block\"\n position=\"relative\"\n mb={3}\n py={2}\n pl={4}\n pr={2}\n bg=\"background.subtle\"\n borderRadius=\"lg\"\n boxShadow={hasError ? `0 0 0 2px var(--chakra-colors-border-danger)` : \"\"}\n border=\"1px\"\n borderColor=\"border\"\n overflow={loading ? \"hidden\" : undefined}\n >\n <Flex\n className=\"TagBlock__ButtonContainer\"\n data-testid=\"kibble-tag-block-button-container\"\n justifyContent=\"space-between\"\n >\n <HStack gap={1} minH={10}>\n {title && (\n <Text className=\"TagBlock__Title\" mr={2} fontWeight=\"bold\">\n {title}\n </Text>\n )}\n <Menu\n data-testid=\"kibble-tag-block-menu\"\n {...menuProps}\n buttonProps={menuProps?.buttonProps || defaultMenuButtonProps}\n />\n <Button\n className=\"TagBlock__Button--ClearAll\"\n data-testid=\"kibble-tag-block-clear-all-button\"\n size=\"sm\"\n iconName=\"arrowCircle\"\n variant=\"ghostNeutral\"\n onClick={onClearAll}\n disabled={tags.length <= 0}\n >\n Clear All\n </Button>\n </HStack>\n {canBeDeleted && (\n <Box>\n <Button\n className=\"TagBlock__Button--Delete\"\n data-testid=\"kibble-tag-block-delete-button\"\n iconName=\"trashcan\"\n variant=\"ghostNeutral\"\n onClick={onDelete}\n justifySelf=\"flex-end\"\n />\n </Box>\n )}\n </Flex>\n {Boolean(tags.length) && (\n <Flex\n className=\"TagBlock__TagContainer\"\n data-testid=\"kibble-tag-block-tag-container\"\n mt={2}\n pb={1}\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {displayTagsInGroups && tagsByGroup.length ? (\n <Flex direction=\"column\">\n {tagsByGroup.map(({ groupLabel, tags }) => (\n <Box key={groupLabel} mb={2}>\n <Box\n className=\"TagBlock__GroupTitle\"\n data-testid=\"kibble-tag-block-group-title\"\n >\n <Heading size=\"xs\" pb={2}>\n {groupLabel}\n </Heading>\n </Box>\n <Flex\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderTags(tags)}\n </Flex>\n </Box>\n ))}\n </Flex>\n ) : (\n renderTags(tags)\n )}\n </Flex>\n )}\n {loading && <Spinner fullScreen />}\n {hasError && (\n <Text\n className=\"TagBlock__Error\"\n data-testid=\"kibble-tag-block-error\"\n mt={2}\n size=\"xs\"\n as=\"p\"\n variant=\"danger\"\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\n"],"names":["TagDisabledState","defaultMenuButtonProps","TagBlock","title","menuProps","tags","canBeDeleted","onClearAll","onRemoveTag","onDelete","hasError","errorText","displayTagsInGroups","loading","handleRemoveTag","useCallback","value","tagsByGroup","React","grouped","tag","group","groupLabel","renderTags","isDisabled","jsx","Tag","jsxs","Box","Flex","HStack","Text","Menu","Button","Heading","Spinner"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { j as t } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import y, { forwardRef as j, Children as b, cloneElement as T, useMemo as k } from "react";
3
- import { w as A } from "./withFormControl-BldbKXiV.js";
3
+ import { w as A } from "./withFormControl-Chelruxy.js";
4
4
  import { B as v } from "./button.component-BWlRjD5a.js";
5
5
  import { C as w } from "./characterCounter.component-Ww-ll5pL.js";
6
6
  import { B as N } from "./box-y05hq0PT.js";
@@ -177,4 +177,4 @@ $.displayName = "TextInput";
177
177
  export {
178
178
  $ as W
179
179
  };
180
- //# sourceMappingURL=textInput.component-c9ySCd-c.js.map
180
+ //# sourceMappingURL=textInput.component-D2StzwsH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textInput.component-c9ySCd-c.js","sources":["../../node_modules/@ark-ui/react/dist/components/field/field-input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-addon.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-element.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-group.js","../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldInput = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getInputProps(), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nFieldInput.displayName = \"FieldInput\";\n\nexport { FieldInput };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"input\"\n});\nconst Input = withContext(Field.Input);\nconst InputPropsProvider = PropsProvider;\n\nexport { Input, InputPropsProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { EMPTY_SLOT_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst InputAddon = forwardRef(\n function InputAddon2({ unstyled, ...props }, ref) {\n const recipe = useRecipe({ key: \"inputAddon\", recipe: props.recipe });\n const [variantProps, localProps] = recipe.splitVariantProps(props);\n const styles = unstyled ? EMPTY_SLOT_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(chakra.div, { ref, ...localProps, css: [styles, props.css] });\n }\n);\n\nexport { InputAddon };\n","\"use strict\";\n\"use client\";\nimport { chakra } from '../../styled-system/factory.js';\n\nconst InputElement = chakra(\"div\", {\n base: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"absolute\",\n zIndex: 2,\n color: \"fg.muted\",\n height: \"full\",\n fontSize: \"sm\",\n px: \"3\"\n },\n variants: {\n placement: {\n start: {\n insetInlineStart: \"0\"\n },\n end: {\n insetInlineEnd: \"0\"\n }\n }\n }\n});\n\nexport { InputElement };\n","\"use strict\";\n\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, Children, cloneElement } from 'react';\nimport { InputAddon } from './input-addon.js';\nimport { InputElement } from './input-element.js';\nimport { Group } from '../group/group.js';\n\nconst InputGroup = forwardRef(\n function InputGroup2(props, ref) {\n const {\n startElement,\n startElementProps,\n endElement,\n endElementProps,\n startAddon,\n startAddonProps,\n endAddon,\n endAddonProps,\n children,\n startOffset = \"0px\",\n endOffset = \"0px\",\n ...rest\n } = props;\n const child = Children.only(children);\n const attached = Boolean(startAddon || endAddon);\n return /* @__PURE__ */ jsxs(\n Group,\n {\n width: \"full\",\n ref,\n attached,\n skip: (el) => el.type === InputElement,\n ...rest,\n children: [\n startAddon && /* @__PURE__ */ jsx(InputAddon, { ...startAddonProps, children: startAddon }),\n startElement && /* @__PURE__ */ jsx(InputElement, { pointerEvents: \"none\", ...startElementProps, children: startElement }),\n cloneElement(child, {\n ...startElement && {\n ps: `calc(var(--input-height) - ${startOffset})`\n },\n ...endElement && { pe: `calc(var(--input-height) - ${endOffset})` },\n ...children.props\n }),\n endElement && /* @__PURE__ */ jsx(InputElement, { placement: \"end\", ...endElementProps, children: endElement }),\n endAddon && /* @__PURE__ */ jsx(InputAddon, { ...endAddonProps, children: endAddon })\n ]\n }\n );\n }\n);\n\nexport { InputGroup };\n","import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["FieldInput","forwardRef","props","ref","field","useFieldContext","mergedProps","mergeProps","jsx","ark","withContext","createRecipeContext","Input","Field.Input","InputAddon","unstyled","recipe","useRecipe","variantProps","localProps","styles","EMPTY_SLOT_STYLES","chakra","InputElement","InputGroup","startElement","startElementProps","endElement","endElementProps","startAddon","startAddonProps","endAddon","endAddonProps","children","startOffset","endOffset","rest","child","Children","attached","jsxs","Group","el","cloneElement","closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","handleClear","Button","currentCharCount","useMemo","Box","CInput","CharacterCounter","WrappedTextInput","React"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"textInput.component-D2StzwsH.js","sources":["../../node_modules/@ark-ui/react/dist/components/field/field-input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-addon.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-element.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-group.js","../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldInput = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getInputProps(), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nFieldInput.displayName = \"FieldInput\";\n\nexport { FieldInput };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"input\"\n});\nconst Input = withContext(Field.Input);\nconst InputPropsProvider = PropsProvider;\n\nexport { Input, InputPropsProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { EMPTY_SLOT_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst InputAddon = forwardRef(\n function InputAddon2({ unstyled, ...props }, ref) {\n const recipe = useRecipe({ key: \"inputAddon\", recipe: props.recipe });\n const [variantProps, localProps] = recipe.splitVariantProps(props);\n const styles = unstyled ? EMPTY_SLOT_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(chakra.div, { ref, ...localProps, css: [styles, props.css] });\n }\n);\n\nexport { InputAddon };\n","\"use strict\";\n\"use client\";\nimport { chakra } from '../../styled-system/factory.js';\n\nconst InputElement = chakra(\"div\", {\n base: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"absolute\",\n zIndex: 2,\n color: \"fg.muted\",\n height: \"full\",\n fontSize: \"sm\",\n px: \"3\"\n },\n variants: {\n placement: {\n start: {\n insetInlineStart: \"0\"\n },\n end: {\n insetInlineEnd: \"0\"\n }\n }\n }\n});\n\nexport { InputElement };\n","\"use strict\";\n\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, Children, cloneElement } from 'react';\nimport { InputAddon } from './input-addon.js';\nimport { InputElement } from './input-element.js';\nimport { Group } from '../group/group.js';\n\nconst InputGroup = forwardRef(\n function InputGroup2(props, ref) {\n const {\n startElement,\n startElementProps,\n endElement,\n endElementProps,\n startAddon,\n startAddonProps,\n endAddon,\n endAddonProps,\n children,\n startOffset = \"0px\",\n endOffset = \"0px\",\n ...rest\n } = props;\n const child = Children.only(children);\n const attached = Boolean(startAddon || endAddon);\n return /* @__PURE__ */ jsxs(\n Group,\n {\n width: \"full\",\n ref,\n attached,\n skip: (el) => el.type === InputElement,\n ...rest,\n children: [\n startAddon && /* @__PURE__ */ jsx(InputAddon, { ...startAddonProps, children: startAddon }),\n startElement && /* @__PURE__ */ jsx(InputElement, { pointerEvents: \"none\", ...startElementProps, children: startElement }),\n cloneElement(child, {\n ...startElement && {\n ps: `calc(var(--input-height) - ${startOffset})`\n },\n ...endElement && { pe: `calc(var(--input-height) - ${endOffset})` },\n ...children.props\n }),\n endElement && /* @__PURE__ */ jsx(InputElement, { placement: \"end\", ...endElementProps, children: endElement }),\n endAddon && /* @__PURE__ */ jsx(InputAddon, { ...endAddonProps, children: endAddon })\n ]\n }\n );\n }\n);\n\nexport { InputGroup };\n","import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["FieldInput","forwardRef","props","ref","field","useFieldContext","mergedProps","mergeProps","jsx","ark","withContext","createRecipeContext","Input","Field.Input","InputAddon","unstyled","recipe","useRecipe","variantProps","localProps","styles","EMPTY_SLOT_STYLES","chakra","InputElement","InputGroup","startElement","startElementProps","endElement","endElementProps","startAddon","startAddonProps","endAddon","endAddonProps","children","startOffset","endOffset","rest","child","Children","attached","jsxs","Group","el","cloneElement","closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","handleClear","Button","currentCharCount","useMemo","Box","CInput","CharacterCounter","WrappedTextInput","React"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),c=require("react"),y=require("./withFormControl-C35JkDEH.js"),P=require("./button.component-ytAmAAJg.js"),b=require("./characterCounter.component-BcKXSebL.js"),T=require("./box-ca2FvcWF.js"),k=require("./empty-B5_AO6Pg.js"),I=require("./factory-CkTX_WOU.js"),w=require("./use-recipe-N0abcau6.js"),A=require("./group-aY0Z9jNw.js"),v=require("./create-recipe-context-DdRyhQQD.js"),N=require("./use-locale-context-BdqHZ8L8.js"),S=require("./use-field-context--wBJQY1R.js"),F=require("./index-CZ42b9rT.js"),B=t=>t&&t.__esModule?t:{default:t},G=B(c),C=c.forwardRef((t,s)=>{const n=S.useFieldContext(),r=F.mergeProps(n?.getInputProps(),t);return e.jsxRuntimeExports.jsx(N.ark.input,{...r,ref:s})});C.displayName="FieldInput";const{withContext:M}=v.createRecipeContext({key:"input"}),z=M(C),R=c.forwardRef(function({unstyled:s,...n},r){const p=w.useRecipe({key:"inputAddon",recipe:n.recipe}),[i,a]=p.splitVariantProps(n),o=s?k.EMPTY_SLOT_STYLES:p(i);return e.jsxRuntimeExports.jsx(I.chakra.div,{ref:r,...a,css:[o,n.css]})}),E=I.chakra("div",{base:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",zIndex:2,color:"fg.muted",height:"full",fontSize:"sm",px:"3"},variants:{placement:{start:{insetInlineStart:"0"},end:{insetInlineEnd:"0"}}}}),D=c.forwardRef(function(s,n){const{startElement:r,startElementProps:p,endElement:i,endElementProps:a,startAddon:o,startAddonProps:m,endAddon:d,endAddonProps:x,children:l,startOffset:u="0px",endOffset:f="0px",...h}=s,j=c.Children.only(l),g=!!(o||d);return e.jsxRuntimeExports.jsxs(A.Group,{width:"full",ref:n,attached:g,skip:q=>q.type===E,...h,children:[o&&e.jsxRuntimeExports.jsx(R,{...m,children:o}),r&&e.jsxRuntimeExports.jsx(E,{pointerEvents:"none",...p,children:r}),c.cloneElement(j,{...r&&{ps:`calc(var(--input-height) - ${u})`},...i&&{pe:`calc(var(--input-height) - ${f})`},...l.props}),i&&e.jsxRuntimeExports.jsx(E,{placement:"end",...a,children:i}),d&&e.jsxRuntimeExports.jsx(R,{...x,children:d})]})}),L={sm:"xs",md:"sm",lg:"md"},O=y.withFormControl(({charLimit:t=void 0,clearable:s=!1,disabled:n=!1,inputRef:r,invalid:p,leftAddon:i,leftElement:a,onClear:o,onContrast:m,rightAddon:d,rightElement:x,size:l="md",value:u,...f})=>{const h=()=>{o&&o(u||"")};s&&u&&!n&&(x=e.jsxRuntimeExports.jsx(P.Button,{className:"TextInput__ClearButton","data-testid":"kibble-text-input-clear-button",size:L[l],variant:"ghostNeutral",onClick:h,iconName:"close"}));const j=c.useMemo(()=>u?.toString()?.length||0,[u]);return e.jsxRuntimeExports.jsxs(T.Box,{className:"TextInput__Wrapper",position:"relative",w:"100%",children:[e.jsxRuntimeExports.jsx(D,{className:"TextInput__InputGroup","data-testid":"kibble-text-input-group",startElement:a,startElementProps:{color:"inherit",_groupDisabled:{opacity:.6}},endElement:x,endElementProps:{color:"inherit",paddingInline:1.5,_groupDisabled:{opacity:.6}},startAddon:i,endAddon:d,children:e.jsxRuntimeExports.jsx(z,{"data-testid":"kibble-text-input",className:"TextInput",ref:r,value:u,size:l,disabled:n,...p&&{"aria-invalid":!0},variant:m?"onContrast":"default",...f})}),!!t&&e.jsxRuntimeExports.jsx(b.CharacterCounter,{withLimit:!0,limit:t,currentCount:j})]})}),_=G.default.forwardRef((t,s)=>e.jsxRuntimeExports.jsx(O,{inputRef:s,...t}));_.displayName="TextInput";exports.WrappedTextInput=_;
2
- //# sourceMappingURL=textInput.component-7QTnQmYu.js.map
1
+ "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),c=require("react"),y=require("./withFormControl-CvsBPk94.js"),P=require("./button.component-ytAmAAJg.js"),b=require("./characterCounter.component-BcKXSebL.js"),T=require("./box-ca2FvcWF.js"),k=require("./empty-B5_AO6Pg.js"),I=require("./factory-CkTX_WOU.js"),w=require("./use-recipe-N0abcau6.js"),A=require("./group-aY0Z9jNw.js"),v=require("./create-recipe-context-DdRyhQQD.js"),N=require("./use-locale-context-BdqHZ8L8.js"),S=require("./use-field-context--wBJQY1R.js"),F=require("./index-CZ42b9rT.js"),B=t=>t&&t.__esModule?t:{default:t},G=B(c),C=c.forwardRef((t,s)=>{const n=S.useFieldContext(),r=F.mergeProps(n?.getInputProps(),t);return e.jsxRuntimeExports.jsx(N.ark.input,{...r,ref:s})});C.displayName="FieldInput";const{withContext:M}=v.createRecipeContext({key:"input"}),z=M(C),R=c.forwardRef(function({unstyled:s,...n},r){const p=w.useRecipe({key:"inputAddon",recipe:n.recipe}),[i,a]=p.splitVariantProps(n),o=s?k.EMPTY_SLOT_STYLES:p(i);return e.jsxRuntimeExports.jsx(I.chakra.div,{ref:r,...a,css:[o,n.css]})}),E=I.chakra("div",{base:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",zIndex:2,color:"fg.muted",height:"full",fontSize:"sm",px:"3"},variants:{placement:{start:{insetInlineStart:"0"},end:{insetInlineEnd:"0"}}}}),D=c.forwardRef(function(s,n){const{startElement:r,startElementProps:p,endElement:i,endElementProps:a,startAddon:o,startAddonProps:m,endAddon:d,endAddonProps:x,children:l,startOffset:u="0px",endOffset:f="0px",...h}=s,j=c.Children.only(l),g=!!(o||d);return e.jsxRuntimeExports.jsxs(A.Group,{width:"full",ref:n,attached:g,skip:q=>q.type===E,...h,children:[o&&e.jsxRuntimeExports.jsx(R,{...m,children:o}),r&&e.jsxRuntimeExports.jsx(E,{pointerEvents:"none",...p,children:r}),c.cloneElement(j,{...r&&{ps:`calc(var(--input-height) - ${u})`},...i&&{pe:`calc(var(--input-height) - ${f})`},...l.props}),i&&e.jsxRuntimeExports.jsx(E,{placement:"end",...a,children:i}),d&&e.jsxRuntimeExports.jsx(R,{...x,children:d})]})}),L={sm:"xs",md:"sm",lg:"md"},O=y.withFormControl(({charLimit:t=void 0,clearable:s=!1,disabled:n=!1,inputRef:r,invalid:p,leftAddon:i,leftElement:a,onClear:o,onContrast:m,rightAddon:d,rightElement:x,size:l="md",value:u,...f})=>{const h=()=>{o&&o(u||"")};s&&u&&!n&&(x=e.jsxRuntimeExports.jsx(P.Button,{className:"TextInput__ClearButton","data-testid":"kibble-text-input-clear-button",size:L[l],variant:"ghostNeutral",onClick:h,iconName:"close"}));const j=c.useMemo(()=>u?.toString()?.length||0,[u]);return e.jsxRuntimeExports.jsxs(T.Box,{className:"TextInput__Wrapper",position:"relative",w:"100%",children:[e.jsxRuntimeExports.jsx(D,{className:"TextInput__InputGroup","data-testid":"kibble-text-input-group",startElement:a,startElementProps:{color:"inherit",_groupDisabled:{opacity:.6}},endElement:x,endElementProps:{color:"inherit",paddingInline:1.5,_groupDisabled:{opacity:.6}},startAddon:i,endAddon:d,children:e.jsxRuntimeExports.jsx(z,{"data-testid":"kibble-text-input",className:"TextInput",ref:r,value:u,size:l,disabled:n,...p&&{"aria-invalid":!0},variant:m?"onContrast":"default",...f})}),!!t&&e.jsxRuntimeExports.jsx(b.CharacterCounter,{withLimit:!0,limit:t,currentCount:j})]})}),_=G.default.forwardRef((t,s)=>e.jsxRuntimeExports.jsx(O,{inputRef:s,...t}));_.displayName="TextInput";exports.WrappedTextInput=_;
2
+ //# sourceMappingURL=textInput.component-db5JWDOn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textInput.component-7QTnQmYu.js","sources":["../../node_modules/@ark-ui/react/dist/components/field/field-input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-addon.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-element.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-group.js","../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldInput = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getInputProps(), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nFieldInput.displayName = \"FieldInput\";\n\nexport { FieldInput };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"input\"\n});\nconst Input = withContext(Field.Input);\nconst InputPropsProvider = PropsProvider;\n\nexport { Input, InputPropsProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { EMPTY_SLOT_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst InputAddon = forwardRef(\n function InputAddon2({ unstyled, ...props }, ref) {\n const recipe = useRecipe({ key: \"inputAddon\", recipe: props.recipe });\n const [variantProps, localProps] = recipe.splitVariantProps(props);\n const styles = unstyled ? EMPTY_SLOT_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(chakra.div, { ref, ...localProps, css: [styles, props.css] });\n }\n);\n\nexport { InputAddon };\n","\"use strict\";\n\"use client\";\nimport { chakra } from '../../styled-system/factory.js';\n\nconst InputElement = chakra(\"div\", {\n base: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"absolute\",\n zIndex: 2,\n color: \"fg.muted\",\n height: \"full\",\n fontSize: \"sm\",\n px: \"3\"\n },\n variants: {\n placement: {\n start: {\n insetInlineStart: \"0\"\n },\n end: {\n insetInlineEnd: \"0\"\n }\n }\n }\n});\n\nexport { InputElement };\n","\"use strict\";\n\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, Children, cloneElement } from 'react';\nimport { InputAddon } from './input-addon.js';\nimport { InputElement } from './input-element.js';\nimport { Group } from '../group/group.js';\n\nconst InputGroup = forwardRef(\n function InputGroup2(props, ref) {\n const {\n startElement,\n startElementProps,\n endElement,\n endElementProps,\n startAddon,\n startAddonProps,\n endAddon,\n endAddonProps,\n children,\n startOffset = \"0px\",\n endOffset = \"0px\",\n ...rest\n } = props;\n const child = Children.only(children);\n const attached = Boolean(startAddon || endAddon);\n return /* @__PURE__ */ jsxs(\n Group,\n {\n width: \"full\",\n ref,\n attached,\n skip: (el) => el.type === InputElement,\n ...rest,\n children: [\n startAddon && /* @__PURE__ */ jsx(InputAddon, { ...startAddonProps, children: startAddon }),\n startElement && /* @__PURE__ */ jsx(InputElement, { pointerEvents: \"none\", ...startElementProps, children: startElement }),\n cloneElement(child, {\n ...startElement && {\n ps: `calc(var(--input-height) - ${startOffset})`\n },\n ...endElement && { pe: `calc(var(--input-height) - ${endOffset})` },\n ...children.props\n }),\n endElement && /* @__PURE__ */ jsx(InputElement, { placement: \"end\", ...endElementProps, children: endElement }),\n endAddon && /* @__PURE__ */ jsx(InputAddon, { ...endAddonProps, children: endAddon })\n ]\n }\n );\n }\n);\n\nexport { InputGroup };\n","import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["FieldInput","forwardRef","props","ref","field","useFieldContext","mergedProps","mergeProps","jsx","ark","withContext","createRecipeContext","Input","Field.Input","InputAddon","unstyled","recipe","useRecipe","variantProps","localProps","styles","EMPTY_SLOT_STYLES","chakra","InputElement","InputGroup","startElement","startElementProps","endElement","endElementProps","startAddon","startAddonProps","endAddon","endAddonProps","children","startOffset","endOffset","rest","child","Children","attached","jsxs","Group","el","cloneElement","closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","handleClear","Button","currentCharCount","useMemo","Box","CInput","CharacterCounter","WrappedTextInput","React"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"textInput.component-db5JWDOn.js","sources":["../../node_modules/@ark-ui/react/dist/components/field/field-input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-addon.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-element.js","../../node_modules/@chakra-ui/react/dist/esm/components/input/input-group.js","../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldInput = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getInputProps(), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nFieldInput.displayName = \"FieldInput\";\n\nexport { FieldInput };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"input\"\n});\nconst Input = withContext(Field.Input);\nconst InputPropsProvider = PropsProvider;\n\nexport { Input, InputPropsProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { EMPTY_SLOT_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst InputAddon = forwardRef(\n function InputAddon2({ unstyled, ...props }, ref) {\n const recipe = useRecipe({ key: \"inputAddon\", recipe: props.recipe });\n const [variantProps, localProps] = recipe.splitVariantProps(props);\n const styles = unstyled ? EMPTY_SLOT_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(chakra.div, { ref, ...localProps, css: [styles, props.css] });\n }\n);\n\nexport { InputAddon };\n","\"use strict\";\n\"use client\";\nimport { chakra } from '../../styled-system/factory.js';\n\nconst InputElement = chakra(\"div\", {\n base: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"absolute\",\n zIndex: 2,\n color: \"fg.muted\",\n height: \"full\",\n fontSize: \"sm\",\n px: \"3\"\n },\n variants: {\n placement: {\n start: {\n insetInlineStart: \"0\"\n },\n end: {\n insetInlineEnd: \"0\"\n }\n }\n }\n});\n\nexport { InputElement };\n","\"use strict\";\n\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, Children, cloneElement } from 'react';\nimport { InputAddon } from './input-addon.js';\nimport { InputElement } from './input-element.js';\nimport { Group } from '../group/group.js';\n\nconst InputGroup = forwardRef(\n function InputGroup2(props, ref) {\n const {\n startElement,\n startElementProps,\n endElement,\n endElementProps,\n startAddon,\n startAddonProps,\n endAddon,\n endAddonProps,\n children,\n startOffset = \"0px\",\n endOffset = \"0px\",\n ...rest\n } = props;\n const child = Children.only(children);\n const attached = Boolean(startAddon || endAddon);\n return /* @__PURE__ */ jsxs(\n Group,\n {\n width: \"full\",\n ref,\n attached,\n skip: (el) => el.type === InputElement,\n ...rest,\n children: [\n startAddon && /* @__PURE__ */ jsx(InputAddon, { ...startAddonProps, children: startAddon }),\n startElement && /* @__PURE__ */ jsx(InputElement, { pointerEvents: \"none\", ...startElementProps, children: startElement }),\n cloneElement(child, {\n ...startElement && {\n ps: `calc(var(--input-height) - ${startOffset})`\n },\n ...endElement && { pe: `calc(var(--input-height) - ${endOffset})` },\n ...children.props\n }),\n endElement && /* @__PURE__ */ jsx(InputElement, { placement: \"end\", ...endElementProps, children: endElement }),\n endAddon && /* @__PURE__ */ jsx(InputAddon, { ...endAddonProps, children: endAddon })\n ]\n }\n );\n }\n);\n\nexport { InputGroup };\n","import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["FieldInput","forwardRef","props","ref","field","useFieldContext","mergedProps","mergeProps","jsx","ark","withContext","createRecipeContext","Input","Field.Input","InputAddon","unstyled","recipe","useRecipe","variantProps","localProps","styles","EMPTY_SLOT_STYLES","chakra","InputElement","InputGroup","startElement","startElementProps","endElement","endElementProps","startAddon","startAddonProps","endAddon","endAddonProps","children","startOffset","endOffset","rest","child","Children","attached","jsxs","Group","el","cloneElement","closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","handleClear","Button","currentCharCount","useMemo","Box","CInput","CharacterCounter","WrappedTextInput","React"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -1,6 +1,6 @@
1
1
  import { j as d } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import f, { forwardRef as u, useRef as l, useEffect as x, useMemo as v } from "react";
3
- import { w as g } from "./withFormControl-BldbKXiV.js";
3
+ import { w as g } from "./withFormControl-Chelruxy.js";
4
4
  import { C as h } from "./characterCounter.component-Ww-ll5pL.js";
5
5
  import { F as w } from "./flex-C2d2LH-K.js";
6
6
  import { c as b } from "./create-recipe-context-BcvaE0iS.js";
@@ -94,4 +94,4 @@ L.displayName = "Textarea";
94
94
  export {
95
95
  L as W
96
96
  };
97
- //# sourceMappingURL=textarea.component-7yXlR6OD.js.map
97
+ //# sourceMappingURL=textarea.component-DvA5vzjS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.component-7yXlR6OD.js","sources":["../../node_modules/@zag-js/auto-resize/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/field/field-textarea.js","../../node_modules/@chakra-ui/react/dist/esm/components/textarea/textarea.js","../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import { getDocument, getWindow, getComputedStyle } from '@zag-js/dom-query';\n\n// src/autoresize-input.ts\nfunction getVisualStyles(node) {\n if (!node) return;\n const style = getComputedStyle(node);\n return \"box-sizing:\" + style.boxSizing + \";border-left:\" + style.borderLeftWidth + \" solid red;border-right:\" + style.borderRightWidth + \" solid red;font-family:\" + style.fontFamily + \";font-feature-settings:\" + style.fontFeatureSettings + \";font-kerning:\" + style.fontKerning + \";font-size:\" + style.fontSize + \";font-stretch:\" + style.fontStretch + \";font-style:\" + style.fontStyle + \";font-variant:\" + style.fontVariant + \";font-variant-caps:\" + style.fontVariantCaps + \";font-variant-ligatures:\" + style.fontVariantLigatures + \";font-variant-numeric:\" + style.fontVariantNumeric + \";font-weight:\" + style.fontWeight + \";letter-spacing:\" + style.letterSpacing + \";margin-left:\" + style.marginLeft + \";margin-right:\" + style.marginRight + \";padding-left:\" + style.paddingLeft + \";padding-right:\" + style.paddingRight + \";text-indent:\" + style.textIndent + \";text-transform:\" + style.textTransform;\n}\n\n// src/autoresize-input.ts\nfunction createGhostElement(doc) {\n var el = doc.createElement(\"div\");\n el.id = \"ghost\";\n el.style.cssText = \"display:inline-block;height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap;\";\n doc.body.appendChild(el);\n return el;\n}\nfunction autoResizeInput(input) {\n if (!input) return;\n const doc = getDocument(input);\n const win = getWindow(input);\n const ghost = createGhostElement(doc);\n const cssText = getVisualStyles(input);\n if (cssText) ghost.style.cssText += cssText;\n function resize() {\n win.requestAnimationFrame(() => {\n ghost.innerHTML = input.value;\n const rect = win.getComputedStyle(ghost);\n input?.style.setProperty(\"width\", rect.width);\n });\n }\n resize();\n input?.addEventListener(\"input\", resize);\n input?.addEventListener(\"change\", resize);\n return () => {\n doc.body.removeChild(ghost);\n input?.removeEventListener(\"input\", resize);\n input?.removeEventListener(\"change\", resize);\n };\n}\nvar autoresizeTextarea = (el) => {\n if (!el) return;\n const style = getComputedStyle(el);\n const win = getWindow(el);\n const doc = getDocument(el);\n const resize = () => {\n requestAnimationFrame(() => {\n el.style.height = \"auto\";\n let newHeight;\n if (style.boxSizing === \"content-box\") {\n newHeight = el.scrollHeight - (parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n } else {\n newHeight = el.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n }\n if (style.maxHeight !== \"none\" && newHeight > parseFloat(style.maxHeight)) {\n if (style.overflowY === \"hidden\") {\n el.style.overflowY = \"scroll\";\n }\n newHeight = parseFloat(style.maxHeight);\n } else if (style.overflowY !== \"hidden\") {\n el.style.overflowY = \"hidden\";\n }\n el.style.height = `${newHeight}px`;\n });\n };\n el.addEventListener(\"input\", resize);\n el.form?.addEventListener(\"reset\", resize);\n const elementPrototype = Object.getPrototypeOf(el);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(el, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(this, arguments);\n resize();\n }\n });\n const resizeObserver = new win.ResizeObserver(() => {\n requestAnimationFrame(() => resize());\n });\n resizeObserver.observe(el);\n const attrObserver = new win.MutationObserver(() => resize());\n attrObserver.observe(el, { attributes: true, attributeFilter: [\"rows\", \"placeholder\"] });\n doc.fonts?.addEventListener(\"loadingdone\", resize);\n return () => {\n el.removeEventListener(\"input\", resize);\n el.form?.removeEventListener(\"reset\", resize);\n doc.fonts?.removeEventListener(\"loadingdone\", resize);\n resizeObserver.disconnect();\n attrObserver.disconnect();\n };\n};\n\nexport { autoResizeInput, autoresizeTextarea };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { autoresizeTextarea } from '@zag-js/auto-resize';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldTextarea = forwardRef((props, ref) => {\n const { autoresize, ...textareaProps } = props;\n const textareaRef = useRef(null);\n const field = useFieldContext();\n const mergedProps = mergeProps(\n field?.getTextareaProps(),\n { style: { resize: autoresize ? \"none\" : void 0 } },\n textareaProps\n );\n useEffect(() => {\n if (!autoresize) return;\n return autoresizeTextarea(textareaRef.current);\n }, [autoresize]);\n return /* @__PURE__ */ jsx(ark.textarea, { ...mergedProps, ref: composeRefs(ref, textareaRef) });\n});\nFieldTextarea.displayName = \"FieldTextarea\";\n\nexport { FieldTextarea };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"textarea\"\n});\nconst Textarea = withContext(\n Field.Textarea\n);\nconst TextareaPropsProvider = PropsProvider;\n\nexport { Textarea, TextareaPropsProvider };\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["autoresizeTextarea","el","style","getComputedStyle","win","getWindow","doc","getDocument","resize","newHeight","elementPrototype","descriptor","resizeObserver","attrObserver","FieldTextarea","forwardRef","props","ref","autoresize","textareaProps","textareaRef","useRef","field","useFieldContext","mergedProps","mergeProps","useEffect","jsx","ark","composeRefs","withContext","createRecipeContext","Textarea","Field.Textarea","withFormControl","charLimit","invalid","onContrast","value","rest","_computedVariant","currentCharCount","useMemo","Flex","CTextarea","CharacterCounter","WrappedTextArea","React"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"textarea.component-DvA5vzjS.js","sources":["../../node_modules/@zag-js/auto-resize/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/field/field-textarea.js","../../node_modules/@chakra-ui/react/dist/esm/components/textarea/textarea.js","../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import { getDocument, getWindow, getComputedStyle } from '@zag-js/dom-query';\n\n// src/autoresize-input.ts\nfunction getVisualStyles(node) {\n if (!node) return;\n const style = getComputedStyle(node);\n return \"box-sizing:\" + style.boxSizing + \";border-left:\" + style.borderLeftWidth + \" solid red;border-right:\" + style.borderRightWidth + \" solid red;font-family:\" + style.fontFamily + \";font-feature-settings:\" + style.fontFeatureSettings + \";font-kerning:\" + style.fontKerning + \";font-size:\" + style.fontSize + \";font-stretch:\" + style.fontStretch + \";font-style:\" + style.fontStyle + \";font-variant:\" + style.fontVariant + \";font-variant-caps:\" + style.fontVariantCaps + \";font-variant-ligatures:\" + style.fontVariantLigatures + \";font-variant-numeric:\" + style.fontVariantNumeric + \";font-weight:\" + style.fontWeight + \";letter-spacing:\" + style.letterSpacing + \";margin-left:\" + style.marginLeft + \";margin-right:\" + style.marginRight + \";padding-left:\" + style.paddingLeft + \";padding-right:\" + style.paddingRight + \";text-indent:\" + style.textIndent + \";text-transform:\" + style.textTransform;\n}\n\n// src/autoresize-input.ts\nfunction createGhostElement(doc) {\n var el = doc.createElement(\"div\");\n el.id = \"ghost\";\n el.style.cssText = \"display:inline-block;height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap;\";\n doc.body.appendChild(el);\n return el;\n}\nfunction autoResizeInput(input) {\n if (!input) return;\n const doc = getDocument(input);\n const win = getWindow(input);\n const ghost = createGhostElement(doc);\n const cssText = getVisualStyles(input);\n if (cssText) ghost.style.cssText += cssText;\n function resize() {\n win.requestAnimationFrame(() => {\n ghost.innerHTML = input.value;\n const rect = win.getComputedStyle(ghost);\n input?.style.setProperty(\"width\", rect.width);\n });\n }\n resize();\n input?.addEventListener(\"input\", resize);\n input?.addEventListener(\"change\", resize);\n return () => {\n doc.body.removeChild(ghost);\n input?.removeEventListener(\"input\", resize);\n input?.removeEventListener(\"change\", resize);\n };\n}\nvar autoresizeTextarea = (el) => {\n if (!el) return;\n const style = getComputedStyle(el);\n const win = getWindow(el);\n const doc = getDocument(el);\n const resize = () => {\n requestAnimationFrame(() => {\n el.style.height = \"auto\";\n let newHeight;\n if (style.boxSizing === \"content-box\") {\n newHeight = el.scrollHeight - (parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n } else {\n newHeight = el.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n }\n if (style.maxHeight !== \"none\" && newHeight > parseFloat(style.maxHeight)) {\n if (style.overflowY === \"hidden\") {\n el.style.overflowY = \"scroll\";\n }\n newHeight = parseFloat(style.maxHeight);\n } else if (style.overflowY !== \"hidden\") {\n el.style.overflowY = \"hidden\";\n }\n el.style.height = `${newHeight}px`;\n });\n };\n el.addEventListener(\"input\", resize);\n el.form?.addEventListener(\"reset\", resize);\n const elementPrototype = Object.getPrototypeOf(el);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(el, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(this, arguments);\n resize();\n }\n });\n const resizeObserver = new win.ResizeObserver(() => {\n requestAnimationFrame(() => resize());\n });\n resizeObserver.observe(el);\n const attrObserver = new win.MutationObserver(() => resize());\n attrObserver.observe(el, { attributes: true, attributeFilter: [\"rows\", \"placeholder\"] });\n doc.fonts?.addEventListener(\"loadingdone\", resize);\n return () => {\n el.removeEventListener(\"input\", resize);\n el.form?.removeEventListener(\"reset\", resize);\n doc.fonts?.removeEventListener(\"loadingdone\", resize);\n resizeObserver.disconnect();\n attrObserver.disconnect();\n };\n};\n\nexport { autoResizeInput, autoresizeTextarea };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { autoresizeTextarea } from '@zag-js/auto-resize';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldTextarea = forwardRef((props, ref) => {\n const { autoresize, ...textareaProps } = props;\n const textareaRef = useRef(null);\n const field = useFieldContext();\n const mergedProps = mergeProps(\n field?.getTextareaProps(),\n { style: { resize: autoresize ? \"none\" : void 0 } },\n textareaProps\n );\n useEffect(() => {\n if (!autoresize) return;\n return autoresizeTextarea(textareaRef.current);\n }, [autoresize]);\n return /* @__PURE__ */ jsx(ark.textarea, { ...mergedProps, ref: composeRefs(ref, textareaRef) });\n});\nFieldTextarea.displayName = \"FieldTextarea\";\n\nexport { FieldTextarea };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"textarea\"\n});\nconst Textarea = withContext(\n Field.Textarea\n);\nconst TextareaPropsProvider = PropsProvider;\n\nexport { Textarea, TextareaPropsProvider };\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["autoresizeTextarea","el","style","getComputedStyle","win","getWindow","doc","getDocument","resize","newHeight","elementPrototype","descriptor","resizeObserver","attrObserver","FieldTextarea","forwardRef","props","ref","autoresize","textareaProps","textareaRef","useRef","field","useFieldContext","mergedProps","mergeProps","useEffect","jsx","ark","composeRefs","withContext","createRecipeContext","Textarea","Field.Textarea","withFormControl","charLimit","invalid","onContrast","value","rest","_computedVariant","currentCharCount","useMemo","Flex","CTextarea","CharacterCounter","WrappedTextArea","React"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,2 +1,2 @@
1
- "use strict";const c=require("./jsx-runtime-BjDatQAs.js"),u=require("react"),h=require("./withFormControl-C35JkDEH.js"),v=require("./characterCounter.component-BcKXSebL.js"),g=require("./flex-DKWxn8hO.js"),w=require("./create-recipe-context-DdRyhQQD.js"),p=require("./index-CZ42b9rT.js"),l=require("./use-locale-context-BdqHZ8L8.js"),b=require("./use-field-context--wBJQY1R.js"),R=e=>e&&e.__esModule?e:{default:e},C=R(u);var F=e=>{if(!e)return;const t=p.getComputedStyle(e),o=p.getWindow(e),s=p.getDocument(e),r=()=>{requestAnimationFrame(()=>{e.style.height="auto";let i;t.boxSizing==="content-box"?i=e.scrollHeight-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):i=e.scrollHeight+parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),t.maxHeight!=="none"&&i>parseFloat(t.maxHeight)?(t.overflowY==="hidden"&&(e.style.overflowY="scroll"),i=parseFloat(t.maxHeight)):t.overflowY!=="hidden"&&(e.style.overflowY="hidden"),e.style.height=`${i}px`})};e.addEventListener("input",r),e.form?.addEventListener("reset",r);const n=Object.getPrototypeOf(e),a=Object.getOwnPropertyDescriptor(n,"value");Object.defineProperty(e,"value",{...a,set(){a?.set?.apply(this,arguments),r()}});const d=new o.ResizeObserver(()=>{requestAnimationFrame(()=>r())});d.observe(e);const x=new o.MutationObserver(()=>r());return x.observe(e,{attributes:!0,attributeFilter:["rows","placeholder"]}),s.fonts?.addEventListener("loadingdone",r),()=>{e.removeEventListener("input",r),e.form?.removeEventListener("reset",r),s.fonts?.removeEventListener("loadingdone",r),d.disconnect(),x.disconnect()}};const m=u.forwardRef((e,t)=>{const{autoresize:o,...s}=e,r=u.useRef(null),n=b.useFieldContext(),a=p.mergeProps(n?.getTextareaProps(),{style:{resize:o?"none":void 0}},s);return u.useEffect(()=>{if(o)return F(r.current)},[o]),c.jsxRuntimeExports.jsx(l.ark.textarea,{...a,ref:l.composeRefs(t,r)})});m.displayName="FieldTextarea";const{withContext:y}=w.createRecipeContext({key:"textarea"}),j=y(m),T=h.withFormControl(({charLimit:e=void 0,invalid:t,onContrast:o,resize:s="none",textareaRef:r,value:n,...a})=>{const d=o?"onContrast":"default",x=u.useMemo(()=>n?.toString()?.length||0,[n]);return c.jsxRuntimeExports.jsxs(g.Flex,{className:"Textarea__Wrapper",position:"relative",w:"100%",children:[c.jsxRuntimeExports.jsx(j,{className:"Textarea","data-testid":"kibble-textarea",resize:s,variant:d,value:n,...t&&{"aria-invalid":!0},...a,ref:r}),!!e&&c.jsxRuntimeExports.jsx(v.CharacterCounter,{withLimit:!0,limit:e,currentCount:x})]})}),f=C.default.forwardRef((e,t)=>c.jsxRuntimeExports.jsx(T,{textareaRef:t,...e}));f.displayName="Textarea";exports.WrappedTextArea=f;
2
- //# sourceMappingURL=textarea.component-Bbf7OmgY.js.map
1
+ "use strict";const c=require("./jsx-runtime-BjDatQAs.js"),u=require("react"),h=require("./withFormControl-CvsBPk94.js"),v=require("./characterCounter.component-BcKXSebL.js"),g=require("./flex-DKWxn8hO.js"),w=require("./create-recipe-context-DdRyhQQD.js"),p=require("./index-CZ42b9rT.js"),l=require("./use-locale-context-BdqHZ8L8.js"),b=require("./use-field-context--wBJQY1R.js"),R=e=>e&&e.__esModule?e:{default:e},C=R(u);var F=e=>{if(!e)return;const t=p.getComputedStyle(e),o=p.getWindow(e),s=p.getDocument(e),r=()=>{requestAnimationFrame(()=>{e.style.height="auto";let i;t.boxSizing==="content-box"?i=e.scrollHeight-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):i=e.scrollHeight+parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),t.maxHeight!=="none"&&i>parseFloat(t.maxHeight)?(t.overflowY==="hidden"&&(e.style.overflowY="scroll"),i=parseFloat(t.maxHeight)):t.overflowY!=="hidden"&&(e.style.overflowY="hidden"),e.style.height=`${i}px`})};e.addEventListener("input",r),e.form?.addEventListener("reset",r);const n=Object.getPrototypeOf(e),a=Object.getOwnPropertyDescriptor(n,"value");Object.defineProperty(e,"value",{...a,set(){a?.set?.apply(this,arguments),r()}});const d=new o.ResizeObserver(()=>{requestAnimationFrame(()=>r())});d.observe(e);const x=new o.MutationObserver(()=>r());return x.observe(e,{attributes:!0,attributeFilter:["rows","placeholder"]}),s.fonts?.addEventListener("loadingdone",r),()=>{e.removeEventListener("input",r),e.form?.removeEventListener("reset",r),s.fonts?.removeEventListener("loadingdone",r),d.disconnect(),x.disconnect()}};const m=u.forwardRef((e,t)=>{const{autoresize:o,...s}=e,r=u.useRef(null),n=b.useFieldContext(),a=p.mergeProps(n?.getTextareaProps(),{style:{resize:o?"none":void 0}},s);return u.useEffect(()=>{if(o)return F(r.current)},[o]),c.jsxRuntimeExports.jsx(l.ark.textarea,{...a,ref:l.composeRefs(t,r)})});m.displayName="FieldTextarea";const{withContext:y}=w.createRecipeContext({key:"textarea"}),j=y(m),T=h.withFormControl(({charLimit:e=void 0,invalid:t,onContrast:o,resize:s="none",textareaRef:r,value:n,...a})=>{const d=o?"onContrast":"default",x=u.useMemo(()=>n?.toString()?.length||0,[n]);return c.jsxRuntimeExports.jsxs(g.Flex,{className:"Textarea__Wrapper",position:"relative",w:"100%",children:[c.jsxRuntimeExports.jsx(j,{className:"Textarea","data-testid":"kibble-textarea",resize:s,variant:d,value:n,...t&&{"aria-invalid":!0},...a,ref:r}),!!e&&c.jsxRuntimeExports.jsx(v.CharacterCounter,{withLimit:!0,limit:e,currentCount:x})]})}),f=C.default.forwardRef((e,t)=>c.jsxRuntimeExports.jsx(T,{textareaRef:t,...e}));f.displayName="Textarea";exports.WrappedTextArea=f;
2
+ //# sourceMappingURL=textarea.component-VN5A4zVD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.component-Bbf7OmgY.js","sources":["../../node_modules/@zag-js/auto-resize/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/field/field-textarea.js","../../node_modules/@chakra-ui/react/dist/esm/components/textarea/textarea.js","../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import { getDocument, getWindow, getComputedStyle } from '@zag-js/dom-query';\n\n// src/autoresize-input.ts\nfunction getVisualStyles(node) {\n if (!node) return;\n const style = getComputedStyle(node);\n return \"box-sizing:\" + style.boxSizing + \";border-left:\" + style.borderLeftWidth + \" solid red;border-right:\" + style.borderRightWidth + \" solid red;font-family:\" + style.fontFamily + \";font-feature-settings:\" + style.fontFeatureSettings + \";font-kerning:\" + style.fontKerning + \";font-size:\" + style.fontSize + \";font-stretch:\" + style.fontStretch + \";font-style:\" + style.fontStyle + \";font-variant:\" + style.fontVariant + \";font-variant-caps:\" + style.fontVariantCaps + \";font-variant-ligatures:\" + style.fontVariantLigatures + \";font-variant-numeric:\" + style.fontVariantNumeric + \";font-weight:\" + style.fontWeight + \";letter-spacing:\" + style.letterSpacing + \";margin-left:\" + style.marginLeft + \";margin-right:\" + style.marginRight + \";padding-left:\" + style.paddingLeft + \";padding-right:\" + style.paddingRight + \";text-indent:\" + style.textIndent + \";text-transform:\" + style.textTransform;\n}\n\n// src/autoresize-input.ts\nfunction createGhostElement(doc) {\n var el = doc.createElement(\"div\");\n el.id = \"ghost\";\n el.style.cssText = \"display:inline-block;height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap;\";\n doc.body.appendChild(el);\n return el;\n}\nfunction autoResizeInput(input) {\n if (!input) return;\n const doc = getDocument(input);\n const win = getWindow(input);\n const ghost = createGhostElement(doc);\n const cssText = getVisualStyles(input);\n if (cssText) ghost.style.cssText += cssText;\n function resize() {\n win.requestAnimationFrame(() => {\n ghost.innerHTML = input.value;\n const rect = win.getComputedStyle(ghost);\n input?.style.setProperty(\"width\", rect.width);\n });\n }\n resize();\n input?.addEventListener(\"input\", resize);\n input?.addEventListener(\"change\", resize);\n return () => {\n doc.body.removeChild(ghost);\n input?.removeEventListener(\"input\", resize);\n input?.removeEventListener(\"change\", resize);\n };\n}\nvar autoresizeTextarea = (el) => {\n if (!el) return;\n const style = getComputedStyle(el);\n const win = getWindow(el);\n const doc = getDocument(el);\n const resize = () => {\n requestAnimationFrame(() => {\n el.style.height = \"auto\";\n let newHeight;\n if (style.boxSizing === \"content-box\") {\n newHeight = el.scrollHeight - (parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n } else {\n newHeight = el.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n }\n if (style.maxHeight !== \"none\" && newHeight > parseFloat(style.maxHeight)) {\n if (style.overflowY === \"hidden\") {\n el.style.overflowY = \"scroll\";\n }\n newHeight = parseFloat(style.maxHeight);\n } else if (style.overflowY !== \"hidden\") {\n el.style.overflowY = \"hidden\";\n }\n el.style.height = `${newHeight}px`;\n });\n };\n el.addEventListener(\"input\", resize);\n el.form?.addEventListener(\"reset\", resize);\n const elementPrototype = Object.getPrototypeOf(el);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(el, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(this, arguments);\n resize();\n }\n });\n const resizeObserver = new win.ResizeObserver(() => {\n requestAnimationFrame(() => resize());\n });\n resizeObserver.observe(el);\n const attrObserver = new win.MutationObserver(() => resize());\n attrObserver.observe(el, { attributes: true, attributeFilter: [\"rows\", \"placeholder\"] });\n doc.fonts?.addEventListener(\"loadingdone\", resize);\n return () => {\n el.removeEventListener(\"input\", resize);\n el.form?.removeEventListener(\"reset\", resize);\n doc.fonts?.removeEventListener(\"loadingdone\", resize);\n resizeObserver.disconnect();\n attrObserver.disconnect();\n };\n};\n\nexport { autoResizeInput, autoresizeTextarea };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { autoresizeTextarea } from '@zag-js/auto-resize';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldTextarea = forwardRef((props, ref) => {\n const { autoresize, ...textareaProps } = props;\n const textareaRef = useRef(null);\n const field = useFieldContext();\n const mergedProps = mergeProps(\n field?.getTextareaProps(),\n { style: { resize: autoresize ? \"none\" : void 0 } },\n textareaProps\n );\n useEffect(() => {\n if (!autoresize) return;\n return autoresizeTextarea(textareaRef.current);\n }, [autoresize]);\n return /* @__PURE__ */ jsx(ark.textarea, { ...mergedProps, ref: composeRefs(ref, textareaRef) });\n});\nFieldTextarea.displayName = \"FieldTextarea\";\n\nexport { FieldTextarea };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"textarea\"\n});\nconst Textarea = withContext(\n Field.Textarea\n);\nconst TextareaPropsProvider = PropsProvider;\n\nexport { Textarea, TextareaPropsProvider };\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["autoresizeTextarea","el","style","getComputedStyle","win","getWindow","doc","getDocument","resize","newHeight","elementPrototype","descriptor","resizeObserver","attrObserver","FieldTextarea","forwardRef","props","ref","autoresize","textareaProps","textareaRef","useRef","field","useFieldContext","mergedProps","mergeProps","useEffect","jsx","ark","composeRefs","withContext","createRecipeContext","Textarea","Field.Textarea","withFormControl","charLimit","invalid","onContrast","value","rest","_computedVariant","currentCharCount","useMemo","Flex","CTextarea","CharacterCounter","WrappedTextArea","React"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"textarea.component-VN5A4zVD.js","sources":["../../node_modules/@zag-js/auto-resize/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/field/field-textarea.js","../../node_modules/@chakra-ui/react/dist/esm/components/textarea/textarea.js","../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import { getDocument, getWindow, getComputedStyle } from '@zag-js/dom-query';\n\n// src/autoresize-input.ts\nfunction getVisualStyles(node) {\n if (!node) return;\n const style = getComputedStyle(node);\n return \"box-sizing:\" + style.boxSizing + \";border-left:\" + style.borderLeftWidth + \" solid red;border-right:\" + style.borderRightWidth + \" solid red;font-family:\" + style.fontFamily + \";font-feature-settings:\" + style.fontFeatureSettings + \";font-kerning:\" + style.fontKerning + \";font-size:\" + style.fontSize + \";font-stretch:\" + style.fontStretch + \";font-style:\" + style.fontStyle + \";font-variant:\" + style.fontVariant + \";font-variant-caps:\" + style.fontVariantCaps + \";font-variant-ligatures:\" + style.fontVariantLigatures + \";font-variant-numeric:\" + style.fontVariantNumeric + \";font-weight:\" + style.fontWeight + \";letter-spacing:\" + style.letterSpacing + \";margin-left:\" + style.marginLeft + \";margin-right:\" + style.marginRight + \";padding-left:\" + style.paddingLeft + \";padding-right:\" + style.paddingRight + \";text-indent:\" + style.textIndent + \";text-transform:\" + style.textTransform;\n}\n\n// src/autoresize-input.ts\nfunction createGhostElement(doc) {\n var el = doc.createElement(\"div\");\n el.id = \"ghost\";\n el.style.cssText = \"display:inline-block;height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap;\";\n doc.body.appendChild(el);\n return el;\n}\nfunction autoResizeInput(input) {\n if (!input) return;\n const doc = getDocument(input);\n const win = getWindow(input);\n const ghost = createGhostElement(doc);\n const cssText = getVisualStyles(input);\n if (cssText) ghost.style.cssText += cssText;\n function resize() {\n win.requestAnimationFrame(() => {\n ghost.innerHTML = input.value;\n const rect = win.getComputedStyle(ghost);\n input?.style.setProperty(\"width\", rect.width);\n });\n }\n resize();\n input?.addEventListener(\"input\", resize);\n input?.addEventListener(\"change\", resize);\n return () => {\n doc.body.removeChild(ghost);\n input?.removeEventListener(\"input\", resize);\n input?.removeEventListener(\"change\", resize);\n };\n}\nvar autoresizeTextarea = (el) => {\n if (!el) return;\n const style = getComputedStyle(el);\n const win = getWindow(el);\n const doc = getDocument(el);\n const resize = () => {\n requestAnimationFrame(() => {\n el.style.height = \"auto\";\n let newHeight;\n if (style.boxSizing === \"content-box\") {\n newHeight = el.scrollHeight - (parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n } else {\n newHeight = el.scrollHeight + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n }\n if (style.maxHeight !== \"none\" && newHeight > parseFloat(style.maxHeight)) {\n if (style.overflowY === \"hidden\") {\n el.style.overflowY = \"scroll\";\n }\n newHeight = parseFloat(style.maxHeight);\n } else if (style.overflowY !== \"hidden\") {\n el.style.overflowY = \"hidden\";\n }\n el.style.height = `${newHeight}px`;\n });\n };\n el.addEventListener(\"input\", resize);\n el.form?.addEventListener(\"reset\", resize);\n const elementPrototype = Object.getPrototypeOf(el);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(el, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(this, arguments);\n resize();\n }\n });\n const resizeObserver = new win.ResizeObserver(() => {\n requestAnimationFrame(() => resize());\n });\n resizeObserver.observe(el);\n const attrObserver = new win.MutationObserver(() => resize());\n attrObserver.observe(el, { attributes: true, attributeFilter: [\"rows\", \"placeholder\"] });\n doc.fonts?.addEventListener(\"loadingdone\", resize);\n return () => {\n el.removeEventListener(\"input\", resize);\n el.form?.removeEventListener(\"reset\", resize);\n doc.fonts?.removeEventListener(\"loadingdone\", resize);\n resizeObserver.disconnect();\n attrObserver.disconnect();\n };\n};\n\nexport { autoResizeInput, autoresizeTextarea };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { autoresizeTextarea } from '@zag-js/auto-resize';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from './use-field-context.js';\n\nconst FieldTextarea = forwardRef((props, ref) => {\n const { autoresize, ...textareaProps } = props;\n const textareaRef = useRef(null);\n const field = useFieldContext();\n const mergedProps = mergeProps(\n field?.getTextareaProps(),\n { style: { resize: autoresize ? \"none\" : void 0 } },\n textareaProps\n );\n useEffect(() => {\n if (!autoresize) return;\n return autoresizeTextarea(textareaRef.current);\n }, [autoresize]);\n return /* @__PURE__ */ jsx(ark.textarea, { ...mergedProps, ref: composeRefs(ref, textareaRef) });\n});\nFieldTextarea.displayName = \"FieldTextarea\";\n\nexport { FieldTextarea };\n","\"use strict\";\n\"use client\";\nimport { Field } from '@ark-ui/react/field';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\n\nconst { withContext, PropsProvider } = createRecipeContext({\n key: \"textarea\"\n});\nconst Textarea = withContext(\n Field.Textarea\n);\nconst TextareaPropsProvider = PropsProvider;\n\nexport { Textarea, TextareaPropsProvider };\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["autoresizeTextarea","el","style","getComputedStyle","win","getWindow","doc","getDocument","resize","newHeight","elementPrototype","descriptor","resizeObserver","attrObserver","FieldTextarea","forwardRef","props","ref","autoresize","textareaProps","textareaRef","useRef","field","useFieldContext","mergedProps","mergeProps","useEffect","jsx","ark","composeRefs","withContext","createRecipeContext","Textarea","Field.Textarea","withFormControl","charLimit","invalid","onContrast","value","rest","_computedVariant","currentCharCount","useMemo","Flex","CTextarea","CharacterCounter","WrappedTextArea","React"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("./jsx-runtime-BjDatQAs.js"),t=require("react"),W=require("./textInput.component-7QTnQmYu.js"),Y=require("./popover.component-CewrKFIu.js"),F=require("./icon.component-4aaCABoX.js"),G=require("./useIconTextSizeMap-BXmABb54.js"),J=require("./format-BRt-TIiQ.js"),A=require("./config-SdQux5od.js"),K=require("./use-recipe-N0abcau6.js"),h=require("./box-ca2FvcWF.js"),v=require("./use-slot-recipe-CVO1rwGV.js"),Q=A.defineRecipe({base:{borderRadius:"4px",cursor:"pointer",fontSize:"sm",px:3,py:1,textAlign:"center"},variants:{selected:{true:{background:"background.secondary",color:"text.contrast",_hover:{background:"background.secondary.hover"}},false:{background:"background",color:"text.subtle",_hover:{background:"background.secondaryAlpha.hover"}}}},defaultVariants:{selected:!1}}),U=({value:s,innerRef:a,onClick:i,selected:l})=>{const R=K.useRecipe({recipe:Q})({selected:l}),d=t.useCallback(r=>{const p=r.currentTarget.textContent||"";i(p)},[i]);return n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Option","data-testid":"kibble-timepicker-option",ref:a,onClick:d,css:R,children:s})},O=A.defineSlotRecipe({slots:["trigger","container","list"],base:{trigger:{width:"100%"},container:{display:"flex",gap:1.5,height:"186px",overflow:"hidden"},list:{display:"flex",flexDirection:"column",gap:1,overflowY:"auto","&::webkit-scrollbar":{display:"none"}}}}),C=({options:s,optionType:a,selectedValue:i,onClick:l,open:f=!1})=>{const d=v.useSlotRecipe({recipe:O})(),r=t.useRef(null),p=t.useRef(null);return t.useEffect(()=>{f&&p.current&&r.current&&(p.current.scrollTop=r.current?.offsetTop-p.current?.offsetTop)},[f]),n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__List","data-testid":`kibble-timepicker-${a}-list`,css:d.list,children:s.map(c=>n.jsxRuntimeExports.jsx(U,{innerRef:c===i?r:null,value:c,selected:c===i,onClick:l,"data-testid":c},`${a}-option-${c}`))})};var u=(s=>(s.AM="AM",s.PM="PM",s))(u||{});const X=({initialTime:s,inputProps:a,minuteInterval:i=5,onTimeChange:l,placement:f="bottom"})=>{const d=v.useSlotRecipe({recipe:O})(),[r,p]=t.useState(!1),[c,E]=t.useState(s),[k,j]=t.useState(),[m,M]=t.useState(),[b,S]=t.useState(),N=t.useMemo(()=>c?J.format(c,"h:mm aa"):"",[c]),y=e=>{const o=e.toString();return o.length===1?`0${o}`:o},w=t.useMemo(()=>[12,1,2,3,4,5,6,7,8,9,10,11].map(e=>e.toString()),[]),H=t.useMemo(()=>{const e=[];for(let o=0;o<60;o+=i)e.push(o);return e.map(y)},[i]),z=[u.AM,u.PM],x=t.useCallback((e,o,g)=>{const T=e||"12",D=o||"00",P=g||"AM";let _=0;e||j("12"),o||M("00"),g||S("AM"),P===u.PM&&Number(T)<12&&(_=12),P===u.AM&&Number(T)===12&&(_=-12);const $=Number(T)+_,L=new Date().setHours($,Number(D),0,0),q=new Date(L);E(q),l&&l(q)},[l]),I=t.useCallback(e=>{j(e),x(e,m,b)},[x,b,m]),V=t.useCallback(e=>{M(e),x(k,e,b)},[x,k,b]),B=t.useCallback(e=>{S(e),x(k,m,e)},[x,k,m]);return t.useEffect(()=>{if(s){const e=new Date(s),g=e.getHours()%12||12;E(s),j(g.toString()),M(e.getMinutes().toString()),S(e.getHours()>11?u.PM:u.AM)}},[s]),n.jsxRuntimeExports.jsx(Y.Popover,{open:r,onOpenChange:({open:e})=>p(e),anchor:n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Trigger","data-testid":"kibble-timepicker-trigger",css:d.trigger,children:n.jsxRuntimeExports.jsx(W.WrappedTextInput,{placeholder:"12:00 AM",rightElement:n.jsxRuntimeExports.jsx(F.Icon,{size:G.useIconTextSizeMap(a?.size||"md"),name:"clock"}),value:N,readOnly:!0,cursor:"pointer",...a,...r&&{"data-focus":"true"}})}),contentProps:{w:"max-content"},variant:"default",placement:f,children:n.jsxRuntimeExports.jsxs(h.Box,{className:"TimePicker__Container","data-testid":"kibble-timepicker-container",css:d.container,children:[n.jsxRuntimeExports.jsx(C,{options:w,optionType:"hour",selectedValue:k,onClick:I,open:r}),n.jsxRuntimeExports.jsx(C,{options:H,optionType:"minute",selectedValue:m?y(m):void 0,onClick:V,open:r}),n.jsxRuntimeExports.jsx(C,{options:z,optionType:"meridiem",selectedValue:b,onClick:B,open:r})]})})};exports.Meridiem=u;exports.TimePicker=X;
2
- //# sourceMappingURL=timePicker.component-CWQsy1FJ.js.map
1
+ "use strict";const n=require("./jsx-runtime-BjDatQAs.js"),t=require("react"),W=require("./textInput.component-db5JWDOn.js"),Y=require("./popover.component-CewrKFIu.js"),F=require("./icon.component-4aaCABoX.js"),G=require("./useIconTextSizeMap-BXmABb54.js"),J=require("./format-BRt-TIiQ.js"),A=require("./config-SdQux5od.js"),K=require("./use-recipe-N0abcau6.js"),h=require("./box-ca2FvcWF.js"),v=require("./use-slot-recipe-CVO1rwGV.js"),Q=A.defineRecipe({base:{borderRadius:"4px",cursor:"pointer",fontSize:"sm",px:3,py:1,textAlign:"center"},variants:{selected:{true:{background:"background.secondary",color:"text.contrast",_hover:{background:"background.secondary.hover"}},false:{background:"background",color:"text.subtle",_hover:{background:"background.secondaryAlpha.hover"}}}},defaultVariants:{selected:!1}}),U=({value:s,innerRef:a,onClick:i,selected:l})=>{const R=K.useRecipe({recipe:Q})({selected:l}),d=t.useCallback(r=>{const p=r.currentTarget.textContent||"";i(p)},[i]);return n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Option","data-testid":"kibble-timepicker-option",ref:a,onClick:d,css:R,children:s})},O=A.defineSlotRecipe({slots:["trigger","container","list"],base:{trigger:{width:"100%"},container:{display:"flex",gap:1.5,height:"186px",overflow:"hidden"},list:{display:"flex",flexDirection:"column",gap:1,overflowY:"auto","&::webkit-scrollbar":{display:"none"}}}}),C=({options:s,optionType:a,selectedValue:i,onClick:l,open:f=!1})=>{const d=v.useSlotRecipe({recipe:O})(),r=t.useRef(null),p=t.useRef(null);return t.useEffect(()=>{f&&p.current&&r.current&&(p.current.scrollTop=r.current?.offsetTop-p.current?.offsetTop)},[f]),n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__List","data-testid":`kibble-timepicker-${a}-list`,css:d.list,children:s.map(c=>n.jsxRuntimeExports.jsx(U,{innerRef:c===i?r:null,value:c,selected:c===i,onClick:l,"data-testid":c},`${a}-option-${c}`))})};var u=(s=>(s.AM="AM",s.PM="PM",s))(u||{});const X=({initialTime:s,inputProps:a,minuteInterval:i=5,onTimeChange:l,placement:f="bottom"})=>{const d=v.useSlotRecipe({recipe:O})(),[r,p]=t.useState(!1),[c,E]=t.useState(s),[k,j]=t.useState(),[m,M]=t.useState(),[b,S]=t.useState(),N=t.useMemo(()=>c?J.format(c,"h:mm aa"):"",[c]),y=e=>{const o=e.toString();return o.length===1?`0${o}`:o},w=t.useMemo(()=>[12,1,2,3,4,5,6,7,8,9,10,11].map(e=>e.toString()),[]),H=t.useMemo(()=>{const e=[];for(let o=0;o<60;o+=i)e.push(o);return e.map(y)},[i]),z=[u.AM,u.PM],x=t.useCallback((e,o,g)=>{const T=e||"12",D=o||"00",P=g||"AM";let _=0;e||j("12"),o||M("00"),g||S("AM"),P===u.PM&&Number(T)<12&&(_=12),P===u.AM&&Number(T)===12&&(_=-12);const $=Number(T)+_,L=new Date().setHours($,Number(D),0,0),q=new Date(L);E(q),l&&l(q)},[l]),I=t.useCallback(e=>{j(e),x(e,m,b)},[x,b,m]),V=t.useCallback(e=>{M(e),x(k,e,b)},[x,k,b]),B=t.useCallback(e=>{S(e),x(k,m,e)},[x,k,m]);return t.useEffect(()=>{if(s){const e=new Date(s),g=e.getHours()%12||12;E(s),j(g.toString()),M(e.getMinutes().toString()),S(e.getHours()>11?u.PM:u.AM)}},[s]),n.jsxRuntimeExports.jsx(Y.Popover,{open:r,onOpenChange:({open:e})=>p(e),anchor:n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Trigger","data-testid":"kibble-timepicker-trigger",css:d.trigger,children:n.jsxRuntimeExports.jsx(W.WrappedTextInput,{placeholder:"12:00 AM",rightElement:n.jsxRuntimeExports.jsx(F.Icon,{size:G.useIconTextSizeMap(a?.size||"md"),name:"clock"}),value:N,readOnly:!0,cursor:"pointer",...a,...r&&{"data-focus":"true"}})}),contentProps:{w:"max-content"},variant:"default",placement:f,children:n.jsxRuntimeExports.jsxs(h.Box,{className:"TimePicker__Container","data-testid":"kibble-timepicker-container",css:d.container,children:[n.jsxRuntimeExports.jsx(C,{options:w,optionType:"hour",selectedValue:k,onClick:I,open:r}),n.jsxRuntimeExports.jsx(C,{options:H,optionType:"minute",selectedValue:m?y(m):void 0,onClick:V,open:r}),n.jsxRuntimeExports.jsx(C,{options:z,optionType:"meridiem",selectedValue:b,onClick:B,open:r})]})})};exports.Meridiem=u;exports.TimePicker=X;
2
+ //# sourceMappingURL=timePicker.component-Cm2roPxJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timePicker.component-CWQsy1FJ.js","sources":["../../src/components/TimePicker/components/TimeOption/timeOption.recipe.ts","../../src/components/TimePicker/components/TimeOption/timeOption.component.tsx","../../src/components/TimePicker/timePicker.recipe.ts","../../src/components/TimePicker/components/TimeList/timeList.component.tsx","../../src/components/TimePicker/timePicker.types.ts","../../src/components/TimePicker/timePicker.component.tsx"],"sourcesContent":["import { defineRecipe } from \"@chakra-ui/react/styled-system\";\n\nexport const timeOptionRecipe = defineRecipe({\n base: {\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontSize: \"sm\",\n px: 3,\n py: 1,\n textAlign: \"center\",\n },\n variants: {\n selected: {\n true: {\n background: \"background.secondary\",\n color: \"text.contrast\",\n _hover: {\n background: \"background.secondary.hover\",\n },\n },\n false: {\n background: \"background\",\n color: \"text.subtle\",\n _hover: {\n background: \"background.secondaryAlpha.hover\",\n },\n },\n },\n },\n defaultVariants: {\n selected: false,\n },\n});\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timeOptionRecipe } from \"./timeOption.recipe\";\n\ninterface TimeOptionProps {\n innerRef?: React.RefObject<HTMLDivElement | null> | null;\n onClick: (selectedValue: string) => void;\n selected: boolean;\n value: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\n}: TimeOptionProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: timeOptionRecipe });\n const styles = recipe({ selected });\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedValue = event.currentTarget.textContent || \"\";\n onClick(selectedValue);\n },\n [onClick],\n );\n\n return (\n <Box\n className=\"TimePicker__Option\"\n data-testid=\"kibble-timepicker-option\"\n ref={innerRef}\n onClick={handleClick}\n css={styles}\n >\n {value}\n </Box>\n );\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react/styled-system\";\n\nexport const timePickerRecipe = defineSlotRecipe({\n slots: [\"trigger\", \"container\", \"list\"],\n base: {\n trigger: {\n width: \"100%\",\n },\n container: {\n display: \"flex\",\n gap: 1.5,\n height: \"186px\",\n overflow: \"hidden\",\n },\n list: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: 1,\n overflowY: \"auto\",\n \"&::webkit-scrollbar\": {\n display: \"none\",\n },\n },\n },\n});\n","import React, { useEffect, useRef } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { TimeOption } from \"../TimeOption/timeOption.component\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timePickerRecipe } from \"../../timePicker.recipe\";\n\ninterface ScrollContainerProps {\n options: string[];\n optionType: \"hour\" | \"minute\" | \"meridiem\";\n selectedValue?: string;\n onClick: (value: string) => void;\n open: boolean;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop =\n itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [open]);\n\n return (\n <Box\n className=\"TimePicker__List\"\n data-testid={`kibble-timepicker-${optionType}-list`}\n css={styles.list}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={option}\n />\n );\n })}\n </Box>\n );\n};\n","export enum Meridiem {\n AM = \"AM\",\n PM = \"PM\",\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n TextInput,\n TextInputProps,\n} from \"components/TextInput/textInput.component\";\nimport { Popover } from \"components/Popover/popover.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { useIconTextSizeMap } from \"hooks/useIconTextSizeMap\";\nimport format from \"date-fns/format\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { TimeList } from \"./components/TimeList/timeList.component\";\nimport { Meridiem } from \"./timePicker.types\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timePickerRecipe } from \"./timePicker.recipe\";\nimport { Placement } from \"shared/types/placement\";\n\nexport interface TimePickerProps {\n initialTime?: Date;\n inputProps?: Omit<\n TextInputProps,\n \"onChange\" | \"value\" | \"isClearable\" | \"onClear\"\n >;\n minuteInterval?: number;\n onTimeChange?: (time: Date) => void;\n placement?: Placement;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n placement = \"bottom\",\n}: TimePickerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const [isOpen, setIsOpen] = useState(false);\n const [selectedTime, setSelectedTime] = useState(initialTime);\n const [selectedHour, setSelectedHour] = useState<string | undefined>();\n const [selectedMinute, setSelectedMinute] = useState<string | undefined>();\n const [selectedMeridiem, setSelectedMeridiem] = useState<\n string | undefined\n >();\n\n const formattedTime = useMemo(() => {\n if (!selectedTime) return \"\";\n return format(selectedTime, \"h:mm aa\");\n }, [selectedTime]);\n\n const formatNumber = (number: number | string): string => {\n const formattedValue = number.toString();\n if (formattedValue.length === 1) {\n return `0${formattedValue}`;\n }\n\n return formattedValue;\n };\n\n const hourOptions = useMemo(() => {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((hour) =>\n hour.toString(),\n );\n }, []);\n\n const minuteOptions = useMemo(() => {\n const minutes = [];\n for (let i = 0; i < 60; i += minuteInterval) {\n minutes.push(i);\n }\n\n return minutes.map(formatNumber);\n }, [minuteInterval]);\n\n const meridiemOptions = [Meridiem.AM, Meridiem.PM];\n\n const handleTimeChange = useCallback(\n (hour?: string, minute?: string, meridiem?: string) => {\n const _hour = hour || \"12\";\n const _minute = minute || \"00\";\n const _meridiem = meridiem || \"AM\";\n let meridiemAdjustment = 0;\n\n if (!hour) {\n setSelectedHour(\"12\");\n }\n if (!minute) {\n setSelectedMinute(\"00\");\n }\n if (!meridiem) {\n setSelectedMeridiem(\"AM\");\n }\n\n // set 1-11pm to 13-23. Don't set 12pm to 24\n if (_meridiem === Meridiem.PM && Number(_hour) < 12) {\n meridiemAdjustment = 12;\n }\n\n // set 12am to 00\n if (_meridiem === Meridiem.AM && Number(_hour) === 12) {\n meridiemAdjustment = -12;\n }\n\n const hours = Number(_hour) + meridiemAdjustment;\n const time = new Date().setHours(hours, Number(_minute), 0, 0);\n const date = new Date(time);\n setSelectedTime(date);\n\n if (onTimeChange) {\n onTimeChange(date);\n }\n },\n [onTimeChange],\n );\n\n const handleHourClick = useCallback(\n (value: string) => {\n setSelectedHour(value);\n handleTimeChange(value, selectedMinute, selectedMeridiem);\n },\n [handleTimeChange, selectedMeridiem, selectedMinute],\n );\n\n const handleMinuteClick = useCallback(\n (value: string) => {\n setSelectedMinute(value);\n handleTimeChange(selectedHour, value, selectedMeridiem);\n },\n [handleTimeChange, selectedHour, selectedMeridiem],\n );\n\n const handleMeridiemClick = useCallback(\n (value: string) => {\n setSelectedMeridiem(value);\n handleTimeChange(selectedHour, selectedMinute, value);\n },\n [handleTimeChange, selectedHour, selectedMinute],\n );\n\n useEffect(() => {\n // Set default selections based on value passed in\n if (initialTime) {\n const localTime = new Date(initialTime);\n\n // calculate hours\n const hours = localTime.getHours();\n const adjustedHours = hours % 12 || 12;\n\n setSelectedTime(initialTime);\n setSelectedHour(adjustedHours.toString());\n setSelectedMinute(localTime.getMinutes().toString());\n setSelectedMeridiem(\n localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM,\n );\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => setIsOpen(open)}\n anchor={\n <Box\n className=\"TimePicker__Trigger\"\n data-testid=\"kibble-timepicker-trigger\"\n css={styles.trigger}\n >\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Icon\n size={useIconTextSizeMap(inputProps?.size || \"md\")}\n name=\"clock\"\n />\n }\n value={formattedTime}\n readOnly\n cursor=\"pointer\"\n {...inputProps}\n {...(isOpen && { \"data-focus\": \"true\" })}\n />\n </Box>\n }\n contentProps={{ w: \"max-content\" }}\n variant=\"default\"\n placement={placement}\n >\n <Box\n className=\"TimePicker__Container\"\n data-testid=\"kibble-timepicker-container\"\n css={styles.container}\n >\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={\n selectedMinute ? formatNumber(selectedMinute) : undefined\n }\n onClick={handleMinuteClick}\n open={isOpen}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","containerRef","useEffect","option","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","placement","isOpen","setIsOpen","useState","selectedTime","setSelectedTime","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedMeridiem","setSelectedMeridiem","formattedTime","useMemo","format","formatNumber","number","formattedValue","hourOptions","hour","minuteOptions","minutes","i","meridiemOptions","handleTimeChange","minute","meridiem","_hour","_minute","_meridiem","meridiemAdjustment","hours","time","date","handleHourClick","handleMinuteClick","handleMeridiemClick","localTime","adjustedHours","Popover","TextInput","Icon","useIconTextSizeMap","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"timePicker.component-Cm2roPxJ.js","sources":["../../src/components/TimePicker/components/TimeOption/timeOption.recipe.ts","../../src/components/TimePicker/components/TimeOption/timeOption.component.tsx","../../src/components/TimePicker/timePicker.recipe.ts","../../src/components/TimePicker/components/TimeList/timeList.component.tsx","../../src/components/TimePicker/timePicker.types.ts","../../src/components/TimePicker/timePicker.component.tsx"],"sourcesContent":["import { defineRecipe } from \"@chakra-ui/react/styled-system\";\n\nexport const timeOptionRecipe = defineRecipe({\n base: {\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontSize: \"sm\",\n px: 3,\n py: 1,\n textAlign: \"center\",\n },\n variants: {\n selected: {\n true: {\n background: \"background.secondary\",\n color: \"text.contrast\",\n _hover: {\n background: \"background.secondary.hover\",\n },\n },\n false: {\n background: \"background\",\n color: \"text.subtle\",\n _hover: {\n background: \"background.secondaryAlpha.hover\",\n },\n },\n },\n },\n defaultVariants: {\n selected: false,\n },\n});\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timeOptionRecipe } from \"./timeOption.recipe\";\n\ninterface TimeOptionProps {\n innerRef?: React.RefObject<HTMLDivElement | null> | null;\n onClick: (selectedValue: string) => void;\n selected: boolean;\n value: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\n}: TimeOptionProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: timeOptionRecipe });\n const styles = recipe({ selected });\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedValue = event.currentTarget.textContent || \"\";\n onClick(selectedValue);\n },\n [onClick],\n );\n\n return (\n <Box\n className=\"TimePicker__Option\"\n data-testid=\"kibble-timepicker-option\"\n ref={innerRef}\n onClick={handleClick}\n css={styles}\n >\n {value}\n </Box>\n );\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react/styled-system\";\n\nexport const timePickerRecipe = defineSlotRecipe({\n slots: [\"trigger\", \"container\", \"list\"],\n base: {\n trigger: {\n width: \"100%\",\n },\n container: {\n display: \"flex\",\n gap: 1.5,\n height: \"186px\",\n overflow: \"hidden\",\n },\n list: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: 1,\n overflowY: \"auto\",\n \"&::webkit-scrollbar\": {\n display: \"none\",\n },\n },\n },\n});\n","import React, { useEffect, useRef } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { TimeOption } from \"../TimeOption/timeOption.component\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timePickerRecipe } from \"../../timePicker.recipe\";\n\ninterface ScrollContainerProps {\n options: string[];\n optionType: \"hour\" | \"minute\" | \"meridiem\";\n selectedValue?: string;\n onClick: (value: string) => void;\n open: boolean;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop =\n itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [open]);\n\n return (\n <Box\n className=\"TimePicker__List\"\n data-testid={`kibble-timepicker-${optionType}-list`}\n css={styles.list}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={option}\n />\n );\n })}\n </Box>\n );\n};\n","export enum Meridiem {\n AM = \"AM\",\n PM = \"PM\",\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n TextInput,\n TextInputProps,\n} from \"components/TextInput/textInput.component\";\nimport { Popover } from \"components/Popover/popover.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { useIconTextSizeMap } from \"hooks/useIconTextSizeMap\";\nimport format from \"date-fns/format\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { TimeList } from \"./components/TimeList/timeList.component\";\nimport { Meridiem } from \"./timePicker.types\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timePickerRecipe } from \"./timePicker.recipe\";\nimport { Placement } from \"shared/types/placement\";\n\nexport interface TimePickerProps {\n initialTime?: Date;\n inputProps?: Omit<\n TextInputProps,\n \"onChange\" | \"value\" | \"isClearable\" | \"onClear\"\n >;\n minuteInterval?: number;\n onTimeChange?: (time: Date) => void;\n placement?: Placement;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n placement = \"bottom\",\n}: TimePickerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const [isOpen, setIsOpen] = useState(false);\n const [selectedTime, setSelectedTime] = useState(initialTime);\n const [selectedHour, setSelectedHour] = useState<string | undefined>();\n const [selectedMinute, setSelectedMinute] = useState<string | undefined>();\n const [selectedMeridiem, setSelectedMeridiem] = useState<\n string | undefined\n >();\n\n const formattedTime = useMemo(() => {\n if (!selectedTime) return \"\";\n return format(selectedTime, \"h:mm aa\");\n }, [selectedTime]);\n\n const formatNumber = (number: number | string): string => {\n const formattedValue = number.toString();\n if (formattedValue.length === 1) {\n return `0${formattedValue}`;\n }\n\n return formattedValue;\n };\n\n const hourOptions = useMemo(() => {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((hour) =>\n hour.toString(),\n );\n }, []);\n\n const minuteOptions = useMemo(() => {\n const minutes = [];\n for (let i = 0; i < 60; i += minuteInterval) {\n minutes.push(i);\n }\n\n return minutes.map(formatNumber);\n }, [minuteInterval]);\n\n const meridiemOptions = [Meridiem.AM, Meridiem.PM];\n\n const handleTimeChange = useCallback(\n (hour?: string, minute?: string, meridiem?: string) => {\n const _hour = hour || \"12\";\n const _minute = minute || \"00\";\n const _meridiem = meridiem || \"AM\";\n let meridiemAdjustment = 0;\n\n if (!hour) {\n setSelectedHour(\"12\");\n }\n if (!minute) {\n setSelectedMinute(\"00\");\n }\n if (!meridiem) {\n setSelectedMeridiem(\"AM\");\n }\n\n // set 1-11pm to 13-23. Don't set 12pm to 24\n if (_meridiem === Meridiem.PM && Number(_hour) < 12) {\n meridiemAdjustment = 12;\n }\n\n // set 12am to 00\n if (_meridiem === Meridiem.AM && Number(_hour) === 12) {\n meridiemAdjustment = -12;\n }\n\n const hours = Number(_hour) + meridiemAdjustment;\n const time = new Date().setHours(hours, Number(_minute), 0, 0);\n const date = new Date(time);\n setSelectedTime(date);\n\n if (onTimeChange) {\n onTimeChange(date);\n }\n },\n [onTimeChange],\n );\n\n const handleHourClick = useCallback(\n (value: string) => {\n setSelectedHour(value);\n handleTimeChange(value, selectedMinute, selectedMeridiem);\n },\n [handleTimeChange, selectedMeridiem, selectedMinute],\n );\n\n const handleMinuteClick = useCallback(\n (value: string) => {\n setSelectedMinute(value);\n handleTimeChange(selectedHour, value, selectedMeridiem);\n },\n [handleTimeChange, selectedHour, selectedMeridiem],\n );\n\n const handleMeridiemClick = useCallback(\n (value: string) => {\n setSelectedMeridiem(value);\n handleTimeChange(selectedHour, selectedMinute, value);\n },\n [handleTimeChange, selectedHour, selectedMinute],\n );\n\n useEffect(() => {\n // Set default selections based on value passed in\n if (initialTime) {\n const localTime = new Date(initialTime);\n\n // calculate hours\n const hours = localTime.getHours();\n const adjustedHours = hours % 12 || 12;\n\n setSelectedTime(initialTime);\n setSelectedHour(adjustedHours.toString());\n setSelectedMinute(localTime.getMinutes().toString());\n setSelectedMeridiem(\n localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM,\n );\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => setIsOpen(open)}\n anchor={\n <Box\n className=\"TimePicker__Trigger\"\n data-testid=\"kibble-timepicker-trigger\"\n css={styles.trigger}\n >\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Icon\n size={useIconTextSizeMap(inputProps?.size || \"md\")}\n name=\"clock\"\n />\n }\n value={formattedTime}\n readOnly\n cursor=\"pointer\"\n {...inputProps}\n {...(isOpen && { \"data-focus\": \"true\" })}\n />\n </Box>\n }\n contentProps={{ w: \"max-content\" }}\n variant=\"default\"\n placement={placement}\n >\n <Box\n className=\"TimePicker__Container\"\n data-testid=\"kibble-timepicker-container\"\n css={styles.container}\n >\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={\n selectedMinute ? formatNumber(selectedMinute) : undefined\n }\n onClick={handleMinuteClick}\n open={isOpen}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","containerRef","useEffect","option","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","placement","isOpen","setIsOpen","useState","selectedTime","setSelectedTime","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedMeridiem","setSelectedMeridiem","formattedTime","useMemo","format","formatNumber","number","formattedValue","hourOptions","hour","minuteOptions","minutes","i","meridiemOptions","handleTimeChange","minute","meridiem","_hour","_minute","_meridiem","meridiemAdjustment","hours","time","date","handleHourClick","handleMinuteClick","handleMeridiemClick","localTime","adjustedHours","Popover","TextInput","Icon","useIconTextSizeMap","jsxs"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { j as o } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { useCallback as h, useRef as w, useEffect as H, useState as b, useMemo as R } from "react";
3
- import { W as G } from "./textInput.component-c9ySCd-c.js";
3
+ import { W as G } from "./textInput.component-D2StzwsH.js";
4
4
  import { P as J } from "./popover.component-8ETQVr48.js";
5
5
  import { I as K } from "./icon.component-BmcWaysM.js";
6
6
  import { u as Q } from "./useIconTextSizeMap-BK-pUrQv.js";
@@ -246,4 +246,4 @@ export {
246
246
  u as M,
247
247
  fe as T
248
248
  };
249
- //# sourceMappingURL=timePicker.component-DayAeaAE.js.map
249
+ //# sourceMappingURL=timePicker.component-sttSyiVV.js.map