@bi-digital/react 0.0.0-experimental-ebbf94e → 0.0.0-experimental-8e8691a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/{alert-footer-DVR-ee1g.d.ts → alert-footer-Bks3U6Tq.d.ts} +46 -21
  2. package/dist/components/alert/alert-footer.d.ts +7 -8
  3. package/dist/components/alert/alert.d.ts +7 -8
  4. package/dist/components/alert/index.d.ts +7 -8
  5. package/dist/components/avatar/avatar.d.ts +7 -8
  6. package/dist/components/avatar/index.d.ts +7 -8
  7. package/dist/components/badge/badge.d.ts +7 -8
  8. package/dist/components/badge/index.d.ts +7 -8
  9. package/dist/components/button/button.d.ts +7 -8
  10. package/dist/components/button/index.d.ts +7 -8
  11. package/dist/components/card/card-action.d.ts +7 -8
  12. package/dist/components/card/card-actions.d.ts +7 -8
  13. package/dist/components/card/card-content.d.ts +7 -8
  14. package/dist/components/card/card-date.d.ts +7 -8
  15. package/dist/components/card/card-header.d.ts +7 -8
  16. package/dist/components/card/card-media.d.ts +7 -8
  17. package/dist/components/card/card.d.ts +7 -8
  18. package/dist/components/card/index.d.ts +7 -8
  19. package/dist/components/checkbox/checkbox-subsection.d.ts +7 -8
  20. package/dist/components/checkbox/checkbox.d.ts +7 -8
  21. package/dist/components/checkbox/index.d.ts +7 -8
  22. package/dist/components/chip/chip.d.ts +7 -8
  23. package/dist/components/chip/index.d.ts +7 -8
  24. package/dist/components/dialog/dialog-close-button.d.ts +7 -8
  25. package/dist/components/dialog/dialog-content.d.ts +7 -8
  26. package/dist/components/dialog/dialog-footer.d.ts +7 -8
  27. package/dist/components/dialog/dialog-header.d.ts +7 -8
  28. package/dist/components/dialog/dialog-trigger.d.ts +7 -8
  29. package/dist/components/dialog/dialog.d.ts +7 -8
  30. package/dist/components/dialog/index.d.ts +7 -8
  31. package/dist/components/drawer/drawer-close-button.d.ts +7 -8
  32. package/dist/components/drawer/drawer-content.d.ts +7 -8
  33. package/dist/components/drawer/drawer-footer.d.ts +7 -8
  34. package/dist/components/drawer/drawer-header.d.ts +7 -8
  35. package/dist/components/drawer/drawer-trigger.d.ts +7 -8
  36. package/dist/components/drawer/drawer.d.ts +7 -8
  37. package/dist/components/drawer/index.d.ts +7 -8
  38. package/dist/components/dropdown/dropdown-button.d.ts +7 -8
  39. package/dist/components/dropdown/dropdown-trigger-context.d.ts +15 -1
  40. package/dist/components/dropdown/dropdown-trigger-context.js +4 -4
  41. package/dist/components/dropdown/dropdown-trigger.d.ts +7 -8
  42. package/dist/components/dropdown/dropdown-trigger.js +4 -4
  43. package/dist/components/dropdown/dropdown.d.ts +7 -8
  44. package/dist/components/dropdown/dropdown.js +4 -4
  45. package/dist/components/dropdown/index.d.ts +7 -8
  46. package/dist/components/dropdown/index.js +6 -6
  47. package/dist/components/field/field-affix.d.ts +7 -8
  48. package/dist/components/field/field-description.d.ts +7 -8
  49. package/dist/components/field/field.d.ts +7 -8
  50. package/dist/components/field/index.d.ts +7 -8
  51. package/dist/components/fieldset/fieldset-description.d.ts +7 -8
  52. package/dist/components/fieldset/fieldset-legend.d.ts +7 -8
  53. package/dist/components/fieldset/fieldset.d.ts +7 -8
  54. package/dist/components/fieldset/index.d.ts +7 -8
  55. package/dist/components/filter-group/filter-group.d.ts +7 -8
  56. package/dist/components/filter-group/index.d.ts +7 -8
  57. package/dist/components/footer/footer-links.d.ts +1 -1
  58. package/dist/components/footer/footer.d.ts +7 -8
  59. package/dist/components/footer/index.d.ts +7 -8
  60. package/dist/components/index.d.ts +7 -8
  61. package/dist/components/index.js +6 -6
  62. package/dist/components/input/index.d.ts +7 -8
  63. package/dist/components/input/input.d.ts +7 -8
  64. package/dist/components/label/index.d.ts +7 -8
  65. package/dist/components/label/label.d.ts +7 -8
  66. package/dist/components/link/index.d.ts +7 -8
  67. package/dist/components/link/link.d.ts +7 -8
  68. package/dist/components/logo/index.d.ts +7 -8
  69. package/dist/components/logo/logo.d.ts +7 -8
  70. package/dist/components/navbar/index.d.ts +7 -8
  71. package/dist/components/navbar/navbar.d.ts +7 -8
  72. package/dist/components/navbar/sub-navbar.d.ts +7 -8
  73. package/dist/components/pagination/index.d.ts +7 -8
  74. package/dist/components/pagination/pagination-button.d.ts +7 -8
  75. package/dist/components/pagination/pagination-item.d.ts +1 -1
  76. package/dist/components/pagination/pagination.d.ts +7 -8
  77. package/dist/components/popover/index.d.ts +7 -8
  78. package/dist/components/popover/index.js +3 -3
  79. package/dist/components/popover/popover-trigger-context.d.ts +1 -1
  80. package/dist/components/popover/popover-trigger-context.js +1 -1
  81. package/dist/components/popover/popover-trigger.d.ts +7 -8
  82. package/dist/components/popover/popover-trigger.js +2 -2
  83. package/dist/components/popover/popover.d.ts +7 -8
  84. package/dist/components/popover/popover.js +2 -2
  85. package/dist/components/radio/index.d.ts +7 -8
  86. package/dist/components/radio/radio.d.ts +7 -8
  87. package/dist/components/search/index.d.ts +7 -8
  88. package/dist/components/search/search.d.ts +7 -8
  89. package/dist/components/select/index.d.ts +7 -8
  90. package/dist/components/select/select-optgroup.d.ts +7 -8
  91. package/dist/components/select/select-option.d.ts +7 -8
  92. package/dist/components/select/select.d.ts +7 -8
  93. package/dist/components/skip-link/index.d.ts +7 -8
  94. package/dist/components/skip-link/skip-link.d.ts +7 -8
  95. package/dist/components/spinner/index.d.ts +7 -8
  96. package/dist/components/spinner/spinner.d.ts +7 -8
  97. package/dist/components/sticky-header/index.d.ts +2 -2
  98. package/dist/components/sticky-header/sticky-header.d.ts +1 -1
  99. package/dist/components/tabs/index.d.ts +7 -8
  100. package/dist/components/tabs/tab.d.ts +7 -8
  101. package/dist/components/tabs/tabs-list.d.ts +7 -8
  102. package/dist/components/tabs/tabs-panel.d.ts +7 -8
  103. package/dist/components/tabs/tabs.d.ts +7 -8
  104. package/dist/components/textarea/index.d.ts +7 -8
  105. package/dist/components/textarea/textarea.d.ts +7 -8
  106. package/dist/components/textfield/index.d.ts +7 -8
  107. package/dist/components/textfield/textfield.d.ts +7 -8
  108. package/dist/components/validation-message/index.d.ts +7 -8
  109. package/dist/components/validation-message/validation-message.d.ts +7 -8
  110. package/dist/{dropdown-D54kcMt_.js → dropdown-CnR0zNhr.js} +2 -2
  111. package/dist/{dropdown-D54kcMt_.js.map → dropdown-CnR0zNhr.js.map} +1 -1
  112. package/dist/{dropdown-trigger-DfHyg_D7.js → dropdown-trigger-COk6CKIa.js} +2 -2
  113. package/dist/{dropdown-trigger-DfHyg_D7.js.map → dropdown-trigger-COk6CKIa.js.map} +1 -1
  114. package/dist/{dropdown-trigger-context-BpYBk_xf.js → dropdown-trigger-context-BkqjqjhG.js} +6 -3
  115. package/dist/dropdown-trigger-context-BkqjqjhG.js.map +1 -0
  116. package/dist/{footer-links-Drm2LFnw.d.ts → footer-links-CiYPQHgT.d.ts} +1 -1
  117. package/dist/{index-B-0iSMVN.d.ts → index-CjygsraA.d.ts} +1 -1
  118. package/dist/{index-CXV3nvLQ.d.ts → index-CxSdiV-v.d.ts} +1 -1
  119. package/dist/main.d.ts +7 -8
  120. package/dist/main.js +6 -6
  121. package/dist/{pagination-item-mKQyvHV9.d.ts → pagination-item-5nXzmcd5.d.ts} +1 -1
  122. package/dist/{popover-CGvBn3q9.js → popover-I6eZrM65.js} +2 -2
  123. package/dist/{popover-CGvBn3q9.js.map → popover-I6eZrM65.js.map} +1 -1
  124. package/dist/{popover-trigger-context-CGJlUS_N.js → popover-trigger-context-D7nOI0FT.js} +9 -3
  125. package/dist/popover-trigger-context-D7nOI0FT.js.map +1 -0
  126. package/dist/{popover-trigger-context-C3QaiCth.d.ts → popover-trigger-context-JipAPdV6.d.ts} +14 -2
  127. package/dist/{popover-trigger-BLnIukvY.js → popover-trigger-dMRssLhy.js} +2 -2
  128. package/dist/{popover-trigger-BLnIukvY.js.map → popover-trigger-dMRssLhy.js.map} +1 -1
  129. package/dist/{sticky-header-JeG62vfR.d.ts → sticky-header-BJkvy3qf.d.ts} +3 -3
  130. package/dist/{types-DC-FPmDA.d.ts → types-Db8O5fnL.d.ts} +1 -1
  131. package/dist/utilities/hooks/index.d.ts +7 -8
  132. package/dist/utilities/hooks/usePagination/usePagination.d.ts +7 -8
  133. package/dist/utilities/index.d.ts +7 -8
  134. package/dist/utilities/types.d.ts +1 -1
  135. package/dist/vanilla/dropdown/index.d.ts +1 -1
  136. package/dist/vanilla/index.d.ts +2 -2
  137. package/dist/vanilla/popover/index.d.ts +1 -1
  138. package/package.json +4 -4
  139. package/dist/dropdown-trigger-context-BpYBk_xf.js.map +0 -1
  140. package/dist/dropdown-trigger-context-D0QMaRYY.d.ts +0 -29
  141. package/dist/popover-trigger-context-CGJlUS_N.js.map +0 -1
  142. /package/dist/{index-CTw2zfCM.d.ts → index-2Mg7qf3C.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"popover-CGvBn3q9.js","names":["event: MouseEvent","event: KeyboardEvent"],"sources":["../src/components/popover/popover.tsx"],"sourcesContent":["// Thanks to Designsystemet:\n// https://github.com/digdir/designsystemet/blob/8aa6dc274e5b0338d15572f44b5dd3fab6fa4eb1/packages/react/src/components/Popover/Popover.tsx\n\nimport { autoUpdate, computePosition, flip, offset, shift, hide } from '@floating-ui/dom';\nimport type { Middleware, Placement } from '@floating-ui/dom';\nimport { Slot } from '@radix-ui/react-slot';\nimport cl from 'clsx/lite';\nimport { use, useRef } from 'react';\nimport type { HTMLAttributes, Ref } from 'react';\nimport { useEffect } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { useMergeRefs } from '../../utilities/hooks';\nimport { Context } from './popover-trigger-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nconst padding = 20;\n\nexport type PopoverProps = MergeRight<\n DefaultProps & HTMLAttributes<HTMLDivElement>,\n {\n /**\n * `id` to connect the trigger with the popover - required when not using PopoverContext.\n */\n id?: string;\n /**\n * Placement of the popover on the trigger.\n * @default 'top'\n */\n placement?: Placement;\n /**\n * When a boolean is provided, the popover will be controlled.\n * @default undefined\n */\n open?: boolean;\n /**\n * Callback when the open state changes.\n * @param open - The new open state of the popover.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n /**\n * Additional middleware to use for positioning the popover.\n *\n * @example\n * Prevent the popover from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware={[\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n ref?: Ref<HTMLDivElement>;\n }\n>;\n\n/**\n * Popover component, used to display content in a popover over an element.\n *\n * @example with TriggerContext\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n *\n * @example without TriggerContext\n * <Button aria-controls=\"my-popover\" aria-expanded={open}>Open Popover</Button>\n * <Popover open={open} onOpenChange={onOpenChange} id=\"my-popover\">\n * Content\n * </Popover>\n */\nexport const Popover = ({\n id,\n className,\n onOpenChange,\n open,\n placement = 'top',\n disableAutoPlacement = false,\n positionMiddleware = [],\n dark = false,\n asChild = false,\n ref,\n ...rest\n}: PopoverProps) => {\n const Component = asChild ? Slot : 'div';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const isControlled = useRef(open !== undefined);\n const mergedRefs = useMergeRefs([popoverRef, ref]);\n const { popoverId, setPopoverId, popoverOpen, setPopoverOpen } = use(Context);\n\n const [isOpen, setIsOpen] = useControllableState({\n prop: isControlled.current ? open : popoverOpen,\n onChange: (val) => {\n onOpenChange?.(val);\n setPopoverOpen?.(val);\n },\n defaultProp: false,\n caller: 'Popover',\n });\n\n useEffect(() => {\n const popover = popoverRef.current;\n const handleClick = (event: MouseEvent) => {\n const el = event.target as Element | null;\n const isTrigger = el?.closest?.(`[aria-controls=\"${popover?.id}\"]`);\n const isOutside = !isTrigger && !popover?.contains(el as Node);\n\n if (isOutside) {\n setIsOpen(false);\n }\n };\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !isOpen) return;\n event.preventDefault(); // Prevent closing fullscreen in Safari\n setIsOpen(false);\n };\n\n document.addEventListener('click', handleClick, true); // Use capture to execute before React event API\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('click', handleClick, true);\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [isOpen, setIsOpen]);\n\n useEffect(() => {\n const popover = popoverRef.current;\n const trigger = document.querySelector(`[aria-controls=\"${popover?.id}\"]`);\n\n if (popover && trigger && isOpen)\n return autoUpdate(trigger, popover, () => {\n computePosition(trigger, popover, {\n middleware: [\n offset(padding),\n ...(disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })]),\n ...positionMiddleware,\n hide({ padding, strategy: 'escaped' }),\n ],\n strategy: 'fixed',\n placement,\n }).then(({ x, y, middlewareData }) => {\n popover.style.translate = `${x}px ${y}px`;\n popover.style.visibility = middlewareData.hide?.referenceHidden ? 'hidden' : 'visible';\n });\n });\n }, [isOpen, placement, id, disableAutoPlacement, positionMiddleware]);\n\n // Update context with id\n useEffect(() => {\n if (id) setPopoverId?.(id);\n }, [id, setPopoverId]);\n\n return (\n <Component\n className={cl('bi-popover', className)}\n id={id || popoverId}\n aria-hidden={!isOpen}\n data-dark={dark}\n ref={mergedRefs}\n {...rest}\n />\n );\n};\n"],"mappings":";;;;;;;;;;AAgBA,MAAM,UAAU;;;;;;;;;;;;;;;;;;AA4EhB,MAAa,UAAU,CAAC,EACtB,IACA,WACA,cACA,MACA,YAAY,OACZ,uBAAuB,OACvB,qBAAqB,CAAE,GACvB,OAAO,OACP,UAAU,OACV,IACA,GAAG,MACU,KAAK;CAClB,MAAM,YAAY,UAAU,OAAO;CAEnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,eAAe,OAAO,gBAAmB;CAC/C,MAAM,aAAa,aAAa,CAAC,YAAY,GAAI,EAAC;CAClD,MAAM,EAAE,WAAW,cAAc,aAAa,gBAAgB,GAAG,IAAI,QAAQ;CAE7E,MAAM,CAAC,QAAQ,UAAU,GAAG,qBAAqB;EAC/C,MAAM,aAAa,UAAU,OAAO;EACpC,UAAU,CAAC,QAAQ;AACjB,kBAAe,IAAI;AACnB,oBAAiB,IAAI;EACtB;EACD,aAAa;EACb,QAAQ;CACT,EAAC;AAEF,WAAU,MAAM;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,cAAc,CAACA,UAAsB;GACzC,MAAM,KAAK,MAAM;GACjB,MAAM,YAAY,IAAI,WAAW,kBAAkB,SAAS,GAAG,IAAI;GACnE,MAAM,aAAa,cAAc,SAAS,SAAS,GAAW;AAE9D,OAAI,UACF,WAAU,MAAM;EAEnB;EAED,MAAM,gBAAgB,CAACC,UAAyB;AAC9C,OAAI,MAAM,QAAQ,aAAa,OAAQ;AACvC,SAAM,gBAAgB;AACtB,aAAU,MAAM;EACjB;AAED,WAAS,iBAAiB,SAAS,aAAa,KAAK;AACrD,WAAS,iBAAiB,WAAW,cAAc;AACnD,SAAO,MAAM;AACX,YAAS,oBAAoB,SAAS,aAAa,KAAK;AACxD,YAAS,oBAAoB,WAAW,cAAc;EACvD;CACF,GAAE,CAAC,QAAQ,SAAU,EAAC;AAEvB,WAAU,MAAM;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,UAAU,SAAS,eAAe,kBAAkB,SAAS,GAAG,IAAI;AAE1E,MAAI,WAAW,WAAW,OACxB,QAAO,WAAW,SAAS,SAAS,MAAM;AACxC,mBAAgB,SAAS,SAAS;IAChC,YAAY;KACV,OAAO,QAAQ;KACf,GAAI,uBAAuB,CAAE,IAAG,CAAC,KAAK,EAAE,QAAS,EAAC,EAAE,MAAM,EAAE,QAAS,EAAC,AAAC;KACvE,GAAG;KACH,KAAK;MAAE;MAAS,UAAU;KAAW,EAAC;IACvC;IACD,UAAU;IACV;GACD,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,gBAAgB,KAAK;AACpC,YAAQ,MAAM,aAAa,EAAE,EAAE,KAAK,EAAE;AACtC,YAAQ,MAAM,aAAa,eAAe,MAAM,kBAAkB,WAAW;GAC9E,EAAC;EACH,EAAC;CACL,GAAE;EAAC;EAAQ;EAAW;EAAI;EAAsB;CAAmB,EAAC;AAGrE,WAAU,MAAM;AACd,MAAI,GAAI,gBAAe,GAAG;CAC3B,GAAE,CAAC,IAAI,YAAa,EAAC;AAEtB,wBACE,IAAC;EACC,WAAW,KAAG,cAAc,UAAU;EACtC,IAAI,MAAM;EACV,gBAAc;EACd,aAAW;EACX,KAAK;EACL,GAAI;GACJ;AAEL"}
