@activecollab/components 1.0.355 → 1.0.357

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.
@@ -32,7 +32,7 @@ exports.StyledSearchIcon = StyledSearchIcon;
32
32
  var StyledInput = _styledComponents.default.input.withConfig({
33
33
  displayName: "CommandPalettestyles__StyledInput",
34
34
  componentId: "sc-na3mad-4"
35
- })(["all:unset;caret-color:var(--color-primary);color:var(--color-theme-900);width:100%;", "{font-size:32px;font-weight:300;letter-spacing:0.5px;line-height:44px;}::-webkit-outer-spin-button,::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type=\"number\"]{-moz-appearance:textfield;}::placeholder{color:var(--color-theme-transparent-500);}::selection{background:var(--color-primary-300);}"], _BreakPoints.screen.sm);
35
+ })(["all:unset;caret-color:var(--color-primary);color:var(--color-theme-900);width:100%;", "{font-size:32px;font-weight:300;letter-spacing:0.5px;line-height:44px;}::-webkit-outer-spin-button,::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type=\"search\"]::-webkit-search-decoration,&[type=\"search\"]::-webkit-search-cancel-button,&[type=\"search\"]::-webkit-search-results-button,&[type=\"search\"]::-webkit-search-results-decoration{-webkit-appearance:none;}&[type=\"number\"]{-moz-appearance:textfield;}::placeholder{color:var(--color-theme-transparent-500);}::selection{background:var(--color-primary-300);}"], _BreakPoints.screen.sm);
36
36
  exports.StyledInput = StyledInput;
