@hardwork-med/hwm-web-ds 0.1.9 → 0.1.10

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.
@@ -0,0 +1,13 @@
1
+ interface TimerProps {
2
+ timerValue: number;
3
+ setTimerValue: (value: number | ((prev: number) => number)) => void;
4
+ timerRunning: boolean;
5
+ setTimerRunning: (value: boolean) => void;
6
+ }
7
+ export default function useTimer({ timerValue, setTimerValue, timerRunning, setTimerRunning }: TimerProps): {
8
+ timerValue: number;
9
+ setTimerValue: (value: number | ((prev: number) => number)) => void;
10
+ timerRunning: boolean;
11
+ setTimerRunning: (value: boolean) => void;
12
+ };
13
+ export {};
package/dist/index.d.ts CHANGED
@@ -164,6 +164,19 @@ declare const Questao: {
164
164
  };
165
165
  };
166
166
 
167
+ interface TimerProps {
168
+ timerValue: number;
169
+ setTimerValue: (value: number | ((prev: number) => number)) => void;
170
+ timerRunning: boolean;
171
+ setTimerRunning: (value: boolean) => void;
172
+ }
173
+ declare function useTimer({ timerValue, setTimerValue, timerRunning, setTimerRunning }: TimerProps): {
174
+ timerValue: number;
175
+ setTimerValue: (value: number | ((prev: number) => number)) => void;
176
+ timerRunning: boolean;
177
+ setTimerRunning: (value: boolean) => void;
178
+ };
179
+
167
180
  declare function useOutsideClick(ref: React.RefObject<HTMLElement | null>, callback: (open: boolean) => void, excludeIds?: string[]): void;
168
181
 
169
182
  type TBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
@@ -212,4 +225,4 @@ declare function checkEnunciadoUnderline(enunciado: string): {
212
225
  enunciado2: string;
213
226
  } | null;
214
227
 
215
- export { Hamburguer, Icon, Modal, Questao, checkEnunciadoUnderline, formatNumber, formatPosition, useAppBreakpoint, useOutsideClick, useWebDsStore };
228
+ export { Hamburguer, Icon, Modal, Questao, checkEnunciadoUnderline, formatNumber, formatPosition, useAppBreakpoint, useOutsideClick, useTimer, useWebDsStore };
package/dist/index.esm.js CHANGED
@@ -2,7 +2,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
4
  import { AnimatePresence, motion, isBrowser } from 'framer-motion';
5
- import { useState, useLayoutEffect, useEffect } from 'react';
5
+ import { useState, useLayoutEffect, useEffect, useRef } from 'react';
6
6
  import { createPortal } from 'react-dom';
7
7
  import { create } from 'zustand';
8
8
  import { persist } from 'zustand/middleware';
@@ -249,6 +249,29 @@ const Questao = {
249
249
  }
250
250
  };
251
251
 
