@cuemath/leap 2.8.35-aa0 → 2.8.35-beta-0.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/assets/line-icons/icons/sheet.js +54 -0
- package/dist/assets/line-icons/icons/sheet.js.map +1 -0
- package/dist/features/analytics-events/whitelist-events.js +15 -13
- package/dist/features/analytics-events/whitelist-events.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +54 -63
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +194 -0
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js +10 -0
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js +9 -0
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js +9 -0
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js +19 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +47 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js +22 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +60 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js +6 -0
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js +19 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js +22 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js +17 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +95 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js +63 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +199 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js +8 -0
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +1 -0
- package/dist/features/ui/grade-selector/grade-tab.js +15 -15
- package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js +28 -0
- package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +1 -0
- package/dist/features/ui/inputs/searchable-input/searchable-input.js +101 -0
- package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -0
- package/dist/features/ui/tab/tab-styled.js +7 -8
- package/dist/features/ui/tab/tab-styled.js.map +1 -1
- package/dist/features/ui/tab/tab.js +36 -31
- package/dist/features/ui/tab/tab.js.map +1 -1
- package/dist/features/ui/theme/tab.js +3 -3
- package/dist/features/ui/theme/tab.js.map +1 -1
- package/dist/index.d.ts +37 -4
- package/dist/index.js +348 -344
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"resources-assign.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-assign/resources-assign.tsx"],"sourcesContent":["import type { IExtraPracticeQuery } from './api/get-resource';\nimport type { IResourceItemStep } from './comps/resource-item/resource-item-types';\nimport type { IEPResourceAssign, IResourceData } from './resources-assign-type';\nimport type { FC } from 'react';\n\nimport { pluralize } from 'humanize-plus';\nimport { memo, useCallback, useEffect, useState } from 'react';\n\nimport Back2Icon from '../../../../assets/line-icons/icons/back2';\nimport Button from '../../../ui/buttons/button/button';\nimport { useUIContext } from '../../../ui/context/context';\nimport SearchableInput from '../../../ui/inputs/searchable-input/searchable-input';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport AddedResourceAndFilters from './added-resource-and-filters';\nimport { useGetSearchResource } from './api/get-resource';\nimport { usePostMilestoneResource } from './api/goal-resource-assign';\nimport { usePostLPARResource } from './api/lpar-resource-assign';\nimport { RESOURCE_ASSIGN_ANALYTICS_EVENTS } from './resource-assign-analytics-events';\nimport ResourceItems from './resource-items/resource-items';\nimport * as Styled from './resources-assign-styled';\nimport { checkIfFiltersAreAdded } from './utils';\n\nconst EPResourceAssign: FC<IEPResourceAssign> = memo(props => {\n const {\n studentId,\n stream,\n onResourceAssign,\n onError,\n onExitResourceAssign,\n onViewResource,\n userMilestoneId,\n programId,\n } = props;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const [pageNumber, setPageNumber] = useState(1);\n const [searchValue, setSearchValue] = useState('');\n const [searchQuery, setSearchQuery] = useState<IExtraPracticeQuery>({\n stream: stream,\n page: pageNumber,\n per_page: 50,\n user_id: studentId,\n user_milestone_id: userMilestoneId,\n program_id: programId,\n });\n const [resourceItems, setResourceItems] = useState<IResourceData['results']>([]);\n const [selectedResourceItems, setSelectedResource] = useState<IResourceData['results']>([]);\n\n const handleOnResourceAssignComplete = useCallback(\n (errorMessage: string | null) => {\n if (errorMessage) {\n onError(errorMessage);\n } else {\n const toastMessage = `${pluralize(selectedResourceItems.length, 'Resource')} ${\n selectedResourceItems.length > 1 ? 'have' : 'has'\n } been assigned`;\n\n onResourceAssign(toastMessage);\n }\n },\n [onError, onResourceAssign, selectedResourceItems],\n );\n\n const {\n get: getSearchResource,\n data: resourceSearchData,\n isProcessing,\n isProcessingFailed,\n isStale: isResourceSearchStale,\n } = useGetSearchResource();\n\n const { post: postAssignGoalResource, isProcessing: goalResourceAssignInProgress } =\n usePostMilestoneResource({\n onComplete: handleOnResourceAssignComplete,\n });\n const { post: postAssignLPARResource, isProcessing: lparResourceAssignInProgress } =\n usePostLPARResource({\n onComplete: handleOnResourceAssignComplete,\n });\n\n const handleOnSearchQueryChange = (updatedQuery: Omit<IExtraPracticeQuery, 'stream'>) => {\n setSearchQuery(prev => ({ ...prev, ...updatedQuery }));\n };\n\n const handleOnResourceAdditionOrDeletion = useCallback(\n (step: IResourceItemStep, resourceNodeId: string) => {\n if (step === 'select') {\n const resourceItem = resourceItems.find(resource => resource.node_id === resourceNodeId);\n\n if (resourceItem) {\n setSelectedResource(prev => {\n return [...prev, resourceItem];\n });\n }\n } else {\n setSelectedResource(prev =>\n prev.filter(prevResource => prevResource.node_id !== resourceNodeId),\n );\n }\n },\n [resourceItems],\n );\n\n const handleScrollPagination = (newPageNumber: number) => {\n getSearchResource('ep-dummy-id', {\n ...searchQuery,\n page: newPageNumber,\n });\n setPageNumber(newPageNumber);\n };\n\n const handleSearchTextChange = (value: string) => {\n setSearchValue(value);\n };\n\n const handleSearch = useCallback(\n (searchOnClear?: boolean) => {\n trackEvent(RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_SEARCH_INPUT_VALUE, {\n search_term: searchValue,\n });\n\n setSearchQuery(prev => ({\n ...prev,\n search_term: searchOnClear ? '' : searchValue,\n }));\n },\n [searchValue, trackEvent],\n );\n\n const fetchResource = useCallback(() => {\n if (checkIfFiltersAreAdded(searchQuery) || searchQuery.stream) {\n getSearchResource('ep-dummy-id', searchQuery);\n }\n }, [searchQuery, getSearchResource]);\n\n const handleOnResourceAssign = useCallback(() => {\n if (userMilestoneId) {\n postAssignGoalResource(\n {\n node_ids: selectedResourceItems.map(resource => resource.node_id),\n },\n { userMilestoneId },\n );\n } else if (programId) {\n postAssignLPARResource(\n {\n nodes: selectedResourceItems.map(({ node_id: nodeId }) => ({\n id: nodeId,\n attempt_location: 'ANY',\n })),\n program_id: programId,\n },\n { studentId },\n );\n }\n }, [\n postAssignGoalResource,\n userMilestoneId,\n selectedResourceItems,\n postAssignLPARResource,\n programId,\n studentId,\n ]);\n\n useEffect(() => {\n fetchResource();\n }, [fetchResource]);\n\n useEffect(() => {\n if (!isProcessing && isResourceSearchStale) {\n fetchResource();\n }\n }, [fetchResource, isProcessing, isResourceSearchStale]);\n\n useEffect(() => {\n if (resourceSearchData) {\n setResourceItems(prev => {\n const updatedData =\n pageNumber !== 1 ? [...prev, ...resourceSearchData.results] : resourceSearchData.results;\n\n return Array.from(new Map(updatedData.map(item => [item.id, item])).values());\n });\n }\n }, [resourceSearchData, pageNumber]);\n\n if (isProcessingFailed) {\n return (\n <FlexView $height=\"100%\" $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n analyticsLabel=\"resource_get_api_failed\"\n onClick={fetchResource}\n />\n </FlexView>\n </FlexView>\n );\n }\n\n const { filters, total_pages: totalPages = 0 } = resourceSearchData || {};\n const { boards = [], grades = [], node_types: nodeTypes = [] } = filters || {};\n const isFilterAdded = checkIfFiltersAreAdded(searchQuery);\n\n return (\n <FlexView $flexDirection=\"row\" $height=\"100vh\">\n <Styled.SearchContainer $width=\"60%\">\n <Styled.HeaderWrapper\n $heightX={4}\n $background=\"WHITE_3\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <SearchableInput\n value={searchValue}\n onSearchTextChange={handleSearchTextChange}\n renderAs=\"primary\"\n width=\"99%\"\n size=\"regular\"\n label=\"Type topic name...\"\n onEnter={handleSearch}\n searchOnClear\n onPrefixElementClick={onExitResourceAssign}\n prefixElement={<Back2Icon />}\n />\n </Styled.HeaderWrapper>\n\n <FlexView $height=\"calc(100vh - 64px)\" $position=\"relative\">\n {isProcessing && <Styled.LoaderWrapper />}\n\n <ResourceItems\n resourceItems={resourceItems}\n selectedResource={selectedResourceItems}\n pageNumber={pageNumber}\n totalPages={totalPages}\n assigningInProgress={goalResourceAssignInProgress || lparResourceAssignInProgress}\n isFilterAdded={isFilterAdded}\n onResourceAdditionOrDeletion={handleOnResourceAdditionOrDeletion}\n onResourceAssign={handleOnResourceAssign}\n onViewResource={onViewResource}\n onPageNumberUpdate={handleScrollPagination}\n />\n </FlexView>\n </Styled.SearchContainer>\n\n <FlexView $width=\"40%\">\n <AddedResourceAndFilters\n boards={boards}\n grades={grades}\n nodeTypes={nodeTypes}\n selectedResources={selectedResourceItems}\n onResourceDeSelection={handleOnResourceAdditionOrDeletion}\n onFilterUpdate={handleOnSearchQueryChange}\n onViewResource={onViewResource}\n />\n </FlexView>\n </FlexView>\n );\n});\n\nexport default EPResourceAssign;\n"],"names":["EPResourceAssign","memo","props","studentId","stream","onResourceAssign","onError","onExitResourceAssign","onViewResource","userMilestoneId","programId","trackEvent","useUIContext","pageNumber","setPageNumber","useState","searchValue","setSearchValue","searchQuery","setSearchQuery","resourceItems","setResourceItems","selectedResourceItems","setSelectedResource","handleOnResourceAssignComplete","useCallback","errorMessage","toastMessage","pluralize","getSearchResource","resourceSearchData","isProcessing","isProcessingFailed","isResourceSearchStale","useGetSearchResource","postAssignGoalResource","goalResourceAssignInProgress","usePostMilestoneResource","postAssignLPARResource","lparResourceAssignInProgress","usePostLPARResource","handleOnSearchQueryChange","updatedQuery","prev","handleOnResourceAdditionOrDeletion","step","resourceNodeId","resourceItem","resource","prevResource","handleScrollPagination","newPageNumber","handleSearchTextChange","value","handleSearch","searchOnClear","RESOURCE_ASSIGN_ANALYTICS_EVENTS","fetchResource","checkIfFiltersAreAdded","handleOnResourceAssign","nodeId","useEffect","updatedData","item","jsx","FlexView","jsxs","Text","Button","filters","totalPages","boards","grades","nodeTypes","isFilterAdded","Styled.SearchContainer","Styled.HeaderWrapper","SearchableInput","Back2Icon","Styled.LoaderWrapper","ResourceItems","AddedResourceAndFilters","EPResourceAssign$1"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-assign/utils.ts"],"sourcesContent":["import type { IExtraPracticeQuery } from './api/get-resource';\n\nconst checkIfFiltersAreAdded = (searchQuery: IExtraPracticeQuery) => {\n const { node_type: nodeType, grade, board, search_term: searchTerm } = searchQuery;\n\n return Boolean(searchTerm || nodeType || grade || board);\n};\n\nexport { checkIfFiltersAreAdded };\n"],"names":["checkIfFiltersAreAdded","searchQuery","nodeType","grade","board","searchTerm"],"mappings":"AAEM,MAAAA,IAAyB,CAACC,MAAqC;AACnE,QAAM,EAAE,WAAWC,GAAU,OAAAC,GAAO,OAAAC,GAAO,aAAaC,EAAe,IAAAJ;AAEvE,SAAO,GAAQI,KAAcH,KAAYC,KAASC;AACpD;"}
|
@@ -1,27 +1,27 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { useCallback as
|
3
|
-
import
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
2
|
+
import { useCallback as n } from "react";
|
3
|
+
import p from "../tab/tab.js";
|
4
4
|
const u = ({
|
5
|
-
renderAs:
|
6
|
-
size:
|
7
|
-
label:
|
5
|
+
renderAs: o = "primary",
|
6
|
+
size: t = "regular",
|
7
|
+
label: a,
|
8
8
|
selected: i,
|
9
|
-
width:
|
9
|
+
width: m,
|
10
10
|
onSelect: r,
|
11
11
|
grade: e
|
12
12
|
}) => {
|
13
|
-
const
|
13
|
+
const s = n(() => {
|
14
14
|
r(e);
|
15
15
|
}, [e, r]);
|
16
|
-
return /* @__PURE__ */
|
17
|
-
|
16
|
+
return /* @__PURE__ */ l(
|
17
|
+
p,
|
18
18
|
{
|
19
|
-
label:
|
19
|
+
label: a,
|
20
20
|
$selected: i,
|
21
|
-
$width:
|
22
|
-
$renderAs:
|
23
|
-
$size:
|
24
|
-
onClick:
|
21
|
+
$width: m,
|
22
|
+
$renderAs: o,
|
23
|
+
$size: t,
|
24
|
+
onClick: s
|
25
25
|
}
|
26
26
|
);
|
27
27
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"grade-tab.js","sources":["../../../../src/features/ui/grade-selector/grade-tab.tsx"],"sourcesContent":["import type { IGradeTabProps } from './grade-selector-types';\n\nimport React, { useCallback } from 'react';\n\nimport Tab from '../tab/tab';\n\nconst GradeTab: React.FC<IGradeTabProps> = ({\n renderAs = 'primary',\n size = 'regular',\n label,\n selected,\n width,\n onSelect,\n grade,\n}) => {\n const handleClick = useCallback(() => {\n onSelect(grade);\n }, [grade, onSelect]);\n\n return (\n <Tab\n label={label}\n $selected={selected}\n $width={width}\n $renderAs={renderAs}\n $size={size}\n onClick={handleClick}\n />\n );\n};\n\nexport default GradeTab;\n"],"names":["GradeTab","renderAs","size","label","selected","width","onSelect","grade","handleClick","useCallback","jsx","Tab"],"mappings":";;;AAMA,MAAMA,IAAqC,CAAC;AAAA,EAC1C,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAAC,IAAcC,EAAY,MAAM;AACpC,IAAAH,EAASC,CAAK;AAAA,EAAA,GACb,CAACA,GAAOD,CAAQ,CAAC;AAGlB,SAAA,gBAAAI;AAAA,IAACC;
|
1
|
+
{"version":3,"file":"grade-tab.js","sources":["../../../../src/features/ui/grade-selector/grade-tab.tsx"],"sourcesContent":["import type { IGradeTabProps } from './grade-selector-types';\n\nimport React, { useCallback } from 'react';\n\nimport Tab from '../tab/tab';\n\nconst GradeTab: React.FC<IGradeTabProps> = ({\n renderAs = 'primary',\n size = 'regular',\n label,\n selected,\n width,\n onSelect,\n grade,\n}) => {\n const handleClick = useCallback(() => {\n onSelect(grade);\n }, [grade, onSelect]);\n\n return (\n <Tab\n label={label}\n $selected={selected}\n $width={width}\n $renderAs={renderAs}\n $size={size}\n onClick={handleClick}\n />\n );\n};\n\nexport default GradeTab;\n"],"names":["GradeTab","renderAs","size","label","selected","width","onSelect","grade","handleClick","useCallback","jsx","Tab"],"mappings":";;;AAMA,MAAMA,IAAqC,CAAC;AAAA,EAC1C,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAAC,IAAcC,EAAY,MAAM;AACpC,IAAAH,EAASC,CAAK;AAAA,EAAA,GACb,CAACA,GAAOD,CAAQ,CAAC;AAGlB,SAAA,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAAR;AAAA,MACA,WAAWC;AAAA,MACX,QAAQC;AAAA,MACR,WAAWJ;AAAA,MACX,OAAOC;AAAA,MACP,SAASM;AAAA,IAAA;AAAA,EAAA;AAGf;"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import r from "styled-components";
|
2
|
+
import p from "../../../../assets/line-icons/icons/cross.js";
|
3
|
+
const h = r.div(
|
4
|
+
({ theme: n, $size: s, $disabled: o, $inputRenderAs: i }) => {
|
5
|
+
const { colors: c, input: t } = n, { iconsize: e } = t.sizes[s], { labelColorName: l } = t.variants[i];
|
6
|
+
return `
|
7
|
+
cursor: pointer;
|
8
|
+
width: ${e}px;
|
9
|
+
height: ${e}px;
|
10
|
+
|
11
|
+
align-self: center;
|
12
|
+
color: ${c[l[o ? "disabled" : "inactive"]]};
|
13
|
+
pointer-events: ${o ? "none" : "auto"};
|
14
|
+
|
15
|
+
& svg {
|
16
|
+
width: 100%;
|
17
|
+
height: 100%;
|
18
|
+
}
|
19
|
+
`;
|
20
|
+
}
|
21
|
+
), m = r(p)`
|
22
|
+
cursor: pointer;
|
23
|
+
`;
|
24
|
+
export {
|
25
|
+
m as StyledCrossIcon,
|
26
|
+
h as StyledPrefixElementWrapper
|
27
|
+
};
|
28
|
+
//# sourceMappingURL=searchable-input-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"searchable-input-styled.js","sources":["../../../../../src/features/ui/inputs/searchable-input/searchable-input-styled.tsx"],"sourcesContent":["import type { IBaseInputProps } from '../base-input/base-input-types';\n\nimport styled from 'styled-components';\n\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\n\ninterface IStyledBackIconProps {\n $inputRenderAs: IBaseInputProps['renderAs'];\n $size: IBaseInputProps['size'];\n $disabled?: boolean;\n}\n\nconst StyledPrefixElementWrapper = styled.div<IStyledBackIconProps>(\n ({ theme, $size, $disabled, $inputRenderAs }) => {\n const { colors, input } = theme;\n const { iconsize } = input.sizes[$size];\n const { labelColorName } = input.variants[$inputRenderAs];\n\n return `\n cursor: pointer;\n width: ${iconsize}px;\n height: ${iconsize}px;\n\n align-self: center;\n color: ${colors[labelColorName[$disabled ? 'disabled' : 'inactive']]};\n pointer-events: ${$disabled ? 'none' : 'auto'};\n\n & svg {\n width: 100%;\n height: 100%;\n }\n `;\n },\n);\n\nconst StyledCrossIcon = styled(CrossIcon)`\n cursor: pointer;\n`;\n\nexport { StyledPrefixElementWrapper, StyledCrossIcon };\n"],"names":["StyledPrefixElementWrapper","styled","theme","$size","$disabled","$inputRenderAs","colors","input","iconsize","labelColorName","StyledCrossIcon","CrossIcon"],"mappings":";;AAYA,MAAMA,IAA6BC,EAAO;AAAA,EACxC,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,WAAAC,GAAW,gBAAAC,QAAqB;AACzC,UAAA,EAAE,QAAAC,GAAQ,OAAAC,EAAU,IAAAL,GACpB,EAAE,UAAAM,EAAa,IAAAD,EAAM,MAAMJ,CAAK,GAChC,EAAE,gBAAAM,EAAmB,IAAAF,EAAM,SAASF,CAAc;AAEjD,WAAA;AAAA;AAAA,iBAEMG,CAAQ;AAAA,kBACPA,CAAQ;AAAA;AAAA;AAAA,iBAGTF,EAAOG,EAAeL,IAAY,aAAa,UAAU,CAAC,CAAC;AAAA,0BAClDA,IAAY,SAAS,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnD;AACF,GAEMM,IAAkBT,EAAOU,CAAS;AAAA;AAAA;"}
|
@@ -0,0 +1,101 @@
|
|
1
|
+
import { jsx as r, jsxs as I } from "react/jsx-runtime";
|
2
|
+
import { useRef as O, useCallback as i } from "react";
|
3
|
+
import v from "../../buttons/clickable/clickable.js";
|
4
|
+
import S from "../../layout/flex-view.js";
|
5
|
+
import z from "../base-input/base-input.js";
|
6
|
+
import { Input as A } from "../text-input/text-input-styled.js";
|
7
|
+
import { StyledPrefixElementWrapper as D, StyledCrossIcon as R } from "./searchable-input-styled.js";
|
8
|
+
const G = (u) => {
|
9
|
+
const {
|
10
|
+
renderAs: s,
|
11
|
+
value: h,
|
12
|
+
disabled: t,
|
13
|
+
label: o,
|
14
|
+
width: f,
|
15
|
+
widthX: $,
|
16
|
+
shape: b = "curved",
|
17
|
+
size: c = "regular",
|
18
|
+
onSearchTextChange: a,
|
19
|
+
onPrefixElementClick: l,
|
20
|
+
onEnter: e,
|
21
|
+
searchOnClear: d,
|
22
|
+
analyticsLabel: C,
|
23
|
+
analyticsProps: x,
|
24
|
+
prefixElement: p
|
25
|
+
} = u, m = O(null), g = i(
|
26
|
+
(n) => {
|
27
|
+
a(n.target.value);
|
28
|
+
},
|
29
|
+
[a]
|
30
|
+
), w = i(
|
31
|
+
(n) => {
|
32
|
+
n.key === "Enter" && (e == null || e());
|
33
|
+
},
|
34
|
+
[e]
|
35
|
+
), y = i(() => {
|
36
|
+
l == null || l();
|
37
|
+
}, [l]), k = i(() => {
|
38
|
+
var n;
|
39
|
+
a(""), d && (e == null || e(d)), (n = m.current) == null || n.focus();
|
40
|
+
}, [a, d, e]);
|
41
|
+
return /* @__PURE__ */ r(
|
42
|
+
v,
|
43
|
+
{
|
44
|
+
label: o ?? "searchable_input",
|
45
|
+
analyticsLabel: C,
|
46
|
+
analyticsProps: x,
|
47
|
+
disabled: t,
|
48
|
+
children: /* @__PURE__ */ r(
|
49
|
+
z,
|
50
|
+
{
|
51
|
+
renderAs: s,
|
52
|
+
size: c,
|
53
|
+
shape: b,
|
54
|
+
disabled: t,
|
55
|
+
label: o,
|
56
|
+
inputElement: /* @__PURE__ */ I(
|
57
|
+
S,
|
58
|
+
{
|
59
|
+
$flexDirection: "row",
|
60
|
+
$alignItems: "center",
|
61
|
+
$height: "100%",
|
62
|
+
$flexGap: 12,
|
63
|
+
$width: f,
|
64
|
+
$widthX: $,
|
65
|
+
children: [
|
66
|
+
l && p && /* @__PURE__ */ r(
|
67
|
+
D,
|
68
|
+
{
|
69
|
+
$inputRenderAs: s,
|
70
|
+
$disabled: t,
|
71
|
+
$size: c,
|
72
|
+
onClick: y,
|
73
|
+
children: p
|
74
|
+
}
|
75
|
+
),
|
76
|
+
/* @__PURE__ */ r(
|
77
|
+
A,
|
78
|
+
{
|
79
|
+
$renderAs: s,
|
80
|
+
placeholder: o,
|
81
|
+
ref: m,
|
82
|
+
$size: c,
|
83
|
+
value: h ?? "",
|
84
|
+
disabled: t,
|
85
|
+
onChange: g,
|
86
|
+
onKeyDown: w
|
87
|
+
}
|
88
|
+
)
|
89
|
+
]
|
90
|
+
}
|
91
|
+
),
|
92
|
+
siblingElement: h && /* @__PURE__ */ r(R, { onClick: k })
|
93
|
+
}
|
94
|
+
)
|
95
|
+
}
|
96
|
+
);
|
97
|
+
};
|
98
|
+
export {
|
99
|
+
G as default
|
100
|
+
};
|
101
|
+
//# sourceMappingURL=searchable-input.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"searchable-input.js","sources":["../../../../../src/features/ui/inputs/searchable-input/searchable-input.tsx"],"sourcesContent":["import type { ISearchableInputProps } from './searchable-input-types';\nimport type { ChangeEvent } from 'react';\n\nimport { useCallback, useRef } from 'react';\n\nimport Clickable from '../../buttons/clickable/clickable';\nimport FlexView from '../../layout/flex-view';\nimport BaseInput from '../base-input/base-input';\nimport { Input } from '../text-input/text-input-styled';\nimport * as Styled from './searchable-input-styled';\n\nconst SearchableInput = <IDType extends string>(props: ISearchableInputProps<IDType>) => {\n const {\n renderAs,\n value,\n disabled,\n label,\n width,\n widthX,\n shape = 'curved',\n size = 'regular',\n onSearchTextChange,\n onPrefixElementClick,\n onEnter,\n searchOnClear,\n analyticsLabel,\n analyticsProps,\n prefixElement,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleOnChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onSearchTextChange(e.target.value);\n },\n [onSearchTextChange],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onEnter?.();\n }\n },\n [onEnter],\n );\n\n const handleOnPrefixElementClick = useCallback(() => {\n onPrefixElementClick?.();\n }, [onPrefixElementClick]);\n\n const handleOnClear = useCallback(() => {\n onSearchTextChange('');\n\n if (searchOnClear) {\n onEnter?.(searchOnClear);\n }\n\n inputRef.current?.focus();\n }, [onSearchTextChange, searchOnClear, onEnter]);\n\n return (\n <Clickable\n label={label ?? 'searchable_input'}\n analyticsLabel={analyticsLabel}\n analyticsProps={analyticsProps}\n disabled={disabled}\n >\n <BaseInput\n renderAs={renderAs}\n size={size}\n shape={shape}\n disabled={disabled}\n label={label}\n inputElement={\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $height=\"100%\"\n $flexGap={12}\n $width={width}\n $widthX={widthX}\n >\n {onPrefixElementClick && prefixElement && (\n <Styled.StyledPrefixElementWrapper\n $inputRenderAs={renderAs}\n $disabled={disabled}\n $size={size}\n onClick={handleOnPrefixElementClick}\n >\n {prefixElement}\n </Styled.StyledPrefixElementWrapper>\n )}\n <Input\n $renderAs={renderAs}\n placeholder={label}\n ref={inputRef}\n $size={size}\n value={value ?? ''}\n disabled={disabled}\n onChange={handleOnChange}\n onKeyDown={handleOnKeyDown}\n />\n </FlexView>\n }\n siblingElement={value && <Styled.StyledCrossIcon onClick={handleOnClear} />}\n />\n </Clickable>\n );\n};\n\nexport default SearchableInput;\n"],"names":["SearchableInput","props","renderAs","value","disabled","label","width","widthX","shape","size","onSearchTextChange","onPrefixElementClick","onEnter","searchOnClear","analyticsLabel","analyticsProps","prefixElement","inputRef","useRef","handleOnChange","useCallback","e","handleOnKeyDown","handleOnPrefixElementClick","handleOnClear","_a","jsx","Clickable","BaseInput","jsxs","FlexView","Styled.StyledPrefixElementWrapper","Input","Styled.StyledCrossIcon"],"mappings":";;;;;;;AAWM,MAAAA,IAAkB,CAAwBC,MAAyC;AACjF,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,MAAAC,IAAO;AAAA,IACP,oBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,EACE,IAAAf,GAEEgB,IAAWC,EAAyB,IAAI,GAExCC,IAAiBC;AAAA,IACrB,CAACC,MAAqC;AACjB,MAAAX,EAAAW,EAAE,OAAO,KAAK;AAAA,IACnC;AAAA,IACA,CAACX,CAAkB;AAAA,EAAA,GAGfY,IAAkBF;AAAA,IACtB,CAACC,MAA6C;AACxC,MAAAA,EAAE,QAAQ,YACFT,KAAA,QAAAA;AAAA,IAEd;AAAA,IACA,CAACA,CAAO;AAAA,EAAA,GAGJW,IAA6BH,EAAY,MAAM;AAC5B,IAAAT,KAAA,QAAAA;AAAA,EAAA,GACtB,CAACA,CAAoB,CAAC,GAEnBa,IAAgBJ,EAAY,MAAM;;AACtC,IAAAV,EAAmB,EAAE,GAEjBG,MACFD,KAAA,QAAAA,EAAUC,MAGZY,IAAAR,EAAS,YAAT,QAAAQ,EAAkB;AAAA,EACjB,GAAA,CAACf,GAAoBG,GAAeD,CAAO,CAAC;AAG7C,SAAA,gBAAAc;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOtB,KAAS;AAAA,MAChB,gBAAAS;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAX;AAAA,MAEA,UAAA,gBAAAsB;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,UAAA1B;AAAA,UACA,MAAAO;AAAA,UACA,OAAAD;AAAA,UACA,UAAAJ;AAAA,UACA,OAAAC;AAAA,UACA,cACE,gBAAAwB;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,gBAAe;AAAA,cACf,aAAY;AAAA,cACZ,SAAQ;AAAA,cACR,UAAU;AAAA,cACV,QAAQxB;AAAA,cACR,SAASC;AAAA,cAER,UAAA;AAAA,gBAAAI,KAAwBK,KACvB,gBAAAU;AAAA,kBAACK;AAAAA,kBAAA;AAAA,oBACC,gBAAgB7B;AAAA,oBAChB,WAAWE;AAAA,oBACX,OAAOK;AAAA,oBACP,SAASc;AAAA,oBAER,UAAAP;AAAA,kBAAA;AAAA,gBACH;AAAA,gBAEF,gBAAAU;AAAA,kBAACM;AAAA,kBAAA;AAAA,oBACC,WAAW9B;AAAA,oBACX,aAAaG;AAAA,oBACb,KAAKY;AAAA,oBACL,OAAOR;AAAA,oBACP,OAAON,KAAS;AAAA,oBAChB,UAAAC;AAAA,oBACA,UAAUe;AAAA,oBACV,WAAWG;AAAA,kBAAA;AAAA,gBACb;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,UAEF,gBAAgBnB,KAAS,gBAAAuB,EAACO,GAAA,EAAuB,SAAST,GAAe;AAAA,QAAA;AAAA,MAC3E;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
@@ -2,20 +2,19 @@ import x from "styled-components";
|
|
2
2
|
import s from "../layout/flex-view.js";
|
3
3
|
const k = x(s)(({
|
4
4
|
theme: v,
|
5
|
-
$width: e,
|
6
5
|
$selected: i,
|
7
6
|
$size: p,
|
8
|
-
$renderAs:
|
9
|
-
$disabled: r
|
7
|
+
$renderAs: d,
|
8
|
+
$disabled: r,
|
9
|
+
$shape: e
|
10
10
|
}) => {
|
11
|
-
const { colors: o, tab:
|
11
|
+
const { colors: o, tab: g, layout: h } = v, { sizes: l, variants: u } = g, { height: b, paddingHorizontal: m } = l[p], { backgroundColorName: t, colorName: a, borderColorName: n, fontWeight: c } = u[d];
|
12
12
|
return `
|
13
|
-
|
14
|
-
height:${u}px;
|
13
|
+
height:${b}px;
|
15
14
|
padding:0 ${m}px;
|
16
|
-
border-radius:8px;
|
17
15
|
cursor:${r ? "not-allowed" : "pointer"};
|
18
|
-
margin:${
|
16
|
+
margin:${e === "square" ? h.gutter * 0.5 : 0}px;
|
17
|
+
border-radius: ${e === "curved" ? "50px" : "8px"};
|
19
18
|
border:1px solid ${r ? o[n.disabled] : i ? o[n.active] : o[n.inactive]};
|
20
19
|
background-color: ${r ? o[t.disabled] : i ? o[t.active] : o[t.inactive]};
|
21
20
|
& div{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab-styled.js","sources":["../../../../src/features/ui/tab/tab-styled.tsx"],"sourcesContent":["import type { ITabWrapperProps } from './tab-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\nconst TabWrapper = styled(FlexView)<ITabWrapperProps>(({\n theme,\n $
|
1
|
+
{"version":3,"file":"tab-styled.js","sources":["../../../../src/features/ui/tab/tab-styled.tsx"],"sourcesContent":["import type { ITabWrapperProps } from './tab-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\nconst TabWrapper = styled(FlexView)<ITabWrapperProps>(({\n theme,\n $selected,\n $size,\n $renderAs,\n $disabled,\n $shape,\n}) => {\n const { colors, tab, layout } = theme;\n const { sizes, variants } = tab;\n const { height, paddingHorizontal } = sizes[$size];\n const { backgroundColorName, colorName, borderColorName, fontWeight } = variants[$renderAs];\n\n return `\n height:${height}px;\n padding:0 ${paddingHorizontal}px;\n cursor:${$disabled ? 'not-allowed' : 'pointer'};\n margin:${$shape === 'square' ? layout.gutter * 0.5 : 0}px;\n border-radius: ${$shape === 'curved' ? '50px' : '8px'};\n border:1px solid ${\n $disabled\n ? colors[borderColorName.disabled]\n : $selected\n ? colors[borderColorName.active]\n : colors[borderColorName.inactive]\n };\n background-color: ${\n $disabled\n ? colors[backgroundColorName.disabled]\n : $selected\n ? colors[backgroundColorName.active]\n : colors[backgroundColorName.inactive]\n };\n & div{\n font-weight:${\n $disabled ? fontWeight.disabled : $selected ? fontWeight.active : fontWeight.inactive\n };\n color: ${\n $disabled\n ? colors[colorName.disabled]\n : $selected\n ? colors[colorName.active]\n : colors[colorName.inactive]\n };\n }\n &:hover {\n background-color:${\n $disabled\n ? colors[backgroundColorName.disabled]\n : $selected\n ? colors[backgroundColorName.active]\n : colors[backgroundColorName.hover]\n };\n border-color: ${\n $disabled\n ? colors[borderColorName.disabled]\n : $selected\n ? colors[borderColorName.active]\n : colors[borderColorName.hover]\n };\n & div{\n font-weight:${fontWeight.hover};\n color:${\n $disabled\n ? colors[colorName.disabled]\n : $selected\n ? colors[colorName.active]\n : colors[colorName.hover]\n };\n } \n }\n `;\n});\n\nexport { TabWrapper };\n"],"names":["TabWrapper","styled","FlexView","theme","$selected","$size","$renderAs","$disabled","$shape","colors","tab","layout","sizes","variants","height","paddingHorizontal","backgroundColorName","colorName","borderColorName","fontWeight"],"mappings":";;AAMA,MAAMA,IAAaC,EAAOC,CAAQ,EAAoB,CAAC;AAAA,EACrD,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AACF,MAAM;AACJ,QAAM,EAAE,QAAAC,GAAQ,KAAAC,GAAK,QAAAC,EAAA,IAAWR,GAC1B,EAAE,OAAAS,GAAO,UAAAC,EAAa,IAAAH,GACtB,EAAE,QAAAI,GAAQ,mBAAAC,EAAkB,IAAIH,EAAMP,CAAK,GAC3C,EAAE,qBAAAW,GAAqB,WAAAC,GAAW,iBAAAC,GAAiB,YAAAC,MAAeN,EAASP,CAAS;AAEnF,SAAA;AAAA,eACMQ,CAAM;AAAA,kBACHC,CAAiB;AAAA,eACpBR,IAAY,gBAAgB,SAAS;AAAA,eACrCC,MAAW,WAAWG,EAAO,SAAS,MAAM,CAAC;AAAA,uBACrCH,MAAW,WAAW,SAAS,KAAK;AAAA,yBAEnDD,IACIE,EAAOS,EAAgB,QAAQ,IAC/Bd,IACEK,EAAOS,EAAgB,MAAM,IAC7BT,EAAOS,EAAgB,QAAQ,CACvC;AAAA,0BAEEX,IACIE,EAAOO,EAAoB,QAAQ,IACnCZ,IACEK,EAAOO,EAAoB,MAAM,IACjCP,EAAOO,EAAoB,QAAQ,CAC3C;AAAA;AAAA,sBAGIT,IAAYY,EAAW,WAAWf,IAAYe,EAAW,SAASA,EAAW,QAC/E;AAAA,iBAEEZ,IACIE,EAAOQ,EAAU,QAAQ,IACzBb,IACEK,EAAOQ,EAAU,MAAM,IACvBR,EAAOQ,EAAU,QAAQ,CACjC;AAAA;AAAA;AAAA,2BAIEV,IACIE,EAAOO,EAAoB,QAAQ,IACnCZ,IACEK,EAAOO,EAAoB,MAAM,IACjCP,EAAOO,EAAoB,KAAK,CACxC;AAAA,wBAEET,IACIE,EAAOS,EAAgB,QAAQ,IAC/Bd,IACEK,EAAOS,EAAgB,MAAM,IAC7BT,EAAOS,EAAgB,KAAK,CACpC;AAAA;AAAA,wBAEgBC,EAAW,KAAK;AAAA,kBAE5BZ,IACIE,EAAOQ,EAAU,QAAQ,IACzBb,IACEK,EAAOQ,EAAU,MAAM,IACvBR,EAAOQ,EAAU,KAAK,CAC9B;AAAA;AAAA;AAAA;AAIV,CAAC;"}
|
@@ -1,35 +1,40 @@
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
2
|
-
import {
|
3
|
-
import
|
4
|
-
import
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
2
|
+
import { memo as c } from "react";
|
3
|
+
import { useTheme as f } from "styled-components";
|
4
|
+
import u from "../text/text.js";
|
5
|
+
import { TabWrapper as T } from "./tab-styled.js";
|
6
|
+
const l = c(
|
7
|
+
({
|
8
|
+
$renderAs: o = "primary",
|
9
|
+
$size: r = "regular",
|
10
|
+
label: m,
|
11
|
+
$selected: t,
|
12
|
+
$width: n,
|
13
|
+
$disabled: a,
|
14
|
+
onClick: p,
|
15
|
+
shape: i = "square"
|
16
|
+
}) => {
|
17
|
+
const {
|
18
|
+
tab: { sizes: s }
|
19
|
+
} = f();
|
20
|
+
return /* @__PURE__ */ e(
|
21
|
+
T,
|
22
|
+
{
|
23
|
+
$selected: t,
|
24
|
+
$width: n,
|
25
|
+
onClick: p,
|
26
|
+
$size: r,
|
27
|
+
$renderAs: o,
|
28
|
+
$disabled: a,
|
29
|
+
$justifyContent: "center",
|
30
|
+
$alignItems: "center",
|
31
|
+
$shape: i,
|
32
|
+
children: /* @__PURE__ */ e(u, { $renderAs: s[r].textVariant, color: t ? "WHITE" : "BLACK", children: m })
|
33
|
+
}
|
34
|
+
);
|
35
|
+
}
|
36
|
+
), $ = l;
|
32
37
|
export {
|
33
|
-
|
38
|
+
$ as default
|
34
39
|
};
|
35
40
|
//# sourceMappingURL=tab.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/tab/tab.tsx"],"sourcesContent":["import type { ITabProps } from './tab-types';\n\nimport React from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../text/text';\nimport * as Styled from './tab-styled';\n\nconst TabComponent: React.FC<ITabProps> = ({\n
|
1
|
+
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/tab/tab.tsx"],"sourcesContent":["import type { ITabProps } from './tab-types';\n\nimport React, { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../text/text';\nimport * as Styled from './tab-styled';\n\nconst TabComponent: React.FC<ITabProps> = memo(\n ({\n $renderAs = 'primary',\n $size = 'regular',\n label,\n $selected,\n $width,\n $disabled,\n onClick,\n shape = 'square',\n }) => {\n const {\n tab: { sizes },\n } = useTheme();\n\n return (\n <Styled.TabWrapper\n $selected={$selected}\n $width={$width}\n onClick={onClick}\n $size={$size}\n $renderAs={$renderAs}\n $disabled={$disabled}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $shape={shape}\n >\n <Text $renderAs={sizes[$size].textVariant} color={$selected ? 'WHITE' : 'BLACK'}>\n {label}\n </Text>\n </Styled.TabWrapper>\n );\n },\n);\n\nexport default TabComponent;\n"],"names":["TabComponent","memo","$renderAs","$size","label","$selected","$width","$disabled","onClick","shape","sizes","useTheme","jsx","Styled.TabWrapper","Text","TabComponent$1"],"mappings":";;;;;AAQA,MAAMA,IAAoCC;AAAA,EACxC,CAAC;AAAA,IACC,WAAAC,IAAY;AAAA,IACZ,OAAAC,IAAQ;AAAA,IACR,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,EAAA,MACJ;AACE,UAAA;AAAA,MACJ,KAAK,EAAE,OAAAC,EAAM;AAAA,QACXC,EAAS;AAGX,WAAA,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,WAAAR;AAAA,QACA,QAAAC;AAAA,QACA,SAAAE;AAAA,QACA,OAAAL;AAAA,QACA,WAAAD;AAAA,QACA,WAAAK;AAAA,QACA,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,QAAQE;AAAA,QAER,UAAA,gBAAAG,EAACE,GAAK,EAAA,WAAWJ,EAAMP,CAAK,EAAE,aAAa,OAAOE,IAAY,UAAU,SACrE,UACHD,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF,GAEAW,IAAef;"}
|
@@ -6,7 +6,7 @@ const o = (a) => ({ sizes: {
|
|
6
6
|
},
|
7
7
|
small: {
|
8
8
|
height: a * 2,
|
9
|
-
paddingHorizontal: a * 0.
|
9
|
+
paddingHorizontal: a * 0.75,
|
10
10
|
textVariant: "body2"
|
11
11
|
},
|
12
12
|
regular: {
|
@@ -24,13 +24,13 @@ const o = (a) => ({ sizes: {
|
|
24
24
|
backgroundColorName: {
|
25
25
|
inactive: "WHITE",
|
26
26
|
active: "BLACK",
|
27
|
-
hover: "
|
27
|
+
hover: "BLACK",
|
28
28
|
disabled: "GREY_1"
|
29
29
|
},
|
30
30
|
colorName: {
|
31
31
|
inactive: "BLACK",
|
32
32
|
active: "WHITE",
|
33
|
-
hover: "
|
33
|
+
hover: "WHITE",
|
34
34
|
disabled: "BLACK_50"
|
35
35
|
},
|
36
36
|
borderColorName: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/theme/tab.ts"],"sourcesContent":["import type { ITabSizeConfig, ITabVariantConfig, TTabSizes, TTabVariants } from '../types';\n\ninterface IGetTabConfig {\n (gutter: number): {\n sizes: Record<TTabSizes, ITabSizeConfig>;\n variants: Record<TTabVariants, ITabVariantConfig>;\n };\n}\n\nconst getTabConfig: IGetTabConfig = (gutter: number) => {\n const sizes: Record<TTabSizes, ITabSizeConfig> = {\n xsmall: {\n height: gutter * 1.625,\n paddingHorizontal: gutter * 0.5,\n textVariant: 'body3',\n },\n small: {\n height: gutter * 2,\n paddingHorizontal: gutter * 0.
|
1
|
+
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/theme/tab.ts"],"sourcesContent":["import type { ITabSizeConfig, ITabVariantConfig, TTabSizes, TTabVariants } from '../types';\n\ninterface IGetTabConfig {\n (gutter: number): {\n sizes: Record<TTabSizes, ITabSizeConfig>;\n variants: Record<TTabVariants, ITabVariantConfig>;\n };\n}\n\nconst getTabConfig: IGetTabConfig = (gutter: number) => {\n const sizes: Record<TTabSizes, ITabSizeConfig> = {\n xsmall: {\n height: gutter * 1.625,\n paddingHorizontal: gutter * 0.5,\n textVariant: 'body3',\n },\n small: {\n height: gutter * 2,\n paddingHorizontal: gutter * 0.75,\n textVariant: 'body2',\n },\n regular: {\n height: gutter * 2.5,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n medium: {\n height: gutter * 3,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n };\n\n const variants: Record<TTabVariants, ITabVariantConfig> = {\n primary: {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n hover: 'WHITE',\n disabled: 'BLACK_50',\n },\n borderColorName: {\n inactive: 'GREY_3',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n fontWeight: {\n inactive: 400,\n active: 500,\n hover: 500,\n disabled: 400,\n },\n },\n };\n\n return { sizes, variants };\n};\n\nexport default getTabConfig;\n"],"names":["getTabConfig","gutter"],"mappings":"AASM,MAAAA,IAA8B,CAACC,OAqD5B,EAAE,OApDwC;AAAA,EAC/C,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACP,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,GAgCc,UA7B0C;AAAA,EACxD,SAAS;AAAA,IACP,qBAAqB;AAAA,MACnB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AAAA;"}
|
package/dist/index.d.ts
CHANGED
@@ -9,7 +9,6 @@ import type { Dispatch } from 'react';
|
|
9
9
|
import { FC } from 'react';
|
10
10
|
import { ForwardRefExoticComponent } from 'react';
|
11
11
|
import { HTMLAttributes } from 'react';
|
12
|
-
import { IChannelMessage } from '@cuemath/cue-message-broker';
|
13
12
|
import type { IframeHTMLAttributes } from 'react';
|
14
13
|
import type { InputHTMLAttributes } from 'react';
|
15
14
|
import { IProvidedProps } from 'google-maps-react';
|
@@ -299,6 +298,8 @@ export declare enum EPostGameStat {
|
|
299
298
|
POINT = "point"
|
300
299
|
}
|
301
300
|
|
301
|
+
export declare const EPResourceAssign: FC<IEPResourceAssign>;
|
302
|
+
|
302
303
|
export declare const EraserIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
303
304
|
|
304
305
|
declare const Error_2: React_2.FC<IErrorProps>;
|
@@ -1034,6 +1035,17 @@ declare interface IEditMilestoneModalProps extends IMilestoneEditProps {
|
|
1034
1035
|
courseStream: TCourseStream;
|
1035
1036
|
}
|
1036
1037
|
|
1038
|
+
declare interface IEPResourceAssign {
|
1039
|
+
studentId: string;
|
1040
|
+
stream: TCourseStream;
|
1041
|
+
programId?: string;
|
1042
|
+
userMilestoneId?: string;
|
1043
|
+
onError: (errorMessage: string) => void;
|
1044
|
+
onResourceAssign: (toastMessage: string) => void;
|
1045
|
+
onExitResourceAssign: () => void;
|
1046
|
+
onViewResource: (resource: IResourceItemData) => void;
|
1047
|
+
}
|
1048
|
+
|
1037
1049
|
declare interface IErrorProps {
|
1038
1050
|
onTryAgain?: () => void;
|
1039
1051
|
height?: string | number;
|
@@ -2262,6 +2274,24 @@ declare interface IReferenceSheetProps {
|
|
2262
2274
|
};
|
2263
2275
|
}
|
2264
2276
|
|
2277
|
+
export declare interface IResourceItemData {
|
2278
|
+
boards: string[];
|
2279
|
+
created_on: string;
|
2280
|
+
created_on_ts: number;
|
2281
|
+
grades: string[];
|
2282
|
+
id: string;
|
2283
|
+
is_lesson_v3_enabled: boolean;
|
2284
|
+
is_live: boolean;
|
2285
|
+
learnosity_activity_ref: string;
|
2286
|
+
name: string;
|
2287
|
+
node_id: string;
|
2288
|
+
node_type: string;
|
2289
|
+
stream: TCourseStream;
|
2290
|
+
topics: string[];
|
2291
|
+
updated_on: string;
|
2292
|
+
updated_on_ts: number;
|
2293
|
+
}
|
2294
|
+
|
2265
2295
|
export declare interface IResponseAnalyticsProps extends Omit<IClickableAnalyticsProps, 'label'> {
|
2266
2296
|
}
|
2267
2297
|
|
@@ -2575,11 +2605,13 @@ export declare const isV3WorksheetAttempt: (attempt: IWorksheetAttemptModel) =>
|
|
2575
2605
|
declare interface ITabProps {
|
2576
2606
|
label: number | string;
|
2577
2607
|
$selected: boolean;
|
2578
|
-
$width?: number;
|
2608
|
+
$width?: number | string;
|
2579
2609
|
$renderAs?: TTabVariants;
|
2580
2610
|
$size?: TTabSizes;
|
2581
2611
|
$disabled?: boolean;
|
2582
2612
|
onClick: () => void;
|
2613
|
+
shape?: 'curved' | 'square';
|
2614
|
+
minWidth?: number;
|
2583
2615
|
}
|
2584
2616
|
|
2585
2617
|
export declare interface ITabSizeConfig {
|
@@ -2994,7 +3026,6 @@ export declare interface IWorksheetAttemptModel {
|
|
2994
3026
|
desmos_calculator_enabled: boolean;
|
2995
3027
|
due_date: number | null;
|
2996
3028
|
state: TLPARSheetAttemptState;
|
2997
|
-
canvas_data?: Array<IChannelMessage>;
|
2998
3029
|
}
|
2999
3030
|
|
3000
3031
|
export declare interface IWorksheetBehavior {
|
@@ -3750,6 +3781,8 @@ export declare const SHEET_STATE: Record<TSheetStateProps, TSheetStateProps>;
|
|
3750
3781
|
|
3751
3782
|
export declare const SheetError: NamedExoticComponent<ErrorProps>;
|
3752
3783
|
|
3784
|
+
export declare const SheetIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
3785
|
+
|
3753
3786
|
export declare const SheetList: FC<ISheetsListProps>;
|
3754
3787
|
|
3755
3788
|
export declare const SheetLocked: MemoExoticComponent<({ onHomeClick }: {
|
@@ -4795,7 +4828,7 @@ export declare const UpIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
4795
4828
|
|
4796
4829
|
export declare const useAutoPlayPermission: () => IAutoPlayPermissionContextType;
|
4797
4830
|
|
4798
|
-
export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void
|
4831
|
+
export declare const useCanvasSyncBroker: (channelId: string, logEvent: (type: string, payload?: Record<string, unknown>) => void) => {
|
4799
4832
|
publishStrokes: ((message: unknown) => boolean) | undefined;
|
4800
4833
|
channelStatus: ChannelStatus | undefined;
|
4801
4834
|
closeChannel: () => void;
|