37
37
  var StyledParameter = _styledComponents.default.span.withConfig({
38
38
  displayName: "CommandPalettestyles__StyledParameter",
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.styles.js","names":["StyledCommandPalette","styled","div","FontStyle","StyledCommandPaletteWrapper","StyledCommandPaletteHeader","StyledSearchIcon","StyledInput","input","screen","sm","StyledParameter","span","StyledActionWrapper","StyledIcon","StyledCommandPaletteList","ul","StyledHeading","p","StyledCommandPaletteItem","a","$selected","StyledCommandPaletteCommandItem","StyledSpinnerLoader","SpinnerLoader","StyledCommandPaletteItemLoader"],"sources":["../../../../src/components/CommandPalette/CommandPalette.styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { screen } from \"../BreakPoints\";\nimport { SpinnerLoader } from \"../Loaders\";\n\nexport const StyledCommandPalette = styled.div`\n ${FontStyle}\n background-color: var(--page-paper-main);\n border-radius: 10px;\n box-sizing: border-box;\n max-width: 600px;\n\n mark {\n background-color: var(--color-primary-300);\n color: var(--color-theme-900);\n }\n`;\n\nexport const StyledCommandPaletteWrapper = styled.div`\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 450px;\n\n &:not(:empty) {\n border-top: 1px solid var(--color-theme-400);\n padding-bottom: 8px;\n padding-top: 8px;\n }\n`;\n\nexport const StyledCommandPaletteHeader = styled.div`\n align-items: center;\n display: flex;\n padding-bottom: 12px;\n padding-left: 16px;\n padding-right: 16px;\n padding-top: 12px;\n`;\n\nexport const StyledSearchIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledInput = styled.input`\n all: unset;\n caret-color: var(--color-primary);\n color: var(--color-theme-900);\n width: 100%;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n\n ::-webkit-outer-spin-button,\n ::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n\n ::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ::selection {\n background: var(--color-primary-300);\n }\n`;\n\nexport const StyledParameter = styled.span`\n color: var(--color-theme-transparent-500);\n margin-right: 8px;\n flex-shrink: 0;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n`;\n\nexport const StyledActionWrapper = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n`;\n\nexport const StyledIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledCommandPaletteList = styled.ul`\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: hidden;\n\n &:not(:first-child) {\n border-top: 1px solid var(--color-theme-400);\n }\n`;\n\nexport const StyledHeading = styled.p`\n font-size: 12px;\n margin-top: 12px;\n margin-bottom: 4px;\n font-weight: bold;\n padding-left: 18px;\n letter-spacing: 0.5px;\n color: var(--color-theme-600);\n`;\n\n// prettier-ignore\nexport const StyledCommandPaletteItem = styled.a<{$selected: boolean}>`\n align-items: center;\n cursor: pointer;\n display: flex;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n position: relative;\n background-color: ${({$selected}) => $selected ? \"var(--color-theme-200)\" : \"transparent\"};\n\n &:focus {\n background-color: var(--color-theme-200);\n }\n\n &::before {\n display: ${({$selected}) => $selected ? \"block\" : \"none\"};\n background-color: var(--color-primary);\n content: \"\";\n height: 100%;\n left: 0;\n position: absolute;\n width: 2px;\n }\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledCommandPaletteCommandItem = styled(StyledCommandPaletteItem)`\n user-select: none;\n`;\n\nexport const StyledSpinnerLoader = styled(SpinnerLoader)`\n margin-right: 4px;\n`;\n\nexport const StyledCommandPaletteItemLoader = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n pointer-events: none;\n user-select: none;\n`;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAA2C;AAEpC,IAAMA,oBAAoB,GAAGC,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,4LAC1CC,oBAAS,CAUZ;AAAC;AAEK,IAAMC,2BAA2B,GAAGH,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,yJAUpD;AAAC;AAEK,IAAMG,0BAA0B,GAAGJ,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,kHAOnD;AAAC;AAEK,IAAMI,gBAAgB,GAAGL,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,oDAMzC;AAAC;AAEK,IAAMK,WAAW,GAAGN,yBAAM,CAACO,KAAK;EAAA;EAAA;AAAA,wZAMnCC,mBAAM,CAACC,EAAE,CAwBZ;AAAC;AAEK,IAAMC,eAAe,GAAGV,yBAAM,CAACW,IAAI;EAAA;EAAA;AAAA,4JAKtCH,mBAAM,CAACC,EAAE,CAMZ;AAAC;AAEK,IAAMG,mBAAmB,GAAGZ,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,gDAI5C;AAAC;AAEK,IAAMY,UAAU,GAAGb,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,oDAMnC;AAAC;AAEK,IAAMa,wBAAwB,GAAGd,yBAAM,CAACe,EAAE;EAAA;EAAA;AAAA,iIAShD;AAAC;AAEK,IAAMC,aAAa,GAAGhB,yBAAM,CAACiB,CAAC;EAAA;EAAA;AAAA,8IAQpC;;AAED;AAAA;AACO,IAAMC,wBAAwB,GAAGlB,yBAAM,CAACmB,CAAC;EAAA;EAAA;AAAA,2WAS1B;EAAA,IAAEC,SAAS,QAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,wBAAwB,GAAG,aAAa;AAAA,GAO5E;EAAA,IAAEA,SAAS,SAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,OAAO,GAAG,MAAM;AAAA,EAY3D;AAAC;AAEK,IAAMC,+BAA+B,GAAG,IAAArB,yBAAM,EAACkB,wBAAwB,CAAC;EAAA;EAAA;AAAA,yBAE9E;AAAC;AAEK,IAAMI,mBAAmB,GAAG,IAAAtB,yBAAM,EAACuB,sBAAa,CAAC;EAAA;EAAA;AAAA,yBAEvD;AAAC;AAEK,IAAMC,8BAA8B,GAAGxB,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,+JAUvD;AAAC"}
1
+ {"version":3,"file":"CommandPalette.styles.js","names":["StyledCommandPalette","styled","div","FontStyle","StyledCommandPaletteWrapper","StyledCommandPaletteHeader","StyledSearchIcon","StyledInput","input","screen","sm","StyledParameter","span","StyledActionWrapper","StyledIcon","StyledCommandPaletteList","ul","StyledHeading","p","StyledCommandPaletteItem","a","$selected","StyledCommandPaletteCommandItem","StyledSpinnerLoader","SpinnerLoader","StyledCommandPaletteItemLoader"],"sources":["../../../../src/components/CommandPalette/CommandPalette.styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { screen } from \"../BreakPoints\";\nimport { SpinnerLoader } from \"../Loaders\";\n\nexport const StyledCommandPalette = styled.div`\n ${FontStyle}\n background-color: var(--page-paper-main);\n border-radius: 10px;\n box-sizing: border-box;\n max-width: 600px;\n\n mark {\n background-color: var(--color-primary-300);\n color: var(--color-theme-900);\n }\n`;\n\nexport const StyledCommandPaletteWrapper = styled.div`\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 450px;\n\n &:not(:empty) {\n border-top: 1px solid var(--color-theme-400);\n padding-bottom: 8px;\n padding-top: 8px;\n }\n`;\n\nexport const StyledCommandPaletteHeader = styled.div`\n align-items: center;\n display: flex;\n padding-bottom: 12px;\n padding-left: 16px;\n padding-right: 16px;\n padding-top: 12px;\n`;\n\nexport const StyledSearchIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledInput = styled.input`\n all: unset;\n caret-color: var(--color-primary);\n color: var(--color-theme-900);\n width: 100%;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n\n ::-webkit-outer-spin-button,\n ::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &[type=\"search\"]::-webkit-search-decoration,\n &[type=\"search\"]::-webkit-search-cancel-button,\n &[type=\"search\"]::-webkit-search-results-button,\n &[type=\"search\"]::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n\n ::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ::selection {\n background: var(--color-primary-300);\n }\n`;\n\nexport const StyledParameter = styled.span`\n color: var(--color-theme-transparent-500);\n margin-right: 8px;\n flex-shrink: 0;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n`;\n\nexport const StyledActionWrapper = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n`;\n\nexport const StyledIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledCommandPaletteList = styled.ul`\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: hidden;\n\n &:not(:first-child) {\n border-top: 1px solid var(--color-theme-400);\n }\n`;\n\nexport const StyledHeading = styled.p`\n font-size: 12px;\n margin-top: 12px;\n margin-bottom: 4px;\n font-weight: bold;\n padding-left: 18px;\n letter-spacing: 0.5px;\n color: var(--color-theme-600);\n`;\n\n// prettier-ignore\nexport const StyledCommandPaletteItem = styled.a<{$selected: boolean}>`\n align-items: center;\n cursor: pointer;\n display: flex;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n position: relative;\n background-color: ${({$selected}) => $selected ? \"var(--color-theme-200)\" : \"transparent\"};\n\n &:focus {\n background-color: var(--color-theme-200);\n }\n\n &::before {\n display: ${({$selected}) => $selected ? \"block\" : \"none\"};\n background-color: var(--color-primary);\n content: \"\";\n height: 100%;\n left: 0;\n position: absolute;\n width: 2px;\n }\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledCommandPaletteCommandItem = styled(StyledCommandPaletteItem)`\n user-select: none;\n`;\n\nexport const StyledSpinnerLoader = styled(SpinnerLoader)`\n margin-right: 4px;\n`;\n\nexport const StyledCommandPaletteItemLoader = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n pointer-events: none;\n user-select: none;\n`;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAA2C;AAEpC,IAAMA,oBAAoB,GAAGC,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,4LAC1CC,oBAAS,CAUZ;AAAC;AAEK,IAAMC,2BAA2B,GAAGH,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,yJAUpD;AAAC;AAEK,IAAMG,0BAA0B,GAAGJ,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,kHAOnD;AAAC;AAEK,IAAMI,gBAAgB,GAAGL,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,oDAMzC;AAAC;AAEK,IAAMK,WAAW,GAAGN,yBAAM,CAACO,KAAK;EAAA;EAAA;AAAA,wnBAMnCC,mBAAM,CAACC,EAAE,CA+BZ;AAAC;AAEK,IAAMC,eAAe,GAAGV,yBAAM,CAACW,IAAI;EAAA;EAAA;AAAA,4JAKtCH,mBAAM,CAACC,EAAE,CAMZ;AAAC;AAEK,IAAMG,mBAAmB,GAAGZ,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,gDAI5C;AAAC;AAEK,IAAMY,UAAU,GAAGb,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,oDAMnC;AAAC;AAEK,IAAMa,wBAAwB,GAAGd,yBAAM,CAACe,EAAE;EAAA;EAAA;AAAA,iIAShD;AAAC;AAEK,IAAMC,aAAa,GAAGhB,yBAAM,CAACiB,CAAC;EAAA;EAAA;AAAA,8IAQpC;;AAED;AAAA;AACO,IAAMC,wBAAwB,GAAGlB,yBAAM,CAACmB,CAAC;EAAA;EAAA;AAAA,2WAS1B;EAAA,IAAEC,SAAS,QAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,wBAAwB,GAAG,aAAa;AAAA,GAO5E;EAAA,IAAEA,SAAS,SAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,OAAO,GAAG,MAAM;AAAA,EAY3D;AAAC;AAEK,IAAMC,+BAA+B,GAAG,IAAArB,yBAAM,EAACkB,wBAAwB,CAAC;EAAA;EAAA;AAAA,yBAE9E;AAAC;AAEK,IAAMI,mBAAmB,GAAG,IAAAtB,yBAAM,EAACuB,sBAAa,CAAC;EAAA;EAAA;AAAA,yBAEvD;AAAC;AAEK,IAAMC,8BAA8B,GAAGxB,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,+JAUvD;AAAC"}
@@ -81,7 +81,7 @@ var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
81
81
  ref: inputRef,
82
82
  autoFocus: true,
83
83
  placeholder: handleInputPlaceholder,
84
- type: "text",
84
+ type: "search",
85
85
  "aria-autocomplete": "list",
86
86
  autoCapitalize: "none",
87
87
  autoComplete: "off",
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPaletteHeader.js","names":["CommandPaletteHeader","loading","commandsLength","itemsLength","inputRef","useRef","useModeContext","mode","setMode","idModeEnabled","useSelectedContext","setSelected","selected","useSearchContext","search","onChangeSearch","focusInput","current","focus","clearInput","value","useEffect","length","handleInputPlaceholder","useMemo","handleKeyDown","e","key","target","selectedItem","document","querySelectorAll","click","name","slice","inputText","startsWith","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { IconButton } from \"../IconButton\";\nimport { CloseIcon, HashtagIcon, SearchLargeIcon } from \"../Icons\";\nimport { Tooltip } from \"../Tooltip\";\nimport {\n StyledActionWrapper,\n StyledCommandPaletteHeader,\n StyledInput,\n StyledParameter,\n StyledSearchIcon,\n StyledSpinnerLoader,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\n\nimport { useModeContext } from \"./context/ModeContext\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nexport interface CommandPaletteHeaderProps {\n loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\n loading = false,\n commandsLength,\n itemsLength,\n}: CommandPaletteHeaderProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const { mode, setMode, idModeEnabled } = useModeContext();\n const { setSelected, selected } = useSelectedContext();\n const { search, onChangeSearch } = useSearchContext();\n\n const focusInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const clearInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.value = \"\";\n onChangeSearch(\"\");\n }\n };\n\n useEffect(() => {\n if (search.length > 0) {\n if (itemsLength > commandsLength) {\n setSelected(commandsLength);\n } else {\n setSelected(0);\n }\n }\n }, [search, commandsLength, itemsLength, setSelected]);\n\n useEffect(() => {\n focusInput();\n }, [mode]);\n\n const handleInputPlaceholder = useMemo(() => {\n if (typeof mode === \"object\") {\n return \"Search\";\n }\n\n if (mode === \"id\") {\n return \"1\";\n }\n\n return \"Search or jump to\";\n }, [mode]);\n\n const handleKeyDown = (e) => {\n if (\n e.key === \"Backspace\" &&\n mode !== \"default\" &&\n (e.target as HTMLInputElement).value === \"\"\n ) {\n setMode(\"default\");\n clearInput();\n }\n\n if (e.key === \"Enter\") {\n const selectedItem = document.querySelectorAll(\".cp-item\")[\n selected\n ] as HTMLElement;\n\n if (itemsLength > 0) {\n selectedItem.click();\n }\n }\n };\n\n return (\n <StyledCommandPaletteHeader className=\"cp-header\">\n <StyledSearchIcon>\n <SearchLargeIcon />\n </StyledSearchIcon>\n\n {mode === \"id\" ? <StyledParameter>ID#:</StyledParameter> : null}\n {typeof mode === \"object\" ? (\n <StyledParameter>\n {mode.name.length > 10 ? mode.name.slice(0, 10) + \"...\" : mode.name}/\n </StyledParameter>\n ) : null}\n\n <StyledInput\n ref={inputRef}\n autoFocus\n placeholder={handleInputPlaceholder}\n type=\"text\"\n aria-autocomplete=\"list\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n role=\"combobox\"\n spellCheck={false}\n value={search}\n onKeyDown={handleKeyDown}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (\n inputText.startsWith(\"#\") &&\n idModeEnabled &&\n search.length === 0\n ) {\n setMode(\"id\");\n onChangeSearch(inputText.slice(1));\n return;\n }\n\n onChangeSearch(inputText);\n }}\n />\n\n <StyledActionWrapper>\n {loading ? (\n <StyledSpinnerLoader\n aria-busy={true}\n aria-label=\"Loading...\"\n aria-valuemax={100}\n aria-valuemin={0}\n role=\"progressbar\"\n />\n ) : null}\n\n {mode !== \"id\" &&\n typeof mode !== \"object\" &&\n idModeEnabled &&\n search.length === 0 ? (\n <Tooltip title=\"Search by ID\" placement=\"top\">\n <IconButton\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"id\");\n clearInput();\n }\n }}\n onClick={() => {\n setMode(\"id\");\n clearInput();\n }}\n variant=\"text gray\"\n >\n <HashtagIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n\n {search.length > 0 || mode === \"id\" || typeof mode === \"object\" ? (\n <Tooltip title=\"Clear\" placement=\"top\">\n <IconButton\n variant=\"text gray\"\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"default\");\n clearInput();\n focusInput();\n }\n }}\n onClick={() => {\n setMode(\"default\");\n clearInput();\n focusInput();\n }}\n >\n <CloseIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n </StyledActionWrapper>\n </StyledCommandPaletteHeader>\n );\n};\n\nCommandPaletteHeader.displayName = \"CommandPaletteItem\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"CommandPaletteHeader.js","names":["CommandPaletteHeader","loading","commandsLength","itemsLength","inputRef","useRef","useModeContext","mode","setMode","idModeEnabled","useSelectedContext","setSelected","selected","useSearchContext","search","onChangeSearch","focusInput","current","focus","clearInput","value","useEffect","length","handleInputPlaceholder","useMemo","handleKeyDown","e","key","target","selectedItem","document","querySelectorAll","click","name","slice","inputText","startsWith","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { IconButton } from \"../IconButton\";\nimport { CloseIcon, HashtagIcon, SearchLargeIcon } from \"../Icons\";\nimport { Tooltip } from \"../Tooltip\";\nimport {\n StyledActionWrapper,\n StyledCommandPaletteHeader,\n StyledInput,\n StyledParameter,\n StyledSearchIcon,\n StyledSpinnerLoader,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\n\nimport { useModeContext } from \"./context/ModeContext\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nexport interface CommandPaletteHeaderProps {\n loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\n loading = false,\n commandsLength,\n itemsLength,\n}: CommandPaletteHeaderProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const { mode, setMode, idModeEnabled } = useModeContext();\n const { setSelected, selected } = useSelectedContext();\n const { search, onChangeSearch } = useSearchContext();\n\n const focusInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const clearInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.value = \"\";\n onChangeSearch(\"\");\n }\n };\n\n useEffect(() => {\n if (search.length > 0) {\n if (itemsLength > commandsLength) {\n setSelected(commandsLength);\n } else {\n setSelected(0);\n }\n }\n }, [search, commandsLength, itemsLength, setSelected]);\n\n useEffect(() => {\n focusInput();\n }, [mode]);\n\n const handleInputPlaceholder = useMemo(() => {\n if (typeof mode === \"object\") {\n return \"Search\";\n }\n\n if (mode === \"id\") {\n return \"1\";\n }\n\n return \"Search or jump to\";\n }, [mode]);\n\n const handleKeyDown = (e) => {\n if (\n e.key === \"Backspace\" &&\n mode !== \"default\" &&\n (e.target as HTMLInputElement).value === \"\"\n ) {\n setMode(\"default\");\n clearInput();\n }\n\n if (e.key === \"Enter\") {\n const selectedItem = document.querySelectorAll(\".cp-item\")[\n selected\n ] as HTMLElement;\n\n if (itemsLength > 0) {\n selectedItem.click();\n }\n }\n };\n\n return (\n <StyledCommandPaletteHeader className=\"cp-header\">\n <StyledSearchIcon>\n <SearchLargeIcon />\n </StyledSearchIcon>\n\n {mode === \"id\" ? <StyledParameter>ID#:</StyledParameter> : null}\n {typeof mode === \"object\" ? (\n <StyledParameter>\n {mode.name.length > 10 ? mode.name.slice(0, 10) + \"...\" : mode.name}/\n </StyledParameter>\n ) : null}\n\n <StyledInput\n ref={inputRef}\n autoFocus\n placeholder={handleInputPlaceholder}\n type=\"search\"\n aria-autocomplete=\"list\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n role=\"combobox\"\n spellCheck={false}\n value={search}\n onKeyDown={handleKeyDown}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (\n inputText.startsWith(\"#\") &&\n idModeEnabled &&\n search.length === 0\n ) {\n setMode(\"id\");\n onChangeSearch(inputText.slice(1));\n return;\n }\n\n onChangeSearch(inputText);\n }}\n />\n\n <StyledActionWrapper>\n {loading ? (\n <StyledSpinnerLoader\n aria-busy={true}\n aria-label=\"Loading...\"\n aria-valuemax={100}\n aria-valuemin={0}\n role=\"progressbar\"\n />\n ) : null}\n\n {mode !== \"id\" &&\n typeof mode !== \"object\" &&\n idModeEnabled &&\n search.length === 0 ? (\n <Tooltip title=\"Search by ID\" placement=\"top\">\n <IconButton\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"id\");\n clearInput();\n }\n }}\n onClick={() => {\n setMode(\"id\");\n clearInput();\n }}\n variant=\"text gray\"\n >\n <HashtagIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n\n {search.length > 0 || mode === \"id\" || typeof mode === \"object\" ? (\n <Tooltip title=\"Clear\" placement=\"top\">\n <IconButton\n variant=\"text gray\"\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"default\");\n clearInput();\n focusInput();\n }\n }}\n onClick={() => {\n setMode(\"default\");\n clearInput();\n focusInput();\n }}\n >\n <CloseIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n </StyledActionWrapper>\n </StyledCommandPaletteHeader>\n );\n};\n\nCommandPaletteHeader.displayName = \"CommandPaletteItem\";\n"],"mappings":"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"}
@@ -61,6 +61,7 @@ var SelectDate = function SelectDate(_ref) {
61
61
  _ref$modalCancelBtnTe = _ref.modalCancelBtnText,
62
62
  modalCancelBtnText = _ref$modalCancelBtnTe === void 0 ? "Cancel" : _ref$modalCancelBtnTe,
63
63
  onDayClick = _ref.onDayClick,
64
+ onMonthChange = _ref.onMonthChange,
64
65
  onSave = _ref.onSave,
65
66
  onCancel = _ref.onCancel,
66
67
  onToggleDatePicker = _ref.onToggleDatePicker,
@@ -166,8 +167,11 @@ var SelectDate = function SelectDate(_ref) {
166
167
  month = _useState4[0],
167
168
  setMonth = _useState4[1];
168
169
  var handleMonthChange = (0, _react.useCallback)(function (month) {
170
+ if (onMonthChange) {
171
+ onMonthChange(month);
172
+ }
169
173
  setMonth(month);
170
- }, [setMonth]);
174
+ }, [setMonth, onMonthChange]);
171
175
  var _useState5 = (0, _react.useState)(modifiedDates),