252
+ function useTimer({ timerValue, setTimerValue, timerRunning, setTimerRunning }) {
253
+ const intervalRef = useRef(null);
254
+ useEffect(() => {
255
+ if (timerRunning && timerValue > 0) {
256
+ intervalRef.current = setInterval(() => {
257
+ setTimerValue((prev) => Math.max(prev - 1, 0));
258
+ }, 1000);
259
+ }
260
+ return () => {
261
+ if (intervalRef.current) {
262
+ clearInterval(intervalRef.current);
263
+ intervalRef.current = null;
264
+ }
265
+ };
266
+ }, [timerRunning]);
267
+ useEffect(() => {
268
+ return () => {
269
+ setTimerRunning(false);
270
+ };
271
+ }, []);
272
+ return { timerValue, setTimerValue, timerRunning, setTimerRunning };
273
+ }
274
+
252
275
  function useOutsideClick(ref, callback, excludeIds = []) {
253
276
  useEffect(() => {
254
277
  function handleClickOutside(event) {
@@ -275,5 +298,5 @@ function checkEnunciadoUnderline(enunciado) {
275
298
  return { enunciado1, enunciado2 };
276
299
  }
277
300
 
278
- export { Hamburguer, Icon, Modal, Questao, checkEnunciadoUnderline, formatNumber, formatPosition, useAppBreakpoint, useOutsideClick, useWebDsStore };
301
+ export { Hamburguer, Icon, Modal, Questao, checkEnunciadoUnderline, formatNumber, formatPosition, useAppBreakpoint, useOutsideClick, useTimer, useWebDsStore };
279
302
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/components/common/Icon/Icon.tsx","../src/components/base/Portal/Portal.tsx","../src/components/common/Modal/Modal.tsx","../src/components/common/Hamburguer/index.tsx","../src/modules/questao/components/common/Tag/Tag.tsx","../src/hooks/useAppBreakpoint/index.ts","../src/store/webDsStore/index.ts","../src/modules/questao/components/layout/Grid/index.tsx","../src/modules/questao/components/layout/Tags/index.tsx","../src/utils/formatNumber/index.ts","../src/utils/formatPosition/index.ts","../src/modules/questao/components/common/Alternativa/Alternativa.tsx","../src/modules/questao/components/layout/MainContent/index.tsx","../src/modules/questao/components/layout/Alternativas/index.tsx","../src/modules/questao/components/layout/ExtraContent/index.tsx","../src/modules/questao/index.ts","../src/hooks/useOutsideClick/index.ts","../src/utils/checkEnunciadoUnderline/index.ts"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import clsx from 'clsx'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport type { IconProps } from './Icon.types'\n\nexport default function Icon({\n fontSize = 16,\n duotone = false,\n duotoneColor,\n primaryOpacity = 1,\n secondaryOpacity = 0.4,\n ...props\n}: IconProps) {\n\n const styles = {\n ...props.style,\n ...(duotone && {\n ['--fa-primary-color' as any]: !!duotoneColor ? duotoneColor[0] : undefined,\n ['--fa-secondary-color' as any]: !!duotoneColor && duotoneColor[1] ? duotoneColor[1] : undefined,\n ['--fa-primary-opacity' as any]: primaryOpacity,\n ['--fa-secondary-opacity' as any]: secondaryOpacity\n })\n }\n\n return (\n <FontAwesomeIcon\n {...props}\n fontSize={fontSize}\n style={styles}\n className={clsx(\n props.className,\n 'tw:transition-colors'\n )}\n />\n )\n}\n","import { useState, useLayoutEffect } from 'react'\nimport { createPortal } from 'react-dom'\nimport type { PortalProps } from './Portal.types'\n\nexport default function Portal({ children, wrapperId = 'portal-wrapper' }: PortalProps) {\n const [wrapperElement, setWrapperElement] = useState<HTMLElement | null>(null)\n\n function createWrapperAndAppendToBody(wrapperId: string) {\n const wrapperElement = document.createElement('div')\n wrapperElement.setAttribute('id', wrapperId)\n document.body.appendChild(wrapperElement)\n\n return wrapperElement\n }\n\n useLayoutEffect(() => {\n let element = document.getElementById(wrapperId)\n let systemCreated = false\n\n if (!element) {\n systemCreated = true\n element = createWrapperAndAppendToBody(wrapperId)\n }\n\n setWrapperElement(element)\n\n return () => {\n if (systemCreated && element && element.parentNode)\n element.parentNode.removeChild(element)\n }\n }, [wrapperId])\n\n if (!wrapperElement) return null\n\n return createPortal(children, wrapperElement!)\n}\n","import clsx from 'clsx'\nimport { motion, AnimatePresence } from 'framer-motion'\nimport Portal from '@/components/base/Portal'\nimport type { ModalProps } from './Modal.types'\n\nexport type { ModalProps }\n\nexport default function Modal({ children, id, open, className, showBlur = true }: ModalProps) {\n\n return (\n <>\n <Portal wrapperId={id}>\n <AnimatePresence mode='wait'>\n {open && (\n <motion.div\n className={clsx(\n 'tw:fixed tw:inset-0 tw:z-1000',\n 'tw:flex tw:flex-col tw:items-center tw:justify-center',\n showBlur && 'tw:bg-black/50 tw:backdrop-blur',\n className\n )}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2 }}\n >\n {children}\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </>\n )\n}\n","import clsx from 'clsx'\n\nexport interface HamburguerProps {\n open: boolean\n color?: string\n}\n\nexport default function Hamburguer({ open, color = 'tw:bg-white' }: HamburguerProps) {\n\n const defaultClass = clsx(\n 'tw:absolute',\n 'tw:w-[21px] tw:h-[3px] tw:rounded-full',\n 'tw:transition-transform tw:duration-300',\n color\n )\n\n return(\n\n <>\n <div\n className={clsx(\n 'tw:relative',\n 'tw:w-[21px] tw:h-4.5 tw:flex tw:flex-col tw:justify-center tw:items-center'\n )}\n >\n <span\n className={clsx(\n defaultClass,\n open ? 'tw:rotate-45' : 'tw:-translate-y-2'\n )}\n />\n\n <span\n className={clsx(\n defaultClass,\n 'tw:transition-opacity',\n open ? 'tw:opacity-0' : 'tw:opacity-100'\n )}\n />\n\n <span\n className={clsx(\n defaultClass,\n open ? 'tw:-rotate-45' : 'tw:translate-y-2'\n )}\n />\n </div>\n </>\n\n )\n\n}","import clsx from 'clsx'\nimport Icon from '@/components/common/Icon'\nimport type { QuestaoTagProps } from './Tag.types'\n\nexport default function QuestaoTag({ icon, label, status }: QuestaoTagProps) {\n\n return(\n\n <>\n <div className={clsx('tw:flex tw:items-center tw:gap-1 tw:h-7 tw:px-2')}>\n <Icon\n icon={icon}\n fontSize={12}\n className={clsx(\n status === 'certo' && 'tw:text-certo',\n status === 'errado' && 'tw:text-errado',\n status === 'parcial' && 'tw:text-parcial',\n !status && 'tw:text-primario-20'\n )}\n />\n\n {!!label && (\n <p\n className={clsx(\n 'tw:transition-colors',\n 'tw:text-xs tw:leading-full',\n status === 'certo' && 'tw:text-certo',\n status === 'errado' && 'tw:text-errado',\n status === 'parcial' && 'tw:text-parcial',\n !status && 'tw:text-primario-20'\n )}\n >\n {label}\n </p>\n )}\n </div>\n </>\n\n )\n\n}\n","import { useEffect, useState } from 'react'\nimport { isBrowser } from 'framer-motion'\n\nexport type TBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nexport default function useAppBreakpoint() {\n const [size, setSize] = useState(0)\n const [breakpoint, setBreakpoint] = useState<TBreakpoint>('sm')\n const [breakpoints, setBreakpoints] = useState({\n xl: false,\n lg: false,\n md: false,\n sm: false,\n xs: true\n })\n\n const getBreakpoint = (width: number): TBreakpoint => {\n if (width >= 1280) return 'xl'\n if (width >= 1024) return 'lg'\n if (width >= 768) return 'md'\n if (width >= 640) return 'sm'\n return 'xs'\n }\n\n const updateBreakpoints = (width: number) => {\n setBreakpoints({\n xl: width >= 1280,\n lg: width >= 1024,\n md: width >= 768,\n sm: width >= 640,\n xs: width > 0\n })\n }\n\n useEffect(() => {\n if (!isBrowser) return\n\n const handleResize = () => {\n const width = window.innerWidth\n\n setSize(width)\n setBreakpoint(getBreakpoint(width))\n updateBreakpoints(width)\n }\n\n handleResize()\n\n window.addEventListener('resize', handleResize)\n\n return () => window.removeEventListener('resize', handleResize)\n }, [])\n\n return {\n breakpoint,\n size,\n ...breakpoints\n }\n}\n","import { create } from 'zustand'\nimport { persist } from 'zustand/middleware'\nimport type { TProva } from '@/interfaces/TProva'\n\ninterface WebDsState {\n themeProva: TProva | null\n setThemeProva: (value: TProva | null) => void\n\n darkMode: boolean\n setDarkMode: (value: boolean) => void\n toggleDarkMode: () => void\n\n questionDarkMode: boolean\n setQuestionDarkMode: (value: boolean) => void\n toggleQuestionDarkMode: () => void\n\n questionGridOrientation: 'horizontal' | 'vertical'\n toggleQuestionGridOrientation: () => void\n}\n\nconst useWebDsStore = create<WebDsState>()(\n persist(\n (set) => ({\n themeProva: null,\n setThemeProva: (value) => set({ themeProva: value }),\n\n darkMode: false,\n setDarkMode: (value) => set({\n questionDarkMode: value,\n darkMode: value\n }),\n toggleDarkMode: () => set((state) => {\n const newValue = !state.darkMode\n\n return {\n questionDarkMode: newValue,\n darkMode: newValue\n }\n }),\n\n questionDarkMode: false,\n setQuestionDarkMode: (value) => set({ questionDarkMode: value }),\n toggleQuestionDarkMode: () => set((state) => ({ questionDarkMode: !state.questionDarkMode })),\n\n questionGridOrientation: 'horizontal',\n toggleQuestionGridOrientation: () => set((state) => ({\n questionGridOrientation: state.questionGridOrientation === 'horizontal' ? 'vertical' : 'horizontal'\n }))\n }),\n {\n name: 'hwm-web-ds',\n }\n )\n)\n\nexport default useWebDsStore","import clsx from 'clsx'\nimport useAppBreakpoint from '@/hooks/useAppBreakpoint'\nimport useWebDsStore from '@/store/webDsStore'\n\nexport default function QuestaoLayoutGrid({ children }: { children?: React.ReactNode }) {\n\n const { questionGridOrientation } = useWebDsStore()\n\n const { lg } = useAppBreakpoint()\n\n return(\n\n <>\n <div\n className={clsx(\n 'tw:flex tw:gap-10 tw:w-full tw:max-w-7xl tw:mx-auto',\n (lg && questionGridOrientation === 'horizontal') ? 'tw:flex-row' : 'tw:flex-col'\n )}\n >\n {children}\n </div>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutTags({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div className={clsx('tw:flex tw:flex-row tw:gap-4 tw:w-full')}>\n {children}\n </div>\n </>\n\n )\n\n}\n","export default function formatNumber(value: number | string, maxLength: number = 2): string {\n return `${value}`.padStart(maxLength, '0')\n}","export default function formatPosition(position: string) {\n\tif(/[a-zA-Z]/.test(position)) {\n\t\treturn position.toUpperCase()\n\t}\n\n\tconst numeric = Number(position)\n\tif (Number.isNaN(numeric) || numeric <= 0) {\n\t\treturn position\n\t}\n\n\tconst charCode = 64 + numeric\n\tif (charCode < 65 || charCode > 90) {\n\t\treturn position\n\t}\n\n\treturn String.fromCharCode(charCode)\n}","import clsx from 'clsx'\nimport { byPrefixAndName } from '@awesome.me/kit-a7702856b7/icons'\nimport Icon from '@/components/common/Icon'\nimport useWebDsStore from '@/store/webDsStore'\nimport formatNumber from '@/utils/formatNumber'\nimport formatPosition from '@/utils/formatPosition'\nimport type { QuestaoAlternativaProps } from './Alternativa.types'\n\nexport default function QuestaoAlternativa({\n position,\n text,\n selected,\n correct,\n answered,\n showAnswer = false,\n cancelled = false,\n percentage,\n onClick\n}: QuestaoAlternativaProps) {\n\n const { questionDarkMode } = useWebDsStore()\n\n const CHECK_DISABLED = answered || cancelled\n const CHECK_NOT_ANSWERED = (!showAnswer && answered) || !answered\n const CHECK_ANSWERED = showAnswer && answered\n \n const SHOW_ANSWER_ICON = CHECK_ANSWERED && (correct || (!correct && selected))\n \n return(\n\n <>\n <button\n className={clsx(\n 'tw:relative',\n 'tw:flex tw:items-center tw:gap-4 tw:w-full tw:min-h-14 tw:px-4 tw:py-3 tw:rounded-lg',\n 'tw:text-sm tw:whitespace-pre-wrap',\n 'tw:transition-colors',\n !CHECK_DISABLED && 'default-click-animation',\n CHECK_NOT_ANSWERED && {\n 'tw:drop-shadow-lg tw:drop-shadow-black/20': true,\n 'tw:bg-cinza-1000 tw:hover:tw:bg-cinza-900 tw:text-cinza-100': !selected && questionDarkMode,\n 'tw:bg-cinza-500 tw:text-cinza-1000': selected && questionDarkMode,\n 'tw:bg-secundario-85 tw:hover:tw:bg-secundario-95 tw:text-primario-20': !selected && !questionDarkMode,\n 'tw:bg-primario-20 tw:text-primario-80': selected && !questionDarkMode\n },\n CHECK_ANSWERED && {\n 'tw:border tw:border-certo tw:text-certo': correct,\n 'tw:border tw:border-errado tw:text-errado': !correct && selected,\n 'tw:opacity-50': !correct && !selected,\n\n 'tw:bg-cinza-1100': ((!correct && selected) || correct) && questionDarkMode,\n 'tw:bg-cinza-1000 tw:text-cinza-900': (!correct && !selected) && questionDarkMode,\n 'tw:bg-secundario-95': ((!correct && selected) || correct) && !questionDarkMode,\n 'tw:bg-secundario-85 tw:text-cinza-1000': (!correct && !selected) && !questionDarkMode\n }\n )}\n disabled={CHECK_DISABLED}\n onClick={onClick}\n >\n {!!position && (\n <p\n className={clsx(\n 'tw:transition-colors',\n 'tw:font-bold tw:text-2xl tw:leading-full'\n )}\n >\n {formatPosition(position)}\n </p>\n )}\n\n <p\n className={clsx(\n 'tw:w-full tw:transition-colors',\n 'tw:text-left tw:whitespace-pre-wrap',\n cancelled && 'tw:line-through tw:decoration-2',\n CHECK_ANSWERED && {\n 'tw:font-bold': (!correct && selected) || correct\n }\n )}\n >\n {text}\n </p>\n\n {(CHECK_ANSWERED && percentage !== undefined) && (\n <p\n className={clsx(\n 'tw:transition-colors',\n 'tw:font-bold tw:text-sm tw:leading-full'\n )}\n >\n {formatNumber(Math.round(percentage))}%\n </p>\n )}\n\n {SHOW_ANSWER_ICON && (\n <div\n className={clsx(\n 'tw:absolute tw:-top-1.5 tw:-right-1.5',\n 'tw:flex tw:items-center tw:justify-center tw:size-5 tw:rounded-full tw:bg-secundario-95 tw:transition-colors',\n )}\n >\n <Icon\n icon={byPrefixAndName.fas[correct ? 'circle-check' : 'circle-xmark']}\n fontSize={20}\n className={clsx(correct ? 'tw:text-certo' : 'tw:text-errado')}\n />\n </div>\n )}\n </button>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutMainContent({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div\n className={clsx(\n 'questao-layout-main-content',\n 'tw:flex tw:flex-col tw:gap-4 tw:w-full'\n )}\n >\n {children}\n </div>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutAlternativas({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div className={clsx('tw:flex tw:flex-col tw:gap-3 tw:w-full tw:mt-2')}>\n {children}\n </div>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutExtraContent({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div\n className={clsx(\n 'questao-layout-extra-content',\n 'tw:flex tw:flex-col tw:gap-4 tw:w-full'\n )}\n >\n {children}\n </div>\n </>\n\n )\n\n}\n","import QuestaoTag from './components/common/Tag'\nimport QuestaoLayoutGrid from './components/layout/Grid'\nimport QuestaoLayoutTags from './components/layout/Tags'\nimport QuestaoAlternativa from './components/common/Alternativa/Alternativa'\nimport QuestaoLayoutMainContent from './components/layout/MainContent'\nimport QuestaoLayoutAlternativas from './components/layout/Alternativas'\nimport QuestaoLayoutExtraContent from './components/layout/ExtraContent'\n\n/**\n * Componente Questao\n * \n * Este componente serve como namespace para todos os sub-componentes relacionados a uma questão.\n */\nconst Questao = {\n Tag: QuestaoTag,\n Alternativa: QuestaoAlternativa,\n Layout: {\n Grid: QuestaoLayoutGrid,\n MainContent: QuestaoLayoutMainContent,\n Tags: QuestaoLayoutTags,\n Alternativas: QuestaoLayoutAlternativas,\n ExtraContent: QuestaoLayoutExtraContent,\n }\n}\n\nexport default Questao","import { useEffect } from 'react'\n\nexport default function useOutsideClick(\n ref: React.RefObject<HTMLElement | null>,\n callback: (open: boolean) => void,\n excludeIds: string[] = []\n) {\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (!!ref && !!ref.current && !ref.current.contains(event.target as Node)) {\n const target = event.target as HTMLElement\n const isExcluded = excludeIds.some(\n (id) => target.id === id || target.closest(`#${id}`)\n )\n\n if (!isExcluded) callback(false)\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [ref, callback])\n}\n","export default function checkEnunciadoUnderline(enunciado: string){\n const regex = /_+/\n const checkEspaco = regex.test(enunciado)\n\n if(!checkEspaco) return null\n\n const [enunciado1, enunciado2] = enunciado.split(regex)\n\n return { enunciado1, enunciado2 }\n}"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/components/common/Icon/Icon.tsx","../src/components/base/Portal/Portal.tsx","../src/components/common/Modal/Modal.tsx","../src/components/common/Hamburguer/index.tsx","../src/modules/questao/components/common/Tag/Tag.tsx","../src/hooks/useAppBreakpoint/index.ts","../src/store/webDsStore/index.ts","../src/modules/questao/components/layout/Grid/index.tsx","../src/modules/questao/components/layout/Tags/index.tsx","../src/utils/formatNumber/index.ts","../src/utils/formatPosition/index.ts","../src/modules/questao/components/common/Alternativa/Alternativa.tsx","../src/modules/questao/components/layout/MainContent/index.tsx","../src/modules/questao/components/layout/Alternativas/index.tsx","../src/modules/questao/components/layout/ExtraContent/index.tsx","../src/modules/questao/index.ts","../src/hooks/useTimer/index.ts","../src/hooks/useOutsideClick/index.ts","../src/utils/checkEnunciadoUnderline/index.ts"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import clsx from 'clsx'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport type { IconProps } from './Icon.types'\n\nexport default function Icon({\n fontSize = 16,\n duotone = false,\n duotoneColor,\n primaryOpacity = 1,\n secondaryOpacity = 0.4,\n ...props\n}: IconProps) {\n\n const styles = {\n ...props.style,\n ...(duotone && {\n ['--fa-primary-color' as any]: !!duotoneColor ? duotoneColor[0] : undefined,\n ['--fa-secondary-color' as any]: !!duotoneColor && duotoneColor[1] ? duotoneColor[1] : undefined,\n ['--fa-primary-opacity' as any]: primaryOpacity,\n ['--fa-secondary-opacity' as any]: secondaryOpacity\n })\n }\n\n return (\n <FontAwesomeIcon\n {...props}\n fontSize={fontSize}\n style={styles}\n className={clsx(\n props.className,\n 'tw:transition-colors'\n )}\n />\n )\n}\n","import { useState, useLayoutEffect } from 'react'\nimport { createPortal } from 'react-dom'\nimport type { PortalProps } from './Portal.types'\n\nexport default function Portal({ children, wrapperId = 'portal-wrapper' }: PortalProps) {\n const [wrapperElement, setWrapperElement] = useState<HTMLElement | null>(null)\n\n function createWrapperAndAppendToBody(wrapperId: string) {\n const wrapperElement = document.createElement('div')\n wrapperElement.setAttribute('id', wrapperId)\n document.body.appendChild(wrapperElement)\n\n return wrapperElement\n }\n\n useLayoutEffect(() => {\n let element = document.getElementById(wrapperId)\n let systemCreated = false\n\n if (!element) {\n systemCreated = true\n element = createWrapperAndAppendToBody(wrapperId)\n }\n\n setWrapperElement(element)\n\n return () => {\n if (systemCreated && element && element.parentNode)\n element.parentNode.removeChild(element)\n }\n }, [wrapperId])\n\n if (!wrapperElement) return null\n\n return createPortal(children, wrapperElement!)\n}\n","import clsx from 'clsx'\nimport { motion, AnimatePresence } from 'framer-motion'\nimport Portal from '@/components/base/Portal'\nimport type { ModalProps } from './Modal.types'\n\nexport type { ModalProps }\n\nexport default function Modal({ children, id, open, className, showBlur = true }: ModalProps) {\n\n return (\n <>\n <Portal wrapperId={id}>\n <AnimatePresence mode='wait'>\n {open && (\n <motion.div\n className={clsx(\n 'tw:fixed tw:inset-0 tw:z-1000',\n 'tw:flex tw:flex-col tw:items-center tw:justify-center',\n showBlur && 'tw:bg-black/50 tw:backdrop-blur',\n className\n )}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2 }}\n >\n {children}\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </>\n )\n}\n","import clsx from 'clsx'\n\nexport interface HamburguerProps {\n open: boolean\n color?: string\n}\n\nexport default function Hamburguer({ open, color = 'tw:bg-white' }: HamburguerProps) {\n\n const defaultClass = clsx(\n 'tw:absolute',\n 'tw:w-[21px] tw:h-[3px] tw:rounded-full',\n 'tw:transition-transform tw:duration-300',\n color\n )\n\n return(\n\n <>\n <div\n className={clsx(\n 'tw:relative',\n 'tw:w-[21px] tw:h-4.5 tw:flex tw:flex-col tw:justify-center tw:items-center'\n )}\n >\n <span\n className={clsx(\n defaultClass,\n open ? 'tw:rotate-45' : 'tw:-translate-y-2'\n )}\n />\n\n <span\n className={clsx(\n defaultClass,\n 'tw:transition-opacity',\n open ? 'tw:opacity-0' : 'tw:opacity-100'\n )}\n />\n\n <span\n className={clsx(\n defaultClass,\n open ? 'tw:-rotate-45' : 'tw:translate-y-2'\n )}\n />\n </div>\n </>\n\n )\n\n}","import clsx from 'clsx'\nimport Icon from '@/components/common/Icon'\nimport type { QuestaoTagProps } from './Tag.types'\n\nexport default function QuestaoTag({ icon, label, status }: QuestaoTagProps) {\n\n return(\n\n <>\n <div className={clsx('tw:flex tw:items-center tw:gap-1 tw:h-7 tw:px-2')}>\n <Icon\n icon={icon}\n fontSize={12}\n className={clsx(\n status === 'certo' && 'tw:text-certo',\n status === 'errado' && 'tw:text-errado',\n status === 'parcial' && 'tw:text-parcial',\n !status && 'tw:text-primario-20'\n )}\n />\n\n {!!label && (\n <p\n className={clsx(\n 'tw:transition-colors',\n 'tw:text-xs tw:leading-full',\n status === 'certo' && 'tw:text-certo',\n status === 'errado' && 'tw:text-errado',\n status === 'parcial' && 'tw:text-parcial',\n !status && 'tw:text-primario-20'\n )}\n >\n {label}\n </p>\n )}\n </div>\n </>\n\n )\n\n}\n","import { useEffect, useState } from 'react'\nimport { isBrowser } from 'framer-motion'\n\nexport type TBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nexport default function useAppBreakpoint() {\n const [size, setSize] = useState(0)\n const [breakpoint, setBreakpoint] = useState<TBreakpoint>('sm')\n const [breakpoints, setBreakpoints] = useState({\n xl: false,\n lg: false,\n md: false,\n sm: false,\n xs: true\n })\n\n const getBreakpoint = (width: number): TBreakpoint => {\n if (width >= 1280) return 'xl'\n if (width >= 1024) return 'lg'\n if (width >= 768) return 'md'\n if (width >= 640) return 'sm'\n return 'xs'\n }\n\n const updateBreakpoints = (width: number) => {\n setBreakpoints({\n xl: width >= 1280,\n lg: width >= 1024,\n md: width >= 768,\n sm: width >= 640,\n xs: width > 0\n })\n }\n\n useEffect(() => {\n if (!isBrowser) return\n\n const handleResize = () => {\n const width = window.innerWidth\n\n setSize(width)\n setBreakpoint(getBreakpoint(width))\n updateBreakpoints(width)\n }\n\n handleResize()\n\n window.addEventListener('resize', handleResize)\n\n return () => window.removeEventListener('resize', handleResize)\n }, [])\n\n return {\n breakpoint,\n size,\n ...breakpoints\n }\n}\n","import { create } from 'zustand'\nimport { persist } from 'zustand/middleware'\nimport type { TProva } from '@/interfaces/TProva'\n\ninterface WebDsState {\n themeProva: TProva | null\n setThemeProva: (value: TProva | null) => void\n\n darkMode: boolean\n setDarkMode: (value: boolean) => void\n toggleDarkMode: () => void\n\n questionDarkMode: boolean\n setQuestionDarkMode: (value: boolean) => void\n toggleQuestionDarkMode: () => void\n\n questionGridOrientation: 'horizontal' | 'vertical'\n toggleQuestionGridOrientation: () => void\n}\n\nconst useWebDsStore = create<WebDsState>()(\n persist(\n (set) => ({\n themeProva: null,\n setThemeProva: (value) => set({ themeProva: value }),\n\n darkMode: false,\n setDarkMode: (value) => set({\n questionDarkMode: value,\n darkMode: value\n }),\n toggleDarkMode: () => set((state) => {\n const newValue = !state.darkMode\n\n return {\n questionDarkMode: newValue,\n darkMode: newValue\n }\n }),\n\n questionDarkMode: false,\n setQuestionDarkMode: (value) => set({ questionDarkMode: value }),\n toggleQuestionDarkMode: () => set((state) => ({ questionDarkMode: !state.questionDarkMode })),\n\n questionGridOrientation: 'horizontal',\n toggleQuestionGridOrientation: () => set((state) => ({\n questionGridOrientation: state.questionGridOrientation === 'horizontal' ? 'vertical' : 'horizontal'\n }))\n }),\n {\n name: 'hwm-web-ds',\n }\n )\n)\n\nexport default useWebDsStore","import clsx from 'clsx'\nimport useAppBreakpoint from '@/hooks/useAppBreakpoint'\nimport useWebDsStore from '@/store/webDsStore'\n\nexport default function QuestaoLayoutGrid({ children }: { children?: React.ReactNode }) {\n\n const { questionGridOrientation } = useWebDsStore()\n\n const { lg } = useAppBreakpoint()\n\n return(\n\n <>\n <div\n className={clsx(\n 'tw:flex tw:gap-10 tw:w-full tw:max-w-7xl tw:mx-auto',\n (lg && questionGridOrientation === 'horizontal') ? 'tw:flex-row' : 'tw:flex-col'\n )}\n >\n {children}\n </div>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutTags({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div className={clsx('tw:flex tw:flex-row tw:gap-4 tw:w-full')}>\n {children}\n </div>\n </>\n\n )\n\n}\n","export default function formatNumber(value: number | string, maxLength: number = 2): string {\n return `${value}`.padStart(maxLength, '0')\n}","export default function formatPosition(position: string) {\n\tif(/[a-zA-Z]/.test(position)) {\n\t\treturn position.toUpperCase()\n\t}\n\n\tconst numeric = Number(position)\n\tif (Number.isNaN(numeric) || numeric <= 0) {\n\t\treturn position\n\t}\n\n\tconst charCode = 64 + numeric\n\tif (charCode < 65 || charCode > 90) {\n\t\treturn position\n\t}\n\n\treturn String.fromCharCode(charCode)\n}","import clsx from 'clsx'\nimport { byPrefixAndName } from '@awesome.me/kit-a7702856b7/icons'\nimport Icon from '@/components/common/Icon'\nimport useWebDsStore from '@/store/webDsStore'\nimport formatNumber from '@/utils/formatNumber'\nimport formatPosition from '@/utils/formatPosition'\nimport type { QuestaoAlternativaProps } from './Alternativa.types'\n\nexport default function QuestaoAlternativa({\n position,\n text,\n selected,\n correct,\n answered,\n showAnswer = false,\n cancelled = false,\n percentage,\n onClick\n}: QuestaoAlternativaProps) {\n\n const { questionDarkMode } = useWebDsStore()\n\n const CHECK_DISABLED = answered || cancelled\n const CHECK_NOT_ANSWERED = (!showAnswer && answered) || !answered\n const CHECK_ANSWERED = showAnswer && answered\n \n const SHOW_ANSWER_ICON = CHECK_ANSWERED && (correct || (!correct && selected))\n \n return(\n\n <>\n <button\n className={clsx(\n 'tw:relative',\n 'tw:flex tw:items-center tw:gap-4 tw:w-full tw:min-h-14 tw:px-4 tw:py-3 tw:rounded-lg',\n 'tw:text-sm tw:whitespace-pre-wrap',\n 'tw:transition-colors',\n !CHECK_DISABLED && 'default-click-animation',\n CHECK_NOT_ANSWERED && {\n 'tw:drop-shadow-lg tw:drop-shadow-black/20': true,\n 'tw:bg-cinza-1000 tw:hover:tw:bg-cinza-900 tw:text-cinza-100': !selected && questionDarkMode,\n 'tw:bg-cinza-500 tw:text-cinza-1000': selected && questionDarkMode,\n 'tw:bg-secundario-85 tw:hover:tw:bg-secundario-95 tw:text-primario-20': !selected && !questionDarkMode,\n 'tw:bg-primario-20 tw:text-primario-80': selected && !questionDarkMode\n },\n CHECK_ANSWERED && {\n 'tw:border tw:border-certo tw:text-certo': correct,\n 'tw:border tw:border-errado tw:text-errado': !correct && selected,\n 'tw:opacity-50': !correct && !selected,\n\n 'tw:bg-cinza-1100': ((!correct && selected) || correct) && questionDarkMode,\n 'tw:bg-cinza-1000 tw:text-cinza-900': (!correct && !selected) && questionDarkMode,\n 'tw:bg-secundario-95': ((!correct && selected) || correct) && !questionDarkMode,\n 'tw:bg-secundario-85 tw:text-cinza-1000': (!correct && !selected) && !questionDarkMode\n }\n )}\n disabled={CHECK_DISABLED}\n onClick={onClick}\n >\n {!!position && (\n <p\n className={clsx(\n 'tw:transition-colors',\n 'tw:font-bold tw:text-2xl tw:leading-full'\n )}\n >\n {formatPosition(position)}\n </p>\n )}\n\n <p\n className={clsx(\n 'tw:w-full tw:transition-colors',\n 'tw:text-left tw:whitespace-pre-wrap',\n cancelled && 'tw:line-through tw:decoration-2',\n CHECK_ANSWERED && {\n 'tw:font-bold': (!correct && selected) || correct\n }\n )}\n >\n {text}\n </p>\n\n {(CHECK_ANSWERED && percentage !== undefined) && (\n <p\n className={clsx(\n 'tw:transition-colors',\n 'tw:font-bold tw:text-sm tw:leading-full'\n )}\n >\n {formatNumber(Math.round(percentage))}%\n </p>\n )}\n\n {SHOW_ANSWER_ICON && (\n <div\n className={clsx(\n 'tw:absolute tw:-top-1.5 tw:-right-1.5',\n 'tw:flex tw:items-center tw:justify-center tw:size-5 tw:rounded-full tw:bg-secundario-95 tw:transition-colors',\n )}\n >\n <Icon\n icon={byPrefixAndName.fas[correct ? 'circle-check' : 'circle-xmark']}\n fontSize={20}\n className={clsx(correct ? 'tw:text-certo' : 'tw:text-errado')}\n />\n </div>\n )}\n </button>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutMainContent({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div\n className={clsx(\n 'questao-layout-main-content',\n 'tw:flex tw:flex-col tw:gap-4 tw:w-full'\n )}\n >\n {children}\n </div>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutAlternativas({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div className={clsx('tw:flex tw:flex-col tw:gap-3 tw:w-full tw:mt-2')}>\n {children}\n </div>\n </>\n\n )\n\n}\n","import clsx from 'clsx'\n\nexport default function QuestaoLayoutExtraContent({ children }: { children?: React.ReactNode }) {\n\n return(\n\n <>\n <div\n className={clsx(\n 'questao-layout-extra-content',\n 'tw:flex tw:flex-col tw:gap-4 tw:w-full'\n )}\n >\n {children}\n </div>\n </>\n\n )\n\n}\n","import QuestaoTag from './components/common/Tag'\nimport QuestaoLayoutGrid from './components/layout/Grid'\nimport QuestaoLayoutTags from './components/layout/Tags'\nimport QuestaoAlternativa from './components/common/Alternativa/Alternativa'\nimport QuestaoLayoutMainContent from './components/layout/MainContent'\nimport QuestaoLayoutAlternativas from './components/layout/Alternativas'\nimport QuestaoLayoutExtraContent from './components/layout/ExtraContent'\n\n/**\n * Componente Questao\n * \n * Este componente serve como namespace para todos os sub-componentes relacionados a uma questão.\n */\nconst Questao = {\n Tag: QuestaoTag,\n Alternativa: QuestaoAlternativa,\n Layout: {\n Grid: QuestaoLayoutGrid,\n MainContent: QuestaoLayoutMainContent,\n Tags: QuestaoLayoutTags,\n Alternativas: QuestaoLayoutAlternativas,\n ExtraContent: QuestaoLayoutExtraContent,\n }\n}\n\nexport default Questao","'use client'\n\nimport { useEffect, useRef } from 'react'\n\ninterface TimerProps {\n timerValue: number\n setTimerValue: (value: number | ((prev: number) => number)) => void\n\n timerRunning: boolean\n setTimerRunning: (value: boolean) => void\n}\n\nexport default function useTimer({\n timerValue,\n setTimerValue,\n timerRunning,\n setTimerRunning\n}: TimerProps) {\n const intervalRef = useRef<NodeJS.Timeout | null>(null)\n\n useEffect(() => {\n if (timerRunning && timerValue > 0) {\n intervalRef.current = setInterval(() => {\n setTimerValue((prev) => Math.max(prev - 1, 0))\n }, 1000)\n }\n\n return () => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current)\n intervalRef.current = null\n }\n }\n }, [timerRunning])\n\n useEffect(() => {\n return () => {\n setTimerRunning(false)\n }\n }, [])\n\n return { timerValue, setTimerValue, timerRunning, setTimerRunning }\n}\n","import { useEffect } from 'react'\n\nexport default function useOutsideClick(\n ref: React.RefObject<HTMLElement | null>,\n callback: (open: boolean) => void,\n excludeIds: string[] = []\n) {\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (!!ref && !!ref.current && !ref.current.contains(event.target as Node)) {\n const target = event.target as HTMLElement\n const isExcluded = excludeIds.some(\n (id) => target.id === id || target.closest(`#${id}`)\n )\n\n if (!isExcluded) callback(false)\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [ref, callback])\n}\n","export default function checkEnunciadoUnderline(enunciado: string){\n const regex = /_+/\n const checkEspaco = regex.test(enunciado)\n\n if(!checkEspaco) return null\n\n const [enunciado1, enunciado2] = enunciado.split(regex)\n\n return { enunciado1, enunciado2 }\n}"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hardwork-med/hwm-web-ds",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Design System do Hardwork Medicina, para aplicações Web",
5
5
  "homepage": "https://github.com/HardworkMedicina/hwm-web-ds#readme",
6
6
  "bugs": {
@@ -69,6 +69,7 @@
69
69
  "@testing-library/react": "^14.0.0",
70
70
  "@testing-library/user-event": "^14.5.0",
71
71
  "@types/jest": "^29.5.0",
72
+ "@types/node": "^20",
72
73
  "@types/react": "^18.2.0",
73
74
  "@types/react-dom": "^18.2.0",
74
75
  "autoprefixer": "^10.4.0",
@@ -86,6 +87,7 @@
86
87
  "tailwind-scrollbar": "^4.0.2",
87
88
  "tailwindcss": "^4.0.0",
88
89
  "tailwindcss-animated": "^2.0.0",
90
+ "ts-node": "^10",
89
91
  "tslib": "^2.6.0",
90
92
  "typescript": "^5.2.0"
91
93
  }