1
+ {"version":3,"file":"popover-I6eZrM65.js","names":["event: MouseEvent","event: KeyboardEvent"],"sources":["../src/components/popover/popover.tsx"],"sourcesContent":["// Thanks to Designsystemet:\n// https://github.com/digdir/designsystemet/blob/8aa6dc274e5b0338d15572f44b5dd3fab6fa4eb1/packages/react/src/components/Popover/Popover.tsx\n\nimport { autoUpdate, computePosition, flip, offset, shift, hide } from '@floating-ui/dom';\nimport type { Middleware, Placement } from '@floating-ui/dom';\nimport { Slot } from '@radix-ui/react-slot';\nimport cl from 'clsx/lite';\nimport { use, useRef } from 'react';\nimport type { HTMLAttributes, Ref } from 'react';\nimport { useEffect } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { useMergeRefs } from '../../utilities/hooks';\nimport { Context } from './popover-trigger-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nconst padding = 20;\n\nexport type PopoverProps = MergeRight<\n DefaultProps & HTMLAttributes<HTMLDivElement>,\n {\n /**\n * `id` to connect the trigger with the popover - required when not using PopoverContext.\n */\n id?: string;\n /**\n * Placement of the popover on the trigger.\n * @default 'top'\n */\n placement?: Placement;\n /**\n * When a boolean is provided, the popover will be controlled.\n * @default undefined\n */\n open?: boolean;\n /**\n * Callback when the open state changes.\n * @param open - The new open state of the popover.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n /**\n * Additional middleware to use for positioning the popover.\n *\n * @example\n * Prevent the popover from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware={[\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n ref?: Ref<HTMLDivElement>;\n }\n>;\n\n/**\n * Popover component, used to display content in a popover over an element.\n *\n * @example with TriggerContext\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n *\n * @example without TriggerContext\n * <Button aria-controls=\"my-popover\" aria-expanded={open}>Open Popover</Button>\n * <Popover open={open} onOpenChange={onOpenChange} id=\"my-popover\">\n * Content\n * </Popover>\n */\nexport const Popover = ({\n id,\n className,\n onOpenChange,\n open,\n placement = 'top',\n disableAutoPlacement = false,\n positionMiddleware = [],\n dark = false,\n asChild = false,\n ref,\n ...rest\n}: PopoverProps) => {\n const Component = asChild ? Slot : 'div';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const isControlled = useRef(open !== undefined);\n const mergedRefs = useMergeRefs([popoverRef, ref]);\n const { popoverId, setPopoverId, popoverOpen, setPopoverOpen } = use(Context);\n\n const [isOpen, setIsOpen] = useControllableState({\n prop: isControlled.current ? open : popoverOpen,\n onChange: (val) => {\n onOpenChange?.(val);\n setPopoverOpen?.(val);\n },\n defaultProp: false,\n caller: 'Popover',\n });\n\n useEffect(() => {\n const popover = popoverRef.current;\n const handleClick = (event: MouseEvent) => {\n const el = event.target as Element | null;\n const isTrigger = el?.closest?.(`[aria-controls=\"${popover?.id}\"]`);\n const isOutside = !isTrigger && !popover?.contains(el as Node);\n\n if (isOutside) {\n setIsOpen(false);\n }\n };\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !isOpen) return;\n event.preventDefault(); // Prevent closing fullscreen in Safari\n setIsOpen(false);\n };\n\n document.addEventListener('click', handleClick, true); // Use capture to execute before React event API\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('click', handleClick, true);\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [isOpen, setIsOpen]);\n\n useEffect(() => {\n const popover = popoverRef.current;\n const trigger = document.querySelector(`[aria-controls=\"${popover?.id}\"]`);\n\n if (popover && trigger && isOpen)\n return autoUpdate(trigger, popover, () => {\n computePosition(trigger, popover, {\n middleware: [\n offset(padding),\n ...(disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })]),\n ...positionMiddleware,\n hide({ padding, strategy: 'escaped' }),\n ],\n strategy: 'fixed',\n placement,\n }).then(({ x, y, middlewareData }) => {\n popover.style.translate = `${x}px ${y}px`;\n popover.style.visibility = middlewareData.hide?.referenceHidden ? 'hidden' : 'visible';\n });\n });\n }, [isOpen, placement, id, disableAutoPlacement, positionMiddleware]);\n\n // Update context with id\n useEffect(() => {\n if (id) setPopoverId?.(id);\n }, [id, setPopoverId]);\n\n return (\n <Component\n className={cl('bi-popover', className)}\n id={id || popoverId}\n aria-hidden={!isOpen}\n data-dark={dark}\n ref={mergedRefs}\n {...rest}\n />\n );\n};\n"],"mappings":";;;;;;;;;;AAgBA,MAAM,UAAU;;;;;;;;;;;;;;;;;;AA4EhB,MAAa,UAAU,CAAC,EACtB,IACA,WACA,cACA,MACA,YAAY,OACZ,uBAAuB,OACvB,qBAAqB,CAAE,GACvB,OAAO,OACP,UAAU,OACV,IACA,GAAG,MACU,KAAK;CAClB,MAAM,YAAY,UAAU,OAAO;CAEnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,eAAe,OAAO,gBAAmB;CAC/C,MAAM,aAAa,aAAa,CAAC,YAAY,GAAI,EAAC;CAClD,MAAM,EAAE,WAAW,cAAc,aAAa,gBAAgB,GAAG,IAAI,QAAQ;CAE7E,MAAM,CAAC,QAAQ,UAAU,GAAG,qBAAqB;EAC/C,MAAM,aAAa,UAAU,OAAO;EACpC,UAAU,CAAC,QAAQ;AACjB,kBAAe,IAAI;AACnB,oBAAiB,IAAI;EACtB;EACD,aAAa;EACb,QAAQ;CACT,EAAC;AAEF,WAAU,MAAM;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,cAAc,CAACA,UAAsB;GACzC,MAAM,KAAK,MAAM;GACjB,MAAM,YAAY,IAAI,WAAW,kBAAkB,SAAS,GAAG,IAAI;GACnE,MAAM,aAAa,cAAc,SAAS,SAAS,GAAW;AAE9D,OAAI,UACF,WAAU,MAAM;EAEnB;EAED,MAAM,gBAAgB,CAACC,UAAyB;AAC9C,OAAI,MAAM,QAAQ,aAAa,OAAQ;AACvC,SAAM,gBAAgB;AACtB,aAAU,MAAM;EACjB;AAED,WAAS,iBAAiB,SAAS,aAAa,KAAK;AACrD,WAAS,iBAAiB,WAAW,cAAc;AACnD,SAAO,MAAM;AACX,YAAS,oBAAoB,SAAS,aAAa,KAAK;AACxD,YAAS,oBAAoB,WAAW,cAAc;EACvD;CACF,GAAE,CAAC,QAAQ,SAAU,EAAC;AAEvB,WAAU,MAAM;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,UAAU,SAAS,eAAe,kBAAkB,SAAS,GAAG,IAAI;AAE1E,MAAI,WAAW,WAAW,OACxB,QAAO,WAAW,SAAS,SAAS,MAAM;AACxC,mBAAgB,SAAS,SAAS;IAChC,YAAY;KACV,OAAO,QAAQ;KACf,GAAI,uBAAuB,CAAE,IAAG,CAAC,KAAK,EAAE,QAAS,EAAC,EAAE,MAAM,EAAE,QAAS,EAAC,AAAC;KACvE,GAAG;KACH,KAAK;MAAE;MAAS,UAAU;KAAW,EAAC;IACvC;IACD,UAAU;IACV;GACD,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,gBAAgB,KAAK;AACpC,YAAQ,MAAM,aAAa,EAAE,EAAE,KAAK,EAAE;AACtC,YAAQ,MAAM,aAAa,eAAe,MAAM,kBAAkB,WAAW;GAC9E,EAAC;EACH,EAAC;CACL,GAAE;EAAC;EAAQ;EAAW;EAAI;EAAsB;CAAmB,EAAC;AAGrE,WAAU,MAAM;AACd,MAAI,GAAI,gBAAe,GAAG;CAC3B,GAAE,CAAC,IAAI,YAAa,EAAC;AAEtB,wBACE,IAAC;EACC,WAAW,KAAG,cAAc,UAAU;EACtC,IAAI,MAAM;EACV,gBAAc;EACd,aAAW;EACX,KAAK;EACL,GAAI;GACJ;AAEL"}
@@ -1,5 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { createContext, useId, useState } from "react";
3
+ import { useControllableState } from "@radix-ui/react-use-controllable-state";
3
4
 