172
176
  _useState6 = _slicedToArray(_useState5, 2),
173
177
  newDates = _useState6[0],
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDate.js","names":["getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","passedDateFormat","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","useState","timezoneAware","setTimezoneAware","localization","useLocalization","labelText","useMemo","endDate","local","startDate","formattedEndDate","formatDate","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","useCallback","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","useEffect","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","format","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","customClassNames","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","renderTargetEl","classnames","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\nimport { useLocalization } from \"../Localization\";\nimport { formatDate } from \"../../utils/dateUtils\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat: passedDateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n const localization = useLocalization();\n const dateFormat = passedDateFormat\n ? passedDateFormat\n : localization.dateFormat;\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const formattedEndDate = formatDate(endDate, dateFormat, longDateFormat);\n const formattedStartDate = formatDate(\n startDate,\n dateFormat,\n longDateFormat\n );\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDate.js","names":["getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onMonthChange","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","passedDateFormat","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","useState","timezoneAware","setTimezoneAware","localization","useLocalization","labelText","useMemo","endDate","local","startDate","formattedEndDate","formatDate","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","useCallback","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","useEffect","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","format","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","customClassNames","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","renderTargetEl","classnames","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\nimport { useLocalization } from \"../Localization\";\nimport { formatDate } from \"../../utils/dateUtils\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Called when month (or year) is changed */\n onMonthChange?: (day: Date) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onMonthChange,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat: passedDateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n const localization = useLocalization();\n const dateFormat = passedDateFormat\n ? passedDateFormat\n : localization.dateFormat;\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const formattedEndDate = formatDate(endDate, dateFormat, longDateFormat);\n const formattedStartDate = formatDate(\n startDate,\n dateFormat,\n longDateFormat\n );\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n if (onMonthChange) {\n onMonthChange(month);\n }\n setMonth(month);\n },\n [setMonth, onMonthChange]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/CommandPalette/CommandPalette.styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,oBAAoB,oEAWhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,oEAUvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,oEAOtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,oEAM5B,CAAC;AAEF,eAAO,MAAM,WAAW,sEA8BvB,CAAC;AAEF,eAAO,MAAM,eAAe,qEAW3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,oEAI/B,CAAC;AAEF,eAAO,MAAM,UAAU,oEAMtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,mEASpC,CAAC;AAEF,eAAO,MAAM,aAAa,kEAQzB,CAAC;AAGF,eAAO,MAAM,wBAAwB;eAAwB,OAAO;SA4BnE,CAAC;AAEF,eAAO,MAAM,+BAA+B;eA9BiB,OAAO;SAgCnE,CAAC;AAEF,eAAO,MAAM,mBAAmB,uzJAE/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,oEAU1C,CAAC"}
1
+ {"version":3,"file":"CommandPalette.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/CommandPalette/CommandPalette.styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,oBAAoB,oEAWhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,oEAUvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,oEAOtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,oEAM5B,CAAC;AAEF,eAAO,MAAM,WAAW,sEAqCvB,CAAC;AAEF,eAAO,MAAM,eAAe,qEAW3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,oEAI/B,CAAC;AAEF,eAAO,MAAM,UAAU,oEAMtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,mEASpC,CAAC;AAEF,eAAO,MAAM,aAAa,kEAQzB,CAAC;AAGF,eAAO,MAAM,wBAAwB;eAAwB,OAAO;SA4BnE,CAAC;AAEF,eAAO,MAAM,+BAA+B;eA9BiB,OAAO;SAgCnE,CAAC;AAEF,eAAO,MAAM,mBAAmB,uzJAE/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,oEAU1C,CAAC"}
@@ -21,7 +21,7 @@ export var StyledSearchIcon = styled.div.withConfig({
21
21
  export var StyledInput = styled.input.withConfig({
22
22
  displayName: "CommandPalettestyles__StyledInput",
23
23
  componentId: "sc-na3mad-4"
24
- })(["all:unset;caret-color:var(--color-primary);color:var(--color-theme-900);width:100%;", "{font-size:32px;font-weight:300;letter-spacing:0.5px;line-height:44px;}::-webkit-outer-spin-button,::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type=\"number\"]{-moz-appearance:textfield;}::placeholder{color:var(--color-theme-transparent-500);}::selection{background:var(--color-primary-300);}"], screen.sm);
24
+ })(["all:unset;caret-color:var(--color-primary);color:var(--color-theme-900);width:100%;", "{font-size:32px;font-weight:300;letter-spacing:0.5px;line-height:44px;}::-webkit-outer-spin-button,::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type=\"search\"]::-webkit-search-decoration,&[type=\"search\"]::-webkit-search-cancel-button,&[type=\"search\"]::-webkit-search-results-button,&[type=\"search\"]::-webkit-search-results-decoration{-webkit-appearance:none;}&[type=\"number\"]{-moz-appearance:textfield;}::placeholder{color:var(--color-theme-transparent-500);}::selection{background:var(--color-primary-300);}"], screen.sm);
25
25
  export var StyledParameter = styled.span.withConfig({
26
26
  displayName: "CommandPalettestyles__StyledParameter",
27
27
  componentId: "sc-na3mad-5"
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.styles.js","names":["styled","FontStyle","screen","SpinnerLoader","StyledCommandPalette","div","StyledCommandPaletteWrapper","StyledCommandPaletteHeader","StyledSearchIcon","StyledInput","input","sm","StyledParameter","span","StyledActionWrapper","StyledIcon","StyledCommandPaletteList","ul","StyledHeading","p","StyledCommandPaletteItem","a","$selected","StyledCommandPaletteCommandItem","StyledSpinnerLoader","StyledCommandPaletteItemLoader"],"sources":["../../../../src/components/CommandPalette/CommandPalette.styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { screen } from \"../BreakPoints\";\nimport { SpinnerLoader } from \"../Loaders\";\n\nexport const StyledCommandPalette = styled.div`\n ${FontStyle}\n background-color: var(--page-paper-main);\n border-radius: 10px;\n box-sizing: border-box;\n max-width: 600px;\n\n mark {\n background-color: var(--color-primary-300);\n color: var(--color-theme-900);\n }\n`;\n\nexport const StyledCommandPaletteWrapper = styled.div`\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 450px;\n\n &:not(:empty) {\n border-top: 1px solid var(--color-theme-400);\n padding-bottom: 8px;\n padding-top: 8px;\n }\n`;\n\nexport const StyledCommandPaletteHeader = styled.div`\n align-items: center;\n display: flex;\n padding-bottom: 12px;\n padding-left: 16px;\n padding-right: 16px;\n padding-top: 12px;\n`;\n\nexport const StyledSearchIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledInput = styled.input`\n all: unset;\n caret-color: var(--color-primary);\n color: var(--color-theme-900);\n width: 100%;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n\n ::-webkit-outer-spin-button,\n ::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n\n ::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ::selection {\n background: var(--color-primary-300);\n }\n`;\n\nexport const StyledParameter = styled.span`\n color: var(--color-theme-transparent-500);\n margin-right: 8px;\n flex-shrink: 0;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n`;\n\nexport const StyledActionWrapper = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n`;\n\nexport const StyledIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledCommandPaletteList = styled.ul`\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: hidden;\n\n &:not(:first-child) {\n border-top: 1px solid var(--color-theme-400);\n }\n`;\n\nexport const StyledHeading = styled.p`\n font-size: 12px;\n margin-top: 12px;\n margin-bottom: 4px;\n font-weight: bold;\n padding-left: 18px;\n letter-spacing: 0.5px;\n color: var(--color-theme-600);\n`;\n\n// prettier-ignore\nexport const StyledCommandPaletteItem = styled.a<{$selected: boolean}>`\n align-items: center;\n cursor: pointer;\n display: flex;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n position: relative;\n background-color: ${({$selected}) => $selected ? \"var(--color-theme-200)\" : \"transparent\"};\n\n &:focus {\n background-color: var(--color-theme-200);\n }\n\n &::before {\n display: ${({$selected}) => $selected ? \"block\" : \"none\"};\n background-color: var(--color-primary);\n content: \"\";\n height: 100%;\n left: 0;\n position: absolute;\n width: 2px;\n }\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledCommandPaletteCommandItem = styled(StyledCommandPaletteItem)`\n user-select: none;\n`;\n\nexport const StyledSpinnerLoader = styled(SpinnerLoader)`\n margin-right: 4px;\n`;\n\nexport const StyledCommandPaletteItemLoader = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n pointer-events: none;\n user-select: none;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SAASC,aAAa,QAAQ,YAAY;AAE1C,OAAO,IAAMC,oBAAoB,GAAGJ,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,4LAC1CJ,SAAS,CAUZ;AAED,OAAO,IAAMK,2BAA2B,GAAGN,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,yJAUpD;AAED,OAAO,IAAME,0BAA0B,GAAGP,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,kHAOnD;AAED,OAAO,IAAMG,gBAAgB,GAAGR,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,oDAMzC;AAED,OAAO,IAAMI,WAAW,GAAGT,MAAM,CAACU,KAAK;EAAA;EAAA;AAAA,wZAMnCR,MAAM,CAACS,EAAE,CAwBZ;AAED,OAAO,IAAMC,eAAe,GAAGZ,MAAM,CAACa,IAAI;EAAA;EAAA;AAAA,4JAKtCX,MAAM,CAACS,EAAE,CAMZ;AAED,OAAO,IAAMG,mBAAmB,GAAGd,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,gDAI5C;AAED,OAAO,IAAMU,UAAU,GAAGf,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,oDAMnC;AAED,OAAO,IAAMW,wBAAwB,GAAGhB,MAAM,CAACiB,EAAE;EAAA;EAAA;AAAA,iIAShD;AAED,OAAO,IAAMC,aAAa,GAAGlB,MAAM,CAACmB,CAAC;EAAA;EAAA;AAAA,8IAQpC;;AAED;AACA,OAAO,IAAMC,wBAAwB,GAAGpB,MAAM,CAACqB,CAAC;EAAA;EAAA;AAAA,2WAS1B;EAAA,IAAEC,SAAS,QAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,wBAAwB,GAAG,aAAa;AAAA,GAO5E;EAAA,IAAEA,SAAS,SAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,OAAO,GAAG,MAAM;AAAA,EAY3D;AAED,OAAO,IAAMC,+BAA+B,GAAGvB,MAAM,CAACoB,wBAAwB,CAAC;EAAA;EAAA;AAAA,yBAE9E;AAED,OAAO,IAAMI,mBAAmB,GAAGxB,MAAM,CAACG,aAAa,CAAC;EAAA;EAAA;AAAA,yBAEvD;AAED,OAAO,IAAMsB,8BAA8B,GAAGzB,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,+JAUvD"}
1
+ {"version":3,"file":"CommandPalette.styles.js","names":["styled","FontStyle","screen","SpinnerLoader","StyledCommandPalette","div","StyledCommandPaletteWrapper","StyledCommandPaletteHeader","StyledSearchIcon","StyledInput","input","sm","StyledParameter","span","StyledActionWrapper","StyledIcon","StyledCommandPaletteList","ul","StyledHeading","p","StyledCommandPaletteItem","a","$selected","StyledCommandPaletteCommandItem","StyledSpinnerLoader","StyledCommandPaletteItemLoader"],"sources":["../../../../src/components/CommandPalette/CommandPalette.styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { screen } from \"../BreakPoints\";\nimport { SpinnerLoader } from \"../Loaders\";\n\nexport const StyledCommandPalette = styled.div`\n ${FontStyle}\n background-color: var(--page-paper-main);\n border-radius: 10px;\n box-sizing: border-box;\n max-width: 600px;\n\n mark {\n background-color: var(--color-primary-300);\n color: var(--color-theme-900);\n }\n`;\n\nexport const StyledCommandPaletteWrapper = styled.div`\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 450px;\n\n &:not(:empty) {\n border-top: 1px solid var(--color-theme-400);\n padding-bottom: 8px;\n padding-top: 8px;\n }\n`;\n\nexport const StyledCommandPaletteHeader = styled.div`\n align-items: center;\n display: flex;\n padding-bottom: 12px;\n padding-left: 16px;\n padding-right: 16px;\n padding-top: 12px;\n`;\n\nexport const StyledSearchIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledInput = styled.input`\n all: unset;\n caret-color: var(--color-primary);\n color: var(--color-theme-900);\n width: 100%;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n\n ::-webkit-outer-spin-button,\n ::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &[type=\"search\"]::-webkit-search-decoration,\n &[type=\"search\"]::-webkit-search-cancel-button,\n &[type=\"search\"]::-webkit-search-results-button,\n &[type=\"search\"]::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n\n ::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ::selection {\n background: var(--color-primary-300);\n }\n`;\n\nexport const StyledParameter = styled.span`\n color: var(--color-theme-transparent-500);\n margin-right: 8px;\n flex-shrink: 0;\n\n ${screen.sm} {\n font-size: 32px;\n font-weight: 300;\n letter-spacing: 0.5px;\n line-height: 44px;\n }\n`;\n\nexport const StyledActionWrapper = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n`;\n\nexport const StyledIcon = styled.div`\n margin-right: 8px;\n\n svg {\n vertical-align: middle;\n }\n`;\n\nexport const StyledCommandPaletteList = styled.ul`\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: hidden;\n\n &:not(:first-child) {\n border-top: 1px solid var(--color-theme-400);\n }\n`;\n\nexport const StyledHeading = styled.p`\n font-size: 12px;\n margin-top: 12px;\n margin-bottom: 4px;\n font-weight: bold;\n padding-left: 18px;\n letter-spacing: 0.5px;\n color: var(--color-theme-600);\n`;\n\n// prettier-ignore\nexport const StyledCommandPaletteItem = styled.a<{$selected: boolean}>`\n align-items: center;\n cursor: pointer;\n display: flex;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n position: relative;\n background-color: ${({$selected}) => $selected ? \"var(--color-theme-200)\" : \"transparent\"};\n\n &:focus {\n background-color: var(--color-theme-200);\n }\n\n &::before {\n display: ${({$selected}) => $selected ? \"block\" : \"none\"};\n background-color: var(--color-primary);\n content: \"\";\n height: 100%;\n left: 0;\n position: absolute;\n width: 2px;\n }\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledCommandPaletteCommandItem = styled(StyledCommandPaletteItem)`\n user-select: none;\n`;\n\nexport const StyledSpinnerLoader = styled(SpinnerLoader)`\n margin-right: 4px;\n`;\n\nexport const StyledCommandPaletteItemLoader = styled.div`\n align-items: center;\n display: flex;\n gap: 8px;\n padding-bottom: 12px;\n padding-left: 18px;\n padding-right: 18px;\n padding-top: 12px;\n pointer-events: none;\n user-select: none;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SAASC,aAAa,QAAQ,YAAY;AAE1C,OAAO,IAAMC,oBAAoB,GAAGJ,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,4LAC1CJ,SAAS,CAUZ;AAED,OAAO,IAAMK,2BAA2B,GAAGN,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,yJAUpD;AAED,OAAO,IAAME,0BAA0B,GAAGP,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,kHAOnD;AAED,OAAO,IAAMG,gBAAgB,GAAGR,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,oDAMzC;AAED,OAAO,IAAMI,WAAW,GAAGT,MAAM,CAACU,KAAK;EAAA;EAAA;AAAA,wnBAMnCR,MAAM,CAACS,EAAE,CA+BZ;AAED,OAAO,IAAMC,eAAe,GAAGZ,MAAM,CAACa,IAAI;EAAA;EAAA;AAAA,4JAKtCX,MAAM,CAACS,EAAE,CAMZ;AAED,OAAO,IAAMG,mBAAmB,GAAGd,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,gDAI5C;AAED,OAAO,IAAMU,UAAU,GAAGf,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,oDAMnC;AAED,OAAO,IAAMW,wBAAwB,GAAGhB,MAAM,CAACiB,EAAE;EAAA;EAAA;AAAA,iIAShD;AAED,OAAO,IAAMC,aAAa,GAAGlB,MAAM,CAACmB,CAAC;EAAA;EAAA;AAAA,8IAQpC;;AAED;AACA,OAAO,IAAMC,wBAAwB,GAAGpB,MAAM,CAACqB,CAAC;EAAA;EAAA;AAAA,2WAS1B;EAAA,IAAEC,SAAS,QAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,wBAAwB,GAAG,aAAa;AAAA,GAO5E;EAAA,IAAEA,SAAS,SAATA,SAAS;EAAA,OAAMA,SAAS,GAAG,OAAO,GAAG,MAAM;AAAA,EAY3D;AAED,OAAO,IAAMC,+BAA+B,GAAGvB,MAAM,CAACoB,wBAAwB,CAAC;EAAA;EAAA;AAAA,yBAE9E;AAED,OAAO,IAAMI,mBAAmB,GAAGxB,MAAM,CAACG,aAAa,CAAC;EAAA;EAAA;AAAA,yBAEvD;AAED,OAAO,IAAMsB,8BAA8B,GAAGzB,MAAM,CAACK,GAAG;EAAA;EAAA;AAAA,+JAUvD"}
@@ -72,7 +72,7 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
72
72
  ref: inputRef,
73
73
  autoFocus: true,
74
74
  placeholder: handleInputPlaceholder,
75
- type: "text",
75
+ type: "search",
76
76
  "aria-autocomplete": "list",
77
77
  autoCapitalize: "none",
78
78
  autoComplete: "off",
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPaletteHeader.js","names":["React","useEffect","useMemo","useRef","IconButton","CloseIcon","HashtagIcon","SearchLargeIcon","Tooltip","StyledActionWrapper","StyledCommandPaletteHeader","StyledInput","StyledParameter","StyledSearchIcon","StyledSpinnerLoader","useSelectedContext","useModeContext","useSearchContext","CommandPaletteHeader","loading","commandsLength","itemsLength","inputRef","mode","setMode","idModeEnabled","setSelected","selected","search","onChangeSearch","focusInput","current","focus","clearInput","value","length","handleInputPlaceholder","handleKeyDown","e","key","target","selectedItem","document","querySelectorAll","click","name","slice","inputText","startsWith","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { IconButton } from \"../IconButton\";\nimport { CloseIcon, HashtagIcon, SearchLargeIcon } from \"../Icons\";\nimport { Tooltip } from \"../Tooltip\";\nimport {\n StyledActionWrapper,\n StyledCommandPaletteHeader,\n StyledInput,\n StyledParameter,\n StyledSearchIcon,\n StyledSpinnerLoader,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\n\nimport { useModeContext } from \"./context/ModeContext\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nexport interface CommandPaletteHeaderProps {\n loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\n loading = false,\n commandsLength,\n itemsLength,\n}: CommandPaletteHeaderProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const { mode, setMode, idModeEnabled } = useModeContext();\n const { setSelected, selected } = useSelectedContext();\n const { search, onChangeSearch } = useSearchContext();\n\n const focusInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const clearInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.value = \"\";\n onChangeSearch(\"\");\n }\n };\n\n useEffect(() => {\n if (search.length > 0) {\n if (itemsLength > commandsLength) {\n setSelected(commandsLength);\n } else {\n setSelected(0);\n }\n }\n }, [search, commandsLength, itemsLength, setSelected]);\n\n useEffect(() => {\n focusInput();\n }, [mode]);\n\n const handleInputPlaceholder = useMemo(() => {\n if (typeof mode === \"object\") {\n return \"Search\";\n }\n\n if (mode === \"id\") {\n return \"1\";\n }\n\n return \"Search or jump to\";\n }, [mode]);\n\n const handleKeyDown = (e) => {\n if (\n e.key === \"Backspace\" &&\n mode !== \"default\" &&\n (e.target as HTMLInputElement).value === \"\"\n ) {\n setMode(\"default\");\n clearInput();\n }\n\n if (e.key === \"Enter\") {\n const selectedItem = document.querySelectorAll(\".cp-item\")[\n selected\n ] as HTMLElement;\n\n if (itemsLength > 0) {\n selectedItem.click();\n }\n }\n };\n\n return (\n <StyledCommandPaletteHeader className=\"cp-header\">\n <StyledSearchIcon>\n <SearchLargeIcon />\n </StyledSearchIcon>\n\n {mode === \"id\" ? <StyledParameter>ID#:</StyledParameter> : null}\n {typeof mode === \"object\" ? (\n <StyledParameter>\n {mode.name.length > 10 ? mode.name.slice(0, 10) + \"...\" : mode.name}/\n </StyledParameter>\n ) : null}\n\n <StyledInput\n ref={inputRef}\n autoFocus\n placeholder={handleInputPlaceholder}\n type=\"text\"\n aria-autocomplete=\"list\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n role=\"combobox\"\n spellCheck={false}\n value={search}\n onKeyDown={handleKeyDown}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (\n inputText.startsWith(\"#\") &&\n idModeEnabled &&\n search.length === 0\n ) {\n setMode(\"id\");\n onChangeSearch(inputText.slice(1));\n return;\n }\n\n onChangeSearch(inputText);\n }}\n />\n\n <StyledActionWrapper>\n {loading ? (\n <StyledSpinnerLoader\n aria-busy={true}\n aria-label=\"Loading...\"\n aria-valuemax={100}\n aria-valuemin={0}\n role=\"progressbar\"\n />\n ) : null}\n\n {mode !== \"id\" &&\n typeof mode !== \"object\" &&\n idModeEnabled &&\n search.length === 0 ? (\n <Tooltip title=\"Search by ID\" placement=\"top\">\n <IconButton\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"id\");\n clearInput();\n }\n }}\n onClick={() => {\n setMode(\"id\");\n clearInput();\n }}\n variant=\"text gray\"\n >\n <HashtagIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n\n {search.length > 0 || mode === \"id\" || typeof mode === \"object\" ? (\n <Tooltip title=\"Clear\" placement=\"top\">\n <IconButton\n variant=\"text gray\"\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"default\");\n clearInput();\n focusInput();\n }\n }}\n onClick={() => {\n setMode(\"default\");\n clearInput();\n focusInput();\n }}\n >\n <CloseIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n </StyledActionWrapper>\n </StyledCommandPaletteHeader>\n );\n};\n\nCommandPaletteHeader.displayName = \"CommandPaletteItem\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"CommandPaletteHeader.js","names":["React","useEffect","useMemo","useRef","IconButton","CloseIcon","HashtagIcon","SearchLargeIcon","Tooltip","StyledActionWrapper","StyledCommandPaletteHeader","StyledInput","StyledParameter","StyledSearchIcon","StyledSpinnerLoader","useSelectedContext","useModeContext","useSearchContext","CommandPaletteHeader","loading","commandsLength","itemsLength","inputRef","mode","setMode","idModeEnabled","setSelected","selected","search","onChangeSearch","focusInput","current","focus","clearInput","value","length","handleInputPlaceholder","handleKeyDown","e","key","target","selectedItem","document","querySelectorAll","click","name","slice","inputText","startsWith","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { IconButton } from \"../IconButton\";\nimport { CloseIcon, HashtagIcon, SearchLargeIcon } from \"../Icons\";\nimport { Tooltip } from \"../Tooltip\";\nimport {\n StyledActionWrapper,\n StyledCommandPaletteHeader,\n StyledInput,\n StyledParameter,\n StyledSearchIcon,\n StyledSpinnerLoader,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\n\nimport { useModeContext } from \"./context/ModeContext\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nexport interface CommandPaletteHeaderProps {\n loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\n loading = false,\n commandsLength,\n itemsLength,\n}: CommandPaletteHeaderProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const { mode, setMode, idModeEnabled } = useModeContext();\n const { setSelected, selected } = useSelectedContext();\n const { search, onChangeSearch } = useSearchContext();\n\n const focusInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const clearInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.value = \"\";\n onChangeSearch(\"\");\n }\n };\n\n useEffect(() => {\n if (search.length > 0) {\n if (itemsLength > commandsLength) {\n setSelected(commandsLength);\n } else {\n setSelected(0);\n }\n }\n }, [search, commandsLength, itemsLength, setSelected]);\n\n useEffect(() => {\n focusInput();\n }, [mode]);\n\n const handleInputPlaceholder = useMemo(() => {\n if (typeof mode === \"object\") {\n return \"Search\";\n }\n\n if (mode === \"id\") {\n return \"1\";\n }\n\n return \"Search or jump to\";\n }, [mode]);\n\n const handleKeyDown = (e) => {\n if (\n e.key === \"Backspace\" &&\n mode !== \"default\" &&\n (e.target as HTMLInputElement).value === \"\"\n ) {\n setMode(\"default\");\n clearInput();\n }\n\n if (e.key === \"Enter\") {\n const selectedItem = document.querySelectorAll(\".cp-item\")[\n selected\n ] as HTMLElement;\n\n if (itemsLength > 0) {\n selectedItem.click();\n }\n }\n };\n\n return (\n <StyledCommandPaletteHeader className=\"cp-header\">\n <StyledSearchIcon>\n <SearchLargeIcon />\n </StyledSearchIcon>\n\n {mode === \"id\" ? <StyledParameter>ID#:</StyledParameter> : null}\n {typeof mode === \"object\" ? (\n <StyledParameter>\n {mode.name.length > 10 ? mode.name.slice(0, 10) + \"...\" : mode.name}/\n </StyledParameter>\n ) : null}\n\n <StyledInput\n ref={inputRef}\n autoFocus\n placeholder={handleInputPlaceholder}\n type=\"search\"\n aria-autocomplete=\"list\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n role=\"combobox\"\n spellCheck={false}\n value={search}\n onKeyDown={handleKeyDown}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (\n inputText.startsWith(\"#\") &&\n idModeEnabled &&\n search.length === 0\n ) {\n setMode(\"id\");\n onChangeSearch(inputText.slice(1));\n return;\n }\n\n onChangeSearch(inputText);\n }}\n />\n\n <StyledActionWrapper>\n {loading ? (\n <StyledSpinnerLoader\n aria-busy={true}\n aria-label=\"Loading...\"\n aria-valuemax={100}\n aria-valuemin={0}\n role=\"progressbar\"\n />\n ) : null}\n\n {mode !== \"id\" &&\n typeof mode !== \"object\" &&\n idModeEnabled &&\n search.length === 0 ? (\n <Tooltip title=\"Search by ID\" placement=\"top\">\n <IconButton\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"id\");\n clearInput();\n }\n }}\n onClick={() => {\n setMode(\"id\");\n clearInput();\n }}\n variant=\"text gray\"\n >\n <HashtagIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n\n {search.length > 0 || mode === \"id\" || typeof mode === \"object\" ? (\n <Tooltip title=\"Clear\" placement=\"top\">\n <IconButton\n variant=\"text gray\"\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"default\");\n clearInput();\n focusInput();\n }\n }}\n onClick={() => {\n setMode(\"default\");\n clearInput();\n focusInput();\n }}\n >\n <CloseIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n </StyledActionWrapper>\n </StyledCommandPaletteHeader>\n );\n};\n\nCommandPaletteHeader.displayName = \"CommandPaletteItem\";\n"],"mappings":"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"}
@@ -27,6 +27,8 @@ interface ISelectDate {
27
27
  tooltipText?: string;
28
28
  /** Called when day is clicked */
29
29
  onDayClick?: (day: Date, modifiers: DayModifiers) => void;
30
+ /** Called when month (or year) is changed */
31
+ onMonthChange?: (day: Date) => void;
30
32
  /** Save changes in atomic mode */
31
33
  onSave?: (dates?: {
32
34
  from: number;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDate.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectDate.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ export var SelectDate = function SelectDate(_ref) {
40
40
  _ref$modalCancelBtnTe = _ref.modalCancelBtnText,
41
41
  modalCancelBtnText = _ref$modalCancelBtnTe === void 0 ? "Cancel" : _ref$modalCancelBtnTe,
42
42
  onDayClick = _ref.onDayClick,
43
+ onMonthChange = _ref.onMonthChange,
43
44
  onSave = _ref.onSave,
44
45
  onCancel = _ref.onCancel,
45
46
  onToggleDatePicker = _ref.onToggleDatePicker,
@@ -143,8 +144,11 @@ export var SelectDate = function SelectDate(_ref) {
143
144
  month = _useState2[0],
144
145
  setMonth = _useState2[1];
145
146
  var handleMonthChange = useCallback(function (month) {
147
+ if (onMonthChange) {
148
+ onMonthChange(month);
149
+ }
146
150
  setMonth(month);
147
- }, [setMonth]);
151
+ }, [setMonth, onMonthChange]);
148
152
  var _useState3 = useState(modifiedDates),
149
153
  newDates = _useState3[0],
150
154
  setNewDates = _useState3[1];