ivt
Version:
Ivt Components Library
1 lines • 7.14 kB
Source Map (JSON)
{"version":3,"file":"index-1toTCGyr.mjs","sources":["../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs"],"sourcesContent":["// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useLayoutEffect","value"],"mappings":";;;;AAIA,IAAM,kBAAA,GACH,KAAA,CAAc,sBAAA,CAAuB,IAAA,EAAK,CAAE,QAAA,EAAU,CAAA,IAAKA,gBAAA;AAYvD,SAAS,oBAAA,CAAwB,EACtC,IAAA,EACA,WAAA,EACA,QAAA,GAAW,IAAA,CAAO,CAAD,EACjB,MAAA,EACF,EAAsD;AACpD,IAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAA,EAAqB,WAAW,CAAA,GAAI,oBAAA,CAAqB;AAChF,QAAA,WAAA;AACA,QAAA;KACD,CAAA;IACD,MAAM,YAAA,GAAe,SAAS,MAAA;IAC9B,MAAM,KAAA,GAAQ,eAAe,IAAA,GAAO,gBAAA;AAMpC,IAA2C;AACzC,QAAA,MAAM,kBAAwB,KAAA,CAAA,MAAA,CAAO,IAAA,KAAS,MAAS,CAAA;QACjD,KAAA,CAAA,SAAA,CAAU,IAAA;YACd,MAAM,aAAA,GAAgB,gBAAgB,OAAA;AACtC,YAAA,IAAI,kBAAkB,YAAA,EAAc;gBAClC,MAAM,IAAA,GAAO,gBAAgB,YAAA,GAAe,cAAA;gBAC5C,MAAM,EAAA,GAAK,eAAe,YAAA,GAAe,cAAA;AACzC,gBAAA,OAAA,CAAQ,IAAA,CACN,CAAA,EAAG,MAAM,CAAA,kBAAA,EAAqB,IAAI,CAAA,IAAA,EAAO,EAAE,CAAA,0KAAA,CAAA,CAAA;AAE/C,YAAA;AACA,YAAA,eAAA,CAAgB,OAAA,GAAU,YAAA;QAC5B,CAAA,EAAG;AAAC,YAAA,YAAA;YAAc;AAAO,SAAA,CAAA;AAC3B,IAAA;AAGA,IAAA,MAAM,QAAA,GAAiB,KAAA,CAAA,WAAA,CACrB,CAAC,SAAA,GAAA;AACC,QAAA,IAAI,YAAA,EAAc;AAChB,YAAA,MAAMC,SAAQ,UAAA,CAAW,SAAS,CAAA,GAAI,SAAA,CAAU,IAAI,CAAA,GAAI,SAAA;AACxD,YAAA,IAAIA,WAAU,IAAA,EAAM;gBAClB,WAAA,CAAY,OAAA,GAAUA,MAAK,CAAA;AAC7B,YAAA;QACF,CAAA,MAAO;AACL,YAAA,mBAAA,CAAoB,SAAS,CAAA;AAC/B,QAAA;IACF,CAAA,EACA;AAAC,QAAA,YAAA;AAAc,QAAA,IAAA;AAAM,QAAA,mBAAA;QAAqB;AAAW,KAAA,CAAA;IAGvD,OAAO;AAAC,QAAA,KAAA;QAAO;AAAQ,KAAA;AACzB;AAEA,SAAS,qBAAwB,EAC/B,WAAA,EACA,QAAA,EACF,EAIE;IACA,MAAM,CAAC,OAAO,QAAQ,CAAA,GAAU,KAAA,CAAA,QAAA,CAAS,WAAW,CAAA;AACpD,IAAA,MAAM,YAAA,GAAqB,KAAA,CAAA,MAAA,CAAO,KAAK,CAAA;AAEvC,IAAA,MAAM,WAAA,GAAoB,KAAA,CAAA,MAAA,CAAO,QAAQ,CAAA;AACzC,IAAA,kBAAA,CAAmB,IAAA;AACjB,QAAA,WAAA,CAAY,OAAA,GAAU,QAAA;IACxB,CAAA,EAAG;QAAC;AAAS,KAAA,CAAA;IAEP,KAAA,CAAA,SAAA,CAAU,IAAA;QACd,IAAI,YAAA,CAAa,OAAA,KAAY,KAAA,EAAO;YAClC,WAAA,CAAY,OAAA,GAAU,KAAK,CAAA;AAC3B,YAAA,YAAA,CAAa,OAAA,GAAU,KAAA;AACzB,QAAA;IACF,CAAA,EAAG;AAAC,QAAA,KAAA;QAAO;AAAa,KAAA,CAAA;IAExB,OAAO;AAAC,QAAA,KAAA;AAAO,QAAA,QAAA;QAAU;AAAW,KAAA;AACtC;AAEA,SAAS,UAAA,CAAW,KAAA,EAAkD;AACpE,IAAA,OAAO,OAAO,KAAA,KAAU,UAAA;AAC1B;;;;","x_google_ignoreList":[0]}