@hardwork-med/hwm-web-ds 0.1.1 → 0.1.3

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/index.d.ts CHANGED
@@ -84,6 +84,20 @@ declare function QuestaoLayoutTags({ children }: {
84
84
  children?: React.ReactNode;
85
85
  }): react_jsx_runtime.JSX.Element;
86
86
 
87
+ interface QuestaoAlternativaProps {
88
+ position?: string
89
+ text: string
90
+ selected: boolean
91
+ correct: boolean
92
+ answered: boolean
93
+ showAnswer?: boolean
94
+ cancelled?: boolean
95
+ percentage?: string | number
96
+ onClick: React.MouseEventHandler<HTMLButtonElement>
97
+ }
98
+
99
+ declare function QuestaoAlternativa({ position, text, selected, correct, answered, showAnswer, cancelled, percentage, onClick }: QuestaoAlternativaProps): react_jsx_runtime.JSX.Element;
100
+
87
101
  declare function QuestaoLayoutMainContent({ children }: {
88
102
  children?: React.ReactNode;
89
103
  }): react_jsx_runtime.JSX.Element;
@@ -99,6 +113,7 @@ declare function QuestaoLayoutAlternativas({ children }: {
99
113
  */
100
114
  declare const Questao: {
101
115
  Tag: typeof QuestaoTag;
116
+ Alternativa: typeof QuestaoAlternativa;
102
117
  Layout: {
103
118
  Grid: typeof QuestaoLayoutGrid;
104
119
  MainContent: typeof QuestaoLayoutMainContent;
@@ -129,8 +144,8 @@ interface WebDsState {
129
144
  questionDarkMode: boolean;
130
145
  setQuestionDarkMode: (value: boolean) => void;
131
146
  toggleQuestionDarkMode: () => void;
132
- questionRowGridView: boolean;
133
- toggleQuestionRowGridView: () => void;
147
+ questionGridOrientation: 'horizontal' | 'vertical';
148
+ toggleQuestionGridOrientation: () => void;
134
149
  }
135
150
  declare const useWebDsStore: zustand.UseBoundStore<Omit<zustand.StoreApi<WebDsState>, "setState" | "persist"> & {
136
151
  setState(partial: WebDsState | Partial<WebDsState> | ((state: WebDsState) => WebDsState | Partial<WebDsState>), replace?: false | undefined): unknown;
package/dist/index.esm.js CHANGED
@@ -5,6 +5,7 @@ import { useState, useEffect } from 'react';
5
5
  import { isBrowser } from 'framer-motion';
6
6
  import { create } from 'zustand';
7
7
  import { persist } from 'zustand/middleware';
8
+ import { byPrefixAndName } from '@awesome.me/kit-a7702856b7/icons';
8
9
 
9
10
  function styleInject(css, ref) {
10
11
  if ( ref === void 0 ) ref = {};
@@ -33,7 +34,7 @@ function styleInject(css, ref) {
33
34
  }
34
35
  }
35
36
 
36
- var css_248z = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme, base, components, utilities;@layer theme{:host,:root{--tw-font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--tw-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--tw-color-green-500:oklch(72.3% 0.219 149.579);--tw-spacing:0.25rem;--tw-text-xs:0.75rem;--tw-text-xs--line-height:1.33333;--tw-text-sm:0.875rem;--tw-text-sm--line-height:1.42857;--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:1.33333;--tw-font-weight-bold:700;--tw-radius-lg:0.5rem;--tw-default-transition-duration:150ms;--tw-default-transition-timing-function:cubic-bezier(0.4,0,0.2,1);--tw-default-font-family:var(--tw-font-sans);--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:var(--tw-default-font-feature-settings,normal);-webkit-tap-highlight-color:transparent;font-family:var(--tw-default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-variation-settings:var(--tw-default-font-variation-settings,normal);line-height:1.5;tab-size:4}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-family:var(--tw-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-size:1em;font-variation-settings:var(--tw-default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{font-feature-settings:inherit;background-color:transparent;border-radius:0;color:inherit;font:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::placeholder{color:currentcolor;@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.tw\\:absolute{position:absolute}.tw\\:relative{position:relative}.tw\\:-top-1\\.5{top:calc(var(--tw-spacing)*-1.5)}.tw\\:-right-1\\.5{right:calc(var(--tw-spacing)*-1.5)}.tw\\:flex{display:flex}.tw\\:size-5{height:calc(var(--tw-spacing)*5);width:calc(var(--tw-spacing)*5)}.tw\\:h-7{height:calc(var(--tw-spacing)*7)}.tw\\:min-h-14{min-height:calc(var(--tw-spacing)*14)}.tw\\:w-full{width:100%}.tw\\:items-center{align-items:center}.tw\\:justify-center{justify-content:center}.tw\\:gap-1{gap:calc(var(--tw-spacing)*1)}.tw\\:gap-4{gap:calc(var(--tw-spacing)*4)}.tw\\:rounded-full{border-radius:calc(infinity * 1px)}.tw\\:rounded-lg{border-radius:var(--tw-radius-lg)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-certo{border-color:#26b079}.tw\\:border-errado{border-color:#e14942}.tw\\:bg-cinza-500{background-color:#ccc}.tw\\:bg-cinza-1000{background-color:#303030}.tw\\:bg-cinza-1100{background-color:#1d1d1d}.tw\\:bg-primario-20{background-color:#333}.tw\\:bg-secundario-85{background-color:#d9d9d9}.tw\\:bg-secundario-95{background-color:#f2f2f2}.tw\\:px-2{padding-inline:calc(var(--tw-spacing)*2)}.tw\\:px-4{padding-inline:calc(var(--tw-spacing)*4)}.tw\\:py-3{padding-block:calc(var(--tw-spacing)*3)}.tw\\:text-left{text-align:left}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:leading-full{--tw-leading:100%;line-height:100%}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:text-certo{color:#26b079}.tw\\:text-cinza-100{color:#fcfcfc}.tw\\:text-cinza-900{color:#656565}.tw\\:text-cinza-1000{color:#303030}.tw\\:text-errado{color:#e14942}.tw\\:text-green-500{color:var(--tw-color-green-500)}.tw\\:text-parcial{color:#e1c942}.tw\\:text-primario-20{color:#333}.tw\\:text-primario-80{color:#ccc}.tw\\:line-through{text-decoration-line:line-through}.tw\\:decoration-2{text-decoration-thickness:2px}.tw\\:opacity-50{opacity:50%}.tw\\:transition-colors{transition-duration:var(--tw-duration,var(--tw-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function))}}@layer utilities{.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}}[data-theme-area=CM]{--color-theme-area-base:var(--color-area-cm)}[data-theme-area=CG]{--color-theme-area-base:var(--color-area-cg)}[data-theme-area=GO]{--color-theme-area-base:var(--color-area-go)}[data-theme-area=PD]{--color-theme-area-base:var(--color-area-pd)}[data-theme-area=MP]{--color-theme-area-base:var(--color-area-mp)}.default-click-animation{cursor:pointer;transition-duration:var(--tw-duration,var(--tw-default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));&:hover{@media (hover:hover){--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}}&:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@keyframes progressSuccess{0%{width:0}to{width:100%}}@layer base{*{scrollbar-color:auto;scrollbar-width:auto}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}";
37
+ var css_248z = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme, base, components, utilities;@layer theme{:host,:root{--tw-font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--tw-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--tw-color-green-500:oklch(72.3% 0.219 149.579);--tw-spacing:0.25rem;--tw-container-7xl:80rem;--tw-text-xs:0.75rem;--tw-text-xs--line-height:1.33333;--tw-text-sm:0.875rem;--tw-text-sm--line-height:1.42857;--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:1.33333;--tw-font-weight-bold:700;--tw-radius-lg:0.5rem;--tw-default-transition-duration:150ms;--tw-default-transition-timing-function:cubic-bezier(0.4,0,0.2,1);--tw-default-font-family:var(--tw-font-sans);--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:var(--tw-default-font-feature-settings,normal);-webkit-tap-highlight-color:transparent;font-family:var(--tw-default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-variation-settings:var(--tw-default-font-variation-settings,normal);line-height:1.5;tab-size:4}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-family:var(--tw-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-size:1em;font-variation-settings:var(--tw-default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{font-feature-settings:inherit;background-color:transparent;border-radius:0;color:inherit;font:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::placeholder{color:currentcolor;@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.tw\\:absolute{position:absolute}.tw\\:relative{position:relative}.tw\\:-top-1\\.5{top:calc(var(--tw-spacing)*-1.5)}.tw\\:-right-1\\.5{right:calc(var(--tw-spacing)*-1.5)}.tw\\:mx-auto{margin-inline:auto}.tw\\:mt-2{margin-top:calc(var(--tw-spacing)*2)}.tw\\:mb-4{margin-bottom:calc(var(--tw-spacing)*4)}.tw\\:flex{display:flex}.tw\\:size-5{height:calc(var(--tw-spacing)*5);width:calc(var(--tw-spacing)*5)}.tw\\:h-7{height:calc(var(--tw-spacing)*7)}.tw\\:min-h-14{min-height:calc(var(--tw-spacing)*14)}.tw\\:w-full{width:100%}.tw\\:max-w-7xl{max-width:var(--tw-container-7xl)}.tw\\:flex-col{flex-direction:column}.tw\\:flex-row{flex-direction:row}.tw\\:items-center{align-items:center}.tw\\:justify-center{justify-content:center}.tw\\:gap-1{gap:calc(var(--tw-spacing)*1)}.tw\\:gap-3{gap:calc(var(--tw-spacing)*3)}.tw\\:gap-4{gap:calc(var(--tw-spacing)*4)}.tw\\:gap-10{gap:calc(var(--tw-spacing)*10)}.tw\\:rounded-full{border-radius:calc(infinity * 1px)}.tw\\:rounded-lg{border-radius:var(--tw-radius-lg)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-certo{border-color:#26b079}.tw\\:border-errado{border-color:#e14942}.tw\\:bg-cinza-500{background-color:#ccc}.tw\\:bg-cinza-1000{background-color:#303030}.tw\\:bg-cinza-1100{background-color:#1d1d1d}.tw\\:bg-primario-20{background-color:#333}.tw\\:bg-secundario-85{background-color:#d9d9d9}.tw\\:bg-secundario-95{background-color:#f2f2f2}.tw\\:px-2{padding-inline:calc(var(--tw-spacing)*2)}.tw\\:px-4{padding-inline:calc(var(--tw-spacing)*4)}.tw\\:py-3{padding-block:calc(var(--tw-spacing)*3)}.tw\\:text-left{text-align:left}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:leading-full{--tw-leading:100%;line-height:100%}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:text-certo{color:#26b079}.tw\\:text-cinza-100{color:#fcfcfc}.tw\\:text-cinza-900{color:#656565}.tw\\:text-cinza-1000{color:#303030}.tw\\:text-errado{color:#e14942}.tw\\:text-green-500{color:var(--tw-color-green-500)}.tw\\:text-parcial{color:#e1c942}.tw\\:text-primario-20{color:#333}.tw\\:text-primario-80{color:#ccc}.tw\\:line-through{text-decoration-line:line-through}.tw\\:decoration-2{text-decoration-thickness:2px}.tw\\:opacity-50{opacity:50%}.tw\\:transition-colors{transition-duration:var(--tw-duration,var(--tw-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function))}}@layer utilities{.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}}[data-theme-area=CM]{--color-theme-area-base:var(--color-area-cm)}[data-theme-area=CG]{--color-theme-area-base:var(--color-area-cg)}[data-theme-area=GO]{--color-theme-area-base:var(--color-area-go)}[data-theme-area=PD]{--color-theme-area-base:var(--color-area-pd)}[data-theme-area=MP]{--color-theme-area-base:var(--color-area-mp)}.default-click-animation{cursor:pointer;transition-duration:var(--tw-duration,var(--tw-default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));&:hover{@media (hover:hover){--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}}&:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@keyframes progressSuccess{0%{width:0}to{width:100%}}@layer base{*{scrollbar-color:auto;scrollbar-width:auto}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}";
37
38
  styleInject(css_248z,{"insertAt":"top"});
38
39
 
39
40
  function Icon({ fontSize = 14, duotone = false, duotoneColor, primaryOpacity = 1, secondaryOpacity = 0.4, ...props }) {
@@ -103,21 +104,87 @@ function useAppBreakpoint() {
103
104
  };
104
105
  }
105
106
 
107
+ const useWebDsStore = create()(persist((set) => ({
108
+ themeProva: null,
109
+ setThemeProva: (value) => set({ themeProva: value }),
110
+ darkMode: false,
111
+ setDarkMode: (value) => set({
112
+ questionDarkMode: value,
113
+ darkMode: value
114
+ }),
115
+ toggleDarkMode: () => set((state) => {
116
+ const newValue = !state.darkMode;
117
+ return {
118
+ questionDarkMode: newValue,
119
+ darkMode: newValue
120
+ };
121
+ }),
122
+ questionDarkMode: false,
123
+ setQuestionDarkMode: (value) => set({ questionDarkMode: value }),
124
+ toggleQuestionDarkMode: () => set((state) => ({ questionDarkMode: !state.questionDarkMode })),
125
+ questionGridOrientation: 'horizontal',
126
+ toggleQuestionGridOrientation: () => set((state) => ({
127
+ questionGridOrientation: state.questionGridOrientation === 'horizontal' ? 'vertical' : 'horizontal'
128
+ }))
129
+ }), {
130
+ name: 'hwm-web-ds',
131
+ }));
132
+
106
133
  function QuestaoLayoutGrid({ children }) {
134
+ const { questionGridOrientation } = useWebDsStore();
107
135
  const { lg } = useAppBreakpoint();
108
- return (jsx(Fragment, { children: jsx("div", { className: clsx('flex gap-10 w-full max-w-7xl mx-auto', (lg) ? 'flex-row' : 'flex-col'), children: children }) }));
136
+ return (jsx(Fragment, { children: jsx("div", { className: clsx('tw:flex tw:gap-10 tw:w-full tw:max-w-7xl tw:mx-auto', (lg && questionGridOrientation === 'horizontal') ? 'tw:flex-row' : 'tw:flex-col'), children: children }) }));
109
137
  }
110
138
 
111
139
  function QuestaoLayoutTags({ children }) {
112
- return (jsx(Fragment, { children: jsx("div", { className: clsx('flex flex-row gap-4 w-full'), children: children }) }));
140
+ return (jsx(Fragment, { children: jsx("div", { className: clsx('tw:flex tw:flex-row tw:gap-4 tw:w-full tw:mb-4'), children: children }) }));
141
+ }
142
+
143
+ function formatPosition(position) {
144
+ if (/[a-zA-Z]/.test(position)) {
145
+ return position.toUpperCase();
146
+ }
147
+ const numeric = Number(position);
148
+ if (Number.isNaN(numeric) || numeric <= 0) {
149
+ return position;
150
+ }
151
+ const charCode = 64 + numeric;
152
+ if (charCode < 65 || charCode > 90) {
153
+ return position;
154
+ }
155
+ return String.fromCharCode(charCode);
156
+ }
157
+
158
+ function QuestaoAlternativa({ position, text, selected, correct, answered, showAnswer = false, cancelled = false, percentage, onClick }) {
159
+ const { questionDarkMode } = useWebDsStore();
160
+ const CHECK_DISABLED = answered || cancelled;
161
+ const CHECK_NOT_ANSWERED = (!showAnswer && answered) || !answered;
162
+ const CHECK_ANSWERED = showAnswer && answered;
163
+ const SHOW_ANSWER_ICON = CHECK_ANSWERED && (correct || (!correct && selected));
164
+ return (jsx(Fragment, { children: jsxs("button", { className: clsx('tw:relative', 'tw:flex tw:items-center tw:gap-4 tw:w-full tw:min-h-14 tw:px-4 tw:py-3 tw:rounded-lg tw:transition-colors', 'tw:text-sm tw:whitespace-pre-wrap', 'tw:transition-colors', !CHECK_DISABLED && 'tw:default-click-animation', CHECK_NOT_ANSWERED && {
165
+ 'tw:bg-cinza-1000 tw:hover:tw:bg-cinza-900 tw:text-cinza-100': !selected && questionDarkMode,
166
+ 'tw:bg-cinza-500 tw:text-cinza-1000': selected && questionDarkMode,
167
+ 'tw:bg-secundario-85 tw:hover:tw:bg-secundario-95 tw:text-primario-20': !selected && !questionDarkMode,
168
+ 'tw:bg-primario-20 tw:text-primario-80': selected && !questionDarkMode
169
+ }, CHECK_ANSWERED && {
170
+ 'tw:border tw:border-certo tw:text-certo': correct,
171
+ 'tw:border tw:border-errado tw:text-errado': !correct && selected,
172
+ 'tw:opacity-50': !correct && !selected,
173
+ 'tw:bg-cinza-1100': ((!correct && selected) || correct) && questionDarkMode,
174
+ 'tw:bg-cinza-1000 tw:text-cinza-900': (!correct && !selected) && questionDarkMode,
175
+ 'tw:bg-secundario-95': ((!correct && selected) || correct) && !questionDarkMode,
176
+ 'tw:bg-secundario-85 tw:text-cinza-1000': (!correct && !selected) && !questionDarkMode
177
+ }), disabled: CHECK_DISABLED, onClick: onClick, children: [!!position && (jsx("p", { className: clsx('tw:transition-colors', 'tw:font-bold tw:text-2xl tw:leading-full'), children: formatPosition(position) })), jsx("p", { className: clsx('tw:w-full tw:transition-colors', 'tw:text-left tw:whitespace-pre-wrap', cancelled && 'tw:line-through tw:decoration-2', CHECK_ANSWERED && {
178
+ 'tw:font-bold': (!correct && selected) || correct
179
+ }), children: text }), (CHECK_ANSWERED && percentage !== undefined) && (jsxs("p", { className: clsx('tw:transition-colors', 'tw:font-bold tw:text-sm tw:leading-full'), children: [`${percentage}`.padStart(2, '0'), "%"] })), SHOW_ANSWER_ICON && (jsx("div", { className: clsx('tw:absolute tw:-top-1.5 tw:-right-1.5', 'tw:flex tw:items-center tw:justify-center tw:size-5 tw:rounded-full tw:bg-secundario-95 tw:transition-colors'), children: jsx(Icon, { icon: byPrefixAndName.fas[correct ? 'circle-check' : 'circle-xmark'], fontSize: 20, className: clsx(correct ? 'tw:text-certo' : 'tw:text-errado') }) }))] }) }));
113
180
  }
114
181
 
115
182
  function QuestaoLayoutMainContent({ children }) {
116
- return (jsx(Fragment, { children: jsx("div", { className: clsx('flex flex-col w-full'), children: children }) }));
183
+ return (jsx(Fragment, { children: jsx("div", { className: clsx('tw:flex tw:flex-col tw:gap-4 tw:w-full'), children: children }) }));
117
184
  }
118
185
 
119
186
  function QuestaoLayoutAlternativas({ children }) {
120
- return (jsx(Fragment, { children: jsx("div", { className: clsx('flex flex-col gap-3 w-full'), children: children }) }));
187
+ return (jsx(Fragment, { children: jsx("div", { className: clsx('tw:flex tw:flex-col tw:gap-3 tw:w-full tw:mt-2'), children: children }) }));
121
188
  }
122
189
 
123
190
  /**
@@ -127,6 +194,7 @@ function QuestaoLayoutAlternativas({ children }) {
127
194
  */
128
195
  const Questao = {
129
196
  Tag: QuestaoTag,
197
+ Alternativa: QuestaoAlternativa,
130
198
  Layout: {
131
199
  Grid: QuestaoLayoutGrid,
132
200
  MainContent: QuestaoLayoutMainContent,
@@ -152,45 +220,6 @@ function useOutsideClick(ref, callback, excludeIds = []) {
152
220
  }, [ref, callback]);
153
221
  }
154
222
 
155
- const useWebDsStore = create()(persist((set) => ({
156
- themeProva: null,
157
- setThemeProva: (value) => set({ themeProva: value }),
158
- darkMode: false,
159
- setDarkMode: (value) => set({
160
- questionDarkMode: value,
161
- darkMode: value
162
- }),
163
- toggleDarkMode: () => set((state) => {
164
- const newValue = !state.darkMode;
165
- return {
166
- questionDarkMode: newValue,
167
- darkMode: newValue
168
- };
169
- }),
170
- questionDarkMode: false,
171
- setQuestionDarkMode: (value) => set({ questionDarkMode: value }),
172
- toggleQuestionDarkMode: () => set((state) => ({ questionDarkMode: !state.questionDarkMode })),
173
- questionRowGridView: false,
174
- toggleQuestionRowGridView: () => set((state) => ({ questionRowGridView: !state.questionRowGridView }))
175
- }), {
176
- name: 'hwm-web-ds',
177
- }));
178
-
179
- function formatPosition(position) {
180
- if (/[a-zA-Z]/.test(position)) {
181
- return position.toUpperCase();
182
- }
183
- const numeric = Number(position);
184
- if (Number.isNaN(numeric) || numeric <= 0) {
185
- return position;
186
- }
187
- const charCode = 64 + numeric;
188
- if (charCode < 65 || charCode > 90) {
189
- return position;
190
- }
191
- return String.fromCharCode(charCode);
192
- }
193
-
194
223
  function checkEnunciadoUnderline(enunciado) {
195
224
  const regex = /_+/;
196
225
  const checkEspaco = regex.test(enunciado);
@@ -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/modules/questao/components/common/Tag/Tag.tsx","../src/hooks/useAppBreakpoint/index.ts","../src/modules/questao/components/layout/Grid/index.tsx","../src/modules/questao/components/layout/Tags/index.tsx","../src/modules/questao/components/layout/MainContent/index.tsx","../src/modules/questao/components/layout/Alternativas/index.tsx","../src/modules/questao/index.ts","../src/hooks/useOutsideClick/index.ts","../src/store/webDsStore/index.ts","../src/utils/formatPosition/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 = 14,\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 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 clsx from 'clsx'\nimport useAppBreakpoint from '@/hooks/useAppBreakpoint'\n\nexport default function QuestaoLayoutGrid({ children }: { children?: React.ReactNode }) {\n\n const { lg } = useAppBreakpoint()\n\n return(\n\n <>\n <div\n className={clsx(\n 'flex gap-10 w-full max-w-7xl mx-auto',\n (lg) ? 'flex-row' : '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('flex flex-row gap-4 w-full')}>\n {children}\n </div>\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 className={clsx('flex flex-col w-full')}>\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('flex flex-col gap-3 w-full')}>\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 QuestaoLayoutMainContent from './components/layout/MainContent'\nimport QuestaoLayoutAlternativas from './components/layout/Alternativas'\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 Layout: {\n Grid: QuestaoLayoutGrid,\n MainContent: QuestaoLayoutMainContent,\n Tags: QuestaoLayoutTags,\n Alternativas: QuestaoLayoutAlternativas,\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","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 questionRowGridView: boolean\n toggleQuestionRowGridView: () => 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 questionRowGridView: false,\n toggleQuestionRowGridView: () => set((state) => ({ questionRowGridView: !state.questionRowGridView }))\n }),\n {\n name: 'hwm-web-ds',\n }\n )\n)\n\nexport default useWebDsStore","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}","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","_jsxs","_Fragment"],"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/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/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/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 = 14,\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 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 tw:mb-4')}>\n {children}\n </div>\n </>\n\n )\n\n}\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 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 tw:transition-colors',\n 'tw:text-sm tw:whitespace-pre-wrap',\n 'tw:transition-colors',\n !CHECK_DISABLED && 'tw:default-click-animation',\n CHECK_NOT_ANSWERED && {\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 {`${percentage}`.padStart(2, '0')}%\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 className={clsx('tw:flex tw:flex-col tw:gap-4 tw:w-full')}>\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 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'\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 }\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","_jsxs","_Fragment"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,6 +1,7 @@
1
1
  import QuestaoTag from './components/common/Tag';
2
2
  import QuestaoLayoutGrid from './components/layout/Grid';
3
3
  import QuestaoLayoutTags from './components/layout/Tags';
4
+ import QuestaoAlternativa from './components/common/Alternativa/Alternativa';
4
5
  import QuestaoLayoutMainContent from './components/layout/MainContent';
5
6
  import QuestaoLayoutAlternativas from './components/layout/Alternativas';
6
7
  /**
@@ -10,6 +11,7 @@ import QuestaoLayoutAlternativas from './components/layout/Alternativas';
10
11
  */
11
12
  declare const Questao: {
12
13
  Tag: typeof QuestaoTag;
14
+ Alternativa: typeof QuestaoAlternativa;
13
15
  Layout: {
14
16
  Grid: typeof QuestaoLayoutGrid;
15
17
  MainContent: typeof QuestaoLayoutMainContent;
@@ -8,8 +8,8 @@ interface WebDsState {
8
8
  questionDarkMode: boolean;
9
9
  setQuestionDarkMode: (value: boolean) => void;
10
10
  toggleQuestionDarkMode: () => void;
11
- questionRowGridView: boolean;
12
- toggleQuestionRowGridView: () => void;
11
+ questionGridOrientation: 'horizontal' | 'vertical';
12
+ toggleQuestionGridOrientation: () => void;
13
13
  }
14
14
  declare const useWebDsStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<WebDsState>, "setState" | "persist"> & {
15
15
  setState(partial: WebDsState | Partial<WebDsState> | ((state: WebDsState) => WebDsState | Partial<WebDsState>), replace?: false | undefined): unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hardwork-med/hwm-web-ds",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
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": {