@apia/components 2.0.7 → 2.0.8
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/dist/components/IconsList/Icon.js.map +1 -1
- package/dist/components/IconsList/IconWrapper.js.map +1 -1
- package/dist/components/IconsList/KeyHandler.js.map +1 -1
- package/dist/components/IconsList/context.js.map +1 -1
- package/dist/components/IconsList/index.js.map +1 -1
- package/dist/components/IconsList/renderers/DefaultIconRenderer.js.map +1 -1
- package/dist/components/IconsList/store/context.js.map +1 -1
- package/dist/components/IconsList/store/distinctors.js.map +1 -1
- package/dist/components/IconsList/store/keysMaker.js.map +1 -1
- package/dist/components/IconsList/store/operations.js.map +1 -1
- package/dist/components/IconsList/store/state.js.map +1 -1
- package/dist/components/IconsList/store/useStore.js.map +1 -1
- package/dist/components/IconsList/styles.js.map +1 -1
- package/dist/components/IconsList/util.js.map +1 -1
- package/dist/components/ListBox/Combobox.js.map +1 -1
- package/dist/components/ListBox/listbox.js.map +1 -1
- package/dist/components/ListBox/operations.js.map +1 -1
- package/dist/components/ListBox/useIndexedChildren.js.map +1 -1
- package/dist/components/ListBox/useListboxAutofocus.js.map +1 -1
- package/dist/components/ListBox/useListboxContextValue.js.map +1 -1
- package/dist/components/ListBox/useShoutSelectionChange.js.map +1 -1
- package/dist/components/ListBox/useStore.js.map +1 -1
- package/dist/components/ListBox/useUpdateRowCount.js.map +1 -1
- package/dist/components/SortableList/SortableListHandler.js +1 -1
- package/dist/components/SortableList/SortableListHandler.js.map +1 -1
- package/dist/components/SortableList/SortableListItem.js.map +1 -1
- package/dist/components/SortableList/index.js.map +1 -1
- package/dist/components/Toolbar/ToolbarController.js.map +1 -1
- package/dist/components/Toolbar/ToolbarIconButton.js.map +1 -1
- package/dist/components/Toolbar/ToolbarInput.js.map +1 -1
- package/dist/components/Toolbar/ToolbarSelect.js.map +1 -1
- package/dist/components/Toolbar/ToolbarSeparator.js.map +1 -1
- package/dist/components/Toolbar/ToolbarTextButton.js.map +1 -1
- package/dist/components/Toolbar/index.js.map +1 -1
- package/dist/components/Toolbar/styles.js.map +1 -1
- package/dist/components/accordion/Accordion.d.ts +1 -0
- package/dist/components/accordion/Accordion.js +6 -0
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/AccordionItem.d.ts +2 -1
- package/dist/components/accordion/AccordionItem.js +5 -1
- package/dist/components/accordion/AccordionItem.js.map +1 -1
- package/dist/components/accordion/AccordionItemButton.js.map +1 -1
- package/dist/components/accordion/AccordionItemContent.js.map +1 -1
- package/dist/components/accordion/KeyHandler.js +64 -59
- package/dist/components/accordion/KeyHandler.js.map +1 -1
- package/dist/components/accordion/context.js.map +1 -1
- package/dist/components/accordion/defaultElements/Checkbox.js.map +1 -1
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js +1 -3
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js.map +1 -1
- package/dist/components/accordion/defaultElements/useIsChecked.js.map +1 -1
- package/dist/components/accordion/handler.d.ts +1 -1
- package/dist/components/accordion/handler.js +11 -3
- package/dist/components/accordion/handler.js.map +1 -1
- package/dist/components/apia/ApiaDateFilter.js.map +1 -1
- package/dist/components/apia/ApiaFilter.js.map +1 -1
- package/dist/components/buttons/useOtherTagButton.js.map +1 -1
- package/dist/components/collapsiblePanel/index.js.map +1 -1
- package/dist/components/collapsiblePanel/styles.js.map +1 -1
- package/dist/components/dialogs/AlertModal.js.map +1 -1
- package/dist/components/dialogs/ConfirmModal.js.map +1 -1
- package/dist/components/forms/Captcha.js.map +1 -1
- package/dist/components/forms/Checkbox.js.map +1 -1
- package/dist/components/forms/DateInput.js.map +1 -1
- package/dist/components/forms/FieldErrorMessage.js.map +1 -1
- package/dist/components/forms/FieldLabel.js.map +1 -1
- package/dist/components/forms/IconInput.js.map +1 -1
- package/dist/components/forms/NumberInput.js.map +1 -1
- package/dist/components/forms/RequiredMark.js.map +1 -1
- package/dist/components/forms/buttons/BaseButton.js.map +1 -1
- package/dist/components/forms/buttons/IconButton.js.map +1 -1
- package/dist/components/forms/buttons/SimpleButton.js.map +1 -1
- package/dist/components/forms/util/style.js.map +1 -1
- package/dist/components/importComponent.js +1 -1
- package/dist/components/importComponent.js.map +1 -1
- package/dist/components/loaders/LinearLoader.js.map +1 -1
- package/dist/components/loaders/LoaderSpinner.js.map +1 -1
- package/dist/components/loaders/ProgressBar.js.map +1 -1
- package/dist/components/modals/CalendarModal.js.map +1 -1
- package/dist/components/modals/Modal.d.ts +28 -2
- package/dist/components/modals/Modal.js +3 -1
- package/dist/components/modals/Modal.js.map +1 -1
- package/dist/components/modals/ModalContext.js.map +1 -1
- package/dist/components/modals/Overlay.js.map +1 -1
- package/dist/components/modals/StaticModal.js.map +1 -1
- package/dist/components/modals/WindowModal.js +225 -4
- package/dist/components/modals/WindowModal.js.map +1 -1
- package/dist/components/modals/hooks/useEscapeKey.js +36 -0
- package/dist/components/modals/hooks/useEscapeKey.js.map +1 -0
- package/dist/components/modals/hooks/useInitialFocus.js +37 -0
- package/dist/components/modals/hooks/useInitialFocus.js.map +1 -0
- package/dist/components/modals/hooks/useModal.js.map +1 -1
- package/dist/components/modals/hooks/useStyleState.js +44 -0
- package/dist/components/modals/hooks/useStyleState.js.map +1 -0
- package/dist/components/modals/layout/Confirm.js.map +1 -1
- package/dist/components/modals/layout/DialogButtonBar.js.map +1 -1
- package/dist/components/modals/layout/DialogHeader.js +1 -2
- package/dist/components/modals/layout/DialogHeader.js.map +1 -1
- package/dist/components/responsive/AutoEllipsis.js.map +1 -1
- package/dist/components/responsive/makeResponsiveComponent.js.map +1 -1
- package/dist/components/waiAriaHelpers/typeAhead.js.map +1 -1
- package/dist/globalFocus.js +2 -2
- package/dist/globalFocus.js.map +1 -1
- package/dist/hooks/useBodyScrollLock.js +2 -2
- package/dist/hooks/useBodyScrollLock.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js +3 -3
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js.map +1 -1
- package/dist/objects/ApiaUtil/index.js +1 -1
- package/dist/objects/ApiaUtil/index.js.map +1 -1
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js +2 -2
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js.map +1 -1
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js +3 -3
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js.map +1 -1
- package/dist/objects/ApiaUtil/modals/OpenModal.d.ts +31 -1
- package/dist/objects/ApiaUtil/modals/OpenModal.js +18 -0
- package/dist/objects/ApiaUtil/modals/OpenModal.js.map +1 -1
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js.map +1 -1
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js.map +1 -1
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js.map +1 -1
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js.map +1 -1
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js +1 -1
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js.map +1 -1
- package/dist/objects/ApiaUtil/tabs/util.js.map +1 -1
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js +1 -1
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js.map +1 -1
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js.map +1 -1
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js +1 -1
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js.map +1 -1
- package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js.map +1 -1
- package/dist/objects/ApiaUtil/tooltips/tooltip/util.js.map +1 -1
- package/dist/tabs/Content.js.map +1 -1
- package/dist/tabs/ContextMenu.js +1 -2
- package/dist/tabs/ContextMenu.js.map +1 -1
- package/dist/tabs/Item.js +1 -2
- package/dist/tabs/Item.js.map +1 -1
- package/dist/tabs/Tabs.js.map +1 -1
- package/dist/tabs/TabsList.js.map +1 -1
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.js.map +1 -1
- package/dist/tabs/tabsController.js.map +1 -1
- package/dist/tabs/useTabsList.js.map +1 -1
- package/dist/tabs/util.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeResponsiveComponent.js","sources":["../../../src/components/responsive/makeResponsiveComponent.tsx"],"sourcesContent":["import {\n FC,\n FunctionComponent,\n useCallback,\n useDeferredValue,\n useEffect,\n useRef,\n useState,\n useTransition,\n} from 'react';\nimport { Box } from '@apia/theme';\n\ninterface IMakeResponsiveComponent<P extends Record<string, unknown>> {\n breakPoints: number[];\n Component: FunctionComponent<\n P & { breakPoint: number; breakPointWidth: number; containerWidth: number }\n >;\n /**\n * Este HOC hace un setState cada vez que cambia el ancho del contenedor. Hay\n * situaciones en las que es deseable agregar un debounce a este\n * comportamiento para mejorar la performance. *Por defecto usa 100*\n */\n debounce?: number;\n /**\n * Por defecto usa 4.\n */\n defaultBreakpoint?: number;\n}\n\nfunction calcBreakPoint(currentWidth: number, breakPoints: number[]) {\n let currentIndex = 0;\n\n while (\n currentIndex < breakPoints.length &&\n currentWidth > breakPoints[currentIndex]\n )\n currentIndex++;\n\n return currentIndex;\n}\n\nexport interface IResponsiveComponent<P> extends FC<P> {\n setBreakpoints: { current: (breakPoints: number[]) => void };\n}\n\n/**\n * El método makeResponsiveComponent agrega un wrapper alrededor de un\n * componente para conocer el ancho del contenedor del mismo. De esta forma, es\n * fácil predecir qué ancho dispone el mismo para renderizarse y de esa forma\n * poder tomar decisiones de responsividad que no dependen del ancho de la\n * pantalla sino del espacio donde se encuentra.\n */\nexport const makeResponsiveComponent = <P extends Record<string, unknown>>({\n breakPoints,\n Component,\n defaultBreakpoint,\n}: IMakeResponsiveComponent<P>): IResponsiveComponent<\n P & {\n breakPoints?: number[];\n }\n> => {\n const setBreakpoints: { current: (b: number[]) => void } = {\n current: () => {},\n };\n\n return Object.assign(\n function ResponsiveComponent(\n props: P & {\n breakPoints?: number[];\n },\n ) {\n const [breakPoint, setCurrentBreakpoint] = useState<number>(\n defaultBreakpoint ?? 4,\n );\n\n const [innerBreakpoints, setInnerBreakpoints] = useState(\n props.breakPoints ?? breakPoints,\n );\n setBreakpoints.current = setInnerBreakpoints;\n\n const [containerWidth, setContainerWidth] = useState(\n breakPoints[defaultBreakpoint ?? 4],\n );\n const observer = useRef<ResizeObserver | null>(null);\n const shouldDisconnect = useRef(false);\n\n const [hasRendered, setHasRendered] = useState(false);\n const [, startTransition] = useTransition();\n\n const ref = useCallback(\n (element: HTMLElement) => {\n if (!element) return;\n\n observer.current?.disconnect();\n observer.current = new ResizeObserver((resizeProps) => {\n if (resizeProps[0].contentRect.width === 0) return;\n\n startTransition(() => {\n setContainerWidth(resizeProps[0].contentRect.width);\n setCurrentBreakpoint(\n calcBreakPoint(\n resizeProps[0].contentRect.width,\n innerBreakpoints,\n ),\n );\n setHasRendered(true);\n });\n });\n\n if (element) observer.current.observe(element);\n },\n [innerBreakpoints],\n );\n\n useEffect(() => {\n shouldDisconnect.current = false;\n\n return () => {\n shouldDisconnect.current = true;\n setTimeout(() => {\n if (shouldDisconnect.current) {\n observer.current?.disconnect();\n }\n /**\n * El timeout tiene un tiempo arbitrariamente alto ya que de esta\n * forma el observer se va a desconectar una vez que el componente\n * se desmonte. Si pusiera un tiempo menor, caería en el riesgo de\n * que se desconecte aún cuando el componente está montado\n */\n }, 2000);\n };\n }, [innerBreakpoints]);\n\n const deferBreakPoint = useDeferredValue(breakPoint);\n const deferContainerWidth = useDeferredValue(containerWidth);\n\n return (\n <Box ref={ref}>\n {hasRendered ? (\n <Component\n {...props}\n breakPoint={deferBreakPoint}\n breakPointWidth={breakPoints[deferBreakPoint]}\n containerWidth={deferContainerWidth}\n />\n ) : null}\n </Box>\n );\n },\n { setBreakpoints },\n );\n};\n"],"names":[],"mappings":";;;;AA6BA,SAAS,cAAA,CAAe,cAAsB,WAAuB,EAAA;AACnE,EAAA,IAAI,YAAe,GAAA,CAAA,CAAA;AAEnB,EAAA,OACE,YAAe,GAAA,WAAA,CAAY,MAC3B,IAAA,YAAA,GAAe,YAAY,YAAY,CAAA;AAEvC,IAAA,YAAA,EAAA,CAAA;AAEF,EAAO,OAAA,YAAA,CAAA;AACT,CAAA;AAaO,MAAM,0BAA0B,CAAoC;AAAA,EACzE,WAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AACF,CAIK,KAAA;AACH,EAAA,MAAM,cAAqD,GAAA;AAAA,IACzD,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB,CAAA;AAEA,EAAA,OAAO,MAAO,CAAA,MAAA;AAAA,IACZ,SAAS,oBACP,KAGA,EAAA;AACA,MAAM,MAAA,CAAC,UAAY,EAAA,oBAAoB,CAAI,GAAA,QAAA;AAAA,QACzC,iBAAqB,IAAA,CAAA;AAAA,OACvB,CAAA;AAEA,MAAM,MAAA,CAAC,gBAAkB,EAAA,mBAAmB,CAAI,GAAA,QAAA;AAAA,QAC9C,MAAM,WAAe,IAAA,WAAA;AAAA,OACvB,CAAA;AACA,MAAA,cAAA,CAAe,OAAU,GAAA,mBAAA,CAAA;AAEzB,MAAM,MAAA,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,QAAA;AAAA,QAC1C,WAAA,CAAY,qBAAqB,CAAC,CAAA;AAAA,OACpC,CAAA;AACA,MAAM,MAAA,QAAA,GAAW,OAA8B,IAAI,CAAA,CAAA;AACnD,MAAM,MAAA,gBAAA,GAAmB,OAAO,KAAK,CAAA,CAAA;AAErC,MAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AACpD,MAAA,MAAM,GAAG,eAAe,CAAA,GAAI,aAAc,EAAA,CAAA;AAE1C,MAAA,MAAM,GAAM,GAAA,WAAA;AAAA,QACV,CAAC,OAAyB,KAAA;AACxB,UAAA,IAAI,CAAC,OAAA;AAAS,YAAA,OAAA;AAEd,UAAA,QAAA,CAAS,SAAS,UAAW,EAAA,CAAA;AAC7B,UAAA,QAAA,CAAS,OAAU,GAAA,IAAI,cAAe,CAAA,CAAC,WAAgB,KAAA;AACrD,YAAA,IAAI,WAAY,CAAA,CAAC,CAAE,CAAA,WAAA,CAAY,KAAU,KAAA,CAAA;AAAG,cAAA,OAAA;AAE5C,YAAA,eAAA,CAAgB,MAAM;AACpB,cAAA,iBAAA,CAAkB,WAAY,CAAA,CAAC,CAAE,CAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAClD,cAAA,oBAAA;AAAA,gBACE,cAAA;AAAA,kBACE,WAAA,CAAY,CAAC,CAAA,CAAE,WAAY,CAAA,KAAA;AAAA,kBAC3B,gBAAA;AAAA,iBACF;AAAA,eACF,CAAA;AACA,cAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AAAA,aACpB,CAAA,CAAA;AAAA,WACF,CAAA,CAAA;AAED,UAAI,IAAA,OAAA;AAAS,YAAS,QAAA,CAAA,OAAA,CAAQ,QAAQ,OAAO,CAAA,CAAA;AAAA,SAC/C;AAAA,QACA,CAAC,gBAAgB,CAAA;AAAA,OACnB,CAAA;AAEA,MAAA,SAAA,CAAU,MAAM;AACd,QAAA,gBAAA,CAAiB,OAAU,GAAA,KAAA,CAAA;AAE3B,QAAA,OAAO,MAAM;AACX,UAAA,gBAAA,CAAiB,OAAU,GAAA,IAAA,CAAA;AAC3B,UAAA,UAAA,CAAW,MAAM;AACf,YAAA,IAAI,iBAAiB,OAAS,EAAA;AAC5B,cAAA,QAAA,CAAS,SAAS,UAAW,EAAA,CAAA;AAAA,aAC/B;AAAA,aAOC,GAAI,CAAA,CAAA;AAAA,SACT,CAAA;AAAA,OACF,EAAG,CAAC,gBAAgB,CAAC,CAAA,CAAA;AAErB,MAAM,MAAA,eAAA,GAAkB,iBAAiB,UAAU,CAAA,CAAA;AACnD,MAAM,MAAA,mBAAA,GAAsB,iBAAiB,cAAc,CAAA,CAAA;AAE3D,MACE,uBAAA,GAAA,CAAC,GAAI,EAAA,EAAA,GAAA,EACF,QACC,EAAA,WAAA,mBAAA,GAAA;AAAA,QAAC,SAAA;AAAA,QAAA;AAAA,UACE,GAAG,KAAA;AAAA,UACJ,UAAY,EAAA,eAAA;AAAA,UACZ,eAAA,EAAiB,YAAY,eAAe,CAAA;AAAA,UAC5C,cAAgB,EAAA,mBAAA;AAAA,SAAA;AAAA,UAEhB,IACN,EAAA,CAAA,CAAA;AAAA,KAEJ;AAAA,IACA,EAAE,cAAe,EAAA;AAAA,GACnB,CAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"makeResponsiveComponent.js","sources":["../../../src/components/responsive/makeResponsiveComponent.tsx"],"sourcesContent":["import {\r\n FC,\r\n FunctionComponent,\r\n useCallback,\r\n useDeferredValue,\r\n useEffect,\r\n useRef,\r\n useState,\r\n useTransition,\r\n} from 'react';\r\nimport { Box } from '@apia/theme';\r\n\r\ninterface IMakeResponsiveComponent<P extends Record<string, unknown>> {\r\n breakPoints: number[];\r\n Component: FunctionComponent<\r\n P & { breakPoint: number; breakPointWidth: number; containerWidth: number }\r\n >;\r\n /**\r\n * Este HOC hace un setState cada vez que cambia el ancho del contenedor. Hay\r\n * situaciones en las que es deseable agregar un debounce a este\r\n * comportamiento para mejorar la performance. *Por defecto usa 100*\r\n */\r\n debounce?: number;\r\n /**\r\n * Por defecto usa 4.\r\n */\r\n defaultBreakpoint?: number;\r\n}\r\n\r\nfunction calcBreakPoint(currentWidth: number, breakPoints: number[]) {\r\n let currentIndex = 0;\r\n\r\n while (\r\n currentIndex < breakPoints.length &&\r\n currentWidth > breakPoints[currentIndex]\r\n )\r\n currentIndex++;\r\n\r\n return currentIndex;\r\n}\r\n\r\nexport interface IResponsiveComponent<P> extends FC<P> {\r\n setBreakpoints: { current: (breakPoints: number[]) => void };\r\n}\r\n\r\n/**\r\n * El método makeResponsiveComponent agrega un wrapper alrededor de un\r\n * componente para conocer el ancho del contenedor del mismo. De esta forma, es\r\n * fácil predecir qué ancho dispone el mismo para renderizarse y de esa forma\r\n * poder tomar decisiones de responsividad que no dependen del ancho de la\r\n * pantalla sino del espacio donde se encuentra.\r\n */\r\nexport const makeResponsiveComponent = <P extends Record<string, unknown>>({\r\n breakPoints,\r\n Component,\r\n defaultBreakpoint,\r\n}: IMakeResponsiveComponent<P>): IResponsiveComponent<\r\n P & {\r\n breakPoints?: number[];\r\n }\r\n> => {\r\n const setBreakpoints: { current: (b: number[]) => void } = {\r\n current: () => {},\r\n };\r\n\r\n return Object.assign(\r\n function ResponsiveComponent(\r\n props: P & {\r\n breakPoints?: number[];\r\n },\r\n ) {\r\n const [breakPoint, setCurrentBreakpoint] = useState<number>(\r\n defaultBreakpoint ?? 4,\r\n );\r\n\r\n const [innerBreakpoints, setInnerBreakpoints] = useState(\r\n props.breakPoints ?? breakPoints,\r\n );\r\n setBreakpoints.current = setInnerBreakpoints;\r\n\r\n const [containerWidth, setContainerWidth] = useState(\r\n breakPoints[defaultBreakpoint ?? 4],\r\n );\r\n const observer = useRef<ResizeObserver | null>(null);\r\n const shouldDisconnect = useRef(false);\r\n\r\n const [hasRendered, setHasRendered] = useState(false);\r\n const [, startTransition] = useTransition();\r\n\r\n const ref = useCallback(\r\n (element: HTMLElement) => {\r\n if (!element) return;\r\n\r\n observer.current?.disconnect();\r\n observer.current = new ResizeObserver((resizeProps) => {\r\n if (resizeProps[0].contentRect.width === 0) return;\r\n\r\n startTransition(() => {\r\n setContainerWidth(resizeProps[0].contentRect.width);\r\n setCurrentBreakpoint(\r\n calcBreakPoint(\r\n resizeProps[0].contentRect.width,\r\n innerBreakpoints,\r\n ),\r\n );\r\n setHasRendered(true);\r\n });\r\n });\r\n\r\n if (element) observer.current.observe(element);\r\n },\r\n [innerBreakpoints],\r\n );\r\n\r\n useEffect(() => {\r\n shouldDisconnect.current = false;\r\n\r\n return () => {\r\n shouldDisconnect.current = true;\r\n setTimeout(() => {\r\n if (shouldDisconnect.current) {\r\n observer.current?.disconnect();\r\n }\r\n /**\r\n * El timeout tiene un tiempo arbitrariamente alto ya que de esta\r\n * forma el observer se va a desconectar una vez que el componente\r\n * se desmonte. Si pusiera un tiempo menor, caería en el riesgo de\r\n * que se desconecte aún cuando el componente está montado\r\n */\r\n }, 2000);\r\n };\r\n }, [innerBreakpoints]);\r\n\r\n const deferBreakPoint = useDeferredValue(breakPoint);\r\n const deferContainerWidth = useDeferredValue(containerWidth);\r\n\r\n return (\r\n <Box ref={ref}>\r\n {hasRendered ? (\r\n <Component\r\n {...props}\r\n breakPoint={deferBreakPoint}\r\n breakPointWidth={breakPoints[deferBreakPoint]}\r\n containerWidth={deferContainerWidth}\r\n />\r\n ) : null}\r\n </Box>\r\n );\r\n },\r\n { setBreakpoints },\r\n );\r\n};\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeAhead.js","sources":["../../../src/components/waiAriaHelpers/typeAhead.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Type-ahead is a behavior pattern which helps the user in the lists and trees\n * (and literally says: \"especially those with more than seven options\")\n * navigation. The literal description in Wai-Aria documentation is:\n *\n * - Type a character: focus moves to the next item with a name that starts\n * with the typed character.\n *\n * - Type multiple characters in rapid succession:\n * focus moves to the next item with a name that starts with the string of\n * characters typed.\n *\n * It is a little arbitrary what is rapid succession. As I couln't find any\n * documentation about what rapid succession means, I will make some tests in\n * order to determine what is more comfortable to accomplish one situation or\n * the other.\n *\n * To callibrate this function it is suficient to override the frequency\n * parameter, which after some tests I understand is best at 2.5 (keys per\n * second).\n */\n\nimport { EventEmitter } from '@apia/util';\nimport { KeyboardEvent } from 'react';\n\nclass WaiTypeAhead extends EventEmitter<{\n multipleKeys: string;\n singleKey: string;\n typeUpdate: string;\n}> {\n frequency = 2.5; // Keys per second\n timeout = 0;\n typing = '';\n\n constructor(props?: {\n onMultipleKeys?: (value: string) => unknown;\n onSingleKey?: (value: string) => unknown;\n onTypeUpdate?: (value: string) => unknown;\n }) {\n super();\n\n const { onMultipleKeys, onSingleKey, onTypeUpdate } = props ?? {};\n\n if (onMultipleKeys) this.on('multipleKeys', onMultipleKeys);\n if (onSingleKey) this.on('singleKey', onSingleKey);\n if (onTypeUpdate) this.on('typeUpdate', onTypeUpdate);\n }\n\n #restoreTimeout() {\n clearTimeout(this.timeout);\n\n this.timeout = setTimeout(\n this.#shout.bind(this),\n 1000 / this.frequency,\n ) as any;\n }\n\n #shout({ clear } = { clear: true }) {\n if (this.typing.length === 1) {\n this.emit('singleKey', this.typing);\n } else if (this.typing.length > 1) {\n this.emit('multipleKeys', this.typing);\n }\n if (clear) {\n this.typing = '';\n }\n }\n\n type(ev: KeyboardEvent) {\n if (ev.key.match(/^[\\p{L}\\d ]$/u)) {\n ev.preventDefault();\n this.typing = this.typing + ev.key;\n this.emit('typeUpdate', this.typing);\n this.#restoreTimeout();\n } else if (ev.code === 'Backspace') {\n ev.preventDefault();\n this.typing = this.typing.slice(0, -1);\n this.emit('typeUpdate', this.typing);\n this.#restoreTimeout();\n }\n }\n}\n\nexport { WaiTypeAhead };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typeAhead.js","sources":["../../../src/components/waiAriaHelpers/typeAhead.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Type-ahead is a behavior pattern which helps the user in the lists and trees\r\n * (and literally says: \"especially those with more than seven options\")\r\n * navigation. The literal description in Wai-Aria documentation is:\r\n *\r\n * - Type a character: focus moves to the next item with a name that starts\r\n * with the typed character.\r\n *\r\n * - Type multiple characters in rapid succession:\r\n * focus moves to the next item with a name that starts with the string of\r\n * characters typed.\r\n *\r\n * It is a little arbitrary what is rapid succession. As I couln't find any\r\n * documentation about what rapid succession means, I will make some tests in\r\n * order to determine what is more comfortable to accomplish one situation or\r\n * the other.\r\n *\r\n * To callibrate this function it is suficient to override the frequency\r\n * parameter, which after some tests I understand is best at 2.5 (keys per\r\n * second).\r\n */\r\n\r\nimport { EventEmitter } from '@apia/util';\r\nimport { KeyboardEvent } from 'react';\r\n\r\nclass WaiTypeAhead extends EventEmitter<{\r\n multipleKeys: string;\r\n singleKey: string;\r\n typeUpdate: string;\r\n}> {\r\n frequency = 2.5; // Keys per second\r\n timeout = 0;\r\n typing = '';\r\n\r\n constructor(props?: {\r\n onMultipleKeys?: (value: string) => unknown;\r\n onSingleKey?: (value: string) => unknown;\r\n onTypeUpdate?: (value: string) => unknown;\r\n }) {\r\n super();\r\n\r\n const { onMultipleKeys, onSingleKey, onTypeUpdate } = props ?? {};\r\n\r\n if (onMultipleKeys) this.on('multipleKeys', onMultipleKeys);\r\n if (onSingleKey) this.on('singleKey', onSingleKey);\r\n if (onTypeUpdate) this.on('typeUpdate', onTypeUpdate);\r\n }\r\n\r\n #restoreTimeout() {\r\n clearTimeout(this.timeout);\r\n\r\n this.timeout = setTimeout(\r\n this.#shout.bind(this),\r\n 1000 / this.frequency,\r\n ) as any;\r\n }\r\n\r\n #shout({ clear } = { clear: true }) {\r\n if (this.typing.length === 1) {\r\n this.emit('singleKey', this.typing);\r\n } else if (this.typing.length > 1) {\r\n this.emit('multipleKeys', this.typing);\r\n }\r\n if (clear) {\r\n this.typing = '';\r\n }\r\n }\r\n\r\n type(ev: KeyboardEvent) {\r\n if (ev.key.match(/^[\\p{L}\\d ]$/u)) {\r\n ev.preventDefault();\r\n this.typing = this.typing + ev.key;\r\n this.emit('typeUpdate', this.typing);\r\n this.#restoreTimeout();\r\n } else if (ev.code === 'Backspace') {\r\n ev.preventDefault();\r\n this.typing = this.typing.slice(0, -1);\r\n this.emit('typeUpdate', this.typing);\r\n this.#restoreTimeout();\r\n }\r\n }\r\n}\r\n\r\nexport { WaiTypeAhead };\r\n"],"names":[],"mappings":"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"}
|
package/dist/globalFocus.js
CHANGED
|
@@ -4,7 +4,7 @@ import isFunction from 'lodash-es/isFunction';
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
6
|
var __publicField = (obj, key, value) => {
|
|
7
|
-
__defNormalProp(obj,
|
|
7
|
+
__defNormalProp(obj, key + "" , value);
|
|
8
8
|
return value;
|
|
9
9
|
};
|
|
10
10
|
var __accessCheck = (obj, member, msg) => {
|
|
@@ -22,7 +22,7 @@ var __privateAdd = (obj, member, value) => {
|
|
|
22
22
|
};
|
|
23
23
|
var __privateSet = (obj, member, value, setter) => {
|
|
24
24
|
__accessCheck(obj, member, "write to private field");
|
|
25
|
-
|
|
25
|
+
member.set(obj, value);
|
|
26
26
|
return value;
|
|
27
27
|
};
|
|
28
28
|
var _onFocusCallbacks, _a;
|
package/dist/globalFocus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalFocus.js","sources":["../src/globalFocus.ts"],"sourcesContent":["import { TFocusRetriever, debugDispatcher } from '@apia/util';\nimport isFunction from 'lodash-es/isFunction';\n\nconst historySize = 50;\n\n/**\n * The GlobalFocus helper keeps a list of the last focused elements and allows\n * to retrieve the last focused element which matches against a query selector.\n */\nconst globalFocus = new (class {\n focused: (HTMLElement | TFocusRetriever)[] = [];\n\n #onFocusCallbacks: (() => unknown)[] = [];\n\n offFocus(cb: () => unknown) {\n this.#onFocusCallbacks = this.#onFocusCallbacks.filter((current) => {\n return current !== cb;\n });\n }\n\n onFocus(cb: () => unknown) {\n this.#onFocusCallbacks.push(cb);\n\n return () => {\n this.offFocus(cb);\n };\n }\n\n constructor() {\n debugDispatcher.on(\n 'focusHistory',\n () => {\n console.info(this.focused);\n },\n 'Muestra el historial de elementos que recibieron foco.',\n );\n }\n\n inDocument(el: HTMLElement | TFocusRetriever) {\n return (\n el instanceof Function ||\n (el instanceof HTMLElement && el.offsetParent !== null)\n );\n }\n\n set focus(element: HTMLElement | TFocusRetriever) {\n this.focused = this.focused.filter((el) => {\n const existsInDocument = this.inDocument(el) && element !== el;\n\n return existsInDocument;\n });\n this.focused.unshift(element);\n if (this.focused.length > historySize) {\n this.focused = this.focused.splice(0, historySize);\n }\n\n this.#onFocusCallbacks.forEach((cb) => {\n return cb();\n });\n }\n\n get list() {\n return [...this.focused];\n }\n\n /**\n * @param querySelector A query selector against which the element should match\n * @returns The last HTMLElement if no querySelector argument provided or else, the last which matches\n * against that query selector.\n * */\n last(querySelector?: string, omit = 0) {\n if (querySelector)\n for (let i = omit; i <= this.focused.length; i++) {\n const storedElement = this.focused[i];\n const element =\n // eslint-disable-next-line no-nested-ternary\n (storedElement as HTMLElement)?.id !== undefined\n ? (storedElement as HTMLElement)\n : isFunction(storedElement)\n ? storedElement(false)\n : null;\n\n if (\n element &&\n this.inDocument(element) &&\n element.matches &&\n element.matches(querySelector)\n )\n return element;\n }\n else return this.focused[this.focused.length - 1];\n return null;\n }\n})();\n\nexport default globalFocus;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"globalFocus.js","sources":["../src/globalFocus.ts"],"sourcesContent":["import { TFocusRetriever, debugDispatcher } from '@apia/util';\r\nimport isFunction from 'lodash-es/isFunction';\r\n\r\nconst historySize = 50;\r\n\r\n/**\r\n * The GlobalFocus helper keeps a list of the last focused elements and allows\r\n * to retrieve the last focused element which matches against a query selector.\r\n */\r\nconst globalFocus = new (class {\r\n focused: (HTMLElement | TFocusRetriever)[] = [];\r\n\r\n #onFocusCallbacks: (() => unknown)[] = [];\r\n\r\n offFocus(cb: () => unknown) {\r\n this.#onFocusCallbacks = this.#onFocusCallbacks.filter((current) => {\r\n return current !== cb;\r\n });\r\n }\r\n\r\n onFocus(cb: () => unknown) {\r\n this.#onFocusCallbacks.push(cb);\r\n\r\n return () => {\r\n this.offFocus(cb);\r\n };\r\n }\r\n\r\n constructor() {\r\n debugDispatcher.on(\r\n 'focusHistory',\r\n () => {\r\n console.info(this.focused);\r\n },\r\n 'Muestra el historial de elementos que recibieron foco.',\r\n );\r\n }\r\n\r\n inDocument(el: HTMLElement | TFocusRetriever) {\r\n return (\r\n el instanceof Function ||\r\n (el instanceof HTMLElement && el.offsetParent !== null)\r\n );\r\n }\r\n\r\n set focus(element: HTMLElement | TFocusRetriever) {\r\n this.focused = this.focused.filter((el) => {\r\n const existsInDocument = this.inDocument(el) && element !== el;\r\n\r\n return existsInDocument;\r\n });\r\n this.focused.unshift(element);\r\n if (this.focused.length > historySize) {\r\n this.focused = this.focused.splice(0, historySize);\r\n }\r\n\r\n this.#onFocusCallbacks.forEach((cb) => {\r\n return cb();\r\n });\r\n }\r\n\r\n get list() {\r\n return [...this.focused];\r\n }\r\n\r\n /**\r\n * @param querySelector A query selector against which the element should match\r\n * @returns The last HTMLElement if no querySelector argument provided or else, the last which matches\r\n * against that query selector.\r\n * */\r\n last(querySelector?: string, omit = 0) {\r\n if (querySelector)\r\n for (let i = omit; i <= this.focused.length; i++) {\r\n const storedElement = this.focused[i];\r\n const element =\r\n // eslint-disable-next-line no-nested-ternary\r\n (storedElement as HTMLElement)?.id !== undefined\r\n ? (storedElement as HTMLElement)\r\n : isFunction(storedElement)\r\n ? storedElement(false)\r\n : null;\r\n\r\n if (\r\n element &&\r\n this.inDocument(element) &&\r\n element.matches &&\r\n element.matches(querySelector)\r\n )\r\n return element;\r\n }\r\n else return this.focused[this.focused.length - 1];\r\n return null;\r\n }\r\n})();\r\n\r\nexport default globalFocus;\r\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { useEffect } from 'react';
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
5
|
var __publicField = (obj, key, value) => {
|
|
6
|
-
__defNormalProp(obj,
|
|
6
|
+
__defNormalProp(obj, key + "" , value);
|
|
7
7
|
return value;
|
|
8
8
|
};
|
|
9
9
|
var __accessCheck = (obj, member, msg) => {
|
|
@@ -21,7 +21,7 @@ var __privateAdd = (obj, member, value) => {
|
|
|
21
21
|
};
|
|
22
22
|
var __privateSet = (obj, member, value, setter) => {
|
|
23
23
|
__accessCheck(obj, member, "write to private field");
|
|
24
|
-
|
|
24
|
+
member.set(obj, value);
|
|
25
25
|
return value;
|
|
26
26
|
};
|
|
27
27
|
var __privateMethod = (obj, member, method) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBodyScrollLock.js","sources":["../../src/hooks/useBodyScrollLock.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nclass BodyScrollLocker {\n #isLocked = false;\n #onChangeCb: () => unknown = () => {};\n #onDestroyCb: () => unknown = () => {};\n\n get isLocked() {\n return this.#isLocked;\n }\n\n destroy() {\n this.#onDestroyCb();\n }\n\n lock() {\n this.#isLocked = true;\n this.#onChangeCb();\n }\n\n unlock() {\n this.#isLocked = false;\n this.#onChangeCb();\n }\n\n onChange(cb: () => unknown) {\n this.#onChangeCb = cb;\n\n return () => (this.#onChangeCb = () => {});\n }\n\n onDestroy(cb: () => unknown) {\n this.#onDestroyCb = cb;\n\n return () => (this.#onDestroyCb = () => {});\n }\n}\n\nconst BodyScrollLock = new (class BodyScrollLockClass {\n lockers: BodyScrollLocker[] = [];\n #evaluate() {\n const willLock =\n this.lockers.filter((current) => current.isLocked).length > 0;\n\n document.body.style.maxHeight = '100vh';\n\n if (willLock && document.body.scrollHeight > document.body.clientHeight)\n document.body.style.paddingRight = '10px';\n\n document.body.style.overflow = willLock ? 'hidden' : 'auto';\n\n if (!(willLock && document.body.scrollHeight > document.body.clientHeight))\n document.body.style.paddingRight = '0px';\n }\n\n getLocker() {\n const locker = new BodyScrollLocker();\n locker.onChange(() => this.#evaluate());\n locker.onDestroy(() => {\n this.lockers = this.lockers.filter((current) => current !== locker);\n this.#evaluate();\n });\n this.lockers.push(locker);\n\n return locker;\n }\n})();\n\nexport function useBodyScrollLock(isLocked: boolean) {\n useEffect(() => {\n const locker = BodyScrollLock.getLocker();\n if (isLocked) locker.lock();\n else locker.unlock();\n\n return () => {\n locker.destroy();\n };\n }, [isLocked]);\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBodyScrollLock.js","sources":["../../src/hooks/useBodyScrollLock.ts"],"sourcesContent":["import { useEffect } from 'react';\r\n\r\nclass BodyScrollLocker {\r\n #isLocked = false;\r\n #onChangeCb: () => unknown = () => {};\r\n #onDestroyCb: () => unknown = () => {};\r\n\r\n get isLocked() {\r\n return this.#isLocked;\r\n }\r\n\r\n destroy() {\r\n this.#onDestroyCb();\r\n }\r\n\r\n lock() {\r\n this.#isLocked = true;\r\n this.#onChangeCb();\r\n }\r\n\r\n unlock() {\r\n this.#isLocked = false;\r\n this.#onChangeCb();\r\n }\r\n\r\n onChange(cb: () => unknown) {\r\n this.#onChangeCb = cb;\r\n\r\n return () => (this.#onChangeCb = () => {});\r\n }\r\n\r\n onDestroy(cb: () => unknown) {\r\n this.#onDestroyCb = cb;\r\n\r\n return () => (this.#onDestroyCb = () => {});\r\n }\r\n}\r\n\r\nconst BodyScrollLock = new (class BodyScrollLockClass {\r\n lockers: BodyScrollLocker[] = [];\r\n #evaluate() {\r\n const willLock =\r\n this.lockers.filter((current) => current.isLocked).length > 0;\r\n\r\n document.body.style.maxHeight = '100vh';\r\n\r\n if (willLock && document.body.scrollHeight > document.body.clientHeight)\r\n document.body.style.paddingRight = '10px';\r\n\r\n document.body.style.overflow = willLock ? 'hidden' : 'auto';\r\n\r\n if (!(willLock && document.body.scrollHeight > document.body.clientHeight))\r\n document.body.style.paddingRight = '0px';\r\n }\r\n\r\n getLocker() {\r\n const locker = new BodyScrollLocker();\r\n locker.onChange(() => this.#evaluate());\r\n locker.onDestroy(() => {\r\n this.lockers = this.lockers.filter((current) => current !== locker);\r\n this.#evaluate();\r\n });\r\n this.lockers.push(locker);\r\n\r\n return locker;\r\n }\r\n})();\r\n\r\nexport function useBodyScrollLock(isLocked: boolean) {\r\n useEffect(() => {\r\n const locker = BodyScrollLock.getLocker();\r\n if (isLocked) locker.lock();\r\n else locker.unlock();\r\n\r\n return () => {\r\n locker.destroy();\r\n };\r\n }, [isLocked]);\r\n}\r\n"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export { ControlledMenuProps, MenuItemProps } from '@szhsin/react-menu';
|
|
|
49
49
|
export { ApiaUtilTooltip } from './objects/ApiaUtil/tooltips/ApiaUtilTooltip.js';
|
|
50
50
|
export { ApiaUtilModalHandler } from './objects/ApiaUtil/modals/ApiaUtilModals.js';
|
|
51
51
|
export { TMenuItem, TSubmenu } from './objects/ApiaUtil/menu/ApiaUtilMenu.js';
|
|
52
|
+
export { TTooltip } from './objects/ApiaUtil/tooltips/tooltip/types.js';
|
|
52
53
|
export { ScreenLocker } from './objects/ScreenLocker/index.js';
|
|
53
54
|
export { Accordion, IAccordionProps } from './components/accordion/Accordion.js';
|
|
54
55
|
export { AccordionItem, IAccordionItemProps } from './components/accordion/AccordionItem.js';
|
|
@@ -8,7 +8,7 @@ import { AlertModal } from '../../../components/dialogs/AlertModal.js';
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
10
|
var __publicField = (obj, key, value) => {
|
|
11
|
-
__defNormalProp(obj,
|
|
11
|
+
__defNormalProp(obj, key + "" , value);
|
|
12
12
|
return value;
|
|
13
13
|
};
|
|
14
14
|
var __accessCheck = (obj, member, msg) => {
|
|
@@ -26,12 +26,12 @@ var __privateAdd = (obj, member, value) => {
|
|
|
26
26
|
};
|
|
27
27
|
var __privateSet = (obj, member, value, setter) => {
|
|
28
28
|
__accessCheck(obj, member, "write to private field");
|
|
29
|
-
|
|
29
|
+
member.set(obj, value);
|
|
30
30
|
return value;
|
|
31
31
|
};
|
|
32
32
|
var __privateWrapper = (obj, member, setter, getter) => ({
|
|
33
33
|
set _(value) {
|
|
34
|
-
__privateSet(obj, member, value
|
|
34
|
+
__privateSet(obj, member, value);
|
|
35
35
|
},
|
|
36
36
|
get _() {
|
|
37
37
|
return __privateGet(obj, member, getter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilDialogs.js","sources":["../../../../src/objects/ApiaUtil/dialogs/ApiaUtilDialogs.tsx"],"sourcesContent":["import { EventEmitter, useMount } from '@apia/util';\nimport { ReactNode, useCallback, useState } from 'react';\nimport {\n ConfirmModal,\n IConfirm,\n} from '../../../components/dialogs/ConfirmModal';\nimport { AlertModal } from '../../../components/dialogs/AlertModal';\n\ntype TApiaUtilConfirm = Pick<\n IConfirm,\n | 'additionalButtons'\n | 'additionalButtonsOnRight'\n | 'cancelButtonText'\n | 'children'\n | 'className'\n | 'confirmButtonText'\n | 'confirmButtonVariant'\n | 'contentRef'\n | 'hideCancelButton'\n | 'hideConfirmButton'\n | 'title'\n | 'variant'\n>;\n\ntype TApiaUtilInnerConfirm = TApiaUtilConfirm & { id: string } & Pick<\n IConfirm,\n 'onCancel' | 'onConfirm'\n >;\n\ntype TAlert = {\n children: ReactNode;\n title: string;\n};\n\ntype TApiaUtilInnerAlert = TAlert & { onClose: () => unknown; id: string };\n\nexport class ApiaUtilDialogs {\n #emitter = new EventEmitter<{\n alert: TApiaUtilInnerAlert;\n confirm: TApiaUtilInnerConfirm;\n }>();\n #maxIdAlert = 0;\n #maxIdConfirm = 0;\n\n alert(props: TAlert): Promise<void> {\n return new Promise((resolve) => {\n this.#emitter.emit('alert', {\n ...props,\n onClose: () => resolve(),\n id: `confirm${this.#maxIdAlert++}`,\n });\n });\n }\n\n confirm(props: TApiaUtilConfirm): Promise<boolean> {\n return new Promise((resolve) => {\n this.#emitter.emit('confirm', {\n ...props,\n id: `confirm${this.#maxIdConfirm++}`,\n onCancel: () => resolve(false),\n onConfirm: () => resolve(true),\n });\n });\n }\n\n Component = () => {\n const [confirmDialogs, setConfirmDialogs] = useState<\n TApiaUtilInnerConfirm[]\n >([]);\n const [alertsDialogs, setAlertsDialogs] = useState<TApiaUtilInnerAlert[]>(\n [],\n );\n\n useMount(() => {\n const unsuscribe1 = this.#emitter.on('alert', (ev) => {\n setAlertsDialogs((current) => [...current, ev]);\n });\n const unsuscribe2 = this.#emitter.on('confirm', (ev) => {\n setConfirmDialogs((current) => [...current, ev]);\n });\n\n return () => {\n unsuscribe1();\n unsuscribe2();\n };\n });\n\n const removeModal = useCallback(\n (which: TApiaUtilConfirm & { id: string }) => {\n setConfirmDialogs((current) =>\n current.filter((search) => search !== which),\n );\n },\n [],\n );\n\n return (\n <>\n {alertsDialogs.map((current) => (\n <AlertModal {...current} key={current.id} />\n ))}\n {confirmDialogs.map((current) => (\n <ConfirmModal\n {...current}\n key={current.id}\n onCancel={() => {\n removeModal(current);\n current.onCancel?.();\n }}\n onConfirm={() => {\n removeModal(current);\n current.onConfirm?.();\n }}\n />\n ))}\n </>\n );\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA;AAoCO,MAAM,eAAgB,CAAA;AAAA,EAAtB,WAAA,GAAA;AACL,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,EAAW,IAAI,YAGZ,EAAA,CAAA,CAAA;AACH,IAAc,YAAA,CAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,CAAA;AACd,IAAgB,YAAA,CAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;AAuBhB,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,EAAY,MAAM;AAChB,MAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,QAAA,CAE1C,EAAE,CAAA,CAAA;AACJ,MAAM,MAAA,CAAC,aAAe,EAAA,gBAAgB,CAAI,GAAA,QAAA;AAAA,QACxC,EAAC;AAAA,OACH,CAAA;AAEA,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,MAAM,cAAc,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,EAAG,CAAA,OAAA,EAAS,CAAC,EAAO,KAAA;AACpD,UAAA,gBAAA,CAAiB,CAAC,OAAY,KAAA,CAAC,GAAG,OAAA,EAAS,EAAE,CAAC,CAAA,CAAA;AAAA,SAC/C,CAAA,CAAA;AACD,QAAA,MAAM,cAAc,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,EAAG,CAAA,SAAA,EAAW,CAAC,EAAO,KAAA;AACtD,UAAA,iBAAA,CAAkB,CAAC,OAAY,KAAA,CAAC,GAAG,OAAA,EAAS,EAAE,CAAC,CAAA,CAAA;AAAA,SAChD,CAAA,CAAA;AAED,QAAA,OAAO,MAAM;AACX,UAAY,WAAA,EAAA,CAAA;AACZ,UAAY,WAAA,EAAA,CAAA;AAAA,SACd,CAAA;AAAA,OACD,CAAA,CAAA;AAED,MAAA,MAAM,WAAc,GAAA,WAAA;AAAA,QAClB,CAAC,KAA6C,KAAA;AAC5C,UAAA,iBAAA;AAAA,YAAkB,CAAC,OACjB,KAAA,OAAA,CAAQ,OAAO,CAAC,MAAA,KAAW,WAAW,KAAK,CAAA;AAAA,WAC7C,CAAA;AAAA,SACF;AAAA,QACA,EAAC;AAAA,OACH,CAAA;AAEA,MAAA,uBAEK,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,QAAc,aAAA,CAAA,GAAA,CAAI,CAAC,OAAA,qBACjB,aAAA,CAAA,UAAA,EAAA,EAAY,GAAG,OAAS,EAAA,GAAA,EAAK,OAAQ,CAAA,EAAA,EAAI,CAC3C,CAAA;AAAA,QACA,cAAA,CAAe,GAAI,CAAA,CAAC,OACnB,qBAAA,aAAA;AAAA,UAAC,YAAA;AAAA,UAAA;AAAA,YACE,GAAG,OAAA;AAAA,YACJ,KAAK,OAAQ,CAAA,EAAA;AAAA,YACb,UAAU,MAAM;AACd,cAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AACnB,cAAA,OAAA,CAAQ,QAAW,IAAA,CAAA;AAAA,aACrB;AAAA,YACA,WAAW,MAAM;AACf,cAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AACnB,cAAA,OAAA,CAAQ,SAAY,IAAA,CAAA;AAAA,aACtB;AAAA,WAAA;AAAA,SAEH,CAAA;AAAA,OACH,EAAA,CAAA,CAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAAA;AAAA,EAzEA,MAAM,KAA8B,EAAA;AAClC,IAAO,OAAA,IAAI,OAAQ,CAAA,CAAC,OAAY,KAAA;AAC9B,MAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,KAAK,OAAS,EAAA;AAAA,QAC1B,GAAG,KAAA;AAAA,QACH,OAAA,EAAS,MAAM,OAAQ,EAAA;AAAA,QACvB,EAAI,EAAA,CAAA,OAAA,EAAU,gBAAK,CAAA,IAAA,EAAA,WAAA,CAAA,CAAL,CAAkB,EAAA,CAAA,CAAA;AAAA,OACjC,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,QAAQ,KAA2C,EAAA;AACjD,IAAO,OAAA,IAAI,OAAQ,CAAA,CAAC,OAAY,KAAA;AAC9B,MAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,KAAK,SAAW,EAAA;AAAA,QAC5B,GAAG,KAAA;AAAA,QACH,EAAI,EAAA,CAAA,OAAA,EAAU,gBAAK,CAAA,IAAA,EAAA,aAAA,CAAA,CAAL,CAAoB,EAAA,CAAA,CAAA;AAAA,QAClC,QAAA,EAAU,MAAM,OAAA,CAAQ,KAAK,CAAA;AAAA,QAC7B,SAAA,EAAW,MAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,OAC9B,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AAuDF,CAAA;AAjFE,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAIA,WAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AACA,aAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilDialogs.js","sources":["../../../../src/objects/ApiaUtil/dialogs/ApiaUtilDialogs.tsx"],"sourcesContent":["import { EventEmitter, useMount } from '@apia/util';\r\nimport { ReactNode, useCallback, useState } from 'react';\r\nimport {\r\n ConfirmModal,\r\n IConfirm,\r\n} from '../../../components/dialogs/ConfirmModal';\r\nimport { AlertModal } from '../../../components/dialogs/AlertModal';\r\n\r\ntype TApiaUtilConfirm = Pick<\r\n IConfirm,\r\n | 'additionalButtons'\r\n | 'additionalButtonsOnRight'\r\n | 'cancelButtonText'\r\n | 'children'\r\n | 'className'\r\n | 'confirmButtonText'\r\n | 'confirmButtonVariant'\r\n | 'contentRef'\r\n | 'hideCancelButton'\r\n | 'hideConfirmButton'\r\n | 'title'\r\n | 'variant'\r\n>;\r\n\r\ntype TApiaUtilInnerConfirm = TApiaUtilConfirm & { id: string } & Pick<\r\n IConfirm,\r\n 'onCancel' | 'onConfirm'\r\n >;\r\n\r\ntype TAlert = {\r\n children: ReactNode;\r\n title: string;\r\n};\r\n\r\ntype TApiaUtilInnerAlert = TAlert & { onClose: () => unknown; id: string };\r\n\r\nexport class ApiaUtilDialogs {\r\n #emitter = new EventEmitter<{\r\n alert: TApiaUtilInnerAlert;\r\n confirm: TApiaUtilInnerConfirm;\r\n }>();\r\n #maxIdAlert = 0;\r\n #maxIdConfirm = 0;\r\n\r\n alert(props: TAlert): Promise<void> {\r\n return new Promise((resolve) => {\r\n this.#emitter.emit('alert', {\r\n ...props,\r\n onClose: () => resolve(),\r\n id: `confirm${this.#maxIdAlert++}`,\r\n });\r\n });\r\n }\r\n\r\n confirm(props: TApiaUtilConfirm): Promise<boolean> {\r\n return new Promise((resolve) => {\r\n this.#emitter.emit('confirm', {\r\n ...props,\r\n id: `confirm${this.#maxIdConfirm++}`,\r\n onCancel: () => resolve(false),\r\n onConfirm: () => resolve(true),\r\n });\r\n });\r\n }\r\n\r\n Component = () => {\r\n const [confirmDialogs, setConfirmDialogs] = useState<\r\n TApiaUtilInnerConfirm[]\r\n >([]);\r\n const [alertsDialogs, setAlertsDialogs] = useState<TApiaUtilInnerAlert[]>(\r\n [],\r\n );\r\n\r\n useMount(() => {\r\n const unsuscribe1 = this.#emitter.on('alert', (ev) => {\r\n setAlertsDialogs((current) => [...current, ev]);\r\n });\r\n const unsuscribe2 = this.#emitter.on('confirm', (ev) => {\r\n setConfirmDialogs((current) => [...current, ev]);\r\n });\r\n\r\n return () => {\r\n unsuscribe1();\r\n unsuscribe2();\r\n };\r\n });\r\n\r\n const removeModal = useCallback(\r\n (which: TApiaUtilConfirm & { id: string }) => {\r\n setConfirmDialogs((current) =>\r\n current.filter((search) => search !== which),\r\n );\r\n },\r\n [],\r\n );\r\n\r\n return (\r\n <>\r\n {alertsDialogs.map((current) => (\r\n <AlertModal {...current} key={current.id} />\r\n ))}\r\n {confirmDialogs.map((current) => (\r\n <ConfirmModal\r\n {...current}\r\n key={current.id}\r\n onCancel={() => {\r\n removeModal(current);\r\n current.onCancel?.();\r\n }}\r\n onConfirm={() => {\r\n removeModal(current);\r\n current.onConfirm?.();\r\n }}\r\n />\r\n ))}\r\n </>\r\n );\r\n };\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ var __privateAdd = (obj, member, value) => {
|
|
|
29
29
|
};
|
|
30
30
|
var __privateSet = (obj, member, value, setter) => {
|
|
31
31
|
__accessCheck(obj, member, "write to private field");
|
|
32
|
-
|
|
32
|
+
member.set(obj, value);
|
|
33
33
|
return value;
|
|
34
34
|
};
|
|
35
35
|
var _instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/objects/ApiaUtil/index.tsx"],"sourcesContent":["import { ApiaUtilModals } from './modals/ApiaUtilModals';\nimport { ApiaUtilNotifications } from './notifications/ApiaUtilNotifications';\nimport { ApiaUtilTabsController } from './tabs/ApiaUtilTabsController';\nimport { ApiaUtilDialogs } from './dialogs/ApiaUtilDialogs';\nimport { ApiaUtilParsers } from './parsers/ApiaUtilParsers';\nimport { ApiaUtilTooltips } from './tooltips/ApiaUtilTooltips';\nimport { ApiaUtilMenu } from './menu/ApiaUtilMenu';\nimport { ApiaUtilMouse } from './mouse/ApiaUtilMouse';\n\nexport class ApiaUtil {\n static #instance: ApiaUtil;\n public static get instance() {\n if (!this.#instance) {\n new ApiaUtil();\n }\n\n return this.#instance;\n }\n\n constructor() {\n if (undefined === ApiaUtil.#instance) {\n ApiaUtil.#instance = this;\n this.dialogs = new ApiaUtilDialogs();\n this.menu = new ApiaUtilMenu();\n this.modals = new ApiaUtilModals();\n this.mouse = new ApiaUtilMouse();\n this.notifications = new ApiaUtilNotifications();\n this.parsers = new ApiaUtilParsers();\n this.tabs = new ApiaUtilTabsController();\n this.tooltips = new ApiaUtilTooltips();\n } else {\n this.dialogs = ApiaUtil.#instance.dialogs;\n this.menu = ApiaUtil.#instance.menu;\n this.modals = ApiaUtil.#instance.modals;\n this.mouse = ApiaUtil.#instance.mouse;\n this.notifications = ApiaUtil.#instance.notifications;\n this.parsers = ApiaUtil.#instance.parsers;\n this.tabs = ApiaUtil.#instance.tabs;\n this.tooltips = ApiaUtil.#instance.tooltips;\n }\n\n return ApiaUtil.#instance;\n }\n\n dialogs: ApiaUtilDialogs;\n menu: ApiaUtilMenu;\n modals: ApiaUtilModals;\n mouse: ApiaUtilMouse;\n notifications: ApiaUtilNotifications;\n parsers: ApiaUtilParsers;\n tabs: ApiaUtilTabsController;\n tooltips: ApiaUtilTooltips;\n\n Component = () => {\n return (\n <>\n <this.dialogs.Component />\n <this.modals.Component />\n <this.notifications.Component />\n <this.tooltips.Component />\n <this.menu.Component />\n </>\n );\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/objects/ApiaUtil/index.tsx"],"sourcesContent":["import { ApiaUtilModals } from './modals/ApiaUtilModals';\r\nimport { ApiaUtilNotifications } from './notifications/ApiaUtilNotifications';\r\nimport { ApiaUtilTabsController } from './tabs/ApiaUtilTabsController';\r\nimport { ApiaUtilDialogs } from './dialogs/ApiaUtilDialogs';\r\nimport { ApiaUtilParsers } from './parsers/ApiaUtilParsers';\r\nimport { ApiaUtilTooltips } from './tooltips/ApiaUtilTooltips';\r\nimport { ApiaUtilMenu } from './menu/ApiaUtilMenu';\r\nimport { ApiaUtilMouse } from './mouse/ApiaUtilMouse';\r\n\r\nexport class ApiaUtil {\r\n static #instance: ApiaUtil;\r\n public static get instance() {\r\n if (!this.#instance) {\r\n new ApiaUtil();\r\n }\r\n\r\n return this.#instance;\r\n }\r\n\r\n constructor() {\r\n if (undefined === ApiaUtil.#instance) {\r\n ApiaUtil.#instance = this;\r\n this.dialogs = new ApiaUtilDialogs();\r\n this.menu = new ApiaUtilMenu();\r\n this.modals = new ApiaUtilModals();\r\n this.mouse = new ApiaUtilMouse();\r\n this.notifications = new ApiaUtilNotifications();\r\n this.parsers = new ApiaUtilParsers();\r\n this.tabs = new ApiaUtilTabsController();\r\n this.tooltips = new ApiaUtilTooltips();\r\n } else {\r\n this.dialogs = ApiaUtil.#instance.dialogs;\r\n this.menu = ApiaUtil.#instance.menu;\r\n this.modals = ApiaUtil.#instance.modals;\r\n this.mouse = ApiaUtil.#instance.mouse;\r\n this.notifications = ApiaUtil.#instance.notifications;\r\n this.parsers = ApiaUtil.#instance.parsers;\r\n this.tabs = ApiaUtil.#instance.tabs;\r\n this.tooltips = ApiaUtil.#instance.tooltips;\r\n }\r\n\r\n return ApiaUtil.#instance;\r\n }\r\n\r\n dialogs: ApiaUtilDialogs;\r\n menu: ApiaUtilMenu;\r\n modals: ApiaUtilModals;\r\n mouse: ApiaUtilMouse;\r\n notifications: ApiaUtilNotifications;\r\n parsers: ApiaUtilParsers;\r\n tabs: ApiaUtilTabsController;\r\n tooltips: ApiaUtilTooltips;\r\n\r\n Component = () => {\r\n return (\r\n <>\r\n <this.dialogs.Component />\r\n <this.modals.Component />\r\n <this.notifications.Component />\r\n <this.tooltips.Component />\r\n <this.menu.Component />\r\n </>\r\n );\r\n };\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,12 @@ var __privateAdd = (obj, member, value) => {
|
|
|
25
25
|
};
|
|
26
26
|
var __privateSet = (obj, member, value, setter) => {
|
|
27
27
|
__accessCheck(obj, member, "write to private field");
|
|
28
|
-
|
|
28
|
+
member.set(obj, value);
|
|
29
29
|
return value;
|
|
30
30
|
};
|
|
31
31
|
var __privateWrapper = (obj, member, setter, getter) => ({
|
|
32
32
|
set _(value) {
|
|
33
|
-
__privateSet(obj, member, value
|
|
33
|
+
__privateSet(obj, member, value);
|
|
34
34
|
},
|
|
35
35
|
get _() {
|
|
36
36
|
return __privateGet(obj, member, getter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilMenu.js","sources":["../../../../src/objects/ApiaUtil/menu/ApiaUtilMenu.tsx"],"sourcesContent":["import { EventEmitter, useMount } from '@apia/util';\nimport {\n ControlledMenu,\n MenuItem,\n MenuItemProps,\n ControlledMenuProps,\n MenuDivider,\n SubMenu,\n} from '@szhsin/react-menu';\nimport { useCallback, useState } from 'react';\n\nexport type TSubmenu = { label: string; items: TMenuItems };\n\nexport type TMenuItem =\n | (MenuItemProps & { key: string })\n | 'separator'\n | TSubmenu;\n\nexport type TMenuItems = TMenuItem[];\n\nfunction isSubmenu(item: TMenuItem): item is TSubmenu {\n return Array.isArray((item as TSubmenu).items);\n}\n\nexport class ApiaUtilMenu {\n #emitter = new EventEmitter<{ toggle: boolean }>();\n #items: TMenuItems = [];\n #menuProps: ControlledMenuProps | null = null;\n\n #hooks = {\n useIsOpen: (): [boolean, () => void] => {\n const [isOpen, setIsOpen] = useState(false);\n\n useMount(() => {\n return this.#emitter.on('toggle', setIsOpen);\n });\n\n return [\n isOpen,\n useCallback(() => {\n setIsOpen(false);\n }, []),\n ];\n },\n };\n\n close = () => {\n this.#emitter.emit('toggle', false);\n };\n\n open = ({\n menuProps,\n items,\n }: {\n menuProps: ControlledMenuProps;\n items: TMenuItems;\n }) => {\n this.#items = items;\n this.#menuProps = menuProps;\n\n this.#emitter.emit('toggle', true);\n };\n\n #maxId = 0;\n\n #RenderMenu = (submenu: TSubmenu) => {\n return (\n <>\n {submenu.items.map((current, i) => {\n if (current === 'separator')\n return <MenuDivider key={`separator${i}`} />;\n\n if (isSubmenu(current)) {\n return (\n <SubMenu label={current.label} key={`submenu${this.#maxId++}`}>\n {this.#RenderMenu(current)}\n </SubMenu>\n );\n }\n\n return <MenuItem {...current} key={current.key} />;\n })}\n </>\n );\n };\n\n Component = () => {\n const [isOpen, close] = this.#hooks.useIsOpen();\n\n if (!isOpen) return null;\n\n return (\n <ControlledMenu\n {...this.#menuProps}\n state={isOpen ? 'open' : 'closed'}\n onClose={close}\n >\n {this.#RenderMenu({ label: '', items: this.#items })}\n </ControlledMenu>\n );\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilMenu.js","sources":["../../../../src/objects/ApiaUtil/menu/ApiaUtilMenu.tsx"],"sourcesContent":["import { EventEmitter, useMount } from '@apia/util';\r\nimport {\r\n ControlledMenu,\r\n MenuItem,\r\n MenuItemProps,\r\n ControlledMenuProps,\r\n MenuDivider,\r\n SubMenu,\r\n} from '@szhsin/react-menu';\r\nimport { useCallback, useState } from 'react';\r\n\r\nexport type TSubmenu = { label: string; items: TMenuItems };\r\n\r\nexport type TMenuItem =\r\n | (MenuItemProps & { key: string })\r\n | 'separator'\r\n | TSubmenu;\r\n\r\nexport type TMenuItems = TMenuItem[];\r\n\r\nfunction isSubmenu(item: TMenuItem): item is TSubmenu {\r\n return Array.isArray((item as TSubmenu).items);\r\n}\r\n\r\nexport class ApiaUtilMenu {\r\n #emitter = new EventEmitter<{ toggle: boolean }>();\r\n #items: TMenuItems = [];\r\n #menuProps: ControlledMenuProps | null = null;\r\n\r\n #hooks = {\r\n useIsOpen: (): [boolean, () => void] => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n useMount(() => {\r\n return this.#emitter.on('toggle', setIsOpen);\r\n });\r\n\r\n return [\r\n isOpen,\r\n useCallback(() => {\r\n setIsOpen(false);\r\n }, []),\r\n ];\r\n },\r\n };\r\n\r\n close = () => {\r\n this.#emitter.emit('toggle', false);\r\n };\r\n\r\n open = ({\r\n menuProps,\r\n items,\r\n }: {\r\n menuProps: ControlledMenuProps;\r\n items: TMenuItems;\r\n }) => {\r\n this.#items = items;\r\n this.#menuProps = menuProps;\r\n\r\n this.#emitter.emit('toggle', true);\r\n };\r\n\r\n #maxId = 0;\r\n\r\n #RenderMenu = (submenu: TSubmenu) => {\r\n return (\r\n <>\r\n {submenu.items.map((current, i) => {\r\n if (current === 'separator')\r\n return <MenuDivider key={`separator${i}`} />;\r\n\r\n if (isSubmenu(current)) {\r\n return (\r\n <SubMenu label={current.label} key={`submenu${this.#maxId++}`}>\r\n {this.#RenderMenu(current)}\r\n </SubMenu>\r\n );\r\n }\r\n\r\n return <MenuItem {...current} key={current.key} />;\r\n })}\r\n </>\r\n );\r\n };\r\n\r\n Component = () => {\r\n const [isOpen, close] = this.#hooks.useIsOpen();\r\n\r\n if (!isOpen) return null;\r\n\r\n return (\r\n <ControlledMenu\r\n {...this.#menuProps}\r\n state={isOpen ? 'open' : 'closed'}\r\n onClose={close}\r\n >\r\n {this.#RenderMenu({ label: '', items: this.#items })}\r\n </ControlledMenu>\r\n );\r\n };\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { OpenModal } from './OpenModal.js';
|
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
7
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
8
|
var __publicField = (obj, key, value) => {
|
|
9
|
-
__defNormalProp(obj,
|
|
9
|
+
__defNormalProp(obj, key + "" , value);
|
|
10
10
|
return value;
|
|
11
11
|
};
|
|
12
12
|
var __accessCheck = (obj, member, msg) => {
|
|
@@ -24,12 +24,12 @@ var __privateAdd = (obj, member, value) => {
|
|
|
24
24
|
};
|
|
25
25
|
var __privateSet = (obj, member, value, setter) => {
|
|
26
26
|
__accessCheck(obj, member, "write to private field");
|
|
27
|
-
|
|
27
|
+
member.set(obj, value);
|
|
28
28
|
return value;
|
|
29
29
|
};
|
|
30
30
|
var __privateWrapper = (obj, member, setter, getter) => ({
|
|
31
31
|
set _(value) {
|
|
32
|
-
__privateSet(obj, member, value
|
|
32
|
+
__privateSet(obj, member, value);
|
|
33
33
|
},
|
|
34
34
|
get _() {
|
|
35
35
|
return __privateGet(obj, member, getter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilModals.js","sources":["../../../../src/objects/ApiaUtil/modals/ApiaUtilModals.tsx"],"sourcesContent":["import { EventEmitter, useMount } from '@apia/util';\nimport { useState } from 'react';\nimport { OpenModal, TOpenModal } from './OpenModal';\n\nexport class ApiaUtilModalHandler {\n constructor(private id: string, public close: () => void) {}\n}\n\nexport class ApiaUtilModals {\n #emitter = new EventEmitter<{\n close: string;\n closeAll: boolean;\n open: TOpenModal;\n }>();\n #maxId = 0;\n\n constructor() {\n document.addEventListener('openModal', (event) => {\n const cevent = event as CustomEvent;\n\n this.open(cevent.detail as TOpenModal);\n });\n }\n\n open(props: TOpenModal) {\n const id = props.id ?? `modal_${this.#maxId++}`;\n\n this.#emitter.emit('open', { ...props, id });\n\n return new ApiaUtilModalHandler(id, () => {\n this.#emitter.emit('close', id);\n });\n }\n\n #useModalsList = () => {\n const [modals, setModals] = useState<(TOpenModal & { isOpen: boolean })[]>(\n [],\n );\n\n useMount(() => {\n const u1 = this.#emitter.on('open', (ev) => {\n setModals((current) => [\n ...current,\n {\n ...ev,\n isOpen: true,\n onExited: () => {\n ev.onExited?.();\n setModals((current) =>\n current.filter((modal) => modal.id !== ev.id),\n );\n },\n },\n ]);\n });\n const u2 = this.#emitter.on('closeAll', () => {\n setModals((current) =>\n current.map((modal) => ({ ...modal, isOpen: false })),\n );\n });\n const u3 = this.#emitter.on('close', (modalId) => {\n setModals((current) =>\n current.map((modal) =>\n modal.id === modalId ? { ...modal, isOpen: false } : modal,\n ),\n );\n });\n\n return () => {\n u1();\n u2();\n u3();\n };\n });\n\n return modals;\n };\n\n Component = () => {\n const modals = this.#useModalsList();\n\n return (\n <>\n {modals.map((current) => (\n <OpenModal key={current.id} {...current} />\n ))}\n </>\n );\n };\n}\n"],"names":["current"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,QAAA,EAAA,MAAA,EAAA,cAAA,CAAA;AAIO,MAAM,oBAAqB,CAAA;AAAA,EAChC,WAAA,CAAoB,IAAmB,KAAmB,EAAA;AAAtC,IAAA,IAAA,CAAA,EAAA,GAAA,EAAA,CAAA;AAAmB,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,GAAoB;AAC7D,CAAA;AAEO,MAAM,cAAe,CAAA;AAAA,EAQ1B,WAAc,GAAA;AAPd,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,EAAW,IAAI,YAIZ,EAAA,CAAA,CAAA;AACH,IAAS,YAAA,CAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AAoBT,IAAA,YAAA,CAAA,IAAA,EAAA,cAAA,EAAiB,MAAM;AACrB,MAAM,MAAA,CAAC,MAAQ,EAAA,SAAS,CAAI,GAAA,QAAA;AAAA,QAC1B,EAAC;AAAA,OACH,CAAA;AAEA,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,MAAM,KAAK,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,EAAG,CAAA,MAAA,EAAQ,CAAC,EAAO,KAAA;AAC1C,UAAA,SAAA,CAAU,CAAC,OAAY,KAAA;AAAA,YACrB,GAAG,OAAA;AAAA,YACH;AAAA,cACE,GAAG,EAAA;AAAA,cACH,MAAQ,EAAA,IAAA;AAAA,cACR,UAAU,MAAM;AACd,gBAAA,EAAA,CAAG,QAAW,IAAA,CAAA;AACd,gBAAA,SAAA;AAAA,kBAAU,CAACA,aACTA,QAAQ,CAAA,MAAA,CAAO,CAAC,KAAU,KAAA,KAAA,CAAM,EAAO,KAAA,EAAA,CAAG,EAAE,CAAA;AAAA,iBAC9C,CAAA;AAAA,eACF;AAAA,aACF;AAAA,WACD,CAAA,CAAA;AAAA,SACF,CAAA,CAAA;AACD,QAAA,MAAM,EAAK,GAAA,YAAA,CAAA,IAAA,EAAK,QAAS,CAAA,CAAA,EAAA,CAAG,YAAY,MAAM;AAC5C,UAAA,SAAA;AAAA,YAAU,CAAC,OACT,KAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,KAAW,MAAA,EAAE,GAAG,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAQ,CAAA,CAAA;AAAA,WACtD,CAAA;AAAA,SACD,CAAA,CAAA;AACD,QAAA,MAAM,KAAK,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,EAAG,CAAA,OAAA,EAAS,CAAC,OAAY,KAAA;AAChD,UAAA,SAAA;AAAA,YAAU,CAAC,YACT,OAAQ,CAAA,GAAA;AAAA,cAAI,CAAC,KACX,KAAA,KAAA,CAAM,EAAO,KAAA,OAAA,GAAU,EAAE,GAAG,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAU,GAAA,KAAA;AAAA,aACvD;AAAA,WACF,CAAA;AAAA,SACD,CAAA,CAAA;AAED,QAAA,OAAO,MAAM;AACX,UAAG,EAAA,EAAA,CAAA;AACH,UAAG,EAAA,EAAA,CAAA;AACH,UAAG,EAAA,EAAA,CAAA;AAAA,SACL,CAAA;AAAA,OACD,CAAA,CAAA;AAED,MAAO,OAAA,MAAA,CAAA;AAAA,KACT,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,EAAY,MAAM;AAChB,MAAM,MAAA,MAAA,GAAS,mBAAK,cAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAEf,MAAA,uBAEK,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,GAAI,CAAA,CAAC,OACX,qBAAA,GAAA,CAAC,SAA4B,EAAA,EAAA,GAAG,OAAhB,EAAA,EAAA,OAAA,CAAQ,EAAiB,CAC1C,CACH,EAAA,CAAA,CAAA;AAAA,KAEJ,CAAA,CAAA;AAvEE,IAAS,QAAA,CAAA,gBAAA,CAAiB,WAAa,EAAA,CAAC,KAAU,KAAA;AAChD,MAAA,MAAM,MAAS,GAAA,KAAA,CAAA;AAEf,MAAK,IAAA,CAAA,IAAA,CAAK,OAAO,MAAoB,CAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,KAAK,KAAmB,EAAA;AACtB,IAAA,MAAM,KAAK,KAAM,CAAA,EAAA,IAAM,CAAS,MAAA,EAAA,gBAAA,CAAA,IAAA,EAAK,QAAL,CAAa,EAAA,CAAA,CAAA,CAAA;AAE7C,IAAA,YAAA,CAAA,IAAA,EAAK,UAAS,IAAK,CAAA,MAAA,EAAQ,EAAE,GAAG,KAAA,EAAO,IAAI,CAAA,CAAA;AAE3C,IAAO,OAAA,IAAI,oBAAqB,CAAA,EAAA,EAAI,MAAM;AACxC,MAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,IAAK,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAAA,KAC/B,CAAA,CAAA;AAAA,GACH;AAyDF,CAAA;AAhFE,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAKA,MAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAoBA,cAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilModals.js","sources":["../../../../src/objects/ApiaUtil/modals/ApiaUtilModals.tsx"],"sourcesContent":["import { EventEmitter, useMount } from '@apia/util';\r\nimport { useState } from 'react';\r\nimport { OpenModal, TOpenModal } from './OpenModal';\r\n\r\nexport class ApiaUtilModalHandler {\r\n constructor(private id: string, public close: () => void) {}\r\n}\r\n\r\nexport class ApiaUtilModals {\r\n #emitter = new EventEmitter<{\r\n close: string;\r\n closeAll: boolean;\r\n open: TOpenModal;\r\n }>();\r\n #maxId = 0;\r\n\r\n constructor() {\r\n document.addEventListener('openModal', (event) => {\r\n const cevent = event as CustomEvent;\r\n\r\n this.open(cevent.detail as TOpenModal);\r\n });\r\n }\r\n\r\n open(props: TOpenModal) {\r\n const id = props.id ?? `modal_${this.#maxId++}`;\r\n\r\n this.#emitter.emit('open', { ...props, id });\r\n\r\n return new ApiaUtilModalHandler(id, () => {\r\n this.#emitter.emit('close', id);\r\n });\r\n }\r\n\r\n #useModalsList = () => {\r\n const [modals, setModals] = useState<(TOpenModal & { isOpen: boolean })[]>(\r\n [],\r\n );\r\n\r\n useMount(() => {\r\n const u1 = this.#emitter.on('open', (ev) => {\r\n setModals((current) => [\r\n ...current,\r\n {\r\n ...ev,\r\n isOpen: true,\r\n onExited: () => {\r\n ev.onExited?.();\r\n setModals((current) =>\r\n current.filter((modal) => modal.id !== ev.id),\r\n );\r\n },\r\n },\r\n ]);\r\n });\r\n const u2 = this.#emitter.on('closeAll', () => {\r\n setModals((current) =>\r\n current.map((modal) => ({ ...modal, isOpen: false })),\r\n );\r\n });\r\n const u3 = this.#emitter.on('close', (modalId) => {\r\n setModals((current) =>\r\n current.map((modal) =>\r\n modal.id === modalId ? { ...modal, isOpen: false } : modal,\r\n ),\r\n );\r\n });\r\n\r\n return () => {\r\n u1();\r\n u2();\r\n u3();\r\n };\r\n });\r\n\r\n return modals;\r\n };\r\n\r\n Component = () => {\r\n const modals = this.#useModalsList();\r\n\r\n return (\r\n <>\r\n {modals.map((current) => (\r\n <OpenModal key={current.id} {...current} />\r\n ))}\r\n </>\r\n );\r\n };\r\n}\r\n"],"names":["current"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,QAAA,EAAA,MAAA,EAAA,cAAA,CAAA;AAIO,MAAM,oBAAqB,CAAA;AAAA,EAChC,WAAA,CAAoB,IAAmB,KAAmB,EAAA;AAAtC,IAAA,IAAA,CAAA,EAAA,GAAA,EAAA,CAAA;AAAmB,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA,GAAoB;AAC7D,CAAA;AAEO,MAAM,cAAe,CAAA;AAAA,EAQ1B,WAAc,GAAA;AAPd,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,EAAW,IAAI,YAIZ,EAAA,CAAA,CAAA;AACH,IAAS,YAAA,CAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AAoBT,IAAA,YAAA,CAAA,IAAA,EAAA,cAAA,EAAiB,MAAM;AACrB,MAAM,MAAA,CAAC,MAAQ,EAAA,SAAS,CAAI,GAAA,QAAA;AAAA,QAC1B,EAAC;AAAA,OACH,CAAA;AAEA,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,MAAM,KAAK,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,EAAG,CAAA,MAAA,EAAQ,CAAC,EAAO,KAAA;AAC1C,UAAA,SAAA,CAAU,CAAC,OAAY,KAAA;AAAA,YACrB,GAAG,OAAA;AAAA,YACH;AAAA,cACE,GAAG,EAAA;AAAA,cACH,MAAQ,EAAA,IAAA;AAAA,cACR,UAAU,MAAM;AACd,gBAAA,EAAA,CAAG,QAAW,IAAA,CAAA;AACd,gBAAA,SAAA;AAAA,kBAAU,CAACA,aACTA,QAAQ,CAAA,MAAA,CAAO,CAAC,KAAU,KAAA,KAAA,CAAM,EAAO,KAAA,EAAA,CAAG,EAAE,CAAA;AAAA,iBAC9C,CAAA;AAAA,eACF;AAAA,aACF;AAAA,WACD,CAAA,CAAA;AAAA,SACF,CAAA,CAAA;AACD,QAAA,MAAM,EAAK,GAAA,YAAA,CAAA,IAAA,EAAK,QAAS,CAAA,CAAA,EAAA,CAAG,YAAY,MAAM;AAC5C,UAAA,SAAA;AAAA,YAAU,CAAC,OACT,KAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,KAAW,MAAA,EAAE,GAAG,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAQ,CAAA,CAAA;AAAA,WACtD,CAAA;AAAA,SACD,CAAA,CAAA;AACD,QAAA,MAAM,KAAK,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,EAAG,CAAA,OAAA,EAAS,CAAC,OAAY,KAAA;AAChD,UAAA,SAAA;AAAA,YAAU,CAAC,YACT,OAAQ,CAAA,GAAA;AAAA,cAAI,CAAC,KACX,KAAA,KAAA,CAAM,EAAO,KAAA,OAAA,GAAU,EAAE,GAAG,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAU,GAAA,KAAA;AAAA,aACvD;AAAA,WACF,CAAA;AAAA,SACD,CAAA,CAAA;AAED,QAAA,OAAO,MAAM;AACX,UAAG,EAAA,EAAA,CAAA;AACH,UAAG,EAAA,EAAA,CAAA;AACH,UAAG,EAAA,EAAA,CAAA;AAAA,SACL,CAAA;AAAA,OACD,CAAA,CAAA;AAED,MAAO,OAAA,MAAA,CAAA;AAAA,KACT,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,EAAY,MAAM;AAChB,MAAM,MAAA,MAAA,GAAS,mBAAK,cAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAEf,MAAA,uBAEK,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,GAAI,CAAA,CAAC,OACX,qBAAA,GAAA,CAAC,SAA4B,EAAA,EAAA,GAAG,OAAhB,EAAA,EAAA,OAAA,CAAQ,EAAiB,CAC1C,CACH,EAAA,CAAA,CAAA;AAAA,KAEJ,CAAA,CAAA;AAvEE,IAAS,QAAA,CAAA,gBAAA,CAAiB,WAAa,EAAA,CAAC,KAAU,KAAA;AAChD,MAAA,MAAM,MAAS,GAAA,KAAA,CAAA;AAEf,MAAK,IAAA,CAAA,IAAA,CAAK,OAAO,MAAoB,CAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,KAAK,KAAmB,EAAA;AACtB,IAAA,MAAM,KAAK,KAAM,CAAA,EAAA,IAAM,CAAS,MAAA,EAAA,gBAAA,CAAA,IAAA,EAAK,QAAL,CAAa,EAAA,CAAA,CAAA,CAAA;AAE7C,IAAA,YAAA,CAAA,IAAA,EAAK,UAAS,IAAK,CAAA,MAAA,EAAQ,EAAE,GAAG,KAAA,EAAO,IAAI,CAAA,CAAA;AAE3C,IAAO,OAAA,IAAI,oBAAqB,CAAA,EAAA,EAAI,MAAM;AACxC,MAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,IAAK,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAAA,KAC/B,CAAA,CAAA;AAAA,GACH;AAyDF,CAAA;AAhFE,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAKA,MAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAoBA,cAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
|
|
@@ -1,7 +1,37 @@
|
|
|
1
1
|
import { TModal } from '../../../components/modals/Modal.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import '../../../components/forms/DateInput.js';
|
|
4
|
+
import '../../../components/forms/NumberInput.js';
|
|
5
|
+
import { IConfirm } from '../../../components/dialogs/ConfirmModal.js';
|
|
6
|
+
import '../../../components/modals/layout/DialogHeader.js';
|
|
2
7
|
|
|
3
|
-
type TOpenModal = Pick<TModal, 'NavBar' | 'Portal' | 'children' | 'className' | 'hideCloseButton' | 'initialFocusGetter' | 'initialFocusConfiguration' | 'maxWidth' | 'noHeader' | 'onExited' | 'shouldCloseOnEsc' | 'shouldCloseOnOverlayClick' | 'size' | 'stretch' | 'title' | 'variant'> & {
|
|
8
|
+
type TOpenModal = Pick<TModal, 'NavBar' | 'Portal' | 'children' | 'className' | 'hideCloseButton' | 'initialFocusGetter' | 'initialFocusConfiguration' | 'maxWidth' | 'noHeader' | 'onExited' | 'shouldCloseOnEsc' | 'shouldCloseOnOverlayClick' | 'size' | 'stretch' | 'title' | 'variant' | 'draggable' | 'onClose' | 'onDragStart' | 'defaultPosition'> & {
|
|
4
9
|
id?: string;
|
|
10
|
+
children?: React__default.ReactNode;
|
|
11
|
+
confirmProps?: Omit<IConfirm, 'onConfirmOk' | 'onConfirmCancel' | 'children'>;
|
|
12
|
+
/**
|
|
13
|
+
* Determina si el modal debe abrirse al ser montado o no.
|
|
14
|
+
*/
|
|
15
|
+
isDefaultOpen?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* El método onConfirm permite pasar un callback que devuelva una promesa. En
|
|
18
|
+
* caso de ser así, si esta promesa resuelve a true, el modal será cerrado o
|
|
19
|
+
* en caso contrario permanecerá abierto. Es útil en situaciones en donde es
|
|
20
|
+
* necesario corroborar una condición antes de cerrar el modal. En la
|
|
21
|
+
* situación en que se decida mantener el modal abierto, está a cargo del
|
|
22
|
+
* usuario del componente realizar las indicaciones visuales correspondientes
|
|
23
|
+
* para indicar al usuario el motivo por el cual el modal no fue cerrado.
|
|
24
|
+
*/
|
|
25
|
+
onConfirm?: () => Promise<boolean> | boolean | void;
|
|
26
|
+
/**
|
|
27
|
+
* El método onCancel será llamado siempre que un usuario cierre el modal,
|
|
28
|
+
* excepto cuando haya presionado en onConfirm.
|
|
29
|
+
*/
|
|
30
|
+
onCancel?: () => void;
|
|
31
|
+
/**
|
|
32
|
+
* Permite introducir html directamente dentro del contenedor del modal.
|
|
33
|
+
*/
|
|
34
|
+
html?: string;
|
|
5
35
|
};
|
|
6
36
|
|
|
7
37
|
export type { TOpenModal };
|
|
@@ -2,6 +2,7 @@ import { jsx } from '@apia/theme/jsx-runtime';
|
|
|
2
2
|
import { usePrevious } from '@apia/util';
|
|
3
3
|
import { useModal } from '../../../components/modals/hooks/useModal.js';
|
|
4
4
|
import { Modal } from '../../../components/modals/Modal.js';
|
|
5
|
+
import { Confirm } from '../../../components/modals/layout/Confirm.js';
|
|
5
6
|
|
|
6
7
|
const OpenModal = (props) => {
|
|
7
8
|
const modalProps = useModal({
|
|
@@ -12,6 +13,23 @@ const OpenModal = (props) => {
|
|
|
12
13
|
if (previousOpenProp.current !== props.isOpen && !props.isOpen) {
|
|
13
14
|
modalProps.hide();
|
|
14
15
|
}
|
|
16
|
+
const confirmProps = props.confirmProps;
|
|
17
|
+
if (props.onConfirm || props.onCancel) {
|
|
18
|
+
return /* @__PURE__ */ jsx(Modal, { ...props, ...modalProps, children: /* @__PURE__ */ jsx(
|
|
19
|
+
Confirm,
|
|
20
|
+
{
|
|
21
|
+
...confirmProps,
|
|
22
|
+
onConfirm: () => {
|
|
23
|
+
props.onConfirm?.();
|
|
24
|
+
modalProps.hide();
|
|
25
|
+
},
|
|
26
|
+
onCancel: () => {
|
|
27
|
+
modalProps.hide();
|
|
28
|
+
},
|
|
29
|
+
children: props.children
|
|
30
|
+
}
|
|
31
|
+
) });
|
|
32
|
+
}
|
|
15
33
|
return /* @__PURE__ */ jsx(Modal, { ...props, ...modalProps });
|
|
16
34
|
};
|
|
17
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenModal.js","sources":["../../../../src/objects/ApiaUtil/modals/OpenModal.tsx"],"sourcesContent":["import { usePrevious } from '@apia/util';\nimport { useModal } from '../../../components/modals/hooks/useModal';\nimport { Modal, TModal } from '../../../components/modals/Modal';\n\nexport type TOpenModal = Pick<\n TModal,\n | 'NavBar'\n | 'Portal'\n | 'children'\n | 'className'\n | 'hideCloseButton'\n | 'initialFocusGetter'\n | 'initialFocusConfiguration'\n | 'maxWidth'\n | 'noHeader'\n | 'onExited'\n | 'shouldCloseOnEsc'\n | 'shouldCloseOnOverlayClick'\n | 'size'\n | 'stretch'\n | 'title'\n | 'variant'\n> & {
|
|
1
|
+
{"version":3,"file":"OpenModal.js","sources":["../../../../src/objects/ApiaUtil/modals/OpenModal.tsx"],"sourcesContent":["import { usePrevious } from '@apia/util';\r\nimport { useModal } from '../../../components/modals/hooks/useModal';\r\nimport { Modal, TModal } from '../../../components/modals/Modal';\r\nimport { Confirm, IConfirm } from '../../../components';\r\nimport React from 'react';\r\n\r\nexport type TOpenModal = Pick<\r\n TModal,\r\n | 'NavBar'\r\n | 'Portal'\r\n | 'children'\r\n | 'className'\r\n | 'hideCloseButton'\r\n | 'initialFocusGetter'\r\n | 'initialFocusConfiguration'\r\n | 'maxWidth'\r\n | 'noHeader'\r\n | 'onExited'\r\n | 'shouldCloseOnEsc'\r\n | 'shouldCloseOnOverlayClick'\r\n | 'size'\r\n | 'stretch'\r\n | 'title'\r\n | 'variant'\r\n | 'draggable'\r\n | 'onClose'\r\n | 'onDragStart'\r\n | 'defaultPosition'\r\n> & {\r\n id?: string;\r\n children?: React.ReactNode;\r\n confirmProps?: Omit<IConfirm, 'onConfirmOk' | 'onConfirmCancel' | 'children'>;\r\n /**\r\n * Determina si el modal debe abrirse al ser montado o no.\r\n */\r\n isDefaultOpen?: boolean;\r\n /**\r\n * El método onConfirm permite pasar un callback que devuelva una promesa. En\r\n * caso de ser así, si esta promesa resuelve a true, el modal será cerrado o\r\n * en caso contrario permanecerá abierto. Es útil en situaciones en donde es\r\n * necesario corroborar una condición antes de cerrar el modal. En la\r\n * situación en que se decida mantener el modal abierto, está a cargo del\r\n * usuario del componente realizar las indicaciones visuales correspondientes\r\n * para indicar al usuario el motivo por el cual el modal no fue cerrado.\r\n */\r\n onConfirm?: () => Promise<boolean> | boolean | void;\r\n /**\r\n * El método onCancel será llamado siempre que un usuario cierre el modal,\r\n * excepto cuando haya presionado en onConfirm.\r\n */\r\n onCancel?: () => void;\r\n /**\r\n * Permite introducir html directamente dentro del contenedor del modal.\r\n */\r\n html?: string;\r\n};\r\n\r\nexport const OpenModal = (props: TOpenModal & { isOpen: boolean }) => {\r\n const modalProps = useModal({\r\n isDefaultOpen: true,\r\n onExited: props.onExited,\r\n });\r\n\r\n const previousOpenProp = usePrevious(props.isOpen);\r\n if (previousOpenProp.current !== props.isOpen && !props.isOpen) {\r\n modalProps.hide();\r\n }\r\n\r\n const confirmProps = props.confirmProps;\r\n if (props.onConfirm || props.onCancel) {\r\n return (\r\n <Modal {...props} {...modalProps}>\r\n <Confirm\r\n {...confirmProps}\r\n onConfirm={() => {\r\n props.onConfirm?.();\r\n modalProps.hide();\r\n }}\r\n onCancel={() => {\r\n props.onCancel;\r\n modalProps.hide();\r\n }}\r\n children={props.children}\r\n />\r\n </Modal>\r\n );\r\n }\r\n\r\n return <Modal {...props} {...modalProps} />;\r\n};\r\n"],"names":[],"mappings":";;;;;;AAyDa,MAAA,SAAA,GAAY,CAAC,KAA4C,KAAA;AACpE,EAAA,MAAM,aAAa,QAAS,CAAA;AAAA,IAC1B,aAAe,EAAA,IAAA;AAAA,IACf,UAAU,KAAM,CAAA,QAAA;AAAA,GACjB,CAAA,CAAA;AAED,EAAM,MAAA,gBAAA,GAAmB,WAAY,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AACjD,EAAA,IAAI,iBAAiB,OAAY,KAAA,KAAA,CAAM,MAAU,IAAA,CAAC,MAAM,MAAQ,EAAA;AAC9D,IAAA,UAAA,CAAW,IAAK,EAAA,CAAA;AAAA,GAClB;AAEA,EAAA,MAAM,eAAe,KAAM,CAAA,YAAA,CAAA;AAC3B,EAAI,IAAA,KAAA,CAAM,SAAa,IAAA,KAAA,CAAM,QAAU,EAAA;AACrC,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA,EAAO,GAAG,KAAA,EAAQ,GAAG,UACpB,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACE,GAAG,YAAA;AAAA,QACJ,WAAW,MAAM;AACf,UAAA,KAAA,CAAM,SAAY,IAAA,CAAA;AAClB,UAAA,UAAA,CAAW,IAAK,EAAA,CAAA;AAAA,SAClB;AAAA,QACA,UAAU,MAAM;AAEd,UAAA,UAAA,CAAW,IAAK,EAAA,CAAA;AAAA,SAClB;AAAA,QACA,UAAU,KAAM,CAAA,QAAA;AAAA,OAAA;AAAA,KAEpB,EAAA,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA,EAAO,GAAG,KAAA,EAAQ,GAAG,UAAY,EAAA,CAAA,CAAA;AAC3C;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilMouse.js","sources":["../../../../src/objects/ApiaUtil/mouse/ApiaUtilMouse.ts"],"sourcesContent":["import { EventEmitter } from '@apia/util';\n\nexport class ApiaUtilMouse extends EventEmitter<{\n updatePosition: { x: number; y: number };\n}> {\n x = 0;\n y = 0;\n\n get position() {\n return { x: this.x, y: this.y };\n }\n\n constructor() {\n super();\n\n document.addEventListener('mousemove', (ev) => {\n this.x = ev.clientX;\n this.y = ev.clientY;\n\n this.emit('updatePosition', { x: this.x, y: this.y });\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAEO,MAAM,sBAAsB,YAEhC,CAAA;AAAA,EAQD,WAAc,GAAA;AACZ,IAAM,KAAA,EAAA,CAAA;AARR,IAAI,aAAA,CAAA,IAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACJ,IAAI,aAAA,CAAA,IAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AASF,IAAS,QAAA,CAAA,gBAAA,CAAiB,WAAa,EAAA,CAAC,EAAO,KAAA;AAC7C,MAAA,IAAA,CAAK,IAAI,EAAG,CAAA,OAAA,CAAA;AACZ,MAAA,IAAA,CAAK,IAAI,EAAG,CAAA,OAAA,CAAA;AAEZ,MAAK,IAAA,CAAA,IAAA,CAAK,kBAAkB,EAAE,CAAA,EAAG,KAAK,CAAG,EAAA,CAAA,EAAG,IAAK,CAAA,CAAA,EAAG,CAAA,CAAA;AAAA,KACrD,CAAA,CAAA;AAAA,GACH;AAAA,EAbA,IAAI,QAAW,GAAA;AACb,IAAA,OAAO,EAAE,CAAG,EAAA,IAAA,CAAK,CAAG,EAAA,CAAA,EAAG,KAAK,CAAE,EAAA,CAAA;AAAA,GAChC;AAYF;;;;"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilMouse.js","sources":["../../../../src/objects/ApiaUtil/mouse/ApiaUtilMouse.ts"],"sourcesContent":["import { EventEmitter } from '@apia/util';\r\n\r\nexport class ApiaUtilMouse extends EventEmitter<{\r\n updatePosition: { x: number; y: number };\r\n}> {\r\n x = 0;\r\n y = 0;\r\n\r\n get position() {\r\n return { x: this.x, y: this.y };\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n document.addEventListener('mousemove', (ev) => {\r\n this.x = ev.clientX;\r\n this.y = ev.clientY;\r\n\r\n this.emit('updatePosition', { x: this.x, y: this.y });\r\n });\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;AAEO,MAAM,sBAAsB,YAEhC,CAAA;AAAA,EAQD,WAAc,GAAA;AACZ,IAAM,KAAA,EAAA,CAAA;AARR,IAAI,aAAA,CAAA,IAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACJ,IAAI,aAAA,CAAA,IAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AASF,IAAS,QAAA,CAAA,gBAAA,CAAiB,WAAa,EAAA,CAAC,EAAO,KAAA;AAC7C,MAAA,IAAA,CAAK,IAAI,EAAG,CAAA,OAAA,CAAA;AACZ,MAAA,IAAA,CAAK,IAAI,EAAG,CAAA,OAAA,CAAA;AAEZ,MAAK,IAAA,CAAA,IAAA,CAAK,kBAAkB,EAAE,CAAA,EAAG,KAAK,CAAG,EAAA,CAAA,EAAG,IAAK,CAAA,CAAA,EAAG,CAAA,CAAA;AAAA,KACrD,CAAA,CAAA;AAAA,GACH;AAAA,EAbA,IAAI,QAAW,GAAA;AACb,IAAA,OAAO,EAAE,CAAG,EAAA,IAAA,CAAK,CAAG,EAAA,CAAA,EAAG,KAAK,CAAE,EAAA,CAAA;AAAA,GAChC;AAYF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilNotifications.js","sources":["../../../../src/objects/ApiaUtil/notifications/ApiaUtilNotifications.tsx"],"sourcesContent":["import {\n NotificationsList,\n defaultNotifier,\n TNotificationId,\n INotification,\n TDispatchedNotification,\n TNotificationSelector,\n} from '@apia/notifications';\n\nexport class ApiaUtilNotifications {\n close = (id: TNotificationId | INotification) => {\n defaultNotifier.close(id);\n };\n\n closeAll = () => {\n defaultNotifier.closeAll();\n };\n\n notify = (notification: TDispatchedNotification): void => {\n defaultNotifier.notify({\n ...notification,\n type: notification.type ?? 'warning',\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useSelector = (selector: TNotificationSelector<any>) =>\n defaultNotifier.useSelector(selector);\n\n Component = () => {\n return <NotificationsList />;\n };\n}\n"],"names":[],"mappings":";;;;;;;;;AASO,MAAM,qBAAsB,CAAA;AAAA,EAA5B,WAAA,GAAA;AACL,IAAA,aAAA,CAAA,IAAA,EAAA,OAAA,EAAQ,CAAC,EAAwC,KAAA;AAC/C,MAAA,eAAA,CAAgB,MAAM,EAAE,CAAA,CAAA;AAAA,KAC1B,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,UAAA,EAAW,MAAM;AACf,MAAA,eAAA,CAAgB,QAAS,EAAA,CAAA;AAAA,KAC3B,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAS,CAAC,YAAgD,KAAA;AACxD,MAAA,eAAA,CAAgB,MAAO,CAAA;AAAA,QACrB,GAAG,YAAA;AAAA,QACH,IAAA,EAAM,aAAa,IAAQ,IAAA,SAAA;AAAA,OAC5B,CAAA,CAAA;AAAA,KACH,CAAA,CAAA;AAGA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,aAAA,EAAc,CAAC,QAAA,KACb,eAAgB,CAAA,WAAA,CAAY,QAAQ,CAAA,CAAA,CAAA;AAEtC,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,EAAY,MAAM;AAChB,MAAA,2BAAQ,iBAAkB,EAAA,EAAA,CAAA,CAAA;AAAA,KAC5B,CAAA,CAAA;AAAA,GAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilNotifications.js","sources":["../../../../src/objects/ApiaUtil/notifications/ApiaUtilNotifications.tsx"],"sourcesContent":["import {\r\n NotificationsList,\r\n defaultNotifier,\r\n TNotificationId,\r\n INotification,\r\n TDispatchedNotification,\r\n TNotificationSelector,\r\n} from '@apia/notifications';\r\n\r\nexport class ApiaUtilNotifications {\r\n close = (id: TNotificationId | INotification) => {\r\n defaultNotifier.close(id);\r\n };\r\n\r\n closeAll = () => {\r\n defaultNotifier.closeAll();\r\n };\r\n\r\n notify = (notification: TDispatchedNotification): void => {\r\n defaultNotifier.notify({\r\n ...notification,\r\n type: notification.type ?? 'warning',\r\n });\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n useSelector = (selector: TNotificationSelector<any>) =>\r\n defaultNotifier.useSelector(selector);\r\n\r\n Component = () => {\r\n return <NotificationsList />;\r\n };\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;AASO,MAAM,qBAAsB,CAAA;AAAA,EAA5B,WAAA,GAAA;AACL,IAAA,aAAA,CAAA,IAAA,EAAA,OAAA,EAAQ,CAAC,EAAwC,KAAA;AAC/C,MAAA,eAAA,CAAgB,MAAM,EAAE,CAAA,CAAA;AAAA,KAC1B,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,UAAA,EAAW,MAAM;AACf,MAAA,eAAA,CAAgB,QAAS,EAAA,CAAA;AAAA,KAC3B,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAS,CAAC,YAAgD,KAAA;AACxD,MAAA,eAAA,CAAgB,MAAO,CAAA;AAAA,QACrB,GAAG,YAAA;AAAA,QACH,IAAA,EAAM,aAAa,IAAQ,IAAA,SAAA;AAAA,OAC5B,CAAA,CAAA;AAAA,KACH,CAAA,CAAA;AAGA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,aAAA,EAAc,CAAC,QAAA,KACb,eAAgB,CAAA,WAAA,CAAY,QAAQ,CAAA,CAAA,CAAA;AAEtC,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,EAAY,MAAM;AAChB,MAAA,2BAAQ,iBAAkB,EAAA,EAAA,CAAA,CAAA;AAAA,KAC5B,CAAA,CAAA;AAAA,GAAA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilParsers.js","sources":["../../../../src/objects/ApiaUtil/parsers/ApiaUtilParsers.ts"],"sourcesContent":["export class ApiaUtilParsers {\n /**\n * Toma un número sin separadores de miles y lo devuelve en el formato\n * establecido por los parámetros de Apia para separadores de miles y\n * separadores de decimales.\n */\n addThousSeparator(nStr: string | number): string {\n // Apia Original Function\n let str = String(nStr);\n str += '';\n const x =\n window.CHAR_DECIMAL_SEPARATOR && str.split(window.CHAR_DECIMAL_SEPARATOR);\n let x1 = x?.[0];\n const x2 =\n x && x.length > 1 && window.CHAR_DECIMAL_SEPARATOR\n ? `${window.CHAR_DECIMAL_SEPARATOR}${x[1]}`\n : '';\n const rgx = /(\\d+)(\\d{3})/;\n while (x1 && rgx.test(x1)) {\n x1 =\n x1 &&\n window.CHAR_THOUS_SEPARATOR &&\n x1.replace(rgx, `$1${window.CHAR_THOUS_SEPARATOR}$2`);\n }\n return x1 ? `${x1}${x2}` : String(nStr);\n }\n\n apiaNumber(pValue: number): number | string {\n // Apia Classic Original Function\n let value = '';\n try {\n value = pValue.toFixed(parseInt(window.AMOUNT_DECIMAL_SEPARATOR, 10));\n } catch (e) {\n console.error(e);\n }\n let s = value;\n if (!s.includes('.')) {\n if (window.ADD_THOUSAND_SEPARATOR) {\n s = this.addThousSeparator(s);\n }\n return s;\n }\n if (window.ADD_THOUSAND_SEPARATOR) {\n s = this.addThousSeparator(s.replace('.', window.CHAR_DECIMAL_SEPARATOR));\n } else {\n s = s.replace('.', window.CHAR_DECIMAL_SEPARATOR);\n }\n const int = s.split(window.CHAR_DECIMAL_SEPARATOR)[0];\n let decimals: string = s.split(window.CHAR_DECIMAL_SEPARATOR)[1];\n let decCount: number = decimals.length - 1;\n while (\n decCount >= parseInt(window.AMOUNT_DECIMAL_ZEROS, 10) &&\n decimals.charAt(decCount) === '0'\n ) {\n decimals = decimals.substring(0, decCount);\n decCount -= 1;\n }\n return (\n int +\n (decimals || decimals === '0'\n ? window.CHAR_DECIMAL_SEPARATOR + decimals\n : '')\n );\n }\n\n /**\n * Toma un número en formato Apia y lo devuelve como float en javascript.\n */\n jsNumber(value: string): number | string {\n // Apia Classic Original Function\n let re;\n if (window.CHAR_THOUS_SEPARATOR === '.')\n re = new RegExp(`\\\\${window.CHAR_THOUS_SEPARATOR}`, 'g');\n else\n re =\n window.CHAR_THOUS_SEPARATOR &&\n new RegExp(window.CHAR_THOUS_SEPARATOR, 'g');\n let aux = re && value.replace(re, '');\n aux =\n aux &&\n window.CHAR_DECIMAL_SEPARATOR &&\n aux.replace(window.CHAR_DECIMAL_SEPARATOR, '.');\n\n if (typeof aux === 'string') {\n return value;\n }\n return aux ? parseFloat(aux) : parseFloat(value);\n }\n\n /**\n * Hay muchos valores que podrían querer ser interpretados como booleano\n *\n * Devuelve true si el valor coincide con true|T|t|1 y false si coincide con\n * false|F|f|0. Si no coincide con ninguna de éstas hace throw de un error.\n */\n parseBool(val: string): boolean {\n if (/^(?:true|T|t|1)$/i.test(val)) return true;\n if (/^(?:false|F|f|0)$/i.test(val)) return false;\n throw new Error('Property/Value is a boolean, try using true or false');\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilParsers.js","sources":["../../../../src/objects/ApiaUtil/parsers/ApiaUtilParsers.ts"],"sourcesContent":["export class ApiaUtilParsers {\r\n /**\r\n * Toma un número sin separadores de miles y lo devuelve en el formato\r\n * establecido por los parámetros de Apia para separadores de miles y\r\n * separadores de decimales.\r\n */\r\n addThousSeparator(nStr: string | number): string {\r\n // Apia Original Function\r\n let str = String(nStr);\r\n str += '';\r\n const x =\r\n window.CHAR_DECIMAL_SEPARATOR && str.split(window.CHAR_DECIMAL_SEPARATOR);\r\n let x1 = x?.[0];\r\n const x2 =\r\n x && x.length > 1 && window.CHAR_DECIMAL_SEPARATOR\r\n ? `${window.CHAR_DECIMAL_SEPARATOR}${x[1]}`\r\n : '';\r\n const rgx = /(\\d+)(\\d{3})/;\r\n while (x1 && rgx.test(x1)) {\r\n x1 =\r\n x1 &&\r\n window.CHAR_THOUS_SEPARATOR &&\r\n x1.replace(rgx, `$1${window.CHAR_THOUS_SEPARATOR}$2`);\r\n }\r\n return x1 ? `${x1}${x2}` : String(nStr);\r\n }\r\n\r\n apiaNumber(pValue: number): number | string {\r\n // Apia Classic Original Function\r\n let value = '';\r\n try {\r\n value = pValue.toFixed(parseInt(window.AMOUNT_DECIMAL_SEPARATOR, 10));\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n let s = value;\r\n if (!s.includes('.')) {\r\n if (window.ADD_THOUSAND_SEPARATOR) {\r\n s = this.addThousSeparator(s);\r\n }\r\n return s;\r\n }\r\n if (window.ADD_THOUSAND_SEPARATOR) {\r\n s = this.addThousSeparator(s.replace('.', window.CHAR_DECIMAL_SEPARATOR));\r\n } else {\r\n s = s.replace('.', window.CHAR_DECIMAL_SEPARATOR);\r\n }\r\n const int = s.split(window.CHAR_DECIMAL_SEPARATOR)[0];\r\n let decimals: string = s.split(window.CHAR_DECIMAL_SEPARATOR)[1];\r\n let decCount: number = decimals.length - 1;\r\n while (\r\n decCount >= parseInt(window.AMOUNT_DECIMAL_ZEROS, 10) &&\r\n decimals.charAt(decCount) === '0'\r\n ) {\r\n decimals = decimals.substring(0, decCount);\r\n decCount -= 1;\r\n }\r\n return (\r\n int +\r\n (decimals || decimals === '0'\r\n ? window.CHAR_DECIMAL_SEPARATOR + decimals\r\n : '')\r\n );\r\n }\r\n\r\n /**\r\n * Toma un número en formato Apia y lo devuelve como float en javascript.\r\n */\r\n jsNumber(value: string): number | string {\r\n // Apia Classic Original Function\r\n let re;\r\n if (window.CHAR_THOUS_SEPARATOR === '.')\r\n re = new RegExp(`\\\\${window.CHAR_THOUS_SEPARATOR}`, 'g');\r\n else\r\n re =\r\n window.CHAR_THOUS_SEPARATOR &&\r\n new RegExp(window.CHAR_THOUS_SEPARATOR, 'g');\r\n let aux = re && value.replace(re, '');\r\n aux =\r\n aux &&\r\n window.CHAR_DECIMAL_SEPARATOR &&\r\n aux.replace(window.CHAR_DECIMAL_SEPARATOR, '.');\r\n\r\n if (typeof aux === 'string') {\r\n return value;\r\n }\r\n return aux ? parseFloat(aux) : parseFloat(value);\r\n }\r\n\r\n /**\r\n * Hay muchos valores que podrían querer ser interpretados como booleano\r\n *\r\n * Devuelve true si el valor coincide con true|T|t|1 y false si coincide con\r\n * false|F|f|0. Si no coincide con ninguna de éstas hace throw de un error.\r\n */\r\n parseBool(val: string): boolean {\r\n if (/^(?:true|T|t|1)$/i.test(val)) return true;\r\n if (/^(?:false|F|f|0)$/i.test(val)) return false;\r\n throw new Error('Property/Value is a boolean, try using true or false');\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilCurrentTab.js","sources":["../../../../src/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.tsx"],"sourcesContent":["import { TId } from '@apia/util';\nimport { getTabContainer } from './util';\nimport { TTab } from '../../../tabs';\n\ndeclare global {\n interface Window {\n TAB_ID: string;\n }\n\n interface HTMLIFrameElement {\n tabId: TId;\n }\n}\n\nexport class ApiaUtilCurrentTab {\n /**\n * Este método se usa para establecer un callback que será llamado al momento\n * de cerrar la pestaña. Este callback podrá devolver false indicando que hay\n * cambios no guardados, en cuyo caso el sistema alertará al usuario acerca de\n * ello con un cartel de confirmación.\n */\n canClose(cb: () => boolean) {\n try {\n this.update({\n onBeforeClose: cb,\n });\n } catch (_) {\n /**\n * Este bloque está puesto por compatibilidad con el menú classic. Para\n * funcionar debe haber un div con id=\"bodyController\" en el DOM. Por\n * defecto, existe en el application.jsp.\n */\n (\n document.querySelector('#bodyController') as unknown as {\n canRemoveTab: () => boolean;\n }\n ).canRemoveTab = cb;\n }\n }\n\n changeTitle(newTitle: string) {\n getTabContainer()?.changeTabTitle?.(this.getId(), newTitle);\n }\n\n /**\n * El parámetro force sirve para las situaciones en las que el tab podría\n * preguntar si se desean perder los cambios. En caso de que se pase en true,\n * no se preguntará nada y se cerrará la pestaña.\n */\n close(force?: boolean): void {\n getTabContainer()?.removeTabByID?.(this.getId(), force);\n }\n\n getId() {\n return (window.frameElement as HTMLIFrameElement).tabId;\n }\n\n getProps() {\n try {\n return getTabContainer()?.getHandler?.().getTabById(this.getId());\n } catch (_) {\n return undefined;\n }\n }\n\n update(props: Partial<Partial<TTab>>) {\n try {\n getTabContainer()\n ?.getHandler()\n .propsStore.updateField(this.getId(), props);\n } catch (e) {\n console.error(e);\n }\n }\n}\n"],"names":[],"mappings":";;AAcO,MAAM,kBAAmB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9B,SAAS,EAAmB,EAAA;AAC1B,IAAI,IAAA;AACF,MAAA,IAAA,CAAK,MAAO,CAAA;AAAA,QACV,aAAe,EAAA,EAAA;AAAA,OAChB,CAAA,CAAA;AAAA,aACM,CAAG,EAAA;AAMV,MACE,QAAS,CAAA,aAAA,CAAc,iBAAiB,CAAA,CAGxC,YAAe,GAAA,EAAA,CAAA;AAAA,KACnB;AAAA,GACF;AAAA,EAEA,YAAY,QAAkB,EAAA;AAC5B,IAAA,eAAA,EAAmB,EAAA,cAAA,GAAiB,IAAK,CAAA,KAAA,IAAS,QAAQ,CAAA,CAAA;AAAA,GAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,KAAuB,EAAA;AAC3B,IAAA,eAAA,EAAmB,EAAA,aAAA,GAAgB,IAAK,CAAA,KAAA,IAAS,KAAK,CAAA,CAAA;AAAA,GACxD;AAAA,EAEA,KAAQ,GAAA;AACN,IAAA,OAAQ,OAAO,YAAmC,CAAA,KAAA,CAAA;AAAA,GACpD;AAAA,EAEA,QAAW,GAAA;AACT,IAAI,IAAA;AACF,MAAA,OAAO,iBAAmB,EAAA,UAAA,KAAe,UAAW,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAAA,aACzD,CAAG,EAAA;AACV,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,OAAO,KAA+B,EAAA;AACpC,IAAI,IAAA;AACF,MAAgB,eAAA,EAAA,EACZ,YACD,CAAA,UAAA,CAAW,YAAY,IAAK,CAAA,KAAA,IAAS,KAAK,CAAA,CAAA;AAAA,aACtC,CAAG,EAAA;AACV,MAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,KACjB;AAAA,GACF;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilCurrentTab.js","sources":["../../../../src/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.tsx"],"sourcesContent":["import { TId } from '@apia/util';\r\nimport { getTabContainer } from './util';\r\nimport { TTab } from '../../../tabs';\r\n\r\ndeclare global {\r\n interface Window {\r\n TAB_ID: string;\r\n }\r\n\r\n interface HTMLIFrameElement {\r\n tabId: TId;\r\n }\r\n}\r\n\r\nexport class ApiaUtilCurrentTab {\r\n /**\r\n * Este método se usa para establecer un callback que será llamado al momento\r\n * de cerrar la pestaña. Este callback podrá devolver false indicando que hay\r\n * cambios no guardados, en cuyo caso el sistema alertará al usuario acerca de\r\n * ello con un cartel de confirmación.\r\n */\r\n canClose(cb: () => boolean) {\r\n try {\r\n this.update({\r\n onBeforeClose: cb,\r\n });\r\n } catch (_) {\r\n /**\r\n * Este bloque está puesto por compatibilidad con el menú classic. Para\r\n * funcionar debe haber un div con id=\"bodyController\" en el DOM. Por\r\n * defecto, existe en el application.jsp.\r\n */\r\n (\r\n document.querySelector('#bodyController') as unknown as {\r\n canRemoveTab: () => boolean;\r\n }\r\n ).canRemoveTab = cb;\r\n }\r\n }\r\n\r\n changeTitle(newTitle: string) {\r\n getTabContainer()?.changeTabTitle?.(this.getId(), newTitle);\r\n }\r\n\r\n /**\r\n * El parámetro force sirve para las situaciones en las que el tab podría\r\n * preguntar si se desean perder los cambios. En caso de que se pase en true,\r\n * no se preguntará nada y se cerrará la pestaña.\r\n */\r\n close(force?: boolean): void {\r\n getTabContainer()?.removeTabByID?.(this.getId(), force);\r\n }\r\n\r\n getId() {\r\n return (window.frameElement as HTMLIFrameElement).tabId;\r\n }\r\n\r\n getProps() {\r\n try {\r\n return getTabContainer()?.getHandler?.().getTabById(this.getId());\r\n } catch (_) {\r\n return undefined;\r\n }\r\n }\r\n\r\n update(props: Partial<Partial<TTab>>) {\r\n try {\r\n getTabContainer()\r\n ?.getHandler()\r\n .propsStore.updateField(this.getId(), props);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n}\r\n"],"names":[],"mappings":";;AAcO,MAAM,kBAAmB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9B,SAAS,EAAmB,EAAA;AAC1B,IAAI,IAAA;AACF,MAAA,IAAA,CAAK,MAAO,CAAA;AAAA,QACV,aAAe,EAAA,EAAA;AAAA,OAChB,CAAA,CAAA;AAAA,aACM,CAAG,EAAA;AAMV,MACE,QAAS,CAAA,aAAA,CAAc,iBAAiB,CAAA,CAGxC,YAAe,GAAA,EAAA,CAAA;AAAA,KACnB;AAAA,GACF;AAAA,EAEA,YAAY,QAAkB,EAAA;AAC5B,IAAA,eAAA,EAAmB,EAAA,cAAA,GAAiB,IAAK,CAAA,KAAA,IAAS,QAAQ,CAAA,CAAA;AAAA,GAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,KAAuB,EAAA;AAC3B,IAAA,eAAA,EAAmB,EAAA,aAAA,GAAgB,IAAK,CAAA,KAAA,IAAS,KAAK,CAAA,CAAA;AAAA,GACxD;AAAA,EAEA,KAAQ,GAAA;AACN,IAAA,OAAQ,OAAO,YAAmC,CAAA,KAAA,CAAA;AAAA,GACpD;AAAA,EAEA,QAAW,GAAA;AACT,IAAI,IAAA;AACF,MAAA,OAAO,iBAAmB,EAAA,UAAA,KAAe,UAAW,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAAA,aACzD,CAAG,EAAA;AACV,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,OAAO,KAA+B,EAAA;AACpC,IAAI,IAAA;AACF,MAAgB,eAAA,EAAA,EACZ,YACD,CAAA,UAAA,CAAW,YAAY,IAAK,CAAA,KAAA,IAAS,KAAK,CAAA,CAAA;AAAA,aACtC,CAAG,EAAA;AACV,MAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,KACjB;AAAA,GACF;AACF;;;;"}
|
|
@@ -4,7 +4,7 @@ import { getTabContainer } from './util.js';
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
6
|
var __publicField = (obj, key, value) => {
|
|
7
|
-
__defNormalProp(obj,
|
|
7
|
+
__defNormalProp(obj, key + "" , value);
|
|
8
8
|
return value;
|
|
9
9
|
};
|
|
10
10
|
class ApiaUtilTabsController {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiaUtilTabsController.js","sources":["../../../../src/objects/ApiaUtil/tabs/ApiaUtilTabsController.tsx"],"sourcesContent":["import { TId } from '@apia/util';\nimport { ApiaUtilCurrentTab } from './ApiaUtilCurrentTab';\nimport { getTabContainer } from './util';\n\nexport class ApiaUtilTabsController {\n currentTab = new ApiaUtilCurrentTab();\n\n closeTab(tabId: string, force?: boolean) {\n const tabContainer = getTabContainer();\n if (tabContainer !== null) {\n tabContainer.removeTabByID(tabId, force);\n return;\n }\n }\n\n getHandler() {\n return getTabContainer()?.getHandler();\n }\n\n /**\n * openApiaTab y openTab son sinónimos.\n */\n openTab(title: string, url: string): Promise<TId> {\n const tabContainer = getTabContainer();\n if (tabContainer !== null) {\n return tabContainer.addNewTab(title, url);\n }\n\n return new Promise((resolve) => resolve(''));\n }\n}\n"],"names":[],"mappings":";;;;;;;;;AAIO,MAAM,sBAAuB,CAAA;AAAA,EAA7B,WAAA,GAAA;AACL,IAAA,aAAA,CAAA,IAAA,EAAA,YAAA,EAAa,IAAI,kBAAmB,EAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAEpC,QAAA,CAAS,OAAe,KAAiB,EAAA;AACvC,IAAA,MAAM,eAAe,eAAgB,EAAA,CAAA;AACrC,IAAA,IAAI,iBAAiB,IAAM,EAAA;AACzB,MAAa,YAAA,CAAA,aAAA,CAAc,OAAO,KAAK,CAAA,CAAA;AACvC,MAAA,OAAA;AAAA,KACF;AAAA,GACF;AAAA,EAEA,UAAa,GAAA;AACX,IAAO,OAAA,eAAA,IAAmB,UAAW,EAAA,CAAA;AAAA,GACvC;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA,CAAQ,OAAe,GAA2B,EAAA;AAChD,IAAA,MAAM,eAAe,eAAgB,EAAA,CAAA;AACrC,IAAA,IAAI,iBAAiB,IAAM,EAAA;AACzB,MAAO,OAAA,YAAA,CAAa,SAAU,CAAA,KAAA,EAAO,GAAG,CAAA,CAAA;AAAA,KAC1C;AAEA,IAAA,OAAO,IAAI,OAAQ,CAAA,CAAC,OAAY,KAAA,OAAA,CAAQ,EAAE,CAAC,CAAA,CAAA;AAAA,GAC7C;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"ApiaUtilTabsController.js","sources":["../../../../src/objects/ApiaUtil/tabs/ApiaUtilTabsController.tsx"],"sourcesContent":["import { TId } from '@apia/util';\r\nimport { ApiaUtilCurrentTab } from './ApiaUtilCurrentTab';\r\nimport { getTabContainer } from './util';\r\n\r\nexport class ApiaUtilTabsController {\r\n currentTab = new ApiaUtilCurrentTab();\r\n\r\n closeTab(tabId: string, force?: boolean) {\r\n const tabContainer = getTabContainer();\r\n if (tabContainer !== null) {\r\n tabContainer.removeTabByID(tabId, force);\r\n return;\r\n }\r\n }\r\n\r\n getHandler() {\r\n return getTabContainer()?.getHandler();\r\n }\r\n\r\n /**\r\n * openApiaTab y openTab son sinónimos.\r\n */\r\n openTab(title: string, url: string): Promise<TId> {\r\n const tabContainer = getTabContainer();\r\n if (tabContainer !== null) {\r\n return tabContainer.addNewTab(title, url);\r\n }\r\n\r\n return new Promise((resolve) => resolve(''));\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;AAIO,MAAM,sBAAuB,CAAA;AAAA,EAA7B,WAAA,GAAA;AACL,IAAA,aAAA,CAAA,IAAA,EAAA,YAAA,EAAa,IAAI,kBAAmB,EAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAEpC,QAAA,CAAS,OAAe,KAAiB,EAAA;AACvC,IAAA,MAAM,eAAe,eAAgB,EAAA,CAAA;AACrC,IAAA,IAAI,iBAAiB,IAAM,EAAA;AACzB,MAAa,YAAA,CAAA,aAAA,CAAc,OAAO,KAAK,CAAA,CAAA;AACvC,MAAA,OAAA;AAAA,KACF;AAAA,GACF;AAAA,EAEA,UAAa,GAAA;AACX,IAAO,OAAA,eAAA,IAAmB,UAAW,EAAA,CAAA;AAAA,GACvC;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA,CAAQ,OAAe,GAA2B,EAAA;AAChD,IAAA,MAAM,eAAe,eAAgB,EAAA,CAAA;AACrC,IAAA,IAAI,iBAAiB,IAAM,EAAA;AACzB,MAAO,OAAA,YAAA,CAAa,SAAU,CAAA,KAAA,EAAO,GAAG,CAAA,CAAA;AAAA,KAC1C;AAEA,IAAA,OAAO,IAAI,OAAQ,CAAA,CAAC,OAAY,KAAA,OAAA,CAAQ,EAAE,CAAC,CAAA,CAAA;AAAA,GAC7C;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../src/objects/ApiaUtil/tabs/util.ts"],"sourcesContent":["import { ITabContainer } from '../types';\n\nexport function getIframe() {\n return window.frameElement as HTMLIFrameElement;\n}\n\nexport function getTabContainer() {\n const tabsController = getIframe()?.getReactTabsController?.();\n if (tabsController) return tabsController;\n\n const windowTop = window.top;\n const isIniFrame = windowTop?.document != null;\n let result: HTMLElement | typeof window.tabsController | null =\n document.getElementById('tabContainer');\n if (result === null && isIniFrame)\n result =\n windowTop.document.getElementById('tabContainer') ??\n windowTop.tabsController;\n\n return result as unknown as ITabContainer;\n}\n"],"names":[],"mappings":"AAEO,SAAS,SAAY,GAAA;AAC1B,EAAA,OAAO,MAAO,CAAA,YAAA,CAAA;AAChB,CAAA;AAEO,SAAS,eAAkB,GAAA;AAChC,EAAM,MAAA,cAAA,GAAiB,SAAU,EAAA,EAAG,sBAAyB,IAAA,CAAA;AAC7D,EAAI,IAAA,cAAA;AAAgB,IAAO,OAAA,cAAA,CAAA;AAE3B,EAAA,MAAM,YAAY,MAAO,CAAA,GAAA,CAAA;AACzB,EAAM,MAAA,UAAA,GAAa,WAAW,QAAY,IAAA,IAAA,CAAA;AAC1C,EAAI,IAAA,MAAA,GACF,QAAS,CAAA,cAAA,CAAe,cAAc,CAAA,CAAA;AACxC,EAAA,IAAI,WAAW,IAAQ,IAAA,UAAA;AACrB,IAAA,MAAA,GACE,SAAU,CAAA,QAAA,CAAS,cAAe,CAAA,cAAc,KAChD,SAAU,CAAA,cAAA,CAAA;AAEd,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../src/objects/ApiaUtil/tabs/util.ts"],"sourcesContent":["import { ITabContainer } from '../types';\r\n\r\nexport function getIframe() {\r\n return window.frameElement as HTMLIFrameElement;\r\n}\r\n\r\nexport function getTabContainer() {\r\n const tabsController = getIframe()?.getReactTabsController?.();\r\n if (tabsController) return tabsController;\r\n\r\n const windowTop = window.top;\r\n const isIniFrame = windowTop?.document != null;\r\n let result: HTMLElement | typeof window.tabsController | null =\r\n document.getElementById('tabContainer');\r\n if (result === null && isIniFrame)\r\n result =\r\n windowTop.document.getElementById('tabContainer') ??\r\n windowTop.tabsController;\r\n\r\n return result as unknown as ITabContainer;\r\n}\r\n"],"names":[],"mappings":"AAEO,SAAS,SAAY,GAAA;AAC1B,EAAA,OAAO,MAAO,CAAA,YAAA,CAAA;AAChB,CAAA;AAEO,SAAS,eAAkB,GAAA;AAChC,EAAM,MAAA,cAAA,GAAiB,SAAU,EAAA,EAAG,sBAAyB,IAAA,CAAA;AAC7D,EAAI,IAAA,cAAA;AAAgB,IAAO,OAAA,cAAA,CAAA;AAE3B,EAAA,MAAM,YAAY,MAAO,CAAA,GAAA,CAAA;AACzB,EAAM,MAAA,UAAA,GAAa,WAAW,QAAY,IAAA,IAAA,CAAA;AAC1C,EAAI,IAAA,MAAA,GACF,QAAS,CAAA,cAAA,CAAe,cAAc,CAAA,CAAA;AACxC,EAAA,IAAI,WAAW,IAAQ,IAAA,UAAA;AACrB,IAAA,MAAA,GACE,SAAU,CAAA,QAAA,CAAS,cAAe,CAAA,cAAc,KAChD,SAAU,CAAA,cAAA,CAAA;AAEd,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj,
|
|
4
|
+
__defNormalProp(obj, key + "" , value);
|
|
5
5
|
return value;
|
|
6
6
|
};
|
|
7
7
|
let maxId = 0;
|