4
5
  //#region src/components/popover/popover-trigger-context.tsx
5
6
  const Context = createContext({});
@@ -14,10 +15,15 @@ const Context = createContext({});
14
15
  * </Popover>
15
16
  * </PopoverTriggerContext>
16
17
  */
17
- const PopoverTriggerContext = ({ children }) => {
18
+ const PopoverTriggerContext = ({ children, open, onOpenChange }) => {
18
19
  const randomPopoverId = useId();
19
20
  const [popoverId, setPopoverId] = useState(randomPopoverId);
20
- const [popoverOpen, setPopoverOpen] = useState(false);
21
+ const [popoverOpen, setPopoverOpen] = useControllableState({
22
+ prop: open,
23
+ onChange: onOpenChange,
24
+ defaultProp: false,
25
+ caller: "PopoverTriggerContext"
26
+ });
21
27
  return /* @__PURE__ */ jsx(Context, {
22
28
  value: {
23
29
  popoverId,
@@ -31,4 +37,4 @@ const PopoverTriggerContext = ({ children }) => {
31
37
 
32
38
  //#endregion
33
39
  export { Context, PopoverTriggerContext };
34
- //# sourceMappingURL=popover-trigger-context-CGJlUS_N.js.map
40
+ //# sourceMappingURL=popover-trigger-context-D7nOI0FT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-trigger-context-D7nOI0FT.js","names":[],"sources":["../src/components/popover/popover-trigger-context.tsx"],"sourcesContent":["import { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { createContext, useId, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nexport const Context = createContext<{\n popoverId?: string;\n setPopoverId?: (id: string) => void;\n popoverOpen?: boolean;\n setPopoverOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n}>({});\n\nexport type PopoverTriggerContextProps = {\n children: ReactNode;\n /**\n * When a boolean is provided, the popover will be controlled.\n * @default undefined\n */\n open?: boolean;\n /**\n * Callback when the open state changes.\n * @param open - The new open state of the popover.\n */\n onOpenChange?: (open: boolean) => void;\n};\n\n/**\n * PopoverTriggerContext component, use to wrap a PopoverTrigger and Popover.\n *\n * @example\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n */\nexport const PopoverTriggerContext = ({ children, open, onOpenChange }: PopoverTriggerContextProps) => {\n const randomPopoverId = useId();\n const [popoverId, setPopoverId] = useState(randomPopoverId);\n const [popoverOpen, setPopoverOpen] = useControllableState({\n prop: open,\n onChange: onOpenChange,\n defaultProp: false,\n caller: 'PopoverTriggerContext',\n });\n\n return <Context value={{ popoverId, setPopoverId, popoverOpen, setPopoverOpen }}>{children}</Context>;\n};\n"],"mappings":";;;;;AAIA,MAAa,UAAU,cAKpB,CAAE,EAAC;;;;;;;;;;;;AA2BN,MAAa,wBAAwB,CAAC,EAAE,UAAU,MAAM,cAA0C,KAAK;CACrG,MAAM,kBAAkB,OAAO;CAC/B,MAAM,CAAC,WAAW,aAAa,GAAG,SAAS,gBAAgB;CAC3D,MAAM,CAAC,aAAa,eAAe,GAAG,qBAAqB;EACzD,MAAM;EACN,UAAU;EACV,aAAa;EACb,QAAQ;CACT,EAAC;AAEF,wBAAO,IAAC;EAAQ,OAAO;GAAE;GAAW;GAAc;GAAa;EAAgB;EAAG;GAAmB;AACtG"}
@@ -11,6 +11,16 @@ declare const Context: react55.Context<{
11
11
  }>;
12
12
  type PopoverTriggerContextProps = {
13
13
  children: ReactNode;
14
+ /**
15
+ * When a boolean is provided, the popover will be controlled.
16
+ * @default undefined
17
+ */
18
+ open?: boolean;
19
+ /**
20
+ * Callback when the open state changes.
21
+ * @param open - The new open state of the popover.
22
+ */
23
+ onOpenChange?: (open: boolean) => void;
14
24
  };
15
25
  /**
16
26
  * PopoverTriggerContext component, use to wrap a PopoverTrigger and Popover.
@@ -24,8 +34,10 @@ type PopoverTriggerContextProps = {
24
34
  * </PopoverTriggerContext>
25
35
  */
26
36
  declare const PopoverTriggerContext: ({
27
- children
37
+ children,
38
+ open,
39
+ onOpenChange
28
40
  }: PopoverTriggerContextProps) => react_jsx_runtime56.JSX.Element;
29
41
  //#endregion
30
42
  export { Context, PopoverTriggerContext, PopoverTriggerContextProps };
31
- //# sourceMappingURL=popover-trigger-context-C3QaiCth.d.ts.map
43
+ //# sourceMappingURL=popover-trigger-context-JipAPdV6.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { Button } from "./button-fhd-JARc.js";
2
- import { Context } from "./popover-trigger-context-CGJlUS_N.js";
2
+ import { Context } from "./popover-trigger-context-D7nOI0FT.js";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { use } from "react";
@@ -43,4 +43,4 @@ const PopoverTrigger = ({ id, inline, asChild, ref,...rest }) => {
43
43
 
44
44
  //#endregion
45
45
  export { PopoverTrigger };
46
- //# sourceMappingURL=popover-trigger-BLnIukvY.js.map
46
+ //# sourceMappingURL=popover-trigger-dMRssLhy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover-trigger-BLnIukvY.js","names":[],"sources":["../src/components/popover/popover-trigger.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport { type HTMLAttributes, Ref, use } from 'react';\nimport type { DefaultProps } from '../../types';\nimport { Button, type ButtonProps } from '../button';\nimport { Context } from './popover-trigger-context';\n\nexport type PopoverTriggerProps =\n | ({\n /**\n * Will render the trigger as inline text.\n * @default false\n */\n inline?: true;\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n ref?: Ref<HTMLButtonElement>;\n } & HTMLAttributes<HTMLButtonElement> &\n DefaultProps)\n | ({\n /**\n * Will not render the trigger as inline text.\n * @default false\n */\n inline?: false;\n } & ButtonProps);\n\n/**\n * PopoverTrigger component, used to trigger a popover.\n *\n * @example\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n *\n * @example inline\n * <PopoverTriggerContext>\n * <Paragraph>\n * We can use it <PopoverTrigger inline={true}>inline</PopoverTrigger>.\n * </Paragraph>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const PopoverTrigger = ({ id, inline, asChild, ref, ...rest }: PopoverTriggerProps) => {\n const { popoverId, popoverOpen, setPopoverOpen } = use(Context);\n const Component = asChild ? Slot : inline ? 'button' : Button;\n\n const popoverProps = Object.assign(\n {\n onClick: () => setPopoverOpen?.((prev) => !prev),\n 'aria-controls': popoverId,\n 'aria-expanded': popoverOpen,\n ...(inline\n ? {\n 'data-popover': 'inline',\n }\n : {}),\n },\n rest,\n );\n\n return <Component ref={ref} {...popoverProps} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,MAAa,iBAAiB,CAAC,EAAE,IAAI,QAAQ,SAAS,IAAK,GAAG,MAA2B,KAAK;CAC5F,MAAM,EAAE,WAAW,aAAa,gBAAgB,GAAG,IAAI,QAAQ;CAC/D,MAAM,YAAY,UAAU,OAAO,SAAS,WAAW;CAEvD,MAAM,eAAe,OAAO,OAC1B;EACE,SAAS,MAAM,iBAAiB,CAAC,UAAU,KAAK;EAChD,iBAAiB;EACjB,iBAAiB;EACjB,GAAI,SACA,EACE,gBAAgB,SACjB,IACD,CAAE;CACP,GACD,KACD;AAED,wBAAO,IAAC;EAAe;EAAK,GAAI;GAAgB;AACjD"}
1
+ {"version":3,"file":"popover-trigger-dMRssLhy.js","names":[],"sources":["../src/components/popover/popover-trigger.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport { type HTMLAttributes, Ref, use } from 'react';\nimport type { DefaultProps } from '../../types';\nimport { Button, type ButtonProps } from '../button';\nimport { Context } from './popover-trigger-context';\n\nexport type PopoverTriggerProps =\n | ({\n /**\n * Will render the trigger as inline text.\n * @default false\n */\n inline?: true;\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n ref?: Ref<HTMLButtonElement>;\n } & HTMLAttributes<HTMLButtonElement> &\n DefaultProps)\n | ({\n /**\n * Will not render the trigger as inline text.\n * @default false\n */\n inline?: false;\n } & ButtonProps);\n\n/**\n * PopoverTrigger component, used to trigger a popover.\n *\n * @example\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n *\n * @example inline\n * <PopoverTriggerContext>\n * <Paragraph>\n * We can use it <PopoverTrigger inline={true}>inline</PopoverTrigger>.\n * </Paragraph>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const PopoverTrigger = ({ id, inline, asChild, ref, ...rest }: PopoverTriggerProps) => {\n const { popoverId, popoverOpen, setPopoverOpen } = use(Context);\n const Component = asChild ? Slot : inline ? 'button' : Button;\n\n const popoverProps = Object.assign(\n {\n onClick: () => setPopoverOpen?.((prev) => !prev),\n 'aria-controls': popoverId,\n 'aria-expanded': popoverOpen,\n ...(inline\n ? {\n 'data-popover': 'inline',\n }\n : {}),\n },\n rest,\n );\n\n return <Component ref={ref} {...popoverProps} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,MAAa,iBAAiB,CAAC,EAAE,IAAI,QAAQ,SAAS,IAAK,GAAG,MAA2B,KAAK;CAC5F,MAAM,EAAE,WAAW,aAAa,gBAAgB,GAAG,IAAI,QAAQ;CAC/D,MAAM,YAAY,UAAU,OAAO,SAAS,WAAW;CAEvD,MAAM,eAAe,OAAO,OAC1B;EACE,SAAS,MAAM,iBAAiB,CAAC,UAAU,KAAK;EAChD,iBAAiB;EACjB,iBAAiB;EACjB,GAAI,SACA,EACE,gBAAgB,SACjB,IACD,CAAE;CACP,GACD,KACD;AAED,wBAAO,IAAC;EAAe;EAAK,GAAI;GAAgB;AACjD"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime67 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime66 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/sticky-header/sticky-header.d.ts
@@ -13,7 +13,7 @@ type StickyHeaderProps = {
13
13
  */
14
14
  declare const StickyHeader: ({
15
15
  children
16
- }: StickyHeaderProps) => react_jsx_runtime67.JSX.Element;
16
+ }: StickyHeaderProps) => react_jsx_runtime66.JSX.Element;
17
17
  //#endregion
18
18
  export { StickyHeader, StickyHeaderProps };
19
- //# sourceMappingURL=sticky-header-JeG62vfR.d.ts.map
19
+ //# sourceMappingURL=sticky-header-BJkvy3qf.d.ts.map
@@ -6,4 +6,4 @@
6
6
  type MergeRight<T1, T2> = Omit<T1, keyof T2> & T2;
7
7
  //#endregion
8
8
  export { MergeRight };
9
- //# sourceMappingURL=types-DC-FPmDA.d.ts.map
9
+ //# sourceMappingURL=types-Db8O5fnL.d.ts.map
@@ -2,16 +2,15 @@ import { UseCheckboxGroupOptions, useCheckboxGroup } from "../../useCheckboxGrou
2
2
  import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-BMdz-mee.js";
3
3
  import { useMergeRefs } from "../../useMergeRefs-iCenhgmf.js";
4
4
  import "../../types-Mj1poXVf.js";
5
- import { UsePaginationProps, usePagination } from "../../alert-footer-DVR-ee1g.js";
5
+ import { UsePaginationProps, usePagination } from "../../alert-footer-Bks3U6Tq.js";
6
6
  import "../../dialog-trigger-context-BkQSJ-rX.js";
7
7
  import "../../drawer-trigger-context-B3X3kUrY.js";
8
- import "../../popover-trigger-context-C3QaiCth.js";
8
+ import "../../popover-trigger-context-JipAPdV6.js";
9
9
  import "../../dropdown-item-Bhw9nhOp.js";
10
10
  import "../../dropdown-list-XN8RJ-SS.js";
11
- import "../../dropdown-trigger-context-D0QMaRYY.js";
12
- import "../../footer-links-Drm2LFnw.js";
13
- import "../../pagination-item-mKQyvHV9.js";
14
- import "../../sticky-header-JeG62vfR.js";
15
- import "../../index-CTw2zfCM.js";
16
- import "../../types-DC-FPmDA.js";
11
+ import "../../footer-links-CiYPQHgT.js";
12
+ import "../../pagination-item-5nXzmcd5.js";
13
+ import "../../sticky-header-BJkvy3qf.js";
14
+ import "../../index-2Mg7qf3C.js";
15
+ import "../../types-Db8O5fnL.js";
17
16
  export { UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, useMergeRefs, usePagination };
@@ -2,16 +2,15 @@ import "../../../useCheckboxGroup-DRhqch1m.js";
2
2
  import "../../../useIsomorphicLayoutEffect-BMdz-mee.js";
3
3
  import "../../../useMergeRefs-iCenhgmf.js";
4
4
  import "../../../types-Mj1poXVf.js";
5
- import { UsePaginationProps, usePagination } from "../../../alert-footer-DVR-ee1g.js";
5
+ import { UsePaginationProps, usePagination } from "../../../alert-footer-Bks3U6Tq.js";
6
6
  import "../../../dialog-trigger-context-BkQSJ-rX.js";
7
7
  import "../../../drawer-trigger-context-B3X3kUrY.js";
8
- import "../../../popover-trigger-context-C3QaiCth.js";
8
+ import "../../../popover-trigger-context-JipAPdV6.js";
9
9
  import "../../../dropdown-item-Bhw9nhOp.js";
10
10
  import "../../../dropdown-list-XN8RJ-SS.js";
11
- import "../../../dropdown-trigger-context-D0QMaRYY.js";
12
- import "../../../footer-links-Drm2LFnw.js";
13
- import "../../../pagination-item-mKQyvHV9.js";
14
- import "../../../sticky-header-JeG62vfR.js";
15
- import "../../../index-CTw2zfCM.js";
16
- import "../../../types-DC-FPmDA.js";
11
+ import "../../../footer-links-CiYPQHgT.js";
12
+ import "../../../pagination-item-5nXzmcd5.js";
13
+ import "../../../sticky-header-BJkvy3qf.js";
14
+ import "../../../index-2Mg7qf3C.js";
15
+ import "../../../types-Db8O5fnL.js";
17
16
  export { UsePaginationProps, usePagination };
@@ -2,16 +2,15 @@ import { UseCheckboxGroupOptions, useCheckboxGroup } from "../useCheckboxGroup-D
2
2
  import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-BMdz-mee.js";
3
3
  import "../useMergeRefs-iCenhgmf.js";
4
4
  import "../types-Mj1poXVf.js";
5
- import { UsePaginationProps, usePagination } from "../alert-footer-DVR-ee1g.js";
5
+ import { UsePaginationProps, usePagination } from "../alert-footer-Bks3U6Tq.js";
6
6
  import "../dialog-trigger-context-BkQSJ-rX.js";
7
7
  import "../drawer-trigger-context-B3X3kUrY.js";
8
- import "../popover-trigger-context-C3QaiCth.js";
8
+ import "../popover-trigger-context-JipAPdV6.js";
9
9
  import "../dropdown-item-Bhw9nhOp.js";
10
10
  import "../dropdown-list-XN8RJ-SS.js";
11
- import "../dropdown-trigger-context-D0QMaRYY.js";
12
- import "../footer-links-Drm2LFnw.js";
13
- import "../pagination-item-mKQyvHV9.js";
14
- import "../sticky-header-JeG62vfR.js";
15
- import "../index-CTw2zfCM.js";
16
- import { MergeRight } from "../types-DC-FPmDA.js";
11
+ import "../footer-links-CiYPQHgT.js";
12
+ import "../pagination-item-5nXzmcd5.js";
13
+ import "../sticky-header-BJkvy3qf.js";
14
+ import "../index-2Mg7qf3C.js";
15
+ import { MergeRight } from "../types-Db8O5fnL.js";
17
16
  export { MergeRight, UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, usePagination };
@@ -1,2 +1,2 @@
1
- import { MergeRight } from "../types-DC-FPmDA.js";
1
+ import { MergeRight } from "../types-Db8O5fnL.js";
2
2
  export { MergeRight };
@@ -1,2 +1,2 @@
1
- import { InitDropdownOptions, initDropdown } from "../../index-B-0iSMVN.js";
1
+ import { InitDropdownOptions, initDropdown } from "../../index-CjygsraA.js";
2
2
  export { InitDropdownOptions, initDropdown };
@@ -1,3 +1,3 @@
1
- import { InitDropdownOptions, initDropdown } from "../index-B-0iSMVN.js";
2
- import { InitPopoverOptions, initPopover } from "../index-CXV3nvLQ.js";
1
+ import { InitDropdownOptions, initDropdown } from "../index-CjygsraA.js";
2
+ import { InitPopoverOptions, initPopover } from "../index-CxSdiV-v.js";
3
3
  export { InitDropdownOptions, InitPopoverOptions, initDropdown, initPopover };
@@ -1,2 +1,2 @@
1
- import { InitPopoverOptions, initPopover } from "../../index-CXV3nvLQ.js";
1
+ import { InitPopoverOptions, initPopover } from "../../index-CxSdiV-v.js";
2
2
  export { InitPopoverOptions, initPopover };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bi-digital/react",
3
- "version": "0.0.0-experimental-ebbf94e",
3
+ "version": "0.0.0-experimental-8e8691a",
4
4
  "type": "module",
5
5
  "description": "React components from BI Digital",
6
6
  "author": "BI Digital",
@@ -47,13 +47,13 @@
47
47
  "tsdown": "^0.12.7",
48
48
  "typescript": "^5.7.2",
49
49
  "vitest": "^3.2.1",
50
- "@bi-digital/icons-react": "0.0.0-experimental-ebbf94e"
50
+ "@bi-digital/icons-react": "0.0.0-experimental-8e8691a"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react": "^19",
54
54
  "react-dom": "^19",
55
- "@bi-digital/css": "0.0.0-experimental-ebbf94e",
56
- "@bi-digital/icons-react": "0.0.0-experimental-ebbf94e"
55
+ "@bi-digital/css": "0.0.0-experimental-8e8691a",
56
+ "@bi-digital/icons-react": "0.0.0-experimental-8e8691a"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "tsdown",
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-trigger-context-BpYBk_xf.js","names":[],"sources":["../src/components/dropdown/dropdown-trigger-context.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { PopoverTriggerContext } from '../popover';\n\nexport type DropdownTriggerContextProps = {\n children: ReactNode;\n};\n\n/**\n * DropdownTriggerContext component, use to wrap a DropdownTrigger and Dropdown.\n *\n * @example\n * <DropdownTriggerContext>\n * <DropdownTrigger>Dropdown</DropdownTrigger>\n * <Dropdown>\n * <DropdownHeading>Heading</DropdownHeading>\n * <DropdownList>\n * <DropdownItem>\n * <DropdownButton>Button</DropdownButton>\n * </DropdownItem>\n * </DropdownList>\n * </Dropdown>\n * </DropdownTriggerContext>\n */\nexport const DropdownTriggerContext = ({ children }: DropdownTriggerContextProps) => (\n <PopoverTriggerContext>{children}</PopoverTriggerContext>\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuBA,MAAa,yBAAyB,CAAC,EAAE,UAAuC,qBAC9E,IAAC,yBAAuB,WAAiC"}
@@ -1,29 +0,0 @@
1
- import * as react_jsx_runtime33 from "react/jsx-runtime";
2
- import { ReactNode } from "react";
3
-
4
- //#region src/components/dropdown/dropdown-trigger-context.d.ts
5
- type DropdownTriggerContextProps = {
6
- children: ReactNode;
7
- };
8
- /**
9
- * DropdownTriggerContext component, use to wrap a DropdownTrigger and Dropdown.
10
- *
11
- * @example
12
- * <DropdownTriggerContext>
13
- * <DropdownTrigger>Dropdown</DropdownTrigger>
14
- * <Dropdown>
15
- * <DropdownHeading>Heading</DropdownHeading>
16
- * <DropdownList>
17
- * <DropdownItem>
18
- * <DropdownButton>Button</DropdownButton>
19
- * </DropdownItem>
20
- * </DropdownList>
21
- * </Dropdown>
22
- * </DropdownTriggerContext>
23
- */
24
- declare const DropdownTriggerContext: ({
25
- children
26
- }: DropdownTriggerContextProps) => react_jsx_runtime33.JSX.Element;
27
- //#endregion
28
- export { DropdownTriggerContext, DropdownTriggerContextProps };
29
- //# sourceMappingURL=dropdown-trigger-context-D0QMaRYY.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-trigger-context-CGJlUS_N.js","names":[],"sources":["../src/components/popover/popover-trigger-context.tsx"],"sourcesContent":["import { createContext, useId, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nexport const Context = createContext<{\n popoverId?: string;\n setPopoverId?: (id: string) => void;\n popoverOpen?: boolean;\n setPopoverOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n}>({});\n\nexport type PopoverTriggerContextProps = {\n children: ReactNode;\n};\n\n/**\n * PopoverTriggerContext component, use to wrap a PopoverTrigger and Popover.\n *\n * @example\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n */\nexport const PopoverTriggerContext = ({ children }: PopoverTriggerContextProps) => {\n const randomPopoverId = useId();\n const [popoverId, setPopoverId] = useState(randomPopoverId);\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n return <Context value={{ popoverId, setPopoverId, popoverOpen, setPopoverOpen }}>{children}</Context>;\n};\n"],"mappings":";;;;AAGA,MAAa,UAAU,cAKpB,CAAE,EAAC;;;;;;;;;;;;AAiBN,MAAa,wBAAwB,CAAC,EAAE,UAAsC,KAAK;CACjF,MAAM,kBAAkB,OAAO;CAC/B,MAAM,CAAC,WAAW,aAAa,GAAG,SAAS,gBAAgB;CAC3D,MAAM,CAAC,aAAa,eAAe,GAAG,SAAS,MAAM;AAErD,wBAAO,IAAC;EAAQ,OAAO;GAAE;GAAW;GAAc;GAAa;EAAgB;EAAG;GAAmB;AACtG"}