@basic-ui/core 0.0.36 → 0.0.39
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/build/cjs/index.js +84 -83
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Accordion/Accordion.d.ts +1 -1
- package/build/esm/Accordion/Accordion.js +23 -17
- package/build/esm/Accordion/Accordion.js.map +1 -1
- package/build/esm/Accordion/AccordionBody.d.ts +1 -1
- package/build/esm/Accordion/AccordionBody.js +24 -15
- package/build/esm/Accordion/AccordionBody.js.map +1 -1
- package/build/esm/Accordion/AccordionHeader.d.ts +1 -1
- package/build/esm/Accordion/AccordionHeader.js +46 -31
- package/build/esm/Accordion/AccordionHeader.js.map +1 -1
- package/build/esm/Accordion/AccordionItem.d.ts +1 -1
- package/build/esm/Accordion/AccordionItem.js +18 -18
- package/build/esm/Accordion/AccordionItem.js.map +1 -1
- package/build/esm/Accordion/context.d.ts +1 -1
- package/build/esm/Accordion/context.js +12 -10
- package/build/esm/Accordion/context.js.map +1 -1
- package/build/esm/Accordion/index.d.ts +0 -0
- package/build/esm/Accordion/index.js +0 -0
- package/build/esm/Accordion/index.js.map +0 -0
- package/build/esm/Accordion/scopeQuery.d.ts +0 -0
- package/build/esm/Accordion/scopeQuery.js +0 -0
- package/build/esm/Accordion/scopeQuery.js.map +0 -0
- package/build/esm/CheckBox/CheckBox.d.ts +1 -1
- package/build/esm/CheckBox/CheckBox.js +20 -12
- package/build/esm/CheckBox/CheckBox.js.map +1 -1
- package/build/esm/CheckBox/index.d.ts +0 -0
- package/build/esm/CheckBox/index.js +0 -0
- package/build/esm/CheckBox/index.js.map +0 -0
- package/build/esm/ComboBox/Combobox.d.ts +1 -1
- package/build/esm/ComboBox/Combobox.js +55 -48
- package/build/esm/ComboBox/Combobox.js.map +1 -1
- package/build/esm/ComboBox/ComboboxButton.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxButton.js +20 -20
- package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
- package/build/esm/ComboBox/ComboboxInput.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxInput.js +53 -50
- package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
- package/build/esm/ComboBox/ComboboxLabel.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxLabel.js +12 -12
- package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
- package/build/esm/ComboBox/ComboboxList.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxList.js +16 -17
- package/build/esm/ComboBox/ComboboxList.js.map +1 -1
- package/build/esm/ComboBox/ComboboxOption.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxOption.js +32 -34
- package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
- package/build/esm/ComboBox/ComboboxPopover.d.ts +1 -1
- package/build/esm/ComboBox/ComboboxPopover.js +16 -17
- package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
- package/build/esm/ComboBox/cities.d.ts +0 -0
- package/build/esm/ComboBox/cities.js +0 -0
- package/build/esm/ComboBox/cities.js.map +0 -0
- package/build/esm/ComboBox/context.d.ts +3 -3
- package/build/esm/ComboBox/context.js +6 -5
- package/build/esm/ComboBox/context.js.map +1 -1
- package/build/esm/ComboBox/hooks.d.ts +1 -1
- package/build/esm/ComboBox/hooks.js +82 -115
- package/build/esm/ComboBox/hooks.js.map +1 -1
- package/build/esm/ComboBox/index.d.ts +0 -0
- package/build/esm/ComboBox/index.js +0 -0
- package/build/esm/ComboBox/index.js.map +0 -0
- package/build/esm/ComboBox/makeHash.d.ts +0 -0
- package/build/esm/ComboBox/makeHash.js +3 -3
- package/build/esm/ComboBox/makeHash.js.map +1 -1
- package/build/esm/ComboBox/scopeQuery.d.ts +0 -0
- package/build/esm/ComboBox/scopeQuery.js +0 -0
- package/build/esm/ComboBox/scopeQuery.js.map +0 -0
- package/build/esm/FocusLock/FocusLock.d.ts +1 -1
- package/build/esm/FocusLock/FocusLock.js +18 -16
- package/build/esm/FocusLock/FocusLock.js.map +1 -1
- package/build/esm/FocusLock/index.d.ts +0 -0
- package/build/esm/FocusLock/index.js +0 -0
- package/build/esm/FocusLock/index.js.map +0 -0
- package/build/esm/FocusLock/tabUtils.d.ts +1 -0
- package/build/esm/FocusLock/tabUtils.js +14 -2
- package/build/esm/FocusLock/tabUtils.js.map +1 -1
- package/build/esm/FocusLock/useFocusLock.d.ts +0 -0
- package/build/esm/FocusLock/useFocusLock.js +14 -22
- package/build/esm/FocusLock/useFocusLock.js.map +1 -1
- package/build/esm/List/List.d.ts +1 -1
- package/build/esm/List/List.js +6 -6
- package/build/esm/List/List.js.map +1 -1
- package/build/esm/List/ListItem.d.ts +1 -1
- package/build/esm/List/ListItem.js +6 -6
- package/build/esm/List/ListItem.js.map +1 -1
- package/build/esm/List/context.d.ts +0 -0
- package/build/esm/List/context.js +3 -3
- package/build/esm/List/context.js.map +1 -1
- package/build/esm/List/index.d.ts +0 -0
- package/build/esm/List/index.js +0 -0
- package/build/esm/List/index.js.map +0 -0
- package/build/esm/Menu/Menu.d.ts +1 -1
- package/build/esm/Menu/Menu.js +31 -23
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/Menu/MenuButton.d.ts +1 -1
- package/build/esm/Menu/MenuButton.js +29 -25
- package/build/esm/Menu/MenuButton.js.map +1 -1
- package/build/esm/Menu/MenuItem.d.ts +1 -1
- package/build/esm/Menu/MenuItem.js +26 -27
- package/build/esm/Menu/MenuItem.js.map +1 -1
- package/build/esm/Menu/MenuList.d.ts +1 -1
- package/build/esm/Menu/MenuList.js +62 -45
- package/build/esm/Menu/MenuList.js.map +1 -1
- package/build/esm/Menu/MenuPopover.d.ts +2 -2
- package/build/esm/Menu/MenuPopover.js +9 -10
- package/build/esm/Menu/MenuPopover.js.map +1 -1
- package/build/esm/Menu/context.d.ts +1 -1
- package/build/esm/Menu/context.js +11 -8
- package/build/esm/Menu/context.js.map +1 -1
- package/build/esm/Menu/index.d.ts +0 -0
- package/build/esm/Menu/index.js +0 -0
- package/build/esm/Menu/index.js.map +0 -0
- package/build/esm/Menu/scope.d.ts +0 -0
- package/build/esm/Menu/scope.js +0 -0
- package/build/esm/Menu/scope.js.map +0 -0
- package/build/esm/Modal/Modal.d.ts +2 -2
- package/build/esm/Modal/Modal.js +14 -12
- package/build/esm/Modal/Modal.js.map +1 -1
- package/build/esm/Modal/ModalBackdrop.d.ts +1 -1
- package/build/esm/Modal/ModalBackdrop.js +21 -19
- package/build/esm/Modal/ModalBackdrop.js.map +1 -1
- package/build/esm/Modal/index.d.ts +0 -0
- package/build/esm/Modal/index.js +0 -0
- package/build/esm/Modal/index.js.map +0 -0
- package/build/esm/Popper/Popper.d.ts +2 -2
- package/build/esm/Popper/Popper.js +51 -36
- package/build/esm/Popper/Popper.js.map +1 -1
- package/build/esm/Popper/PopperArrow.d.ts +1 -1
- package/build/esm/Popper/PopperArrow.js +9 -9
- package/build/esm/Popper/PopperArrow.js.map +1 -1
- package/build/esm/Popper/context.d.ts +1 -1
- package/build/esm/Popper/context.js +5 -3
- package/build/esm/Popper/context.js.map +1 -1
- package/build/esm/Popper/index.d.ts +0 -0
- package/build/esm/Popper/index.js +0 -0
- package/build/esm/Popper/index.js.map +0 -0
- package/build/esm/Portal/Portal.d.ts +1 -1
- package/build/esm/Portal/Portal.js +6 -5
- package/build/esm/Portal/Portal.js.map +1 -1
- package/build/esm/Portal/index.d.ts +0 -0
- package/build/esm/Portal/index.js +0 -0
- package/build/esm/Portal/index.js.map +0 -0
- package/build/esm/RadioButton/RadioButton.d.ts +2 -2
- package/build/esm/RadioButton/RadioButton.js +13 -13
- package/build/esm/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/RadioButton/RadioGroup.d.ts +2 -2
- package/build/esm/RadioButton/RadioGroup.js +25 -18
- package/build/esm/RadioButton/RadioGroup.js.map +1 -1
- package/build/esm/RadioButton/context.d.ts +0 -0
- package/build/esm/RadioButton/context.js +6 -5
- package/build/esm/RadioButton/context.js.map +1 -1
- package/build/esm/RadioButton/index.d.ts +0 -0
- package/build/esm/RadioButton/index.js +0 -0
- package/build/esm/RadioButton/index.js.map +0 -0
- package/build/esm/SkipNav/SkipNav.d.ts +1 -1
- package/build/esm/SkipNav/SkipNav.js +6 -6
- package/build/esm/SkipNav/SkipNav.js.map +1 -1
- package/build/esm/SkipNav/index.d.ts +0 -0
- package/build/esm/SkipNav/index.js +0 -0
- package/build/esm/SkipNav/index.js.map +0 -0
- package/build/esm/Spinner/Spinner.d.ts +1 -1
- package/build/esm/Spinner/Spinner.js +42 -31
- package/build/esm/Spinner/Spinner.js.map +1 -1
- package/build/esm/Spinner/SpinnerButton.d.ts +1 -1
- package/build/esm/Spinner/SpinnerButton.js +12 -12
- package/build/esm/Spinner/SpinnerButton.js.map +1 -1
- package/build/esm/Spinner/context.d.ts +0 -0
- package/build/esm/Spinner/context.js +6 -5
- package/build/esm/Spinner/context.js.map +1 -1
- package/build/esm/Spinner/index.d.ts +0 -0
- package/build/esm/Spinner/index.js +0 -0
- package/build/esm/Spinner/index.js.map +0 -0
- package/build/esm/Tabs/Tab.d.ts +1 -1
- package/build/esm/Tabs/Tab.js +30 -29
- package/build/esm/Tabs/Tab.js.map +1 -1
- package/build/esm/Tabs/TabList.d.ts +1 -1
- package/build/esm/Tabs/TabList.js +27 -23
- package/build/esm/Tabs/TabList.js.map +1 -1
- package/build/esm/Tabs/TabPanel.d.ts +1 -1
- package/build/esm/Tabs/TabPanel.js +13 -12
- package/build/esm/Tabs/TabPanel.js.map +1 -1
- package/build/esm/Tabs/TabPanels.d.ts +1 -1
- package/build/esm/Tabs/TabPanels.js +14 -12
- package/build/esm/Tabs/TabPanels.js.map +1 -1
- package/build/esm/Tabs/Tabs.d.ts +1 -1
- package/build/esm/Tabs/Tabs.js +28 -14
- package/build/esm/Tabs/Tabs.js.map +1 -1
- package/build/esm/Tabs/context.d.ts +1 -1
- package/build/esm/Tabs/context.js +12 -10
- package/build/esm/Tabs/context.js.map +1 -1
- package/build/esm/Tabs/index.d.ts +0 -0
- package/build/esm/Tabs/index.js +0 -0
- package/build/esm/Tabs/index.js.map +0 -0
- package/build/esm/Tabs/scopeQuery.d.ts +0 -0
- package/build/esm/Tabs/scopeQuery.js +0 -0
- package/build/esm/Tabs/scopeQuery.js.map +0 -0
- package/build/esm/Tooltip/Tooltip.d.ts +2 -1
- package/build/esm/Tooltip/Tooltip.js +17 -15
- package/build/esm/Tooltip/Tooltip.js.map +1 -1
- package/build/esm/Tooltip/index.d.ts +0 -0
- package/build/esm/Tooltip/index.js +0 -0
- package/build/esm/Tooltip/index.js.map +0 -0
- package/build/esm/Tooltip/stateMachine.d.ts +0 -0
- package/build/esm/Tooltip/stateMachine.js +56 -80
- package/build/esm/Tooltip/stateMachine.js.map +1 -1
- package/build/esm/Tooltip/useTooltip.d.ts +1 -1
- package/build/esm/Tooltip/useTooltip.js +32 -31
- package/build/esm/Tooltip/useTooltip.js.map +1 -1
- package/build/esm/hooks/index.d.ts +0 -1
- package/build/esm/hooks/index.js +0 -1
- package/build/esm/hooks/index.js.map +1 -1
- package/build/esm/hooks/useAutoFocus.d.ts +0 -0
- package/build/esm/hooks/useAutoFocus.js +6 -2
- package/build/esm/hooks/useAutoFocus.js.map +1 -1
- package/build/esm/hooks/useChildrenCounter.d.ts +1 -1
- package/build/esm/hooks/useChildrenCounter.js +6 -4
- package/build/esm/hooks/useChildrenCounter.js.map +1 -1
- package/build/esm/hooks/useControlledState.d.ts +1 -1
- package/build/esm/hooks/useControlledState.js +7 -2
- package/build/esm/hooks/useControlledState.js.map +1 -1
- package/build/esm/hooks/useFocusReturn.d.ts +2 -1
- package/build/esm/hooks/useFocusReturn.js +25 -14
- package/build/esm/hooks/useFocusReturn.js.map +1 -1
- package/build/esm/hooks/useFocusState.d.ts +0 -0
- package/build/esm/hooks/useFocusState.js +13 -9
- package/build/esm/hooks/useFocusState.js.map +1 -1
- package/build/esm/hooks/useGestureHandlers.d.ts +0 -0
- package/build/esm/hooks/useGestureHandlers.js +59 -63
- package/build/esm/hooks/useGestureHandlers.js.map +1 -1
- package/build/esm/hooks/useMeasure.d.ts +0 -0
- package/build/esm/hooks/useMeasure.js +13 -7
- package/build/esm/hooks/useMeasure.js.map +1 -1
- package/build/esm/hooks/useOnClickOutside.d.ts +0 -0
- package/build/esm/hooks/useOnClickOutside.js +5 -4
- package/build/esm/hooks/useOnClickOutside.js.map +1 -1
- package/build/esm/hooks/useOnKeyDown.d.ts +0 -0
- package/build/esm/hooks/useOnKeyDown.js +4 -3
- package/build/esm/hooks/useOnKeyDown.js.map +1 -1
- package/build/esm/hooks/useReducerMachine.d.ts +1 -1
- package/build/esm/hooks/useReducerMachine.js +13 -10
- package/build/esm/hooks/useReducerMachine.js.map +1 -1
- package/build/esm/hooks/useRemoveBodyScroll.d.ts +0 -0
- package/build/esm/hooks/useRemoveBodyScroll.js +14 -21
- package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
- package/build/esm/hooks/useScope.d.ts +1 -1
- package/build/esm/hooks/useScope.js +10 -12
- package/build/esm/hooks/useScope.js.map +1 -1
- package/build/esm/hooks/useThrottle.d.ts +0 -0
- package/build/esm/hooks/useThrottle.js +10 -5
- package/build/esm/hooks/useThrottle.js.map +1 -1
- package/build/esm/index.d.ts +0 -0
- package/build/esm/index.js +0 -0
- package/build/esm/index.js.map +0 -0
- package/build/esm/utils/assignRef.d.ts +1 -1
- package/build/esm/utils/assignRef.js +7 -3
- package/build/esm/utils/assignRef.js.map +1 -1
- package/build/esm/utils/clamp.d.ts +0 -0
- package/build/esm/utils/clamp.js +0 -0
- package/build/esm/utils/clamp.js.map +0 -0
- package/build/esm/utils/createSubscription.d.ts +0 -0
- package/build/esm/utils/createSubscription.js +7 -5
- package/build/esm/utils/createSubscription.js.map +1 -1
- package/build/esm/utils/getCircularIndex.d.ts +0 -0
- package/build/esm/utils/getCircularIndex.js +0 -0
- package/build/esm/utils/getCircularIndex.js.map +0 -0
- package/build/esm/utils/index.d.ts +0 -0
- package/build/esm/utils/index.js +0 -0
- package/build/esm/utils/index.js.map +0 -0
- package/build/esm/utils/rubberBandClamp.d.ts +0 -0
- package/build/esm/utils/rubberBandClamp.js +5 -2
- package/build/esm/utils/rubberBandClamp.js.map +1 -1
- package/build/esm/utils/wrapEvent.d.ts +0 -0
- package/build/esm/utils/wrapEvent.js +7 -3
- package/build/esm/utils/wrapEvent.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -7151
- package/package.json +13 -13
- package/src/Accordion/Accordion.story.tsx +6 -4
- package/src/Accordion/Accordion.tsx +4 -2
- package/src/Accordion/AccordionBody.tsx +4 -4
- package/src/Accordion/AccordionHeader.tsx +7 -8
- package/src/Accordion/AccordionItem.tsx +5 -4
- package/src/Accordion/context.ts +2 -1
- package/src/CheckBox/CheckBox.tsx +2 -1
- package/src/ComboBox/ComboBox.story.tsx +11 -9
- package/src/ComboBox/Combobox.tsx +9 -11
- package/src/ComboBox/ComboboxButton.tsx +4 -9
- package/src/ComboBox/ComboboxInput.tsx +2 -1
- package/src/ComboBox/ComboboxLabel.tsx +2 -1
- package/src/ComboBox/ComboboxList.tsx +2 -1
- package/src/ComboBox/ComboboxOption.tsx +1 -1
- package/src/ComboBox/ComboboxPopover.tsx +2 -1
- package/src/ComboBox/context.ts +4 -3
- package/src/ComboBox/hooks.tsx +6 -9
- package/src/FocusLock/FocusLock.tsx +2 -1
- package/src/FocusLock/tabUtils.ts +12 -0
- package/src/FocusLock/useFocusLock.ts +5 -11
- package/src/List/List.story.tsx +5 -4
- package/src/List/List.tsx +1 -1
- package/src/List/ListItem.tsx +1 -1
- package/src/Menu/Menu.story.tsx +15 -13
- package/src/Menu/Menu.tsx +5 -4
- package/src/Menu/MenuButton.tsx +7 -11
- package/src/Menu/MenuItem.tsx +6 -7
- package/src/Menu/MenuList.tsx +4 -8
- package/src/Menu/MenuPopover.tsx +4 -2
- package/src/Menu/context.ts +2 -1
- package/src/Modal/Modal.story.tsx +35 -19
- package/src/Modal/Modal.tsx +6 -4
- package/src/Modal/ModalBackdrop.tsx +2 -1
- package/src/Modal/NavDrawer.story.tsx +8 -7
- package/src/Popper/Popper.story.tsx +15 -19
- package/src/Popper/Popper.tsx +12 -7
- package/src/Popper/PopperArrow.tsx +2 -1
- package/src/Popper/context.ts +2 -1
- package/src/Portal/Portal.tsx +1 -1
- package/src/RadioButton/RadioButton.story.tsx +13 -9
- package/src/RadioButton/RadioButton.tsx +4 -2
- package/src/RadioButton/RadioGroup.tsx +6 -4
- package/src/SkipNav/SkipNav.tsx +1 -1
- package/src/Spinner/Spinner.story.tsx +6 -5
- package/src/Spinner/Spinner.tsx +2 -1
- package/src/Spinner/SpinnerButton.tsx +2 -1
- package/src/Tabs/Tab.story.tsx +10 -8
- package/src/Tabs/Tab.tsx +4 -4
- package/src/Tabs/TabList.tsx +11 -3
- package/src/Tabs/TabPanel.tsx +2 -1
- package/src/Tabs/TabPanels.tsx +1 -1
- package/src/Tabs/Tabs.tsx +2 -1
- package/src/Tabs/context.ts +2 -1
- package/src/Tooltip/Tooltip.story.tsx +8 -6
- package/src/Tooltip/Tooltip.tsx +3 -7
- package/src/Tooltip/stateMachine.ts +1 -1
- package/src/Tooltip/useTooltip.ts +4 -3
- package/src/hooks/index.ts +0 -1
- package/src/hooks/useAutoFocus.ts +9 -1
- package/src/hooks/useChildrenCounter.ts +2 -1
- package/src/hooks/useControlledState.ts +3 -1
- package/src/hooks/useFocusReturn.ts +33 -13
- package/src/hooks/useFocusState.ts +1 -0
- package/src/hooks/useReducerMachine.ts +2 -1
- package/src/hooks/useRemoveBodyScroll.ts +10 -18
- package/src/hooks/useScope.ts +2 -1
- package/src/utils/assignRef.ts +1 -1
- package/build/esm/hooks/useId.d.ts +0 -3
- package/build/esm/hooks/useId.js +0 -16
- package/build/esm/hooks/useId.js.map +0 -1
- package/src/hooks/useId.ts +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Accordion/AccordionBody.tsx"],"names":["forwardRef","useState","useEffect","useRef","useAccordionItemContext","useAccordionContext","bodyScopeQuery","scopeQuery","assignMultipleRefs","AccordionBody","props","forwardedRef","as","Comp","otherProps","accordionItemContext","accordionContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","Boolean","expandedIndex","headerId","bodyId","undefined"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/Accordion/AccordionBody.tsx"],"names":["forwardRef","useState","useEffect","useRef","React","useAccordionItemContext","useAccordionContext","bodyScopeQuery","scopeQuery","assignMultipleRefs","AccordionBody","props","forwardedRef","as","Comp","otherProps","accordionItemContext","accordionContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","Boolean","expandedIndex","headerId","bodyId","undefined"],"mappings":";;;AAAA,SAASA,UAAT,EAAqBC,QAArB,EAA+BC,SAA/B,EAA0CC,MAA1C,QAAwD,OAAxD;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,uBAAT,EAAkCC,mBAAlC,QAA6D,WAA7D;AACA,SAASC,cAAc,IAAIC,UAA3B,QAA6C,cAA7C;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAQA,OAAO,IAAMC,aAAa,gBAAGV,UAAU,CACrC,SAASU,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;AAAA,kBACED,KADF,CAClCE,EADkC;AAAA,MAC9BC,IAD8B,0BACvB,KADuB;AAAA,MACbC,UADa,4BACEJ,KADF;;AAE1C,MAAMK,oBAAoB,GAAGX,uBAAuB,EAApD;AACA,MAAMY,gBAAgB,GAAGX,mBAAmB,EAA5C;AACA,MAAMY,GAAG,GAAGf,MAAM,EAAlB;;AAJ0C,kBAKhBF,QAAQ,EALQ;AAAA;AAAA,MAKnCkB,KALmC;AAAA,MAK5BC,QAL4B;;AAO1C,MAAI,CAACJ,oBAAL,EAA2B;AACzB,UAAM,IAAIK,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAEDnB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIe,gBAAJ,EAAsB;AACpB,UAAMK,UAAU,GACdL,gBAAgB,CAACM,KAAjB,CAAuBC,OAAvB,CAA+BC,aAA/B,CAA6CjB,UAA7C,CADF;;AAGA,UAAMW,MAAK,GAAGG,UAAU,CAACI,SAAX,CAAqB,UAACC,CAAD;AAAA,eAAOA,CAAC,KAAKT,GAAG,CAACM,OAAjB;AAAA,OAArB,CAAd;;AACAJ,MAAAA,QAAQ,CAACD,MAAD,CAAR;AACD;AACF,GARQ,EAQN,CAACF,gBAAD,CARM,CAAT;AAUA,MAAMW,QAAQ,GAAGC,OAAO,CACtBb,oBAAoB,CAACY,QAArB,IACGX,gBAAgB,IAAIA,gBAAgB,CAACa,aAAjB,KAAmCX,KAFpC,CAAxB;AAKA,sBACE,KAAC,IAAD;AACE,IAAA,GAAG,EAAEV,kBAAkB,CAACG,YAAD,EAAeM,GAAf;AADzB,KAEMH,UAFN;AAGE,uBAAiBC,oBAAoB,CAACe,QAHxC;AAIE,IAAA,EAAE,EAAEf,oBAAoB,CAACgB,MAJ3B;AAKE,IAAA,IAAI,EAAC,QALP;AAME,2BAAoB,EANtB;AAOE,IAAA,MAAM,EAAEJ,QAAQ,GAAGK,SAAH,GAAe;AAPjC,KADF;AAWD,CAtCoC,CAAhC","sourcesContent":["import { forwardRef, useState, useEffect, useRef } from 'react';\nimport * as React from 'react';\n\nimport { useAccordionItemContext, useAccordionContext } from './context';\nimport { bodyScopeQuery as scopeQuery } from './scopeQuery';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface AccordionBodyProps\n extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n}\n\nexport const AccordionBody = forwardRef<HTMLDivElement, AccordionBodyProps>(\n function AccordionBody(props, forwardedRef) {\n const { as: Comp = 'div', ...otherProps } = props;\n const accordionItemContext = useAccordionItemContext();\n const accordionContext = useAccordionContext();\n const ref = useRef<HTMLDivElement>();\n const [index, setIndex] = useState<number>();\n\n if (!accordionItemContext) {\n throw new Error('Missing parent <Accordion /> component');\n }\n\n useEffect(() => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n\n const index = allHeaders.findIndex((e) => e === ref.current);\n setIndex(index);\n }\n }, [accordionContext]);\n\n const expanded = Boolean(\n accordionItemContext.expanded ||\n (accordionContext && accordionContext.expandedIndex === index)\n );\n\n return (\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n {...otherProps}\n aria-labelledby={accordionItemContext.headerId}\n id={accordionItemContext.bodyId}\n role=\"region\"\n data-accordion-body=\"\"\n hidden={expanded ? undefined : 'hidden'}\n />\n );\n }\n);\n"],"file":"AccordionBody.js"}
|
|
@@ -1,44 +1,55 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
4
|
import { forwardRef, useRef, useState, useEffect } from 'react';
|
|
5
|
+
import * as React from 'react';
|
|
4
6
|
import { wrapEvent, assignMultipleRefs, getCircularIndex } from '../utils';
|
|
5
7
|
import { useAccordionContext, useAccordionItemContext } from './context';
|
|
6
8
|
import { headerScopeQuery as scopeQuery } from './scopeQuery';
|
|
7
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
export var AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(props, forwardedRef) {
|
|
11
|
+
var _props$as = props.as,
|
|
12
|
+
Comp = _props$as === void 0 ? 'div' : _props$as,
|
|
13
|
+
onKeyDown = props.onKeyDown,
|
|
14
|
+
onClickProp = props.onClick,
|
|
15
|
+
onFocus = props.onFocus,
|
|
16
|
+
onBlur = props.onBlur,
|
|
17
|
+
otherProps = _objectWithoutProperties(props, ["as", "onKeyDown", "onClick", "onFocus", "onBlur"]);
|
|
18
|
+
|
|
19
|
+
var accordionContext = useAccordionContext();
|
|
20
|
+
var accordionItemContext = useAccordionItemContext();
|
|
21
|
+
var ref = useRef();
|
|
22
|
+
|
|
23
|
+
var _useState = useState(),
|
|
24
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25
|
+
index = _useState2[0],
|
|
26
|
+
setIndex = _useState2[1];
|
|
22
27
|
|
|
23
28
|
if (!accordionItemContext) {
|
|
24
29
|
throw new Error('Missing parent <Accordion /> component');
|
|
25
30
|
}
|
|
26
31
|
|
|
27
|
-
useEffect(()
|
|
32
|
+
useEffect(function () {
|
|
28
33
|
if (accordionContext) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
var allHeaders = accordionContext.scope.current.queryAllNodes(scopeQuery) || [];
|
|
35
|
+
|
|
36
|
+
var _index = allHeaders.findIndex(function (e) {
|
|
37
|
+
return e === ref.current;
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
setIndex(_index);
|
|
32
41
|
}
|
|
33
42
|
}, [accordionContext]);
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
var onClick = wrapEvent(onClickProp, function (e) {
|
|
44
|
+
var index = 0;
|
|
36
45
|
|
|
37
46
|
if (accordionItemContext.expanded) {
|
|
38
47
|
index = -1;
|
|
39
48
|
} else if (accordionContext) {
|
|
40
|
-
|
|
41
|
-
index = allHeaders.findIndex(
|
|
49
|
+
var allHeaders = accordionContext.scope.current.queryAllNodes(scopeQuery) || [];
|
|
50
|
+
index = allHeaders.findIndex(function (e) {
|
|
51
|
+
return e === ref.current;
|
|
52
|
+
});
|
|
42
53
|
|
|
43
54
|
if (index === accordionContext.expandedIndex) {
|
|
44
55
|
index = -1;
|
|
@@ -50,7 +61,7 @@ export const AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(
|
|
|
50
61
|
accordionItemContext.onChange && accordionItemContext.onChange(e, index >= 0);
|
|
51
62
|
});
|
|
52
63
|
|
|
53
|
-
|
|
64
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
54
65
|
switch (e.key) {
|
|
55
66
|
case 'Enter':
|
|
56
67
|
case ' ':
|
|
@@ -69,14 +80,16 @@ export const AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(
|
|
|
69
80
|
return;
|
|
70
81
|
}
|
|
71
82
|
|
|
72
|
-
|
|
83
|
+
var allHeaders = accordionContext.scope.current.queryAllNodes(scopeQuery);
|
|
73
84
|
e.preventDefault();
|
|
74
85
|
|
|
75
86
|
if (allHeaders.length === 0) {
|
|
76
87
|
return;
|
|
77
88
|
}
|
|
78
89
|
|
|
79
|
-
|
|
90
|
+
var nextIndex = allHeaders.findIndex(function (e) {
|
|
91
|
+
return e === ref.current;
|
|
92
|
+
});
|
|
80
93
|
|
|
81
94
|
switch (e.key) {
|
|
82
95
|
case 'ArrowUp':
|
|
@@ -108,7 +121,7 @@ export const AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(
|
|
|
108
121
|
}
|
|
109
122
|
};
|
|
110
123
|
|
|
111
|
-
|
|
124
|
+
var handleFocus = function handleFocus() {
|
|
112
125
|
if (accordionContext) {
|
|
113
126
|
if (!accordionContext.childrenHeaderHasFocus) {
|
|
114
127
|
// this is needed to avoid rerendering the parent and
|
|
@@ -118,10 +131,12 @@ export const AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(
|
|
|
118
131
|
}
|
|
119
132
|
};
|
|
120
133
|
|
|
121
|
-
|
|
134
|
+
var handleBlur = function handleBlur(e) {
|
|
122
135
|
if (accordionContext) {
|
|
123
|
-
|
|
124
|
-
|
|
136
|
+
var allHeaders = accordionContext.scope.current.queryAllNodes(scopeQuery);
|
|
137
|
+
var newFocusIsHeader = allHeaders.findIndex(function (header) {
|
|
138
|
+
return header === e.relatedTarget;
|
|
139
|
+
}) >= 0; // only remove focus flag if the focus went to some element
|
|
125
140
|
// that is not an accordion header
|
|
126
141
|
|
|
127
142
|
if (!newFocusIsHeader) {
|
|
@@ -130,7 +145,7 @@ export const AccordionHeader = /*#__PURE__*/forwardRef(function AccordionHeader(
|
|
|
130
145
|
}
|
|
131
146
|
};
|
|
132
147
|
|
|
133
|
-
|
|
148
|
+
var expanded = Boolean(accordionItemContext.expanded || accordionContext && accordionContext.expandedIndex === index);
|
|
134
149
|
return /*#__PURE__*/_jsx(Comp, _extends({
|
|
135
150
|
ref: assignMultipleRefs(ref, forwardedRef)
|
|
136
151
|
}, otherProps, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Accordion/AccordionHeader.tsx"],"names":["forwardRef","useRef","useState","useEffect","wrapEvent","assignMultipleRefs","getCircularIndex","useAccordionContext","useAccordionItemContext","headerScopeQuery","scopeQuery","AccordionHeader","props","forwardedRef","as","Comp","onKeyDown","onClick","onClickProp","onFocus","onBlur","otherProps","accordionContext","accordionItemContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","expandedIndex","onChange","handleKeyDown","key","preventDefault","length","nextIndex","focus","handleFocus","childrenHeaderHasFocus","setChildrenHeaderHasFocus","handleBlur","newFocusIsHeader","header","relatedTarget","Boolean","headerId","bodyId","String"],"mappings":"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","sourcesContent":["import { forwardRef, useRef, useState, useEffect } from 'react';\nimport type * as React from 'react';\nimport { wrapEvent, assignMultipleRefs, getCircularIndex } from '../utils';\nimport { useAccordionContext, useAccordionItemContext } from './context';\nimport { headerScopeQuery as scopeQuery } from './scopeQuery';\n\nexport interface AccordionHeaderProps\n extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const AccordionHeader = forwardRef<HTMLDivElement, AccordionHeaderProps>(\n function AccordionHeader(props, forwardedRef) {\n const {\n as: Comp = 'div',\n onKeyDown,\n onClick: onClickProp,\n onFocus,\n onBlur,\n ...otherProps\n } = props;\n const accordionContext = useAccordionContext();\n const accordionItemContext = useAccordionItemContext();\n const ref = useRef<HTMLDivElement>();\n const [index, setIndex] = useState<number | undefined>();\n\n if (!accordionItemContext) {\n throw new Error('Missing parent <Accordion /> component');\n }\n\n useEffect(() => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n const index = allHeaders.findIndex((e) => e === ref.current);\n setIndex(index);\n }\n }, [accordionContext]);\n\n const onClick = wrapEvent(\n onClickProp,\n (e: React.MouseEvent<HTMLDivElement>) => {\n let index = 0;\n if (accordionItemContext.expanded) {\n index = -1;\n } else if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n index = allHeaders.findIndex((e) => e === ref.current);\n if (index === accordionContext.expandedIndex) {\n index = -1;\n }\n accordionContext.onChange && accordionContext.onChange(e, index);\n }\n\n accordionItemContext.onChange &&\n accordionItemContext.onChange(e, index >= 0);\n }\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'Enter':\n case ' ': {\n onClick((e as unknown) as React.MouseEvent<HTMLDivElement>);\n e.preventDefault();\n break;\n }\n case 'ArrowUp':\n case 'ArrowDown':\n case 'Home':\n case 'End': {\n if (!accordionContext) {\n return;\n }\n const allHeaders = accordionContext.scope.current.queryAllNodes(\n scopeQuery\n );\n\n e.preventDefault();\n\n if (allHeaders.length === 0) {\n return;\n }\n\n let nextIndex = allHeaders.findIndex((e) => e === ref.current);\n switch (e.key) {\n case 'ArrowUp':\n nextIndex += -1;\n break;\n case 'ArrowDown':\n nextIndex += +1;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = -1;\n break;\n }\n\n // We're sure it will not be null, because we already checked for allHeaders.length > 0 above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n nextIndex = getCircularIndex(nextIndex, allHeaders.length)!;\n allHeaders[nextIndex] && allHeaders[nextIndex].focus();\n break;\n }\n default:\n return;\n }\n };\n\n const handleFocus = () => {\n if (accordionContext) {\n if (!accordionContext.childrenHeaderHasFocus) {\n // this is needed to avoid rerendering the parent and\n // messing up with the internal count for children/parent count\n accordionContext.setChildrenHeaderHasFocus(true);\n }\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n if (accordionContext) {\n const allHeaders = accordionContext.scope.current.queryAllNodes(\n scopeQuery\n );\n const newFocusIsHeader =\n allHeaders.findIndex((header) => header === e.relatedTarget) >= 0;\n\n // only remove focus flag if the focus went to some element\n // that is not an accordion header\n if (!newFocusIsHeader) {\n accordionContext.setChildrenHeaderHasFocus(false);\n }\n }\n };\n\n const expanded = Boolean(\n accordionItemContext.expanded ||\n (accordionContext && accordionContext.expandedIndex === index)\n );\n\n return (\n <Comp\n ref={assignMultipleRefs(ref, forwardedRef)}\n {...otherProps}\n id={accordionItemContext.headerId}\n aria-controls={accordionItemContext.bodyId}\n role=\"button\"\n data-accordion-header=\"\"\n tabIndex=\"0\"\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onClick={onClick}\n aria-expanded={String(expanded)}\n />\n );\n }\n);\n"],"file":"AccordionHeader.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/Accordion/AccordionHeader.tsx"],"names":["forwardRef","useRef","useState","useEffect","React","wrapEvent","assignMultipleRefs","getCircularIndex","useAccordionContext","useAccordionItemContext","headerScopeQuery","scopeQuery","AccordionHeader","props","forwardedRef","as","Comp","onKeyDown","onClickProp","onClick","onFocus","onBlur","otherProps","accordionContext","accordionItemContext","ref","index","setIndex","Error","allHeaders","scope","current","queryAllNodes","findIndex","e","expanded","expandedIndex","onChange","handleKeyDown","key","preventDefault","length","nextIndex","focus","handleFocus","childrenHeaderHasFocus","setChildrenHeaderHasFocus","handleBlur","newFocusIsHeader","header","relatedTarget","Boolean","headerId","bodyId","String"],"mappings":"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","sourcesContent":["import { forwardRef, useRef, useState, useEffect } from 'react';\nimport * as React from 'react';\n\nimport { wrapEvent, assignMultipleRefs, getCircularIndex } from '../utils';\nimport { useAccordionContext, useAccordionItemContext } from './context';\nimport { headerScopeQuery as scopeQuery } from './scopeQuery';\n\nexport interface AccordionHeaderProps\n extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const AccordionHeader = forwardRef<HTMLDivElement, AccordionHeaderProps>(\n function AccordionHeader(props, forwardedRef) {\n const {\n as: Comp = 'div',\n onKeyDown,\n onClick: onClickProp,\n onFocus,\n onBlur,\n ...otherProps\n } = props;\n const accordionContext = useAccordionContext();\n const accordionItemContext = useAccordionItemContext();\n const ref = useRef<HTMLDivElement>();\n const [index, setIndex] = useState<number | undefined>();\n\n if (!accordionItemContext) {\n throw new Error('Missing parent <Accordion /> component');\n }\n\n useEffect(() => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n const index = allHeaders.findIndex((e) => e === ref.current);\n setIndex(index);\n }\n }, [accordionContext]);\n\n const onClick = wrapEvent(\n onClickProp,\n (e: React.MouseEvent<HTMLDivElement>) => {\n let index = 0;\n if (accordionItemContext.expanded) {\n index = -1;\n } else if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery) || [];\n\n index = allHeaders.findIndex((e) => e === ref.current);\n if (index === accordionContext.expandedIndex) {\n index = -1;\n }\n accordionContext.onChange && accordionContext.onChange(e, index);\n }\n\n accordionItemContext.onChange &&\n accordionItemContext.onChange(e, index >= 0);\n }\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'Enter':\n case ' ': {\n onClick(e as unknown as React.MouseEvent<HTMLDivElement>);\n e.preventDefault();\n break;\n }\n case 'ArrowUp':\n case 'ArrowDown':\n case 'Home':\n case 'End': {\n if (!accordionContext) {\n return;\n }\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n\n e.preventDefault();\n\n if (allHeaders.length === 0) {\n return;\n }\n\n let nextIndex = allHeaders.findIndex((e) => e === ref.current);\n switch (e.key) {\n case 'ArrowUp':\n nextIndex += -1;\n break;\n case 'ArrowDown':\n nextIndex += +1;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = -1;\n break;\n }\n\n // We're sure it will not be null, because we already checked for allHeaders.length > 0 above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n nextIndex = getCircularIndex(nextIndex, allHeaders.length)!;\n allHeaders[nextIndex] && allHeaders[nextIndex].focus();\n break;\n }\n default:\n return;\n }\n };\n\n const handleFocus = () => {\n if (accordionContext) {\n if (!accordionContext.childrenHeaderHasFocus) {\n // this is needed to avoid rerendering the parent and\n // messing up with the internal count for children/parent count\n accordionContext.setChildrenHeaderHasFocus(true);\n }\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n if (accordionContext) {\n const allHeaders =\n accordionContext.scope.current.queryAllNodes(scopeQuery);\n const newFocusIsHeader =\n allHeaders.findIndex((header) => header === e.relatedTarget) >= 0;\n\n // only remove focus flag if the focus went to some element\n // that is not an accordion header\n if (!newFocusIsHeader) {\n accordionContext.setChildrenHeaderHasFocus(false);\n }\n }\n };\n\n const expanded = Boolean(\n accordionItemContext.expanded ||\n (accordionContext && accordionContext.expandedIndex === index)\n );\n\n return (\n <Comp\n ref={assignMultipleRefs(ref, forwardedRef)}\n {...otherProps}\n id={accordionItemContext.headerId}\n aria-controls={accordionItemContext.bodyId}\n role=\"button\"\n data-accordion-header=\"\"\n tabIndex=\"0\"\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onClick={onClick}\n aria-expanded={String(expanded)}\n />\n );\n }\n);\n"],"file":"AccordionHeader.js"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
3
|
-
import { Fragment, forwardRef } from 'react';
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
import { Fragment, forwardRef, useId } from 'react';
|
|
4
|
+
import * as React from 'react';
|
|
4
5
|
import { AccordionItemProvider } from './context';
|
|
5
|
-
import { useId } from '../hooks';
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
export var AccordionItem = /*#__PURE__*/forwardRef(function AccordionItem(props, forwardedRef) {
|
|
8
|
+
var _props$as = props.as,
|
|
9
|
+
Comp = _props$as === void 0 ? Fragment : _props$as,
|
|
10
|
+
_props$expanded = props.expanded,
|
|
11
|
+
expanded = _props$expanded === void 0 ? false : _props$expanded,
|
|
12
|
+
onChange = props.onChange,
|
|
13
|
+
otherProps = _objectWithoutProperties(props, ["as", "expanded", "onChange"]);
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
headerId,
|
|
20
|
-
bodyId,
|
|
21
|
-
expanded,
|
|
22
|
-
onChange
|
|
15
|
+
var id = useId();
|
|
16
|
+
var headerId = id ? "accordion-header-".concat(id) : undefined;
|
|
17
|
+
var bodyId = id ? "accordion-body-".concat(id) : undefined;
|
|
18
|
+
var contextValue = {
|
|
19
|
+
headerId: headerId,
|
|
20
|
+
bodyId: bodyId,
|
|
21
|
+
expanded: expanded,
|
|
22
|
+
onChange: onChange
|
|
23
23
|
};
|
|
24
24
|
return /*#__PURE__*/_jsx(AccordionItemProvider, {
|
|
25
25
|
value: contextValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Accordion/AccordionItem.tsx"],"names":["Fragment","forwardRef","
|
|
1
|
+
{"version":3,"sources":["../../../src/Accordion/AccordionItem.tsx"],"names":["Fragment","forwardRef","useId","React","AccordionItemProvider","AccordionItem","props","forwardedRef","as","Comp","expanded","onChange","otherProps","id","headerId","undefined","bodyId","contextValue"],"mappings":";;AAAA,SAASA,QAAT,EAAmBC,UAAnB,EAA+BC,KAA/B,QAA4C,OAA5C;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAGA,SAASC,qBAAT,QAAsC,WAAtC;;AAcA,OAAO,IAAMC,aAAa,gBAAGJ,UAAU,CACrC,SAASI,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;AAAA,kBAMtCD,KANsC,CAExCE,EAFwC;AAAA,MAEpCC,IAFoC,0BAE7BT,QAF6B;AAAA,wBAMtCM,KANsC,CAGxCI,QAHwC;AAAA,MAGxCA,QAHwC,gCAG7B,KAH6B;AAAA,MAIxCC,QAJwC,GAMtCL,KANsC,CAIxCK,QAJwC;AAAA,MAKrCC,UALqC,4BAMtCN,KANsC;;AAO1C,MAAMO,EAAE,GAAGX,KAAK,EAAhB;AAEA,MAAMY,QAAQ,GAAGD,EAAE,8BAAuBA,EAAvB,IAA8BE,SAAjD;AACA,MAAMC,MAAM,GAAGH,EAAE,4BAAqBA,EAArB,IAA4BE,SAA7C;AACA,MAAME,YAAuC,GAAG;AAC9CH,IAAAA,QAAQ,EAARA,QAD8C;AAE9CE,IAAAA,MAAM,EAANA,MAF8C;AAG9CN,IAAAA,QAAQ,EAARA,QAH8C;AAI9CC,IAAAA,QAAQ,EAARA;AAJ8C,GAAhD;AAOA,sBACE,KAAC,qBAAD;AAAuB,IAAA,KAAK,EAAEM,YAA9B;AAAA,2BACE,KAAC,IAAD;AAAM,MAAA,GAAG,EAAEV;AAAX,OAA6BK,UAA7B;AADF,IADF;AAKD,CAxBoC,CAAhC","sourcesContent":["import { Fragment, forwardRef, useId } from 'react';\nimport * as React from 'react';\n\nimport type { AccordionItemContextProps } from './context';\nimport { AccordionItemProvider } from './context';\n\nexport interface AccordionItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n expanded?: boolean;\n onChange?: (\n e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>,\n value: boolean\n ) => void;\n}\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(\n function AccordionItem(props, forwardedRef) {\n const {\n as: Comp = Fragment,\n expanded = false,\n onChange,\n ...otherProps\n } = props;\n const id = useId();\n\n const headerId = id ? `accordion-header-${id}` : undefined;\n const bodyId = id ? `accordion-body-${id}` : undefined;\n const contextValue: AccordionItemContextProps = {\n headerId,\n bodyId,\n expanded,\n onChange,\n };\n\n return (\n <AccordionItemProvider value={contextValue}>\n <Comp ref={forwardedRef} {...otherProps} />\n </AccordionItemProvider>\n );\n }\n);\n"],"file":"AccordionItem.js"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { useContext, createContext } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
var accordionContext = /*#__PURE__*/createContext(null);
|
|
3
|
+
var AccordionProvider = accordionContext.Provider;
|
|
4
|
+
export { AccordionProvider };
|
|
5
|
+
export var useAccordionContext = function useAccordionContext() {
|
|
6
|
+
return useContext(accordionContext);
|
|
7
|
+
}; // Accordion Component
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
var accordionItemContext = /*#__PURE__*/createContext(null);
|
|
10
|
+
var AccordionItemProvider = accordionItemContext.Provider;
|
|
11
|
+
export { AccordionItemProvider };
|
|
12
|
+
export var useAccordionItemContext = function useAccordionItemContext() {
|
|
13
|
+
return useContext(accordionItemContext);
|
|
14
|
+
};
|
|
13
15
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Accordion/context.ts"],"names":["useContext","createContext","accordionContext","
|
|
1
|
+
{"version":3,"sources":["../../../src/Accordion/context.ts"],"names":["useContext","createContext","accordionContext","AccordionProvider","Provider","useAccordionContext","accordionItemContext","AccordionItemProvider","useAccordionItemContext"],"mappings":"AAAA,SAASA,UAAT,EAAqBC,aAArB,QAA0C,OAA1C;AAgBA,IAAMC,gBAAgB,gBAAGD,aAAa,CAA+B,IAA/B,CAAtC;IACyBE,iB,GAAsBD,gB,CAAhCE,Q;;AACf,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SAAML,UAAU,CAACE,gBAAD,CAAhB;AAAA,CAA5B,C,CAEP;;AAWA,IAAMI,oBAAoB,gBAAGL,aAAa,CACxC,IADwC,CAA1C;IAGyBM,qB,GAA0BD,oB,CAApCF,Q;;AACf,OAAO,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAMR,UAAU,CAACM,oBAAD,CAAhB;AAAA,CAAhC","sourcesContent":["import { useContext, createContext } from 'react';\n\nimport type { Scope } from '../hooks/useScope';\n\n// AccordionGroup Component\nexport interface AccordionContextProps {\n childrenHeaderHasFocus: boolean;\n setChildrenHeaderHasFocus: (value: boolean) => void;\n scope: Scope<HTMLElement>;\n expandedIndex: number;\n onChange?: (\n e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>,\n index: number\n ) => void;\n}\n\nconst accordionContext = createContext<AccordionContextProps | null>(null);\nexport const { Provider: AccordionProvider } = accordionContext;\nexport const useAccordionContext = () => useContext(accordionContext);\n\n// Accordion Component\nexport interface AccordionItemContextProps {\n headerId: string | undefined;\n bodyId: string | undefined;\n expanded: boolean;\n onChange?: (\n e: React.KeyboardEvent<HTMLDivElement> | React.MouseEvent<HTMLDivElement>,\n value: boolean\n ) => void;\n}\n\nconst accordionItemContext = createContext<AccordionItemContextProps | null>(\n null\n);\nexport const { Provider: AccordionItemProvider } = accordionItemContext;\nexport const useAccordionItemContext = () => useContext(accordionItemContext);\n"],"file":"context.js"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
4
|
import { forwardRef } from 'react';
|
|
5
|
+
import * as React from 'react';
|
|
4
6
|
import { useControlledState } from '../hooks';
|
|
5
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
export var CheckBox = /*#__PURE__*/forwardRef(function CheckBox(props, forwardedRef) {
|
|
9
|
+
var _props$as = props.as,
|
|
10
|
+
Comp = _props$as === void 0 ? 'input' : _props$as,
|
|
11
|
+
checkedProp = props.checked,
|
|
12
|
+
_props$defaultChecked = props.defaultChecked,
|
|
13
|
+
defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,
|
|
14
|
+
onChangeProp = props.onChange,
|
|
15
|
+
otherProps = _objectWithoutProperties(props, ["as", "checked", "defaultChecked", "onChange"]);
|
|
16
|
+
|
|
17
|
+
var _useControlledState = useControlledState(checkedProp, onChangeProp, defaultChecked, function (setValue) {
|
|
18
|
+
return function (e) {
|
|
19
|
+
setValue(e.target.checked);
|
|
20
|
+
};
|
|
21
|
+
}),
|
|
22
|
+
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
23
|
+
checked = _useControlledState2[0],
|
|
24
|
+
onChange = _useControlledState2[1];
|
|
14
25
|
|
|
15
|
-
const [checked, onChange] = useControlledState(checkedProp, onChangeProp, defaultChecked, setValue => e => {
|
|
16
|
-
setValue(e.target.checked);
|
|
17
|
-
});
|
|
18
26
|
return /*#__PURE__*/_jsx(Comp, _extends({
|
|
19
27
|
ref: forwardedRef,
|
|
20
28
|
type: "checkbox",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CheckBox/CheckBox.tsx"],"names":["forwardRef","useControlledState","CheckBox","props","forwardedRef","as","Comp","
|
|
1
|
+
{"version":3,"sources":["../../../src/CheckBox/CheckBox.tsx"],"names":["forwardRef","React","useControlledState","CheckBox","props","forwardedRef","as","Comp","checkedProp","checked","defaultChecked","onChangeProp","onChange","otherProps","setValue","e","target"],"mappings":";;;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,kBAAT,QAAmC,UAAnC;;AASA,OAAO,IAAMC,QAAQ,gBAAGH,UAAU,CAChC,SAASG,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;AAAA,kBAOjCD,KAPiC,CAEnCE,EAFmC;AAAA,MAE/BC,IAF+B,0BAExB,OAFwB;AAAA,MAG1BC,WAH0B,GAOjCJ,KAPiC,CAGnCK,OAHmC;AAAA,8BAOjCL,KAPiC,CAInCM,cAJmC;AAAA,MAInCA,cAJmC,sCAIlB,KAJkB;AAAA,MAKzBC,YALyB,GAOjCP,KAPiC,CAKnCQ,QALmC;AAAA,MAMhCC,UANgC,4BAOjCT,KAPiC;;AAAA,4BAQTF,kBAAkB,CAC5CM,WAD4C,EAE5CG,YAF4C,EAG5CD,cAH4C,EAI5C,UAACI,QAAD;AAAA,WAAc,UAACC,CAAD,EAAO;AACnBD,MAAAA,QAAQ,CAACC,CAAC,CAACC,MAAF,CAASP,OAAV,CAAR;AACD,KAFD;AAAA,GAJ4C,CART;AAAA;AAAA,MAQ9BA,OAR8B;AAAA,MAQrBG,QARqB;;AAiBrC,sBACE,KAAC,IAAD;AACE,IAAA,GAAG,EAAEP,YADP;AAEE,IAAA,IAAI,EAAC,UAFP;AAGE,IAAA,OAAO,EAAEI,OAHX;AAIE,oBAAcA,OAJhB;AAKE,IAAA,QAAQ,EAAEG;AALZ,KAMMC,UANN,EADF;AAUD,CA5B+B,CAA3B","sourcesContent":["import { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport { useControlledState } from '../hooks';\n\nexport interface CheckBoxProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const CheckBox = forwardRef<HTMLInputElement, CheckBoxProps>(\n function CheckBox(props, forwardedRef) {\n const {\n as: Comp = 'input',\n checked: checkedProp,\n defaultChecked = false,\n onChange: onChangeProp,\n ...otherProps\n } = props;\n const [checked, onChange] = useControlledState(\n checkedProp,\n onChangeProp,\n defaultChecked,\n (setValue) => (e) => {\n setValue(e.target.checked);\n }\n );\n\n return (\n <Comp\n ref={forwardedRef}\n type=\"checkbox\"\n checked={checked}\n aria-checked={checked}\n onChange={onChange}\n {...otherProps}\n />\n );\n }\n);\n"],"file":"CheckBox.js"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
export declare type SelectEventHandler = (text: string, itemId: string, obj: any) => void;
|
|
3
3
|
export declare type ComboboxProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {
|
|
4
4
|
onSelect?: SelectEventHandler;
|
|
@@ -1,50 +1,49 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
import { forwardRef, useRef, useMemo, useId } from 'react';
|
|
5
|
+
import * as React from 'react';
|
|
4
6
|
import { stateChart, comboboxReducer, isVisible, INIT } from './hooks';
|
|
5
7
|
import { ComboBoxProvider } from './context';
|
|
6
8
|
import { useReducerMachine } from '../hooks/useReducerMachine';
|
|
7
|
-
import {
|
|
9
|
+
import { getScope } from '../hooks';
|
|
8
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
innerAs
|
|
21
|
-
} = _ref,
|
|
22
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["onSelect", "openOnFocus", "selectOnBlur", "children", "as", "innerAs"]);
|
|
11
|
+
export var Combobox = /*#__PURE__*/forwardRef(function Combobox(_ref, ref) {
|
|
12
|
+
var onSelect = _ref.onSelect,
|
|
13
|
+
_ref$openOnFocus = _ref.openOnFocus,
|
|
14
|
+
openOnFocus = _ref$openOnFocus === void 0 ? false : _ref$openOnFocus,
|
|
15
|
+
_ref$selectOnBlur = _ref.selectOnBlur,
|
|
16
|
+
selectOnBlur = _ref$selectOnBlur === void 0 ? false : _ref$selectOnBlur,
|
|
17
|
+
children = _ref.children,
|
|
18
|
+
_ref$as = _ref.as,
|
|
19
|
+
Comp = _ref$as === void 0 ? 'div' : _ref$as,
|
|
20
|
+
innerAs = _ref.innerAs,
|
|
21
|
+
rest = _objectWithoutProperties(_ref, ["onSelect", "openOnFocus", "selectOnBlur", "children", "as", "innerAs"]);
|
|
23
22
|
|
|
24
23
|
// We store the values of all the ComboboxOptions on this ref. This makes it
|
|
25
24
|
// possible to perform the keyboard navigation from the input on the list. We
|
|
26
25
|
// manipulate this array through context so that we don't have to enforce a
|
|
27
26
|
// parent/child relationship between ComboboxList and ComboboxOption.
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
var optionsRef = useRef({});
|
|
28
|
+
var listScope = useRef(getScope({
|
|
30
29
|
current: null
|
|
31
30
|
})); // Need this to focus it
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
var inputRef = useRef(null);
|
|
33
|
+
var popoverRef = useRef(null);
|
|
34
|
+
var buttonRef = useRef(null); // When <ComboboxInput autocomplete={false} /> we don't want cycle back to
|
|
36
35
|
// the user's value while navigating (because it's always the user's value),
|
|
37
36
|
// but we need to know this in useKeyDown which is far away from the prop
|
|
38
37
|
// here, so we do something sneaky and write it to this ref on context so we
|
|
39
38
|
// can use it anywhere else 😛. Another new trick for me and I'm excited
|
|
40
39
|
// about this one too!
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
var autocompletePropRef = useRef(false);
|
|
42
|
+
var persistSelectionRef = useRef(false);
|
|
43
|
+
var clearOnEscapeRef = useRef(false);
|
|
44
|
+
var listboxIdRef = useRef();
|
|
45
|
+
var labelIdRef = useRef();
|
|
46
|
+
var defaultData = {
|
|
48
47
|
// initial state
|
|
49
48
|
state: stateChart.initial,
|
|
50
49
|
// the value the user has typed, we derived this also when the developer is
|
|
@@ -58,28 +57,36 @@ export const Combobox = /*#__PURE__*/forwardRef(function Combobox(_ref, ref) {
|
|
|
58
57
|
// the last submitted action
|
|
59
58
|
lastActionType: INIT
|
|
60
59
|
};
|
|
61
|
-
|
|
60
|
+
|
|
61
|
+
var _useReducerMachine = useReducerMachine(stateChart, comboboxReducer, defaultData),
|
|
62
|
+
_useReducerMachine2 = _slicedToArray(_useReducerMachine, 3),
|
|
63
|
+
state = _useReducerMachine2[0],
|
|
64
|
+
data = _useReducerMachine2[1],
|
|
65
|
+
transition = _useReducerMachine2[2];
|
|
66
|
+
|
|
62
67
|
listboxIdRef.current = useId();
|
|
63
68
|
labelIdRef.current = useId();
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
69
|
+
var context = useMemo(function () {
|
|
70
|
+
return {
|
|
71
|
+
data: data,
|
|
72
|
+
inputRef: inputRef,
|
|
73
|
+
popoverRef: popoverRef,
|
|
74
|
+
buttonRef: buttonRef,
|
|
75
|
+
onSelect: onSelect,
|
|
76
|
+
optionsRef: optionsRef,
|
|
77
|
+
listScope: listScope,
|
|
78
|
+
state: state,
|
|
79
|
+
transition: transition,
|
|
80
|
+
listboxIdRef: listboxIdRef,
|
|
81
|
+
labelIdRef: labelIdRef,
|
|
82
|
+
autocompletePropRef: autocompletePropRef,
|
|
83
|
+
persistSelectionRef: persistSelectionRef,
|
|
84
|
+
clearOnEscapeRef: clearOnEscapeRef,
|
|
85
|
+
isVisible: isVisible(state),
|
|
86
|
+
openOnFocus: openOnFocus,
|
|
87
|
+
selectOnBlur: selectOnBlur
|
|
88
|
+
};
|
|
89
|
+
}, [data, onSelect, listScope, state, transition, openOnFocus, selectOnBlur]);
|
|
83
90
|
return /*#__PURE__*/_jsx(ComboBoxProvider, {
|
|
84
91
|
value: context,
|
|
85
92
|
children: /*#__PURE__*/_jsx(Comp, _extends({}, rest, {
|