@servicetitan/anvil2 1.40.0 → 1.40.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/{Calendar-C2ONV7cq.js → Calendar-2q8zRbMK.js} +2 -2
- package/dist/{Calendar-C2ONV7cq.js.map → Calendar-2q8zRbMK.js.map} +1 -1
- package/dist/{Calendar-DixTCgAW-CfphBge0.js → Calendar-KVYGk3wS-CEptqxjI.js} +3 -3
- package/dist/{Calendar-DixTCgAW-CfphBge0.js.map → Calendar-KVYGk3wS-CEptqxjI.js.map} +1 -1
- package/dist/Calendar.js +1 -1
- package/dist/{Checkbox-BNrjUtHs-BBLXLwO5.js → Checkbox-Qucv_PK8-Bovwdnlj.js} +7 -18
- package/dist/Checkbox-Qucv_PK8-Bovwdnlj.js.map +1 -0
- package/dist/{Checkbox-Dxr3rgQV.js → Checkbox-cfgZP7Z2.js} +2 -2
- package/dist/{Checkbox-Dxr3rgQV.js.map → Checkbox-cfgZP7Z2.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Combobox-C7nV-w8I.js → Combobox-3l2SK47T.js} +4 -4
- package/dist/{Combobox-C7nV-w8I.js.map → Combobox-3l2SK47T.js.map} +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DateField-Df42sxE9.js → DateField-CfNLRY0D.js} +6 -6
- package/dist/{DateField-Df42sxE9.js.map → DateField-CfNLRY0D.js.map} +1 -1
- package/dist/DateField.js +1 -1
- package/dist/{DateFieldRange-DQJ_FMeA.js → DateFieldRange-BEL4Jdy8.js} +2 -2
- package/dist/{DateFieldRange-DQJ_FMeA.js.map → DateFieldRange-BEL4Jdy8.js.map} +1 -1
- package/dist/{DateFieldRange--ZCTVrKX-DoogWMrm.js → DateFieldRange-DtppOifM-DZvtSHar.js} +5 -5
- package/dist/{DateFieldRange--ZCTVrKX-DoogWMrm.js.map → DateFieldRange-DtppOifM-DZvtSHar.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BXPhS91g.js → DateFieldSingle-CJ6j0p1L.js} +2 -2
- package/dist/{DateFieldSingle-BXPhS91g.js.map → DateFieldSingle-CJ6j0p1L.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DaysOfTheWeek-C4ZGriW7.js → DaysOfTheWeek-Dl31wkmU.js} +2 -2
- package/dist/{DaysOfTheWeek-C4ZGriW7.js.map → DaysOfTheWeek-Dl31wkmU.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-CBWaZO5U.js → Dialog-CJZEBa5r.js} +31 -35
- package/dist/Dialog-CJZEBa5r.js.map +1 -0
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-Be0tyTMM.js → Drawer-Cj3nJc4k.js} +2 -2
- package/dist/{Drawer-Be0tyTMM.js.map → Drawer-Cj3nJc4k.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/{InputMask-DYthrVaU.js → InputMask-BdLGTTAk.js} +2 -2
- package/dist/{InputMask-DYthrVaU.js.map → InputMask-BdLGTTAk.js.map} +1 -1
- package/dist/{InputMask-CiHg25XE--lofQ4oF.js → InputMask-Hn-xudp1-BKhtZ7Zk.js} +15 -3
- package/dist/InputMask-Hn-xudp1-BKhtZ7Zk.js.map +1 -0
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-DgrUsTC8.js → ListView-_YFTewqc.js} +3 -3
- package/dist/{ListView-DgrUsTC8.js.map → ListView-_YFTewqc.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Menu-By8ps-lb.js → Menu-1EwVMNIw.js} +2 -2
- package/dist/{Menu-By8ps-lb.js.map → Menu-1EwVMNIw.js.map} +1 -1
- package/dist/{Menu-jt64Cbkd-mK95uUq6.js → Menu-CffX1bPZ-BeEOvryY.js} +3 -3
- package/dist/{Menu-jt64Cbkd-mK95uUq6.js.map → Menu-CffX1bPZ-BeEOvryY.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{Overflow-BrXwlYpn-CtqaiNgb.js → Overflow-CFClqFVC-BKqOBCan.js} +43 -17
- package/dist/Overflow-CFClqFVC-BKqOBCan.js.map +1 -0
- package/dist/{Overflow-BrXwlYpn.css → Overflow-CFClqFVC.css} +29 -26
- package/dist/{Overflow-B6rIOkAI.js → Overflow-w-3_04fS.js} +2 -2
- package/dist/{Overflow-B6rIOkAI.js.map → Overflow-w-3_04fS.js.map} +1 -1
- package/dist/Overflow.js +1 -1
- package/dist/{Page-DoCYLmH8.js → Page-BikjTlTM.js} +5 -5
- package/dist/{Page-DoCYLmH8.js.map → Page-BikjTlTM.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/Pagination.js.map +1 -1
- package/dist/{Popover-CVCAWhdO-CJw1mW49.js → Popover-jcmNuir0-DjlCqU1z.js} +10 -50
- package/dist/Popover-jcmNuir0-DjlCqU1z.js.map +1 -0
- package/dist/{Popover-Dv7ntx4P.js → Popover-rB4BVx-A.js} +2 -2
- package/dist/{Popover-Dv7ntx4P.js.map → Popover-rB4BVx-A.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-Eeudkcyc.js → ProgressBar-BL34rg_J.js} +2 -2
- package/dist/{ProgressBar-Eeudkcyc.js.map → ProgressBar-BL34rg_J.js.map} +1 -1
- package/dist/{ProgressBar-CZhkKwaS-dlDRDjxo.js → ProgressBar-CzXzPpIX-Clg1J71o.js} +77 -32
- package/dist/ProgressBar-CzXzPpIX-Clg1J71o.js.map +1 -0
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-DiBn0-hf-hhLKXDdl.js → Radio-BnOSIK1U-1MmGQFPi.js} +3 -3
- package/dist/{Radio-DiBn0-hf-hhLKXDdl.js.map → Radio-BnOSIK1U-1MmGQFPi.js.map} +1 -1
- package/dist/{Radio-Dx2GeEZp.js → Radio-BzZUxQa6.js} +2 -2
- package/dist/{Radio-Dx2GeEZp.js.map → Radio-BzZUxQa6.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{SearchField-BQY7LHe2.js → SearchField-BGPqpnVd.js} +2 -2
- package/dist/{SearchField-BQY7LHe2.js.map → SearchField-BGPqpnVd.js.map} +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/{SelectCard-CL8T4DQb-ClozUyqV.js → SelectCard-ynL5QcZD-BtBzMtyR.js} +4 -4
- package/dist/{SelectCard-CL8T4DQb-ClozUyqV.js.map → SelectCard-ynL5QcZD-BtBzMtyR.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/{SelectCardGroup-KTtcsOar.js → SelectCardGroup-D6GuJJB2.js} +2 -2
- package/dist/{SelectCardGroup-KTtcsOar.js.map → SelectCardGroup-D6GuJJB2.js.map} +1 -1
- package/dist/{SelectTrigger-BvUO-g1F.js → SelectTrigger-Bo2VPAD0.js} +2 -2
- package/dist/{SelectTrigger-BvUO-g1F.js.map → SelectTrigger-Bo2VPAD0.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-BMhRDkFW-DjkagPpu.js → SelectTriggerBase-BGHwx0mN-B3HiW5tQ.js} +3 -3
- package/dist/{SelectTriggerBase-BMhRDkFW-DjkagPpu.js.map → SelectTriggerBase-BGHwx0mN-B3HiW5tQ.js.map} +1 -1
- package/dist/{Stepper-CwIV7ZiT.js → Stepper-BtbDBIzz.js} +2 -2
- package/dist/{Stepper-CwIV7ZiT.js.map → Stepper-BtbDBIzz.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{TextField-C5KbQxoU-CSkSyt7P.js → TextField-BIeCvDD--C7yp05g5.js} +3 -3
- package/dist/{TextField-C5KbQxoU-CSkSyt7P.js.map → TextField-BIeCvDD--C7yp05g5.js.map} +1 -1
- package/dist/{TextField-0XKj7lDu.js → TextField-COXABNrR.js} +2 -2
- package/dist/{TextField-0XKj7lDu.js.map → TextField-COXABNrR.js.map} +1 -1
- package/dist/TextField.css +27 -24
- package/dist/TextField.js +1 -1
- package/dist/TextField.module-EkKlj66e-EkKlj66e.js +20 -0
- package/dist/{TextField.module-ChLlwuT--ChLlwuT-.js.map → TextField.module-EkKlj66e-EkKlj66e.js.map} +1 -1
- package/dist/{Textarea-DkSeFIg7.js → Textarea-D6K3Jc5_.js} +2 -2
- package/dist/{Textarea-DkSeFIg7.js.map → Textarea-D6K3Jc5_.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/Toast.js +1 -1
- package/dist/{Toolbar-38Z9fVxY.js → Toolbar-CLsgDAKk.js} +3 -3
- package/dist/{Toolbar-38Z9fVxY.js.map → Toolbar-CLsgDAKk.js.map} +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-BwUVaBEo.js → Tooltip-B_swJyoW.js} +2 -2
- package/dist/{Tooltip-BwUVaBEo.js.map → Tooltip-B_swJyoW.js.map} +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/components/Dialog/Dialog.d.ts +1 -0
- package/dist/components/Drawer/Drawer.d.ts +1 -0
- package/dist/index.js +26 -26
- package/dist/{toast-CWVuLkyv.js → toast-CJSBieY0.js} +2 -2
- package/dist/{toast-CWVuLkyv.js.map → toast-CJSBieY0.js.map} +1 -1
- package/package.json +2 -2
- package/dist/Checkbox-BNrjUtHs-BBLXLwO5.js.map +0 -1
- package/dist/Dialog-CBWaZO5U.js.map +0 -1
- package/dist/InputMask-CiHg25XE--lofQ4oF.js.map +0 -1
- package/dist/Overflow-BrXwlYpn-CtqaiNgb.js.map +0 -1
- package/dist/Popover-CVCAWhdO-CJw1mW49.js.map +0 -1
- package/dist/ProgressBar-CZhkKwaS-dlDRDjxo.js.map +0 -1
- package/dist/TextField.module-ChLlwuT--ChLlwuT-.js +0 -20
- /package/dist/{Calendar-DixTCgAW.css → Calendar-KVYGk3wS.css} +0 -0
- /package/dist/{Menu-jt64Cbkd.css → Menu-CffX1bPZ.css} +0 -0
- /package/dist/{Popover-CVCAWhdO.css → Popover-jcmNuir0.css} +0 -0
- /package/dist/{ProgressBar-CZhkKwaS.css → ProgressBar-CzXzPpIX.css} +0 -0
- /package/dist/{Radio-DiBn0-hf.css → Radio-BnOSIK1U.css} +0 -0
- /package/dist/{SelectCard-CL8T4DQb.css → SelectCard-ynL5QcZD.css} +0 -0
- /package/dist/{SelectTriggerBase-BMhRDkFW.css → SelectTriggerBase-BGHwx0mN.css} +0 -0
package/dist/Pagination.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../hammer-react/dist/Pagination-DYgFOyjd.js","../src/components/Pagination/internal/usePaginationArray.ts","../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport cx from 'classnames';\nimport { B as ButtonToggle } from './ButtonToggle-Bm4KRl3o.js';\nimport { M as Menu } from './Menu-jt64Cbkd.js';\nimport IconMoreHoriz from '@servicetitan/hammer-icon/mdi/round/more_horiz.svg';\nimport IconKeyboardArrowDown from '@servicetitan/hammer-icon/mdi/round/keyboard_arrow_down.svg';\nimport { B as Button } from './Button-BaHFf1AT.js';\nimport { T as Text } from './Text-DCvcLCvf.js';\nimport { F as Flex } from './Flex-CiK7uNUu.js';\nimport Prev from '@servicetitan/hammer-icon/mdi/round/keyboard_arrow_left.svg';\nimport Next from '@servicetitan/hammer-icon/mdi/round/keyboard_arrow_right.svg';\n\nimport './Pagination.css';const pagination = \"_pagination_1gk5t_2\";\nconst styles$5 = {\n\tpagination: pagination\n};\n\nconst styles$4 = {\n\t\"pagination-item\": \"_pagination-item_1fk4w_2\",\n\t\"pagination-item-button\": \"_pagination-item-button_1fk4w_15\"\n};\n\nconst PaginationItem = forwardRef(\n (props, ref) => {\n const { page, isActive, onClick, className, ...rest } = props;\n const paginationClassName = cx(styles$4[\"pagination-item\"], className);\n const paginationButtonClassName = cx(styles$4[\"pagination-item-button\"], {\n [styles$4.active]: isActive\n });\n return /* @__PURE__ */ jsx(\"li\", { ref, ...rest, className: paginationClassName, children: /* @__PURE__ */ jsx(\n ButtonToggle,\n {\n className: paginationButtonClassName,\n size: \"small\",\n onClick,\n \"aria-current\": isActive ? \"page\" : void 0,\n checked: isActive,\n children: page\n }\n ) });\n }\n);\nPaginationItem.displayName = \"PaginationItem\";\n\nconst styles$3 = {\n\t\"pagination-item-overflow-menu\": \"_pagination-item-overflow-menu_ainsh_2\",\n\t\"pagination-item-overflow-menu-content\": \"_pagination-item-overflow-menu-content_ainsh_7\"\n};\n\nconst PaginationOverflowMenu = forwardRef((props, ref) => {\n const { startPage, endPage, length, onItemClick, ...rest } = props;\n return /* @__PURE__ */ jsx(\"li\", { className: styles$3[\"pagination-item-overflow-menu\"], ref, ...rest, children: /* @__PURE__ */ jsx(\n Menu,\n {\n icon: IconMoreHoriz,\n size: \"small\",\n appearance: \"ghost\",\n maxHeight: 200,\n contentClassName: styles$3[\"pagination-item-overflow-menu-content\"],\n \"aria-label\": \"More pages\",\n children: Array.from({ length }).map((_, index) => /* @__PURE__ */ jsx(\n Menu.Item,\n {\n label: `${startPage + index}`,\n onClick: () => {\n onItemClick(startPage + index);\n }\n },\n index\n ))\n },\n `${startPage}-${endPage}`\n ) });\n});\nPaginationOverflowMenu.displayName = \"PaginationOverflowMenu\";\n\nconst styles$2 = {\n\t\"pagination-items-per-page-button\": \"_pagination-items-per-page-button_8rijc_2\"\n};\n\nconst PaginationItemsPerPageMenu = forwardRef((props, ref) => {\n const { itemsPerPage, itemsPerPageOptions, onItemsPerPageChange } = props;\n return /* @__PURE__ */ jsxs(Flex, { alignItems: \"center\", gap: \"2\", ref, children: [\n /* @__PURE__ */ jsx(Text, { size: \"small\", children: \"Rows per page\" }),\n /* @__PURE__ */ jsx(\n Menu,\n {\n trigger: ({ ref: ref2, ...rest }) => {\n return /* @__PURE__ */ jsx(\n Button,\n {\n ref: ref2,\n ...rest,\n className: styles$2[\"pagination-items-per-page-button\"],\n appearance: \"ghost\",\n icon: { after: IconKeyboardArrowDown },\n size: \"small\",\n children: itemsPerPage\n }\n );\n },\n children: itemsPerPageOptions.map((option) => /* @__PURE__ */ jsx(\n Menu.Item,\n {\n label: option,\n onClick: () => {\n onItemsPerPageChange?.(option);\n }\n },\n option\n ))\n }\n )\n ] });\n});\nPaginationItemsPerPageMenu.displayName = \"PaginationItemsPerPageMenu\";\n\nconst styles$1 = {\n\t\"pagination-list\": \"_pagination-list_tabhr_2\"\n};\n\nconst PaginationList = forwardRef(\n (props, ref) => {\n const { page, totalPages, children, onPageChange, className } = props;\n const paginationListClassName = cx(styles$1[\"pagination-list\"], className);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n Button,\n {\n appearance: \"ghost\",\n icon: Prev,\n size: \"small\",\n \"aria-label\": \"Previous page\",\n disabled: page === 1,\n onClick: () => {\n if (page > 1) {\n onPageChange?.(page - 1);\n }\n }\n }\n ),\n /* @__PURE__ */ jsx(\"ul\", { ref, className: paginationListClassName, children }),\n /* @__PURE__ */ jsx(\n Button,\n {\n appearance: \"ghost\",\n icon: Next,\n size: \"small\",\n \"aria-label\": \"Next page\",\n disabled: page === totalPages,\n onClick: () => {\n if (page < totalPages) {\n onPageChange?.(page + 1);\n }\n }\n }\n )\n ] });\n }\n);\nPaginationList.displayName = \"PaginationList\";\n\nconst styles = {\n\t\"pagination-total-count\": \"_pagination-total-count_efq0t_2\"\n};\n\nconst PaginationTotalCount = ({\n firstItem,\n lastItem,\n totalCount,\n className\n}) => {\n const paginationTotalCountClassName = cx(\n styles[\"pagination-total-count\"],\n className\n );\n return /* @__PURE__ */ jsxs(\n Text,\n {\n size: \"small\",\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\",\n className: paginationTotalCountClassName,\n children: [\n firstItem,\n \" - \",\n lastItem,\n \" \",\n totalCount ? `of ${totalCount}` : \"\",\n \" items\"\n ]\n }\n );\n};\n\nconst PaginationElement = forwardRef(\n (props, ref) => {\n const { className, children, ...rest } = props;\n const paginationClassName = cx(styles$5.pagination, className);\n return /* @__PURE__ */ jsx(\"nav\", { ref, className: paginationClassName, ...rest, children });\n }\n);\nPaginationElement.displayName = \"Pagination\";\nconst Pagination = Object.assign(PaginationElement, {\n List: PaginationList,\n Item: PaginationItem,\n OverflowMenu: PaginationOverflowMenu,\n ItemsPerPageMenu: PaginationItemsPerPageMenu,\n TotalCount: PaginationTotalCount\n});\n\nexport { Pagination as P };\n//# sourceMappingURL=Pagination-DYgFOyjd.js.map\n","import { useMemo, useRef } from \"react\";\n\nexport type PageArrayItem =\n | { type: \"page\"; page: number }\n | { type: \"overflow\"; startPage: number; endPage: number; length: number };\n\n/**\n * Custom hook for managing pagination array state and generation.\n *\n * Features:\n * - Automatically generates pagination array based on current page and total pages\n * - Avoids unnecessary regeneration if the current page is already visible\n * - Updates array when page or total pages change and the visible set must change\n * - Handles jumps to first/last page with overflow between current and target\n * - Provides stable reference for the current pagination array\n *\n * @param page The currently selected page\n * @param totalPages Total number of pages\n * @param maxArrayLength Maximum length of the pagination array (including overflows)\n * @returns The current pagination array\n *\n * @example\n * const pageArray = usePaginationArray({\n * page: 5,\n * totalPages: 10,\n * maxArrayLength: 7\n * });\n */\nexport const usePaginationArray = ({\n page,\n totalPages,\n maxArrayLength = 7,\n}: {\n page: number;\n totalPages: number;\n maxArrayLength?: number;\n}): PageArrayItem[] => {\n const prevRef = useRef<{\n array: PageArrayItem[];\n totalPages: number;\n maxArrayLength: number;\n prevPage: number;\n } | null>(null);\n\n return useMemo(() => {\n const maxPagesToShow = maxArrayLength - 2;\n let result: PageArrayItem[] = [];\n const addRange = (start: number, end: number) => {\n const count = end - start + 1;\n if (count === 1) {\n result.push({ type: \"page\", page: start });\n } else if (count >= 2) {\n result.push({\n type: \"overflow\",\n startPage: start,\n endPage: end,\n length: count,\n });\n }\n };\n\n if (totalPages <= maxArrayLength) {\n result = Array.from({ length: totalPages }, (_, i) => ({\n type: \"page\" as const,\n page: i + 1,\n }));\n } else if (page <= maxPagesToShow) {\n // Leading section\n for (let i = 1; i <= maxPagesToShow; i++) {\n result.push({ type: \"page\", page: i });\n }\n addRange(maxArrayLength - 1, totalPages - 1);\n result.push({ type: \"page\", page: totalPages });\n } else if (page >= totalPages - maxPagesToShow + 1) {\n // Trailing section\n result.push({ type: \"page\", page: 1 });\n addRange(2, totalPages - maxPagesToShow);\n for (let i = totalPages - (maxPagesToShow - 1); i <= totalPages; i++) {\n result.push({ type: \"page\", page: i });\n }\n } else {\n // Middle section\n result.push({ type: \"page\", page: 1 });\n addRange(2, page - 2);\n result.push({ type: \"page\", page: page - 1 });\n result.push({ type: \"page\", page: page });\n result.push({ type: \"page\", page: page + 1 });\n addRange(page + 2, totalPages - 1);\n result.push({ type: \"page\", page: totalPages });\n }\n\n const prev = prevRef.current;\n\n // Check if we should remake array due to overflow between pages or new page being in overflow\n let shouldRemakeForJump = false;\n if (\n prev &&\n prev.totalPages === totalPages &&\n prev.maxArrayLength === maxArrayLength\n ) {\n // Check if there is overflow between the new page and the current page\n const start = Math.min(prev.prevPage, page);\n const end = Math.max(prev.prevPage, page);\n const hasOverflowBetween = prev.array.some(\n (item) =>\n item.type === \"overflow\" &&\n // Check if overflow intersects with the range (not completely covers)\n !(item.endPage < start || item.startPage > end),\n );\n\n // Check if the new page is part of an overflow\n const newPageInOverflow = prev.array.some(\n (item) =>\n item.type === \"overflow\" &&\n item.startPage <= page &&\n item.endPage >= page,\n );\n\n shouldRemakeForJump = hasOverflowBetween || newPageInOverflow;\n }\n\n // If we should remake for jump, always return the new array\n if (shouldRemakeForJump) {\n prevRef.current = {\n array: result,\n totalPages,\n maxArrayLength,\n prevPage: page,\n };\n return result;\n }\n\n // Optimization: if the new page is already present in the previous array, reuse the array\n if (\n prev &&\n prev.totalPages === totalPages &&\n prev.maxArrayLength === maxArrayLength &&\n prev.array.some((item) => item.type === \"page\" && item.page === page)\n ) {\n return prev.array;\n }\n\n prevRef.current = {\n array: result,\n totalPages,\n maxArrayLength,\n prevPage: page,\n };\n return result;\n }, [page, totalPages, maxArrayLength]);\n};\n","import {\n Pagination as CorePagination,\n useMergeRefs,\n type PaginationProps as CorePaginationProps,\n} from \"@servicetitan/hammer-react\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\nimport { forwardRef, useLayoutEffect, useRef, useState } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { usePaginationArray } from \"./internal/usePaginationArray\";\nimport { SrOnly } from \"../SrOnly\";\nimport styles from \"./Pagination.module.scss\";\nimport cx from \"classnames\";\nimport { core } from \"@servicetitan/hammer-token\";\n\n/**\n * Props for the Pagination component\n * @property {number} page - The current page number\n * @property {number} itemsPerPage - Number of items displayed per page\n * @property {number[]} [itemsPerPageOptions] - Available options for items per page selection\n * @property {number} [totalItemCount] - Total number of items across all pages\n * @property {boolean} [showCount] - Whether to display the item count information\n * @property {(page: number) => void} [onPageChange] - Callback when page changes\n * @property {(page: number) => void} [onNextClick] - Callback when next button is clicked\n * @property {(itemsPerPage: number) => void} [onItemsPerPageChange] - Callback when items per page changes\n * @property {(page: number) => void} [onPreviousClick] - Callback when previous button is clicked\n * @extends Omit<CorePaginationProps, \"children\">\n * @extends DataTrackingId\n */\nexport type PaginationProps = Omit<CorePaginationProps, \"children\"> &\n DataTrackingId & {\n page: number;\n itemsPerPage: number;\n itemsPerPageOptions?: number[];\n totalItemCount?: number;\n showCount?: boolean;\n onPageChange?: (page: number) => void;\n onItemsPerPageChange?: (itemsPerPage: number) => void;\n };\n\n/**\n * Pagination component for navigating through paginated content with automatic page array generation.\n *\n * Features:\n * - Automatic page array generation with overflow handling\n * - Supports items per page selection with customizable options\n * - Displays item count information with screen reader support\n * - Handles edge cases like invalid page numbers\n * - Includes previous/next navigation buttons\n * - Supports overflow menus for large page ranges\n * - Fully accessible with proper ARIA attributes\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Pagination\n * page={1}\n * itemsPerPage={10}\n * totalItemCount={100}\n * itemsPerPageOptions={[10, 20, 50]}\n * showCount={true}\n * onPageChange={(page) => console.log('Page changed to:', page)}\n * onItemsPerPageChange={(itemsPerPage) => console.log('Items per page:', itemsPerPage)}\n * />\n */\nexport const Pagination = forwardRef<HTMLDivElement, PaginationProps>(\n (props, ref) => {\n const {\n \"aria-label\": ariaLabel,\n page,\n itemsPerPage,\n itemsPerPageOptions,\n totalItemCount: totalItemCountProp,\n showCount,\n onPageChange,\n onItemsPerPageChange,\n className,\n ...rest\n } = props;\n\n const data = {\n \"aria-label\": ariaLabel,\n };\n\n const trackingId = useTrackingId({\n name: \"Pagination\",\n data,\n hasOverride: !!rest[\"data-tracking-id\"],\n });\n const totalItemCount = totalItemCountProp ?? 0;\n const totalPages = Math.ceil(totalItemCount / itemsPerPage);\n const elRef = useRef<HTMLDivElement>(null);\n const combinedRef = useMergeRefs([elRef, ref]);\n const [isNarrow, setIsNarrow] = useState(false);\n\n const pageArray = usePaginationArray({\n page,\n totalPages,\n maxArrayLength: 7,\n });\n\n // Check if current page is available in the pageArray, fallback to page 1 if not\n const isPageAvailable = pageArray.some(\n (item) => item.type === \"page\" && item.page === page,\n );\n\n if (!isPageAvailable && page !== 1 && totalPages > 0) {\n // Use requestAnimationFrame to avoid calling onPageChange during render\n requestAnimationFrame(() => {\n onPageChange?.(1);\n });\n }\n\n const firstItem = 1 + (page - 1) * itemsPerPage;\n const lastItem = firstItem - 1 + itemsPerPage;\n const itemRangeText = `${firstItem} - ${lastItem} ${\n totalItemCount ? `of ${totalItemCount}` : \"\"\n } items`;\n\n useLayoutEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry) {\n setIsNarrow(\n entry.contentRect.width <\n Number(core.primitive.BreakpointSm.value.replace(\"px\", \"\")),\n );\n }\n });\n if (elRef.current) {\n resizeObserver.observe(elRef.current);\n }\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n return (\n <CorePagination\n ref={combinedRef}\n data-tracking-id={trackingId}\n className={cx(styles.pagination, className)}\n >\n <CorePagination.List\n page={page}\n totalPages={totalPages}\n onPageChange={(page) => onPageChange?.(page)}\n className={styles.paginationList}\n >\n {pageArray.map((item) => {\n if (item.type === \"page\") {\n return (\n <CorePagination.Item\n key={item.page}\n page={item.page}\n isActive={item.page === page}\n onClick={() => onPageChange?.(item.page)}\n />\n );\n }\n return (\n <CorePagination.OverflowMenu\n key={item.startPage}\n startPage={item.startPage}\n endPage={item.endPage}\n length={item.length}\n onItemClick={(item) => onPageChange?.(item)}\n />\n );\n })}\n </CorePagination.List>\n {isNarrow === false && (\n <>\n {itemsPerPageOptions && (\n <CorePagination.ItemsPerPageMenu\n itemsPerPage={itemsPerPage}\n itemsPerPageOptions={itemsPerPageOptions}\n onItemsPerPageChange={(itemsPerPage) =>\n onItemsPerPageChange?.(itemsPerPage)\n }\n />\n )}\n {showCount && (\n <CorePagination.TotalCount\n firstItem={firstItem}\n lastItem={lastItem}\n totalCount={totalItemCount}\n />\n )}\n </>\n )}\n {!showCount || isNarrow ? (\n <SrOnly aria-live=\"polite\" aria-atomic=\"true\">\n {itemRangeText}\n </SrOnly>\n ) : null}\n </CorePagination>\n );\n },\n);\n\nPagination.displayName = \"Pagination\";\n"],"names":["pagination","IconMoreHoriz","IconKeyboardArrowDown","Prev","Next","styles","Pagination","core.primitive.BreakpointSm","CorePagination","page","item","itemsPerPage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../hammer-react/dist/Pagination-CWRBsIv2.js","../src/components/Pagination/internal/usePaginationArray.ts","../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport cx from 'classnames';\nimport { B as ButtonToggle } from './ButtonToggle-Bm4KRl3o.js';\nimport { M as Menu } from './Menu-CffX1bPZ.js';\nimport IconMoreHoriz from '@servicetitan/hammer-icon/mdi/round/more_horiz.svg';\nimport IconKeyboardArrowDown from '@servicetitan/hammer-icon/mdi/round/keyboard_arrow_down.svg';\nimport { B as Button } from './Button-BaHFf1AT.js';\nimport { T as Text } from './Text-DCvcLCvf.js';\nimport { F as Flex } from './Flex-CiK7uNUu.js';\nimport Prev from '@servicetitan/hammer-icon/mdi/round/keyboard_arrow_left.svg';\nimport Next from '@servicetitan/hammer-icon/mdi/round/keyboard_arrow_right.svg';\n\nimport './Pagination.css';const pagination = \"_pagination_1gk5t_2\";\nconst styles$5 = {\n\tpagination: pagination\n};\n\nconst styles$4 = {\n\t\"pagination-item\": \"_pagination-item_1fk4w_2\",\n\t\"pagination-item-button\": \"_pagination-item-button_1fk4w_15\"\n};\n\nconst PaginationItem = forwardRef(\n (props, ref) => {\n const { page, isActive, onClick, className, ...rest } = props;\n const paginationClassName = cx(styles$4[\"pagination-item\"], className);\n const paginationButtonClassName = cx(styles$4[\"pagination-item-button\"], {\n [styles$4.active]: isActive\n });\n return /* @__PURE__ */ jsx(\"li\", { ref, ...rest, className: paginationClassName, children: /* @__PURE__ */ jsx(\n ButtonToggle,\n {\n className: paginationButtonClassName,\n size: \"small\",\n onClick,\n \"aria-current\": isActive ? \"page\" : void 0,\n checked: isActive,\n children: page\n }\n ) });\n }\n);\nPaginationItem.displayName = \"PaginationItem\";\n\nconst styles$3 = {\n\t\"pagination-item-overflow-menu\": \"_pagination-item-overflow-menu_ainsh_2\",\n\t\"pagination-item-overflow-menu-content\": \"_pagination-item-overflow-menu-content_ainsh_7\"\n};\n\nconst PaginationOverflowMenu = forwardRef((props, ref) => {\n const { startPage, endPage, length, onItemClick, ...rest } = props;\n return /* @__PURE__ */ jsx(\"li\", { className: styles$3[\"pagination-item-overflow-menu\"], ref, ...rest, children: /* @__PURE__ */ jsx(\n Menu,\n {\n icon: IconMoreHoriz,\n size: \"small\",\n appearance: \"ghost\",\n maxHeight: 200,\n contentClassName: styles$3[\"pagination-item-overflow-menu-content\"],\n \"aria-label\": \"More pages\",\n children: Array.from({ length }).map((_, index) => /* @__PURE__ */ jsx(\n Menu.Item,\n {\n label: `${startPage + index}`,\n onClick: () => {\n onItemClick(startPage + index);\n }\n },\n index\n ))\n },\n `${startPage}-${endPage}`\n ) });\n});\nPaginationOverflowMenu.displayName = \"PaginationOverflowMenu\";\n\nconst styles$2 = {\n\t\"pagination-items-per-page-button\": \"_pagination-items-per-page-button_8rijc_2\"\n};\n\nconst PaginationItemsPerPageMenu = forwardRef((props, ref) => {\n const { itemsPerPage, itemsPerPageOptions, onItemsPerPageChange } = props;\n return /* @__PURE__ */ jsxs(Flex, { alignItems: \"center\", gap: \"2\", ref, children: [\n /* @__PURE__ */ jsx(Text, { size: \"small\", children: \"Rows per page\" }),\n /* @__PURE__ */ jsx(\n Menu,\n {\n trigger: ({ ref: ref2, ...rest }) => {\n return /* @__PURE__ */ jsx(\n Button,\n {\n ref: ref2,\n ...rest,\n className: styles$2[\"pagination-items-per-page-button\"],\n appearance: \"ghost\",\n icon: { after: IconKeyboardArrowDown },\n size: \"small\",\n children: itemsPerPage\n }\n );\n },\n children: itemsPerPageOptions.map((option) => /* @__PURE__ */ jsx(\n Menu.Item,\n {\n label: option,\n onClick: () => {\n onItemsPerPageChange?.(option);\n }\n },\n option\n ))\n }\n )\n ] });\n});\nPaginationItemsPerPageMenu.displayName = \"PaginationItemsPerPageMenu\";\n\nconst styles$1 = {\n\t\"pagination-list\": \"_pagination-list_tabhr_2\"\n};\n\nconst PaginationList = forwardRef(\n (props, ref) => {\n const { page, totalPages, children, onPageChange, className } = props;\n const paginationListClassName = cx(styles$1[\"pagination-list\"], className);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n Button,\n {\n appearance: \"ghost\",\n icon: Prev,\n size: \"small\",\n \"aria-label\": \"Previous page\",\n disabled: page === 1,\n onClick: () => {\n if (page > 1) {\n onPageChange?.(page - 1);\n }\n }\n }\n ),\n /* @__PURE__ */ jsx(\"ul\", { ref, className: paginationListClassName, children }),\n /* @__PURE__ */ jsx(\n Button,\n {\n appearance: \"ghost\",\n icon: Next,\n size: \"small\",\n \"aria-label\": \"Next page\",\n disabled: page === totalPages,\n onClick: () => {\n if (page < totalPages) {\n onPageChange?.(page + 1);\n }\n }\n }\n )\n ] });\n }\n);\nPaginationList.displayName = \"PaginationList\";\n\nconst styles = {\n\t\"pagination-total-count\": \"_pagination-total-count_efq0t_2\"\n};\n\nconst PaginationTotalCount = ({\n firstItem,\n lastItem,\n totalCount,\n className\n}) => {\n const paginationTotalCountClassName = cx(\n styles[\"pagination-total-count\"],\n className\n );\n return /* @__PURE__ */ jsxs(\n Text,\n {\n size: \"small\",\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\",\n className: paginationTotalCountClassName,\n children: [\n firstItem,\n \" - \",\n lastItem,\n \" \",\n totalCount ? `of ${totalCount}` : \"\",\n \" items\"\n ]\n }\n );\n};\n\nconst PaginationElement = forwardRef(\n (props, ref) => {\n const { className, children, ...rest } = props;\n const paginationClassName = cx(styles$5.pagination, className);\n return /* @__PURE__ */ jsx(\"nav\", { ref, className: paginationClassName, ...rest, children });\n }\n);\nPaginationElement.displayName = \"Pagination\";\nconst Pagination = Object.assign(PaginationElement, {\n List: PaginationList,\n Item: PaginationItem,\n OverflowMenu: PaginationOverflowMenu,\n ItemsPerPageMenu: PaginationItemsPerPageMenu,\n TotalCount: PaginationTotalCount\n});\n\nexport { Pagination as P };\n//# sourceMappingURL=Pagination-CWRBsIv2.js.map\n","import { useMemo, useRef } from \"react\";\n\nexport type PageArrayItem =\n | { type: \"page\"; page: number }\n | { type: \"overflow\"; startPage: number; endPage: number; length: number };\n\n/**\n * Custom hook for managing pagination array state and generation.\n *\n * Features:\n * - Automatically generates pagination array based on current page and total pages\n * - Avoids unnecessary regeneration if the current page is already visible\n * - Updates array when page or total pages change and the visible set must change\n * - Handles jumps to first/last page with overflow between current and target\n * - Provides stable reference for the current pagination array\n *\n * @param page The currently selected page\n * @param totalPages Total number of pages\n * @param maxArrayLength Maximum length of the pagination array (including overflows)\n * @returns The current pagination array\n *\n * @example\n * const pageArray = usePaginationArray({\n * page: 5,\n * totalPages: 10,\n * maxArrayLength: 7\n * });\n */\nexport const usePaginationArray = ({\n page,\n totalPages,\n maxArrayLength = 7,\n}: {\n page: number;\n totalPages: number;\n maxArrayLength?: number;\n}): PageArrayItem[] => {\n const prevRef = useRef<{\n array: PageArrayItem[];\n totalPages: number;\n maxArrayLength: number;\n prevPage: number;\n } | null>(null);\n\n return useMemo(() => {\n const maxPagesToShow = maxArrayLength - 2;\n let result: PageArrayItem[] = [];\n const addRange = (start: number, end: number) => {\n const count = end - start + 1;\n if (count === 1) {\n result.push({ type: \"page\", page: start });\n } else if (count >= 2) {\n result.push({\n type: \"overflow\",\n startPage: start,\n endPage: end,\n length: count,\n });\n }\n };\n\n if (totalPages <= maxArrayLength) {\n result = Array.from({ length: totalPages }, (_, i) => ({\n type: \"page\" as const,\n page: i + 1,\n }));\n } else if (page <= maxPagesToShow) {\n // Leading section\n for (let i = 1; i <= maxPagesToShow; i++) {\n result.push({ type: \"page\", page: i });\n }\n addRange(maxArrayLength - 1, totalPages - 1);\n result.push({ type: \"page\", page: totalPages });\n } else if (page >= totalPages - maxPagesToShow + 1) {\n // Trailing section\n result.push({ type: \"page\", page: 1 });\n addRange(2, totalPages - maxPagesToShow);\n for (let i = totalPages - (maxPagesToShow - 1); i <= totalPages; i++) {\n result.push({ type: \"page\", page: i });\n }\n } else {\n // Middle section\n result.push({ type: \"page\", page: 1 });\n addRange(2, page - 2);\n result.push({ type: \"page\", page: page - 1 });\n result.push({ type: \"page\", page: page });\n result.push({ type: \"page\", page: page + 1 });\n addRange(page + 2, totalPages - 1);\n result.push({ type: \"page\", page: totalPages });\n }\n\n const prev = prevRef.current;\n\n // Check if we should remake array due to overflow between pages or new page being in overflow\n let shouldRemakeForJump = false;\n if (\n prev &&\n prev.totalPages === totalPages &&\n prev.maxArrayLength === maxArrayLength\n ) {\n // Check if there is overflow between the new page and the current page\n const start = Math.min(prev.prevPage, page);\n const end = Math.max(prev.prevPage, page);\n const hasOverflowBetween = prev.array.some(\n (item) =>\n item.type === \"overflow\" &&\n // Check if overflow intersects with the range (not completely covers)\n !(item.endPage < start || item.startPage > end),\n );\n\n // Check if the new page is part of an overflow\n const newPageInOverflow = prev.array.some(\n (item) =>\n item.type === \"overflow\" &&\n item.startPage <= page &&\n item.endPage >= page,\n );\n\n shouldRemakeForJump = hasOverflowBetween || newPageInOverflow;\n }\n\n // If we should remake for jump, always return the new array\n if (shouldRemakeForJump) {\n prevRef.current = {\n array: result,\n totalPages,\n maxArrayLength,\n prevPage: page,\n };\n return result;\n }\n\n // Optimization: if the new page is already present in the previous array, reuse the array\n if (\n prev &&\n prev.totalPages === totalPages &&\n prev.maxArrayLength === maxArrayLength &&\n prev.array.some((item) => item.type === \"page\" && item.page === page)\n ) {\n return prev.array;\n }\n\n prevRef.current = {\n array: result,\n totalPages,\n maxArrayLength,\n prevPage: page,\n };\n return result;\n }, [page, totalPages, maxArrayLength]);\n};\n","import {\n Pagination as CorePagination,\n useMergeRefs,\n type PaginationProps as CorePaginationProps,\n} from \"@servicetitan/hammer-react\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\nimport { forwardRef, useLayoutEffect, useRef, useState } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { usePaginationArray } from \"./internal/usePaginationArray\";\nimport { SrOnly } from \"../SrOnly\";\nimport styles from \"./Pagination.module.scss\";\nimport cx from \"classnames\";\nimport { core } from \"@servicetitan/hammer-token\";\n\n/**\n * Props for the Pagination component\n * @property {number} page - The current page number\n * @property {number} itemsPerPage - Number of items displayed per page\n * @property {number[]} [itemsPerPageOptions] - Available options for items per page selection\n * @property {number} [totalItemCount] - Total number of items across all pages\n * @property {boolean} [showCount] - Whether to display the item count information\n * @property {(page: number) => void} [onPageChange] - Callback when page changes\n * @property {(page: number) => void} [onNextClick] - Callback when next button is clicked\n * @property {(itemsPerPage: number) => void} [onItemsPerPageChange] - Callback when items per page changes\n * @property {(page: number) => void} [onPreviousClick] - Callback when previous button is clicked\n * @extends Omit<CorePaginationProps, \"children\">\n * @extends DataTrackingId\n */\nexport type PaginationProps = Omit<CorePaginationProps, \"children\"> &\n DataTrackingId & {\n page: number;\n itemsPerPage: number;\n itemsPerPageOptions?: number[];\n totalItemCount?: number;\n showCount?: boolean;\n onPageChange?: (page: number) => void;\n onItemsPerPageChange?: (itemsPerPage: number) => void;\n };\n\n/**\n * Pagination component for navigating through paginated content with automatic page array generation.\n *\n * Features:\n * - Automatic page array generation with overflow handling\n * - Supports items per page selection with customizable options\n * - Displays item count information with screen reader support\n * - Handles edge cases like invalid page numbers\n * - Includes previous/next navigation buttons\n * - Supports overflow menus for large page ranges\n * - Fully accessible with proper ARIA attributes\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Pagination\n * page={1}\n * itemsPerPage={10}\n * totalItemCount={100}\n * itemsPerPageOptions={[10, 20, 50]}\n * showCount={true}\n * onPageChange={(page) => console.log('Page changed to:', page)}\n * onItemsPerPageChange={(itemsPerPage) => console.log('Items per page:', itemsPerPage)}\n * />\n */\nexport const Pagination = forwardRef<HTMLDivElement, PaginationProps>(\n (props, ref) => {\n const {\n \"aria-label\": ariaLabel,\n page,\n itemsPerPage,\n itemsPerPageOptions,\n totalItemCount: totalItemCountProp,\n showCount,\n onPageChange,\n onItemsPerPageChange,\n className,\n ...rest\n } = props;\n\n const data = {\n \"aria-label\": ariaLabel,\n };\n\n const trackingId = useTrackingId({\n name: \"Pagination\",\n data,\n hasOverride: !!rest[\"data-tracking-id\"],\n });\n const totalItemCount = totalItemCountProp ?? 0;\n const totalPages = Math.ceil(totalItemCount / itemsPerPage);\n const elRef = useRef<HTMLDivElement>(null);\n const combinedRef = useMergeRefs([elRef, ref]);\n const [isNarrow, setIsNarrow] = useState(false);\n\n const pageArray = usePaginationArray({\n page,\n totalPages,\n maxArrayLength: 7,\n });\n\n // Check if current page is available in the pageArray, fallback to page 1 if not\n const isPageAvailable = pageArray.some(\n (item) => item.type === \"page\" && item.page === page,\n );\n\n if (!isPageAvailable && page !== 1 && totalPages > 0) {\n // Use requestAnimationFrame to avoid calling onPageChange during render\n requestAnimationFrame(() => {\n onPageChange?.(1);\n });\n }\n\n const firstItem = 1 + (page - 1) * itemsPerPage;\n const lastItem = firstItem - 1 + itemsPerPage;\n const itemRangeText = `${firstItem} - ${lastItem} ${\n totalItemCount ? `of ${totalItemCount}` : \"\"\n } items`;\n\n useLayoutEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry) {\n setIsNarrow(\n entry.contentRect.width <\n Number(core.primitive.BreakpointSm.value.replace(\"px\", \"\")),\n );\n }\n });\n if (elRef.current) {\n resizeObserver.observe(elRef.current);\n }\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n return (\n <CorePagination\n ref={combinedRef}\n data-tracking-id={trackingId}\n className={cx(styles.pagination, className)}\n >\n <CorePagination.List\n page={page}\n totalPages={totalPages}\n onPageChange={(page) => onPageChange?.(page)}\n className={styles.paginationList}\n >\n {pageArray.map((item) => {\n if (item.type === \"page\") {\n return (\n <CorePagination.Item\n key={item.page}\n page={item.page}\n isActive={item.page === page}\n onClick={() => onPageChange?.(item.page)}\n />\n );\n }\n return (\n <CorePagination.OverflowMenu\n key={item.startPage}\n startPage={item.startPage}\n endPage={item.endPage}\n length={item.length}\n onItemClick={(item) => onPageChange?.(item)}\n />\n );\n })}\n </CorePagination.List>\n {isNarrow === false && (\n <>\n {itemsPerPageOptions && (\n <CorePagination.ItemsPerPageMenu\n itemsPerPage={itemsPerPage}\n itemsPerPageOptions={itemsPerPageOptions}\n onItemsPerPageChange={(itemsPerPage) =>\n onItemsPerPageChange?.(itemsPerPage)\n }\n />\n )}\n {showCount && (\n <CorePagination.TotalCount\n firstItem={firstItem}\n lastItem={lastItem}\n totalCount={totalItemCount}\n />\n )}\n </>\n )}\n {!showCount || isNarrow ? (\n <SrOnly aria-live=\"polite\" aria-atomic=\"true\">\n {itemRangeText}\n </SrOnly>\n ) : null}\n </CorePagination>\n );\n },\n);\n\nPagination.displayName = \"Pagination\";\n"],"names":["pagination","IconMoreHoriz","IconKeyboardArrowDown","Prev","Next","styles","Pagination","core.primitive.BreakpointSm","CorePagination","page","item","itemsPerPage"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef, useRef, useContext, createContext, useMemo, useState,
|
|
3
|
-
import { i as DialogContext,
|
|
2
|
+
import { forwardRef, useRef, useContext, createContext, useMemo, useState, useLayoutEffect, useId, useCallback, useEffect } from 'react';
|
|
3
|
+
import { i as DialogContext, p as DrawerContext, s as supportsPopover, u as useKeyboardFocusables, q as safeShowPopover, r as safeHidePopover, l as useOnClickOutside } from './ProgressBar-CzXzPpIX-Clg1J71o.js';
|
|
4
4
|
import { B as Button } from './Button-BaHFf1AT-BQy-PFB5.js';
|
|
5
5
|
import { F as FloatingPortal, a as FloatingFocusManager, b as FloatingArrow, c as useFloating, o as offset, s as size, f as flip, d as shift, e as arrow$1, l as limitShift, g as useClick, h as useHover, i as safePolygon, j as useDismiss, k as useRole, m as useInteractions, n as autoUpdate, p as computePosition } from './floating-ui.react-BFNinq1w.js';
|
|
6
6
|
import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
|
|
@@ -8,7 +8,7 @@ import { c as cx } from './index-tZvMCc77.js';
|
|
|
8
8
|
import { a as PortalProviderContext } from './PortalProvider-9lXkQ0xY-BKoGegS1.js';
|
|
9
9
|
import { T as ThemeProvider, a as ThemeProviderContext } from './ThemeProvider-CR67FJg0-DYVRlJRA.js';
|
|
10
10
|
|
|
11
|
-
import './Popover-
|
|
11
|
+
import './Popover-jcmNuir0.css';function usePopoverLegacy({
|
|
12
12
|
defaultOpen,
|
|
13
13
|
placement = "bottom",
|
|
14
14
|
modal,
|
|
@@ -315,51 +315,6 @@ const PopoverLegacy = Object.assign(PopoverLegacyElement, {
|
|
|
315
315
|
Button: PopoverLegacyButton
|
|
316
316
|
});
|
|
317
317
|
|
|
318
|
-
const useOnClickOutside = ({
|
|
319
|
-
onOutsidePress,
|
|
320
|
-
targets,
|
|
321
|
-
onClose
|
|
322
|
-
}) => {
|
|
323
|
-
useEffect(() => {
|
|
324
|
-
if (typeof document === "undefined") return;
|
|
325
|
-
let isClosable = false;
|
|
326
|
-
const onMouseDownHandler = (e) => {
|
|
327
|
-
let isTarget = false;
|
|
328
|
-
const path = e.composedPath();
|
|
329
|
-
for (const el of targets) {
|
|
330
|
-
if (el && path.includes(el)) {
|
|
331
|
-
isTarget = true;
|
|
332
|
-
break;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
if (!isTarget) {
|
|
336
|
-
onOutsidePress?.(e);
|
|
337
|
-
isClosable = true;
|
|
338
|
-
}
|
|
339
|
-
};
|
|
340
|
-
const onMouseUpHandler = (e) => {
|
|
341
|
-
if (!isClosable) return;
|
|
342
|
-
let isTarget = false;
|
|
343
|
-
const path = e.composedPath();
|
|
344
|
-
for (const el of targets) {
|
|
345
|
-
if (el && path.includes(el)) {
|
|
346
|
-
isTarget = true;
|
|
347
|
-
break;
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
if (!isTarget) {
|
|
351
|
-
onClose?.();
|
|
352
|
-
}
|
|
353
|
-
};
|
|
354
|
-
document.addEventListener("mousedown", onMouseDownHandler);
|
|
355
|
-
document.addEventListener("mouseup", onMouseUpHandler);
|
|
356
|
-
return () => {
|
|
357
|
-
document.removeEventListener("mousedown", onMouseDownHandler);
|
|
358
|
-
document.removeEventListener("mouseup", onMouseUpHandler);
|
|
359
|
-
};
|
|
360
|
-
}, [onClose, onOutsidePress, targets]);
|
|
361
|
-
};
|
|
362
|
-
|
|
363
318
|
function compareElements(el1, el2, excludeAttributes = []) {
|
|
364
319
|
if (!el1 || !el2 || el1.tagName !== el2.tagName) {
|
|
365
320
|
return false;
|
|
@@ -793,6 +748,7 @@ const PopoverElement = (props) => {
|
|
|
793
748
|
modal,
|
|
794
749
|
noPadding,
|
|
795
750
|
onOutsidePress,
|
|
751
|
+
onClickOutside,
|
|
796
752
|
onClose
|
|
797
753
|
} = props;
|
|
798
754
|
const uid = useId();
|
|
@@ -969,7 +925,11 @@ const PopoverElement = (props) => {
|
|
|
969
925
|
}
|
|
970
926
|
}, [closePopover, open, openPopover]);
|
|
971
927
|
useOnClickOutside({
|
|
972
|
-
onOutsidePress
|
|
928
|
+
onOutsidePress: (e) => {
|
|
929
|
+
if (!open) return;
|
|
930
|
+
onClickOutside?.(e);
|
|
931
|
+
onOutsidePress?.(e);
|
|
932
|
+
},
|
|
973
933
|
targets: [invoker, popover],
|
|
974
934
|
onClose: () => {
|
|
975
935
|
if (disableCloseOnClickOutside || openOnHover || isControlled || !openState)
|
|
@@ -1125,4 +1085,4 @@ const Popover = Object.assign(PopoverElement, {
|
|
|
1125
1085
|
});
|
|
1126
1086
|
|
|
1127
1087
|
export { PopoverTrigger as P, PopoverContent as a, PopoverClose as b, PopoverButton as c, Popover as d, PopoverLegacy as e, usePopoverContext as f, usePopoverLegacyContext as u };
|
|
1128
|
-
//# sourceMappingURL=Popover-
|
|
1088
|
+
//# sourceMappingURL=Popover-jcmNuir0-DjlCqU1z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover-jcmNuir0-DjlCqU1z.js","sources":["../../hammer-react/dist/PopoverLegacy-PCbbcIr-.js","../../hammer-react/dist/Popover-jcmNuir0.js"],"sourcesContent":["import { jsx, jsxs } from 'react/jsx-runtime';\nimport { useState, useRef, useMemo, useContext, createContext, forwardRef } from 'react';\nimport { useFloating, offset, size, flip, shift, arrow, autoUpdate, limitShift, useClick, useHover, safePolygon, useDismiss, useRole, useInteractions, FloatingPortal, FloatingFocusManager, FloatingArrow } from '@floating-ui/react';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { D as DialogContext, b as DrawerContext } from './ProgressBar-CzXzPpIX.js';\nimport cx from 'classnames';\nimport { P as PortalProviderContext } from './PortalProvider-9lXkQ0xY.js';\nimport { T as ThemeProvider, a as ThemeProviderContext } from './ThemeProvider-CR67FJg0.js';\nimport { B as Button } from './Button-BaHFf1AT.js';\n\nimport './PopoverLegacy.css';function usePopoverLegacy({\n defaultOpen,\n placement = \"bottom\",\n modal,\n open: controlledOpen,\n onOpenChange: setControlledOpen,\n onOutsidePress,\n onClose,\n disableCloseOnClickOutside,\n disableCloseOnEscape,\n openOnHover,\n fillAvailableHeight,\n fitScreen,\n maxHeight,\n minHeight = \"2.875rem\",\n matchReferenceWidth,\n fixedWidth,\n disableCaret,\n noPadding,\n disableShift,\n disableFlip,\n disableFlipFallback,\n disableAutoUpdate,\n disableFocusLock,\n disableTriggerFocus,\n root\n} = {}) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [labelId, setLabelId] = useState();\n const [descriptionId, setDescriptionId] = useState();\n const open = controlledOpen ?? uncontrolledOpen;\n const setOpen = setControlledOpen ?? setUncontrolledOpen;\n const arrowRef = useRef(null);\n const processMinHeight = typeof minHeight === \"string\" ? minHeight : `${minHeight}px`;\n const data = useFloating({\n placement,\n open,\n onOpenChange: setOpen,\n whileElementsMounted: !disableAutoUpdate ? autoUpdate : void 0,\n middleware: [\n offset(8),\n size({\n padding: 5,\n apply({ rects, availableHeight, elements }) {\n Object.assign(elements.floating.style, {\n ...matchReferenceWidth ? { width: `${rects.reference.width}px` } : fixedWidth ? { width: \"40dvw\" } : {},\n ...fillAvailableHeight ? {\n height: `${availableHeight - 20}px`,\n minHeight: processMinHeight\n } : {},\n ...maxHeight ? {\n minHeight: processMinHeight,\n height: fitScreen ? typeof maxHeight === \"string\" ? maxHeight : `${maxHeight}px` : void 0,\n maxHeight: fitScreen ? `${availableHeight - 20}px` : typeof maxHeight === \"string\" ? maxHeight : `${maxHeight}px`\n } : {},\n ...fitScreen && !maxHeight ? {\n minHeight: processMinHeight,\n maxHeight: `${availableHeight - 20}px`\n } : {},\n zIndex: 1\n });\n }\n }),\n flip({\n mainAxis: !disableFlip,\n crossAxis: false,\n fallbackAxisSideDirection: disableFlipFallback ? \"none\" : \"end\",\n padding: 5\n }),\n shift({\n padding: 5,\n mainAxis: !disableShift,\n crossAxis: false,\n limiter: limitShift({\n mainAxis: !disableShift\n })\n }),\n arrow({ element: !disableCaret ? arrowRef : null, padding: 5 })\n ]\n });\n const context = data.context;\n const click = useClick(context, {\n enabled: controlledOpen == null && !openOnHover\n });\n const hover = useHover(context, {\n enabled: controlledOpen == null && !!openOnHover,\n handleClose: safePolygon()\n });\n const dismiss = useDismiss(context, {\n escapeKey: !disableCloseOnEscape,\n outsidePress: (event) => {\n if (disableCloseOnClickOutside) {\n return false;\n }\n const result = typeof onOutsidePress === \"function\" ? onOutsidePress?.(event) : true;\n if (!result) {\n return result;\n } else {\n onClose?.();\n setOpen(false);\n return result;\n }\n }\n });\n const role = useRole(context);\n const interactions = useInteractions([click, hover, dismiss, role]);\n return useMemo(\n () => ({\n open,\n setOpen,\n onClose,\n ...interactions,\n ...data,\n modal,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n arrowRef,\n disableCaret,\n noPadding,\n fillAvailableHeight,\n maxHeight,\n matchReferenceWidth,\n fixedWidth,\n disableFlipFallback,\n disableAutoUpdate,\n disableFocusLock,\n disableTriggerFocus,\n root\n }),\n [\n open,\n setOpen,\n onClose,\n interactions,\n data,\n modal,\n labelId,\n descriptionId,\n disableCaret,\n noPadding,\n fillAvailableHeight,\n maxHeight,\n matchReferenceWidth,\n fixedWidth,\n disableFlipFallback,\n disableAutoUpdate,\n disableFocusLock,\n disableTriggerFocus,\n root\n ]\n );\n}\n\nconst PopoverLegacyContext = createContext(null);\nconst usePopoverLegacyContext = () => {\n const context = useContext(PopoverLegacyContext);\n if (context == null) {\n throw new Error(\"Popover components must be wrapped in <Popover />\");\n }\n return context;\n};\n\nconst PopoverLegacyTrigger = function PopoverLegacyTrigger2(props) {\n const { children } = props;\n const context = usePopoverLegacyContext();\n const ref = useRef(null);\n const mergedRef = useMergeRefs([context.refs.setReference, ref]);\n return children({\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-anv\": \"popover-trigger\",\n ...context.getReferenceProps({ ref: mergedRef })\n });\n};\n\nconst styles = {\n\t\"content-legacy\": \"_content-legacy_vcgi9_3\",\n\t\"scroller-legacy\": \"_scroller-legacy_vcgi9_27\",\n\t\"arrow-legacy\": \"_arrow-legacy_vcgi9_34\",\n\t\"no-padding\": \"_no-padding_vcgi9_45\"\n};\n\nconst PopoverLegacyContent = forwardRef(function PopoverContent({ className, style, ...props }, propRef) {\n const {\n context: floatingContext,\n theme,\n mode,\n disableCaret,\n noPadding,\n onClose,\n disableFocusLock,\n disableTriggerFocus,\n root,\n ...context\n } = usePopoverLegacyContext();\n const dialogContext = useContext(DialogContext);\n const drawerContext = useContext(DrawerContext);\n const { root: portalRoot } = useContext(PortalProviderContext);\n const ref = useMergeRefs([context.refs.setFloating, propRef]);\n if (!floatingContext.open) return null;\n if (dialogContext && !dialogContext?.ref?.current) return null;\n const popoverClassNames = cx(className, styles[\"content-legacy\"], {\n [styles[\"no-padding\"]]: noPadding\n });\n const onKeyDownHandler = (e) => {\n if (e.code === \"Escape\") {\n onClose?.();\n }\n };\n return /* @__PURE__ */ jsx(\n FloatingPortal,\n {\n root: root ?? dialogContext?.ref?.current ?? drawerContext?.ref?.current ?? portalRoot,\n children: /* @__PURE__ */ jsx(\n FloatingFocusManager,\n {\n context: floatingContext,\n modal: context.modal,\n order: disableTriggerFocus ? [\"content\"] : [\"reference\", \"content\"],\n disabled: disableFocusLock,\n children: /* @__PURE__ */ jsx(ThemeProvider, { theme, mode, children: /* @__PURE__ */ jsxs(\n \"div\",\n {\n ref,\n \"data-anv\": \"popover-content\",\n style: { ...context.floatingStyles, ...style },\n \"aria-labelledby\": context.labelId,\n \"aria-describedby\": context.descriptionId,\n className: popoverClassNames,\n ...context.getFloatingProps(props),\n onKeyDown: onKeyDownHandler,\n role: \"presentation\",\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: styles[\"scroller-legacy\"], children: props.children }),\n !disableCaret && /* @__PURE__ */ jsx(\n FloatingArrow,\n {\n ref: context.arrowRef,\n context: floatingContext,\n className: styles[\"arrow-legacy\"]\n }\n )\n ]\n }\n ) })\n }\n )\n }\n );\n});\n\nconst PopoverLegacyClose = forwardRef(function PopoverClose(props, ref) {\n const { setOpen, onClose } = usePopoverLegacyContext();\n return /* @__PURE__ */ jsx(\n Button,\n {\n ref,\n \"data-anv\": \"popover-close\",\n ...props,\n onClick: (event) => {\n props.onClick?.(event);\n onClose?.();\n setOpen(false);\n }\n }\n );\n});\n\nconst PopoverLegacyButton = forwardRef(function PopoverButton(props, ref) {\n const { children, size, ...rest } = props;\n const context = usePopoverLegacyContext();\n const childrenRef = children?.ref;\n const mergedRef = useMergeRefs([context.refs.setReference, ref, childrenRef]);\n return /* @__PURE__ */ jsx(\n Button,\n {\n ref: mergedRef,\n size,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-anv\": \"popover-button\",\n ...context.getReferenceProps(rest),\n children\n }\n );\n});\n\nfunction PopoverLegacyElement({\n children,\n modal,\n ...restOptions\n}) {\n const popover = usePopoverLegacy({ modal, ...restOptions });\n const { theme, mode = \"light\" } = useContext(ThemeProviderContext);\n const value = useMemo(\n () => ({ ...popover, theme, mode }),\n [mode, popover, theme]\n );\n return /* @__PURE__ */ jsx(PopoverLegacyContext.Provider, { value, children });\n}\nconst PopoverLegacy = Object.assign(PopoverLegacyElement, {\n Trigger: PopoverLegacyTrigger,\n Close: PopoverLegacyClose,\n Content: PopoverLegacyContent,\n Button: PopoverLegacyButton\n});\n\nexport { PopoverLegacy as P, PopoverLegacyTrigger as a, PopoverLegacyContent as b, PopoverLegacyClose as c, PopoverLegacyButton as d, PopoverLegacyElement as e, usePopoverLegacyContext as u };\n//# sourceMappingURL=PopoverLegacy-PCbbcIr-.js.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport { computePosition, offset, size, flip, shift, arrow as arrow$1, limitShift, autoUpdate } from '@floating-ui/react';\nimport { createContext, useContext, useRef, useLayoutEffect, forwardRef, useId, useState, useCallback, useEffect, useMemo } from 'react';\nimport { s as supportsPopover, D as DialogContext, o as safeShowPopover, p as safeHidePopover } from './ProgressBar-CzXzPpIX.js';\nimport { B as Button } from './Button-BaHFf1AT.js';\nimport { d as PopoverLegacyButton, c as PopoverLegacyClose, b as PopoverLegacyContent, a as PopoverLegacyTrigger, e as PopoverLegacyElement } from './PopoverLegacy-PCbbcIr-.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport cx from 'classnames';\nimport { u as useKeyboardFocusables } from './useKeyboardFocusables-CwVMAe5C.js';\nimport { u as useOnClickOutside } from './useOnClickOutside-DP89Gbem.js';\n\nimport './Popover.css';function compareElements(el1, el2, excludeAttributes = []) {\n if (!el1 || !el2 || el1.tagName !== el2.tagName) {\n return false;\n }\n const getFilteredAttributes = (attrs) => {\n const filtered = {};\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i];\n if (!excludeAttributes.includes(attr.name)) {\n filtered[attr.name] = attr.value;\n }\n }\n return filtered;\n };\n const filteredAttrs1 = getFilteredAttributes(el1.attributes);\n const filteredAttrs2 = getFilteredAttributes(el2.attributes);\n const keys1 = Object.keys(filteredAttrs1);\n const keys2 = Object.keys(filteredAttrs2);\n if (keys1.length !== keys2.length) return false;\n for (const key of keys1) {\n if (filteredAttrs1[key] !== filteredAttrs2[key]) {\n return false;\n }\n }\n const isOnlyText1 = el1.childNodes.length === 1 && el1.childNodes[0].nodeType === Node.TEXT_NODE;\n const isOnlyText2 = el2.childNodes.length === 1 && el2.childNodes[0].nodeType === Node.TEXT_NODE;\n if (isOnlyText1 && isOnlyText2) {\n if (el1.textContent?.trim() !== el2.textContent?.trim()) {\n return false;\n }\n }\n const children1 = el1.children;\n const children2 = el2.children;\n if (children1.length !== children2.length) return false;\n for (let i = 0; i < children1.length; i++) {\n if (!compareElements(\n children1[i],\n children2[i],\n excludeAttributes\n )) {\n return false;\n }\n }\n return true;\n}\n\nconst PopoverContext = createContext(null);\n\nfunction usePopoverContext() {\n const context = useContext(PopoverContext);\n const invokerRef = useRef(null);\n const popoverRef = useRef(null);\n const arrowRef = useRef(null);\n useLayoutEffect(() => {\n if (!invokerRef.current) return;\n context?.setInvoker?.(invokerRef.current);\n }, [context, invokerRef]);\n useLayoutEffect(() => {\n if (!popoverRef.current) return;\n context?.setPopover?.(popoverRef.current);\n context?.setRootNode?.(popoverRef.current.getRootNode());\n if (!arrowRef.current) return;\n context?.setArrowElement?.(arrowRef.current);\n }, [context, popoverRef]);\n const onMouseEnterHandler = () => {\n if (!context?.openOnHover) return;\n context.openPopover();\n };\n const onMouseLeaveHandler = () => {\n if (!context?.openOnHover) return;\n context.closePopover();\n };\n const onFocusHandler = () => {\n if (context?.controlled || !context?.openOnHover) return;\n context?.openPopover();\n };\n const onBlurHandler = () => {\n if (context?.controlled || context?.disableCloseOnClickOutside || !context?.openOnHover)\n return;\n context?.closePopover();\n };\n const onKeyDownHandler = (e) => {\n if (!context?.openState) return;\n if (e.code === \"Escape\" && !context?.disableCloseOnEscape && !context?.controlled) {\n context?.closePopover();\n return;\n }\n const focusables = context.focusables;\n if (e.code === \"Tab\" && e.shiftKey && context?.modal && focusables) {\n focusables[focusables.length - 1].focus();\n e.preventDefault();\n return;\n }\n };\n const onClickHandler = () => {\n context?.invoker?.focus();\n if (context?.openOnHover) return;\n if (context?.controlled === false) {\n if (context?.openState) {\n context?.closePopover();\n } else {\n context?.openPopover();\n }\n return;\n }\n };\n if (!context || !invokerRef || !popoverRef) return;\n return {\n invoker: {\n ref: invokerRef,\n element: context.invoker,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeyDownHandler,\n onClick: onClickHandler,\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n \"aria-haspopup\": true,\n \"aria-expanded\": context.openState,\n \"aria-details\": context.popoverId,\n \"data-state\": context.openState ? \"open\" : \"closed\"\n },\n popover: {\n ref: popoverRef,\n element: context.popover,\n id: context.popoverId,\n onClose: context.onClose,\n show: context.openPopover,\n close: context.closePopover,\n noPadding: context.noPadding,\n style: context.popoverStyle,\n arrowRef,\n key: context.resetKey\n },\n rootNode: context.rootNode,\n onClose: context.onClose,\n setOpen: context.setOpenState,\n open: context.openState,\n openOnHover: context.openOnHover,\n controlled: context.controlled,\n disableCloseOnClickOutside: context.disableCloseOnClickOutside,\n disableCloseOnEscape: context.disableCloseOnEscape,\n modal: context.modal,\n placement: context.placement,\n disableCaret: context.disableCaret,\n noPadding: context.noPadding,\n fillAvailableHeight: context.fillAvailableHeight,\n maxHeight: context.maxHeight,\n matchReferenceWidth: context.matchReferenceWidth,\n fixedWidth: context.fixedWidth,\n disableFlipFallback: context.disableFlipFallback,\n disableFocusLock: context.modal,\n disableTriggerFocus: context.disableTriggerFocus,\n focusables: context.focusables\n };\n}\n\nconst PopoverButton = forwardRef(\n function PopoverButton2(props, ref) {\n const {\n children,\n size,\n onMouseEnter,\n onMouseLeave,\n onClick,\n onKeyDown,\n onFocus,\n onBlur,\n ...rest\n } = props;\n const context = usePopoverContext();\n const onMouseEnterHandler = (e) => {\n onMouseEnter?.(e);\n context?.invoker.onMouseEnter();\n };\n const onMouseLeaveHandler = (e) => {\n onMouseLeave?.(e);\n context?.invoker.onMouseLeave();\n };\n const onFocusHandler = (e) => {\n onFocus?.(e);\n context?.invoker.onFocus();\n };\n const onBlurHandler = (e) => {\n onBlur?.(e);\n context?.invoker.onBlur();\n };\n const onKeyDownHandler = (e) => {\n onKeyDown?.(e);\n context?.invoker.onKeyDown(e);\n };\n const onClickHandler = (e) => {\n onClick?.(e);\n context?.invoker.onClick();\n };\n const buttonRef = useMergeRefs([context?.invoker.ref, ref]);\n if (!supportsPopover())\n return /* @__PURE__ */ jsx(\n PopoverLegacyButton,\n {\n ...props,\n ref\n }\n );\n return /* @__PURE__ */ jsx(\n Button,\n {\n ref: buttonRef,\n size,\n onClick: onClickHandler,\n onKeyDown: onKeyDownHandler,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n \"data-anv\": \"popover-button\",\n \"aria-haspopup\": context?.invoker[\"aria-haspopup\"],\n \"aria-expanded\": context?.invoker[\"aria-expanded\"],\n \"aria-details\": context?.invoker[\"aria-details\"],\n \"data-state\": context?.invoker[\"data-state\"],\n ...rest,\n children\n }\n );\n }\n);\n\nconst PopoverClose = forwardRef(\n function PopoverClose2(props, ref) {\n const { onClick, ...rest } = props;\n const context = usePopoverContext();\n if (!supportsPopover())\n return /* @__PURE__ */ jsx(PopoverLegacyClose, { ...props, ref });\n return /* @__PURE__ */ jsx(\n Button,\n {\n ref,\n \"data-anv\": \"popover-close\",\n ...rest,\n onClick: (event) => {\n onClick?.(event);\n if (!context?.controlled) {\n context?.popover.close();\n } else {\n setTimeout(() => {\n context?.onClose?.();\n }, 100);\n }\n }\n }\n );\n }\n);\n\nconst content = \"_content_yo27y_2\";\nconst scroller = \"_scroller_yo27y_29\";\nconst arrow = \"_arrow_yo27y_37\";\nconst styles = {\n\tcontent: content,\n\tscroller: scroller,\n\tarrow: arrow,\n\t\"no-padding\": \"_no-padding_yo27y_62\"\n};\n\nconst PopoverContent = forwardRef(\n function PopoverContent2(props, ref) {\n const {\n children,\n className,\n style,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n onFocus,\n onBlur,\n onScroll,\n onScrollCapture,\n scrollerRef,\n ...rest\n } = props;\n const context = usePopoverContext();\n const popoverClassNames = cx(className, styles[\"content\"], {\n [styles[\"no-padding\"]]: context?.noPadding\n });\n const childrenRef = useRef(null);\n const combinedStyles = {\n ...style,\n ...context?.popover.style\n };\n const focusables = context?.focusables;\n const onMouseEnterHandler = (e) => {\n onMouseEnter?.(e);\n if (!context?.openOnHover) return;\n context.popover.show();\n };\n const onMouseLeaveHandler = (e) => {\n onMouseLeave?.(e);\n if (!context?.openOnHover) return;\n context.popover.close();\n };\n const onFocusHandler = (e) => {\n onFocus?.(e);\n context?.popover.show();\n };\n const onBlurHandler = (e) => {\n onBlur?.(e);\n if (context?.controlled || context?.disableCloseOnClickOutside) return;\n context?.popover.close();\n };\n const onKeyDownHandler = (e) => {\n onKeyDown?.(e);\n if (e.code === \"Escape\" && !context?.disableCloseOnEscape) {\n context?.popover.close();\n }\n if (!context?.modal) return;\n if (e.code === \"Tab\" && !e.shiftKey) {\n if (focusables && compareElements(\n context.rootNode?.activeElement,\n focusables[focusables.length - 1],\n [\"tabindex\"]\n )) {\n if (context.disableTriggerFocus) {\n focusables[0].focus();\n } else {\n context.invoker.element?.focus();\n context.popover.show();\n }\n e.preventDefault();\n }\n }\n if (e.code === \"Tab\" && e.shiftKey) {\n if (focusables && compareElements(\n context.rootNode.activeElement,\n focusables[0],\n [\"tabindex\"]\n )) {\n if (context.disableTriggerFocus) {\n focusables[focusables.length - 1].focus();\n } else {\n context.invoker.element?.focus();\n context.popover.show();\n }\n e.preventDefault();\n }\n }\n };\n const manualPopover = context?.controlled || context?.disableCloseOnClickOutside || context?.disableCloseOnEscape || context?.openOnHover;\n const popoverContentRef = useMergeRefs([context?.popover.ref, ref]);\n const popoverScrollerRef = useMergeRefs([childrenRef, scrollerRef]);\n if (!supportsPopover())\n return /* @__PURE__ */ jsx(\n PopoverLegacyContent,\n {\n ...props,\n ref\n }\n );\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n popover: manualPopover ? \"manual\" : \"auto\",\n id: context?.popover.id,\n \"data-anv\": \"popover-content\",\n className: popoverClassNames,\n ref: popoverContentRef,\n style: combinedStyles,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onBlur: onBlurHandler,\n onFocus: onFocusHandler,\n role: \"region\",\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\n \"div\",\n {\n className: styles.scroller,\n role: \"presentation\",\n tabIndex: -1,\n ref: popoverScrollerRef,\n onKeyDown: onKeyDownHandler,\n onScroll,\n onScrollCapture,\n children\n },\n context?.popover.key\n ),\n !context?.disableCaret && /* @__PURE__ */ jsx(\"span\", { className: styles[\"arrow\"], ref: context?.popover.arrowRef, children: /* @__PURE__ */ jsxs(\"svg\", { \"aria-hidden\": \"true\", width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", children: [\n /* @__PURE__ */ jsx(\"path\", { stroke: \"none\", d: \"M0,0 H14 L7,7 Q7,7 7,7 Z\" }),\n /* @__PURE__ */ jsx(\"clipPath\", { id: \":r9:\", children: /* @__PURE__ */ jsx(\"rect\", { x: \"0\", y: \"0\", width: \"14\", height: \"14\" }) })\n ] }) })\n ]\n }\n );\n }\n);\n\nfunction PopoverTrigger(props) {\n const { children } = props;\n const context = usePopoverContext();\n if (!supportsPopover())\n return /* @__PURE__ */ jsx(PopoverLegacyTrigger, { ...props });\n if (!context) return;\n const { element, ...rest } = context.invoker;\n return children({ \"data-test\": \"hello\", ...rest });\n}\n\nconst PopoverElement = (props) => {\n const {\n children,\n openOnHover = false,\n delay = 100,\n placement = \"bottom\",\n minHeight = \"2.875rem\",\n open,\n defaultOpen = false,\n disableShift,\n disableFlip,\n disableFlipFallback,\n matchReferenceWidth,\n id,\n disableCaret,\n fixedWidth,\n fillAvailableHeight,\n maxHeight,\n disableCloseOnClickOutside,\n disableCloseOnEscape,\n fitScreen,\n disableFocusLock,\n disableTriggerFocus,\n modal,\n noPadding,\n onOutsidePress,\n onClickOutside,\n onClose\n } = props;\n const uid = useId();\n const [invoker, setInvoker] = useState(void 0);\n const [popover, setPopover] = useState(void 0);\n const [rootNode, setRootNode] = useState();\n const [arrowElement, setArrowElement] = useState(void 0);\n const [openState, setOpenState] = useState(\n open ?? defaultOpen\n );\n const arrowRef = useRef(null);\n const dialogContext = useContext(DialogContext);\n const processMinHeight = typeof minHeight === \"string\" ? minHeight : `${minHeight}px`;\n const updatePosition = useCallback(() => {\n if (!invoker || !popover) return;\n if (!openState) return;\n computePosition(invoker, popover, {\n placement,\n middleware: [\n offset(8),\n size({\n padding: 5,\n apply({ rects, availableHeight, elements }) {\n Object.assign(elements.floating.style, {\n ...matchReferenceWidth ? { width: `${rects.reference.width}px` } : fixedWidth ? { width: \"40dvw\" } : {},\n ...fillAvailableHeight ? {\n height: `${availableHeight - 20}px`,\n minHeight: processMinHeight\n } : {},\n ...maxHeight ? {\n minHeight: processMinHeight,\n height: fitScreen ? typeof maxHeight === \"string\" ? maxHeight : `${maxHeight}px` : void 0,\n maxHeight: fitScreen ? `${availableHeight - 20}px` : typeof maxHeight === \"string\" ? maxHeight : `${maxHeight}px`\n } : {},\n ...fitScreen && !maxHeight ? {\n minHeight: processMinHeight,\n maxHeight: `${availableHeight - 20}px`\n } : {},\n zIndex: 1\n });\n }\n }),\n flip({\n mainAxis: !disableFlip,\n crossAxis: false,\n fallbackAxisSideDirection: disableFlipFallback ? \"none\" : \"end\",\n padding: 5\n }),\n shift({\n padding: 5,\n mainAxis: !disableShift,\n crossAxis: false,\n limiter: limitShift({\n mainAxis: !disableShift\n })\n }),\n arrow$1({\n element: !disableCaret && arrowElement ? arrowElement : null,\n padding: 5\n })\n ]\n }).then(({ x, y, placement: placement2, middlewareData }) => {\n const side = placement2.split(\"-\")[0];\n const staticSide = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n }[side];\n const arrowDeg = () => {\n if (staticSide === \"top\") return 180;\n if (staticSide === \"bottom\") return 0;\n if (staticSide === \"left\") return 90;\n return 270;\n };\n Object.assign(popover.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n if (middlewareData.arrow && arrowElement) {\n const { x: x2, y: y2 } = middlewareData.arrow;\n Object.assign(arrowElement.style, {\n left: x2 != null ? `${x2}px` : \"\",\n top: y2 != null ? `${y2}px` : \"\",\n right: \"\",\n bottom: \"\",\n [staticSide]: `${-arrowElement.offsetWidth + 2}px`,\n transform: `rotate(${arrowDeg()}deg)`\n });\n }\n });\n }, [\n arrowElement,\n disableCaret,\n disableFlip,\n disableFlipFallback,\n disableShift,\n fillAvailableHeight,\n fitScreen,\n fixedWidth,\n invoker,\n matchReferenceWidth,\n maxHeight,\n openState,\n placement,\n popover,\n processMinHeight\n ]);\n const resetKey = useRef(0);\n useLayoutEffect(() => {\n if (!popover || !invoker) return;\n if (!openState) {\n resetKey.current += 1;\n return;\n }\n let requestID = null;\n const cleanup = autoUpdate(invoker, popover, () => {\n requestID = requestAnimationFrame(updatePosition);\n });\n return () => {\n if (requestID) cancelAnimationFrame(requestID);\n cleanup();\n };\n }, [invoker, popover, updatePosition, openState]);\n popover?.getRootNode();\n const { focusables } = useKeyboardFocusables(popover, {\n observeChange: true\n });\n const popoverId = id ?? `popover-${uid.replace(/:/g, \"\")}`;\n const isControlled = typeof open !== \"undefined\";\n const openTimeoutRef = useRef(null);\n const closeTimeoutRef = useRef(null);\n const openPopover = useCallback(() => {\n clearTimeout(closeTimeoutRef.current);\n clearTimeout(openTimeoutRef.current);\n if (!popover || !rootNode?.querySelector(`#${popoverId}`))\n return;\n openTimeoutRef.current = setTimeout(() => {\n safeShowPopover(popover);\n setOpenState(true);\n dialogContext?.setHasOpenPopover?.(true);\n }, delay);\n }, [popover, rootNode, popoverId, delay, dialogContext]);\n const closePopover = useCallback(\n (fn) => {\n clearTimeout(openTimeoutRef.current);\n clearTimeout(closeTimeoutRef.current);\n if (!popover || !openState) return;\n closeTimeoutRef.current = setTimeout(() => {\n if (!openOnHover) onClose?.();\n setOpenState(false);\n fn?.();\n safeHidePopover(popover);\n dialogContext?.setHasOpenPopover?.(false);\n }, 100);\n },\n [popover, openState, openOnHover, onClose, dialogContext]\n );\n const initialRender = useRef(true);\n useEffect(() => {\n if (openState) openPopover();\n if (initialRender.current === true) {\n if (openState) openPopover();\n initialRender.current = false;\n return;\n }\n }, [openPopover, openState]);\n useEffect(() => {\n if (typeof open === \"undefined\") return;\n if (open) {\n openPopover();\n } else {\n closePopover();\n }\n }, [closePopover, open, openPopover]);\n useOnClickOutside({\n onOutsidePress: (e) => {\n if (!open) return;\n onClickOutside?.(e);\n onOutsidePress?.(e);\n },\n targets: [invoker, popover],\n onClose: () => {\n if (disableCloseOnClickOutside || openOnHover || isControlled || !openState)\n return;\n closePopover();\n }\n });\n const value = useMemo(() => {\n return {\n popoverId,\n invoker,\n setInvoker,\n popover,\n setPopover,\n arrowElement,\n setArrowElement,\n openPopover,\n closePopover,\n placement,\n onClose,\n openOnHover,\n openState,\n setOpenState,\n disableCloseOnClickOutside,\n fillAvailableHeight,\n maxHeight,\n matchReferenceWidth,\n fixedWidth,\n disableCaret,\n disableFlipFallback,\n disableFocusLock,\n disableTriggerFocus,\n disableCloseOnEscape,\n noPadding,\n controlled: isControlled,\n modal: modal ?? disableFocusLock,\n arrowRef,\n resetKey: resetKey.current,\n rootNode,\n setRootNode,\n focusables\n };\n }, [\n popoverId,\n invoker,\n popover,\n arrowElement,\n openPopover,\n closePopover,\n placement,\n onClose,\n openOnHover,\n openState,\n disableCloseOnClickOutside,\n fillAvailableHeight,\n maxHeight,\n matchReferenceWidth,\n fixedWidth,\n disableCaret,\n disableFlipFallback,\n disableFocusLock,\n disableTriggerFocus,\n disableCloseOnEscape,\n noPadding,\n isControlled,\n modal,\n rootNode,\n focusables\n ]);\n if (!supportsPopover())\n return /* @__PURE__ */ jsx(PopoverLegacyElement, { ...props });\n return /* @__PURE__ */ jsx(PopoverContext.Provider, { value, children });\n};\nconst Popover = Object.assign(PopoverElement, {\n /**\n * PopoverTrigger component for creating custom trigger elements.\n *\n * Features:\n * - Supports custom trigger elements via render prop pattern\n * - Automatic focus management and keyboard interaction\n * - Hover and click event handling\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n *\n * @example\n * <Popover.Trigger>\n * {(props) => (\n * <button {...props}>\n * Click to open popover\n * </button>\n * )}\n * </Popover.Trigger>\n */\n Trigger: PopoverTrigger,\n /**\n * PopoverClose component for closing the popover.\n *\n * Features:\n * - Automatic popover closing on click\n * - Supports all Button component props and styling\n * - Controlled and uncontrolled mode support\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper button semantics\n * - Delayed closing for controlled mode\n *\n * @example\n * <Popover.Close>Close</Popover.Close>\n */\n Close: PopoverClose,\n /**\n * PopoverContent component for the main popover content area.\n *\n * Features:\n * - Automatic positioning and sizing based on trigger\n * - Screen boundary detection and fitting\n * - Scroll handling with custom scroller reference\n * - Focus management and keyboard navigation\n * - Hover interaction support for tooltip mode\n * - Escape key handling for closing\n * - Tab key trapping for modal popovers\n * - Arrow/caret indicator with automatic positioning\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper ARIA roles\n *\n * @example\n * <Popover.Content>\n * <p>This is the popover content</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n */\n Content: PopoverContent,\n /**\n * PopoverButton component for creating button-style triggers.\n *\n * Features:\n * - Button styling and behavior with all Button props\n * - Automatic popover opening on click\n * - Hover interaction support for tooltip mode\n * - Focus management and keyboard navigation\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Event handling for mouse, keyboard, and focus events\n *\n * @example\n * <Popover.Button>Click to open</Popover.Button>\n */\n Button: PopoverButton,\n Context: PopoverContext\n});\n\nexport { Popover as P, PopoverContext as a, PopoverTrigger as b, PopoverContent as c, PopoverClose as d, PopoverButton as e, usePopoverContext as u };\n//# sourceMappingURL=Popover-jcmNuir0.js.map\n"],"names":["arrow","styles"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
3
|
import { useTrackingId } from './useTrackingId.js';
|
|
4
|
-
import { P as PopoverTrigger$1, a as PopoverContent$1, b as PopoverClose$1, c as PopoverButton$1, d as Popover$1 } from './Popover-
|
|
4
|
+
import { P as PopoverTrigger$1, a as PopoverContent$1, b as PopoverClose$1, c as PopoverButton$1, d as Popover$1 } from './Popover-jcmNuir0-DjlCqU1z.js';
|
|
5
5
|
import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
|
|
6
6
|
|
|
7
7
|
const PopoverElement = (props) => {
|
|
@@ -132,4 +132,4 @@ const Popover = Object.assign(PopoverElement, {
|
|
|
132
132
|
});
|
|
133
133
|
|
|
134
134
|
export { Popover as P, PopoverTrigger as a, PopoverContent as b, PopoverClose as c, PopoverButton as d };
|
|
135
|
-
//# sourceMappingURL=Popover-
|
|
135
|
+
//# sourceMappingURL=Popover-rB4BVx-A.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover-Dv7ntx4P.js","sources":["../src/components/Popover/Popover.tsx"],"sourcesContent":["import {\n PopoverProps as CorePopoverProps,\n Popover as CorePopover,\n PopoverTrigger as CorePopoverTrigger,\n PopoverTriggerProps as CorePopoverTriggerProps,\n PopoverContent as CorePopoverContent,\n PopoverContentProps as CorePopoverContentProps,\n PopoverClose as CorePopoverClose,\n PopoverCloseProps as CorePopoverCloseProps,\n PopoverButton as CorePopoverButton,\n PopoverButtonProps as CorePopoverButtonProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Popover component\n * @property {ReactNode} [children] - The content to be rendered inside the popover\n * @property {string} [id] - Unique identifier for the popover\n * @property {boolean} [modal] - Whether the popover should be modal (traps focus)\n * @property {boolean} [openOnHover] - Changes interaction to use hover instead of click\n * @property {boolean} [fillAvailableHeight] - Changes height and positioning for select/combobox\n * @property {number | string} [maxHeight] - Maximum height of the popover content\n * @property {boolean} [fitScreen] - Whether the popover should fit within the screen bounds\n * @property {number | string} [minHeight] - Minimum height of the popover content\n * @property {boolean} [matchReferenceWidth] - Whether the popover width should match the trigger element\n * @property {boolean} [fixedWidth] - Whether the popover should have a fixed width\n * @property {string} [placement] - Placement of the popover relative to the trigger\n * @property {boolean} [open] - Controlled open state\n * @property {boolean} [defaultOpen] - Default open state for uncontrolled mode\n * @property {Function} [onOpenChange] - Callback when open state changes\n * @property {Function} [onOutsidePress] - Callback when clicking outside the popover\n * @property {Function} [onClose] - Fires when the floating element is requested to be closed\n * @property {boolean} [disableCaret] - Whether to disable the caret/arrow indicator\n * @property {boolean} [noPadding] - Whether to remove default padding from content\n * @property {boolean} [disableAutoUpdate] - Whether to disable automatic position updates\n * @property {boolean} [disableTriggerFocus] - Whether to disable focus on the trigger element\n * @property {number} [delay] - Delay before opening the popover (for hover mode)\n * @property {boolean} [disableCloseOnClickOutside] - Whether to disable closing on outside click\n * @property {boolean} [disableCloseOnEscape] - Whether to disable closing on escape key\n */\nexport type PopoverProps = CorePopoverProps;\n\n/**\n * Props for the PopoverTrigger component\n * @property {Function} children - Render function that receives trigger props and returns a React element\n */\nexport type PopoverTriggerProps = CorePopoverTriggerProps & DataTrackingId;\n\n/**\n * Props for the PopoverContent component\n * @property {ReactNode} [children] - The content to be displayed in the popover\n * @property {RefObject<HTMLDivElement>} [scrollerRef] - Reference to the scrollable content area\n */\nexport type PopoverContentProps = CorePopoverContentProps;\n\n/**\n * Props for the PopoverClose component\n * @property {ReactNode} [children] - The close button content\n * @property {string} [appearance] - The button appearance\n * @property {string} [size] - The button size\n * @property {string} [type] - The button type\n * @property {Function} [onClick] - Click handler for the close button\n */\nexport type PopoverCloseProps = CorePopoverCloseProps & DataTrackingId;\n\n/**\n * Props for the PopoverButton component\n * @property {ReactNode} [children] - The button content\n * @property {string} [appearance] - The button appearance\n * @property {string} [icon] - The button icon\n * @property {string} [size] - The button size\n * @property {string} [type] - The button type\n * @property {Function} [onClick] - Click handler for the button\n */\nexport type PopoverButtonProps = CorePopoverButtonProps & DataTrackingId;\n\nconst PopoverElement = (props: PopoverProps) => {\n return <CorePopover {...props} />;\n};\n\n/**\n * PopoverTrigger component for creating custom trigger elements.\n *\n * Features:\n * - Supports custom trigger elements via render prop pattern\n * - Automatic focus management and keyboard interaction\n * - Hover and click event handling\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Trigger>\n * {(props) => (\n * <button {...props}>\n * Click to open popover\n * </button>\n * )}\n * </Popover.Trigger>\n * <Popover.Content>\n * <p>Content here</p>\n * </Popover.Content>\n * </Popover>\n */\nexport function PopoverTrigger(props: PopoverTriggerProps) {\n return <CorePopoverTrigger {...props} />;\n}\n\n/**\n * PopoverContent component for the main popover content area.\n *\n * Features:\n * - Automatic positioning and sizing based on trigger\n * - Screen boundary detection and fitting\n * - Scroll handling with custom scroller reference\n * - Focus management and keyboard navigation\n * - Hover interaction support for tooltip mode\n * - Escape key handling for closing\n * - Tab key trapping for modal popovers\n * - Arrow/caret indicator with automatic positioning\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper ARIA roles\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>This is the popover content</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n * </Popover>\n */\nexport const PopoverContent = forwardRef(\n (props: PopoverContentProps, ref: Ref<HTMLDivElement>) => {\n return <CorePopoverContent ref={ref} {...props} />;\n },\n);\nPopoverContent.displayName = CorePopoverContent.displayName;\n\n/**\n * PopoverClose component for closing the popover.\n *\n * Features:\n * - Automatic popover closing on click\n * - Supports all Button component props and styling\n * - Controlled and uncontrolled mode support\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper button semantics\n * - Delayed closing for controlled mode\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>Content here</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n * </Popover>\n */\nexport const PopoverClose = forwardRef(\n (props: PopoverCloseProps, ref: Ref<HTMLButtonElement>) => {\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"PopoverClose\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CorePopoverClose ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nPopoverClose.displayName = CorePopoverClose.displayName;\n\n/**\n * PopoverButton component for creating button-style triggers.\n *\n * Features:\n * - Button styling and behavior with all Button props\n * - Automatic popover opening on click\n * - Hover interaction support for tooltip mode\n * - Focus management and keyboard navigation\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Event handling for mouse, keyboard, and focus events\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>Content here</p>\n * </Popover.Content>\n * </Popover>\n */\nexport const PopoverButton = forwardRef(\n (props: PopoverButtonProps, ref: Ref<HTMLButtonElement>) => {\n const data = {\n children: childrenToString(props.children),\n appearance: props.appearance,\n icon: props.icon,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"PopoverButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CorePopoverButton ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nPopoverButton.displayName = CorePopoverButton.displayName;\n\n// export const usePopoverContext = useCorePopoverContext;\n\n/**\n * Popover component for displaying floating content relative to a trigger element.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Automatic positioning with fallback strategies\n * - Hover and click interaction modes\n * - Modal and non-modal variants\n * - Custom trigger elements\n * - Automatic height and width management\n * - Screen boundary detection and fitting\n * - Keyboard navigation and accessibility\n * - Popover API support with legacy fallback\n * - Outside click detection and handling\n * - Focus management and trapping\n * - Arrow/caret indicators\n * - Delay support for hover interactions\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>This is the popover content</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n * </Popover>\n *\n * @example\n * <Popover openOnHover delay={1000}>\n * <Popover.Button>Hover to open</Popover.Button>\n * <Popover.Content>Tooltip content</Popover.Content>\n * </Popover>\n *\n * @example\n * <Popover modal>\n * <Popover.Trigger>\n * {(props) => <button {...props}>Custom trigger</button>}\n * </Popover.Trigger>\n * <Popover.Content>\n * <TextField label=\"Form field\" />\n * <Popover.Close>Done</Popover.Close>\n * </Popover.Content>\n * </Popover>\n */\nexport const Popover = Object.assign(PopoverElement, {\n /**\n * PopoverTrigger component for creating custom trigger elements.\n *\n * Features:\n * - Supports custom trigger elements via render prop pattern\n * - Automatic focus management and keyboard interaction\n * - Hover and click event handling\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover.Trigger>\n * {(props) => (\n * <button {...props}>\n * Click to open popover\n * </button>\n * )}\n * </Popover.Trigger>\n */\n Trigger: PopoverTrigger,\n /**\n * PopoverContent component for the main popover content area.\n *\n * Features:\n * - Automatic positioning and sizing based on trigger\n * - Screen boundary detection and fitting\n * - Scroll handling with custom scroller reference\n * - Focus management and keyboard navigation\n * - Hover interaction support for tooltip mode\n * - Escape key handling for closing\n * - Tab key trapping for modal popovers\n * - Arrow/caret indicator with automatic positioning\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper ARIA roles\n *\n * @example\n * <Popover.Content>\n * <p>This is the popover content</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n */\n Content: PopoverContent,\n /**\n * PopoverClose component for closing the popover.\n *\n * Features:\n * - Automatic popover closing on click\n * - Supports all Button component props and styling\n * - Controlled and uncontrolled mode support\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper button semantics\n * - Delayed closing for controlled mode\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover.Close>Close</Popover.Close>\n */\n Close: PopoverClose,\n /**\n * PopoverButton component for creating button-style triggers.\n *\n * Features:\n * - Button styling and behavior with all Button props\n * - Automatic popover opening on click\n * - Hover interaction support for tooltip mode\n * - Focus management and keyboard navigation\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Event handling for mouse, keyboard, and focus events\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover.Button>Click to open</Popover.Button>\n */\n Button: PopoverButton,\n});\n"],"names":["CorePopover","CorePopoverTrigger","CorePopoverContent","CorePopoverClose","CorePopoverButton"],"mappings":";;;;;;AA+EA,MAAM,cAAA,GAAiB,CAAC,KAAwB,KAAA;AAC9C,EAAO,uBAAA,GAAA,CAACA,SAAa,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AACjC,CAAA;AA4BO,SAAS,eAAe,KAA4B,EAAA;AACzD,EAAO,uBAAA,GAAA,CAACC,gBAAoB,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AACxC;AA2BO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,CAAC,OAA4B,GAA6B,KAAA;AACxD,IAAA,uBAAQ,GAAA,CAAAC,gBAAA,EAAA,EAAmB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEpD;AACA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;AAwBzC,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAAgC,KAAA;AACzD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ;AAAA,KAC3C;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,cAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BACGC,cAAiB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG3E;AACA,YAAA,CAAa,cAAcA,cAAiB,CAAA,WAAA;AAwBrC,MAAM,aAAgB,GAAA,UAAA;AAAA,EAC3B,CAAC,OAA2B,GAAgC,KAAA;AAC1D,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,MACzC,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,eAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BACGC,eAAkB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG5E;AACA,aAAA,CAAc,cAAcA,eAAkB,CAAA,WAAA;AAiDjC,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,cAAgB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBnD,OAAS,EAAA,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBT,OAAS,EAAA,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBT,KAAO,EAAA,YAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBP,MAAQ,EAAA;AACV,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"Popover-rB4BVx-A.js","sources":["../src/components/Popover/Popover.tsx"],"sourcesContent":["import {\n PopoverProps as CorePopoverProps,\n Popover as CorePopover,\n PopoverTrigger as CorePopoverTrigger,\n PopoverTriggerProps as CorePopoverTriggerProps,\n PopoverContent as CorePopoverContent,\n PopoverContentProps as CorePopoverContentProps,\n PopoverClose as CorePopoverClose,\n PopoverCloseProps as CorePopoverCloseProps,\n PopoverButton as CorePopoverButton,\n PopoverButtonProps as CorePopoverButtonProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Popover component\n * @property {ReactNode} [children] - The content to be rendered inside the popover\n * @property {string} [id] - Unique identifier for the popover\n * @property {boolean} [modal] - Whether the popover should be modal (traps focus)\n * @property {boolean} [openOnHover] - Changes interaction to use hover instead of click\n * @property {boolean} [fillAvailableHeight] - Changes height and positioning for select/combobox\n * @property {number | string} [maxHeight] - Maximum height of the popover content\n * @property {boolean} [fitScreen] - Whether the popover should fit within the screen bounds\n * @property {number | string} [minHeight] - Minimum height of the popover content\n * @property {boolean} [matchReferenceWidth] - Whether the popover width should match the trigger element\n * @property {boolean} [fixedWidth] - Whether the popover should have a fixed width\n * @property {string} [placement] - Placement of the popover relative to the trigger\n * @property {boolean} [open] - Controlled open state\n * @property {boolean} [defaultOpen] - Default open state for uncontrolled mode\n * @property {Function} [onOpenChange] - Callback when open state changes\n * @property {Function} [onOutsidePress] - Callback when clicking outside the popover\n * @property {Function} [onClose] - Fires when the floating element is requested to be closed\n * @property {boolean} [disableCaret] - Whether to disable the caret/arrow indicator\n * @property {boolean} [noPadding] - Whether to remove default padding from content\n * @property {boolean} [disableAutoUpdate] - Whether to disable automatic position updates\n * @property {boolean} [disableTriggerFocus] - Whether to disable focus on the trigger element\n * @property {number} [delay] - Delay before opening the popover (for hover mode)\n * @property {boolean} [disableCloseOnClickOutside] - Whether to disable closing on outside click\n * @property {boolean} [disableCloseOnEscape] - Whether to disable closing on escape key\n */\nexport type PopoverProps = CorePopoverProps;\n\n/**\n * Props for the PopoverTrigger component\n * @property {Function} children - Render function that receives trigger props and returns a React element\n */\nexport type PopoverTriggerProps = CorePopoverTriggerProps & DataTrackingId;\n\n/**\n * Props for the PopoverContent component\n * @property {ReactNode} [children] - The content to be displayed in the popover\n * @property {RefObject<HTMLDivElement>} [scrollerRef] - Reference to the scrollable content area\n */\nexport type PopoverContentProps = CorePopoverContentProps;\n\n/**\n * Props for the PopoverClose component\n * @property {ReactNode} [children] - The close button content\n * @property {string} [appearance] - The button appearance\n * @property {string} [size] - The button size\n * @property {string} [type] - The button type\n * @property {Function} [onClick] - Click handler for the close button\n */\nexport type PopoverCloseProps = CorePopoverCloseProps & DataTrackingId;\n\n/**\n * Props for the PopoverButton component\n * @property {ReactNode} [children] - The button content\n * @property {string} [appearance] - The button appearance\n * @property {string} [icon] - The button icon\n * @property {string} [size] - The button size\n * @property {string} [type] - The button type\n * @property {Function} [onClick] - Click handler for the button\n */\nexport type PopoverButtonProps = CorePopoverButtonProps & DataTrackingId;\n\nconst PopoverElement = (props: PopoverProps) => {\n return <CorePopover {...props} />;\n};\n\n/**\n * PopoverTrigger component for creating custom trigger elements.\n *\n * Features:\n * - Supports custom trigger elements via render prop pattern\n * - Automatic focus management and keyboard interaction\n * - Hover and click event handling\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Trigger>\n * {(props) => (\n * <button {...props}>\n * Click to open popover\n * </button>\n * )}\n * </Popover.Trigger>\n * <Popover.Content>\n * <p>Content here</p>\n * </Popover.Content>\n * </Popover>\n */\nexport function PopoverTrigger(props: PopoverTriggerProps) {\n return <CorePopoverTrigger {...props} />;\n}\n\n/**\n * PopoverContent component for the main popover content area.\n *\n * Features:\n * - Automatic positioning and sizing based on trigger\n * - Screen boundary detection and fitting\n * - Scroll handling with custom scroller reference\n * - Focus management and keyboard navigation\n * - Hover interaction support for tooltip mode\n * - Escape key handling for closing\n * - Tab key trapping for modal popovers\n * - Arrow/caret indicator with automatic positioning\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper ARIA roles\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>This is the popover content</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n * </Popover>\n */\nexport const PopoverContent = forwardRef(\n (props: PopoverContentProps, ref: Ref<HTMLDivElement>) => {\n return <CorePopoverContent ref={ref} {...props} />;\n },\n);\nPopoverContent.displayName = CorePopoverContent.displayName;\n\n/**\n * PopoverClose component for closing the popover.\n *\n * Features:\n * - Automatic popover closing on click\n * - Supports all Button component props and styling\n * - Controlled and uncontrolled mode support\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper button semantics\n * - Delayed closing for controlled mode\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>Content here</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n * </Popover>\n */\nexport const PopoverClose = forwardRef(\n (props: PopoverCloseProps, ref: Ref<HTMLButtonElement>) => {\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"PopoverClose\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CorePopoverClose ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nPopoverClose.displayName = CorePopoverClose.displayName;\n\n/**\n * PopoverButton component for creating button-style triggers.\n *\n * Features:\n * - Button styling and behavior with all Button props\n * - Automatic popover opening on click\n * - Hover interaction support for tooltip mode\n * - Focus management and keyboard navigation\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Event handling for mouse, keyboard, and focus events\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>Content here</p>\n * </Popover.Content>\n * </Popover>\n */\nexport const PopoverButton = forwardRef(\n (props: PopoverButtonProps, ref: Ref<HTMLButtonElement>) => {\n const data = {\n children: childrenToString(props.children),\n appearance: props.appearance,\n icon: props.icon,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"PopoverButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CorePopoverButton ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nPopoverButton.displayName = CorePopoverButton.displayName;\n\n// export const usePopoverContext = useCorePopoverContext;\n\n/**\n * Popover component for displaying floating content relative to a trigger element.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Automatic positioning with fallback strategies\n * - Hover and click interaction modes\n * - Modal and non-modal variants\n * - Custom trigger elements\n * - Automatic height and width management\n * - Screen boundary detection and fitting\n * - Keyboard navigation and accessibility\n * - Popover API support with legacy fallback\n * - Outside click detection and handling\n * - Focus management and trapping\n * - Arrow/caret indicators\n * - Delay support for hover interactions\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover>\n * <Popover.Button>Click to open</Popover.Button>\n * <Popover.Content>\n * <p>This is the popover content</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n * </Popover>\n *\n * @example\n * <Popover openOnHover delay={1000}>\n * <Popover.Button>Hover to open</Popover.Button>\n * <Popover.Content>Tooltip content</Popover.Content>\n * </Popover>\n *\n * @example\n * <Popover modal>\n * <Popover.Trigger>\n * {(props) => <button {...props}>Custom trigger</button>}\n * </Popover.Trigger>\n * <Popover.Content>\n * <TextField label=\"Form field\" />\n * <Popover.Close>Done</Popover.Close>\n * </Popover.Content>\n * </Popover>\n */\nexport const Popover = Object.assign(PopoverElement, {\n /**\n * PopoverTrigger component for creating custom trigger elements.\n *\n * Features:\n * - Supports custom trigger elements via render prop pattern\n * - Automatic focus management and keyboard interaction\n * - Hover and click event handling\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover.Trigger>\n * {(props) => (\n * <button {...props}>\n * Click to open popover\n * </button>\n * )}\n * </Popover.Trigger>\n */\n Trigger: PopoverTrigger,\n /**\n * PopoverContent component for the main popover content area.\n *\n * Features:\n * - Automatic positioning and sizing based on trigger\n * - Screen boundary detection and fitting\n * - Scroll handling with custom scroller reference\n * - Focus management and keyboard navigation\n * - Hover interaction support for tooltip mode\n * - Escape key handling for closing\n * - Tab key trapping for modal popovers\n * - Arrow/caret indicator with automatic positioning\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper ARIA roles\n *\n * @example\n * <Popover.Content>\n * <p>This is the popover content</p>\n * <Popover.Close>Close</Popover.Close>\n * </Popover.Content>\n */\n Content: PopoverContent,\n /**\n * PopoverClose component for closing the popover.\n *\n * Features:\n * - Automatic popover closing on click\n * - Supports all Button component props and styling\n * - Controlled and uncontrolled mode support\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Accessibility support with proper button semantics\n * - Delayed closing for controlled mode\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover.Close>Close</Popover.Close>\n */\n Close: PopoverClose,\n /**\n * PopoverButton component for creating button-style triggers.\n *\n * Features:\n * - Button styling and behavior with all Button props\n * - Automatic popover opening on click\n * - Hover interaction support for tooltip mode\n * - Focus management and keyboard navigation\n * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details)\n * - Legacy popover support with fallback\n * - Context integration with parent popover\n * - Event handling for mouse, keyboard, and focus events\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Popover.Button>Click to open</Popover.Button>\n */\n Button: PopoverButton,\n});\n"],"names":["CorePopover","CorePopoverTrigger","CorePopoverContent","CorePopoverClose","CorePopoverButton"],"mappings":";;;;;;AA+EA,MAAM,cAAA,GAAiB,CAAC,KAAwB,KAAA;AAC9C,EAAO,uBAAA,GAAA,CAACA,SAAa,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AACjC,CAAA;AA4BO,SAAS,eAAe,KAA4B,EAAA;AACzD,EAAO,uBAAA,GAAA,CAACC,gBAAoB,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AACxC;AA2BO,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,CAAC,OAA4B,GAA6B,KAAA;AACxD,IAAA,uBAAQ,GAAA,CAAAC,gBAAA,EAAA,EAAmB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEpD;AACA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;AAwBzC,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAAgC,KAAA;AACzD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ;AAAA,KAC3C;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,cAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BACGC,cAAiB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG3E;AACA,YAAA,CAAa,cAAcA,cAAiB,CAAA,WAAA;AAwBrC,MAAM,aAAgB,GAAA,UAAA;AAAA,EAC3B,CAAC,OAA2B,GAAgC,KAAA;AAC1D,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,QAAA,EAAU,gBAAiB,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,MACzC,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,KAAM,CAAA;AAAA,KACd;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,eAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BACGC,eAAkB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG5E;AACA,aAAA,CAAc,cAAcA,eAAkB,CAAA,WAAA;AAiDjC,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,cAAgB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBnD,OAAS,EAAA,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBT,OAAS,EAAA,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBT,KAAO,EAAA,YAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBP,MAAQ,EAAA;AACV,CAAC;;;;"}
|
package/dist/Popover.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { P as Popover, d as PopoverButton, c as PopoverClose, b as PopoverContent, a as PopoverTrigger, P as default } from './Popover-
|
|
1
|
+
export { P as Popover, d as PopoverButton, c as PopoverClose, b as PopoverContent, a as PopoverTrigger, P as default } from './Popover-rB4BVx-A.js';
|
|
2
2
|
//# sourceMappingURL=Popover.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
|
-
import { P as ProgressBar$1 } from './ProgressBar-
|
|
3
|
+
import { P as ProgressBar$1 } from './ProgressBar-CzXzPpIX-Clg1J71o.js';
|
|
4
4
|
|
|
5
5
|
const ProgressBar = forwardRef(
|
|
6
6
|
(props, ref) => {
|
|
@@ -10,4 +10,4 @@ const ProgressBar = forwardRef(
|
|
|
10
10
|
ProgressBar.displayName = ProgressBar$1.displayName;
|
|
11
11
|
|
|
12
12
|
export { ProgressBar as P };
|
|
13
|
-
//# sourceMappingURL=ProgressBar-
|
|
13
|
+
//# sourceMappingURL=ProgressBar-BL34rg_J.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar-
|
|
1
|
+
{"version":3,"file":"ProgressBar-BL34rg_J.js","sources":["../src/components/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import {\n ProgressBarProps as CoreProgressBarProps,\n ProgressBar as CoreProgressBar,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the ProgressBar component\n * @property {ReactElement | string | boolean} [error] - Error state or error message to display\n * @property {string} [errorAriaLive] - ARIA live region setting for error announcements\n * @property {string} [description] - Description text to display below the progress bar\n * @property {string} [label] - Label text for the progress bar\n * @property {object} [labelProps] - Additional props for the label component\n * @property {string} [aria-label] - Accessible label for the progress bar (alternative to label)\n * @property {string} [aria-labelledby] - ID of element that labels the progress bar (alternative to label)\n * @property {string | number} [value] - Current progress value (0-100 or 0-max)\n * @property {boolean} [indeterminate] - Whether the progress bar is in indeterminate state\n * @property {number} [max] - Maximum value for the progress bar\n * @extends Omit<ComponentPropsWithoutRef<\"progress\">, \"value\">\n * @extends LayoutUtilProps\n */\nexport type ProgressBarProps = CoreProgressBarProps;\n\n/**\n * ProgressBar component for displaying progress indicators.\n *\n * Features:\n * - Supports both determinate and indeterminate progress states\n * - Optional label with customizable label props\n * - Error state with error message display\n * - Success state with check icon when value equals max\n * - Description text support\n * - Accessibility support with proper ARIA attributes\n * - Layout utility props for positioning and spacing\n * - Automatic tracking ID generation for analytics\n * - Flexible labeling options (label, aria-label, aria-labelledby)\n * - Error and success visual indicators\n *\n * @example\n * <ProgressBar\n * label=\"Upload Progress\"\n * value={75}\n * max={100}\n * description=\"Uploading files...\"\n * />\n *\n * @example\n * <ProgressBar\n * label=\"Processing\"\n * indeterminate\n * description=\"Please wait...\"\n * />\n *\n * @example\n * <ProgressBar\n * aria-label=\"Download progress\"\n * value={50}\n * error=\"Download failed\"\n * />\n */\nexport const ProgressBar = forwardRef(\n (props: ProgressBarProps, ref: Ref<HTMLDivElement>) => {\n return <CoreProgressBar ref={ref} {...props} />;\n },\n);\nProgressBar.displayName = CoreProgressBar.displayName;\n"],"names":["CoreProgressBar"],"mappings":";;;;AA4DO,MAAM,WAAc,GAAA,UAAA;AAAA,EACzB,CAAC,OAAyB,GAA6B,KAAA;AACrD,IAAA,uBAAQ,GAAA,CAAAA,aAAA,EAAA,EAAgB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEjD;AACA,WAAA,CAAY,cAAcA,aAAgB,CAAA,WAAA;;;;"}
|