@digigov/react-modules 1.2.0-rc.33 → 2.0.0-16fbe090

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.
Files changed (89) hide show
  1. package/Faq/Results.js +34 -0
  2. package/Faq/hooks.d.ts +1 -1
  3. package/Faq/hooks.js +54 -0
  4. package/Faq/index.js +191 -163
  5. package/Faq/slug.js +94 -0
  6. package/Faq/utils.js +3 -0
  7. package/FilteredResults/DataTable.js +12 -0
  8. package/FilteredResults/FilterChips.js +34 -0
  9. package/FilteredResults/FilterFields.js +13 -0
  10. package/FilteredResults/hooks.d.ts +1 -1
  11. package/FilteredResults/hooks.js +78 -0
  12. package/FilteredResults/index.js +96 -112
  13. package/index.d.ts +2 -2
  14. package/index.js +3 -4
  15. package/lazy.d.ts +17 -0
  16. package/lazy.js +28 -0
  17. package/package.json +10 -10
  18. package/registry.d.ts +14 -0
  19. package/registry.js +34 -0
  20. package/Faq/Faq.stories.d.ts +0 -8
  21. package/Faq/Results/index.js +0 -29
  22. package/Faq/Results/package.json +0 -6
  23. package/Faq/Results.js.map +0 -7
  24. package/Faq/__stories__/Default.d.ts +0 -2
  25. package/Faq/hooks/index.js +0 -66
  26. package/Faq/hooks/package.json +0 -6
  27. package/Faq/hooks.js.map +0 -7
  28. package/Faq/index.js.map +0 -7
  29. package/Faq/index.test.d.ts +0 -1
  30. package/Faq/package.json +0 -6
  31. package/Faq/slug/index.js +0 -97
  32. package/Faq/slug/package.json +0 -6
  33. package/Faq/slug.js.map +0 -7
  34. package/Faq/splitted.test.d.ts +0 -1
  35. package/Faq/utils/index.js +0 -8
  36. package/Faq/utils/package.json +0 -6
  37. package/Faq/utils.js.map +0 -7
  38. package/FilteredResults/DataTable/index.js +0 -18
  39. package/FilteredResults/DataTable/package.json +0 -6
  40. package/FilteredResults/DataTable.js.map +0 -7
  41. package/FilteredResults/FilterChips/index.js +0 -52
  42. package/FilteredResults/FilterChips/package.json +0 -6
  43. package/FilteredResults/FilterChips.js.map +0 -7
  44. package/FilteredResults/FilterFields/index.js +0 -11
  45. package/FilteredResults/FilterFields/package.json +0 -6
  46. package/FilteredResults/FilterFields.js.map +0 -7
  47. package/FilteredResults/FilteredResults.stories.d.ts +0 -8
  48. package/FilteredResults/__stories__/Default.d.ts +0 -2
  49. package/FilteredResults/hooks/index.js +0 -105
  50. package/FilteredResults/hooks/package.json +0 -6
  51. package/FilteredResults/hooks.js.map +0 -7
  52. package/FilteredResults/index.js.map +0 -7
  53. package/FilteredResults/index.test.d.ts +0 -1
  54. package/FilteredResults/package.json +0 -6
  55. package/FilteredResults/splitted.test.d.ts +0 -1
  56. package/ReactModules.stories.d.ts +0 -4
  57. package/cjs/Faq/Results/index.js +0 -58
  58. package/cjs/Faq/Results.js.map +0 -7
  59. package/cjs/Faq/hooks/index.js +0 -90
  60. package/cjs/Faq/hooks.js.map +0 -7
  61. package/cjs/Faq/index.js +0 -194
  62. package/cjs/Faq/index.js.map +0 -7
  63. package/cjs/Faq/slug/index.js +0 -120
  64. package/cjs/Faq/slug.js.map +0 -7
  65. package/cjs/Faq/utils/index.js +0 -31
  66. package/cjs/Faq/utils.js.map +0 -7
  67. package/cjs/FilteredResults/DataTable/index.js +0 -42
  68. package/cjs/FilteredResults/DataTable.js.map +0 -7
  69. package/cjs/FilteredResults/FilterChips/index.js +0 -82
  70. package/cjs/FilteredResults/FilterChips.js.map +0 -7
  71. package/cjs/FilteredResults/FilterFields/index.js +0 -44
  72. package/cjs/FilteredResults/FilterFields.js.map +0 -7
  73. package/cjs/FilteredResults/hooks/index.js +0 -132
  74. package/cjs/FilteredResults/hooks.js.map +0 -7
  75. package/cjs/FilteredResults/index.js +0 -153
  76. package/cjs/FilteredResults/index.js.map +0 -7
  77. package/cjs/index.js +0 -24
  78. package/cjs/index.js.map +0 -7
  79. package/cjs/lazy/index.js +0 -44
  80. package/cjs/lazy.js.map +0 -7
  81. package/cjs/registry/index.js +0 -73
  82. package/cjs/registry.js.map +0 -7
  83. package/index.js.map +0 -7
  84. package/lazy/package.json +0 -6
  85. package/registry/package.json +0 -6
  86. package/src/lazy.js +0 -11
  87. package/src/registry.js +0 -43
  88. /package/{lazy/index.js → src/lazy.ts} +0 -0
  89. /package/{registry/index.js → src/registry.ts} +0 -0
package/Faq/index.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Faq/index.tsx"],
4
- "sourcesContent": ["import React, { useEffect, useContext } from 'react';\nimport { Field } from '@digigov/form/Field';\nimport FormBuilder from '@digigov/form/FormBuilder';\nimport { FormContext } from '@digigov/form/FormContext';\nimport Results from '@digigov/react-modules/Faq/Results';\nimport { createId } from '@digigov/react-modules/Faq/utils';\nimport PageTitleContainer, {\n PageTitleHeading,\n} from '@digigov/ui/app/PageTitleContainer';\nimport {\n Accordion,\n AccordionSection,\n AccordionSectionContent,\n AccordionSectionSummary,\n AccordionSectionSummaryHeading,\n} from '@digigov/ui/content/Accordion';\nimport { useAccordion } from '@digigov/ui/content/Accordion/hooks';\nimport Markdown from '@digigov/ui/content/Markdown';\nimport { SearchButton } from '@digigov/ui/form/SearchContainer';\nimport { Stack } from '@digigov/ui/layouts';\nimport { Aside } from '@digigov/ui/layouts/Basic/Aside';\nimport { Container } from '@digigov/ui/layouts/Basic/Container';\nimport { Main } from '@digigov/ui/layouts/Basic/Main';\nimport Grid from '@digigov/ui/layouts/Grid';\nimport SectionBreak from '@digigov/ui/layouts/SectionBreak';\nimport { BackToTop } from '@digigov/ui/navigation/BackToTopLink';\nimport NavList, { NavListItemAction } from '@digigov/ui/navigation/NavList';\nimport { Heading } from '@digigov/ui/typography/Heading';\nimport Hint from '@digigov/ui/typography/Hint';\n\nexport interface sectionsConfigType {\n sections: SectionType[];\n}\n\nexport interface QaType {\n id?: string;\n question: string;\n answer: string;\n}\n\nexport interface SectionType {\n id: string;\n title: string;\n qa: QaType[];\n}\n\nexport interface TocType {\n title: string;\n placement: 'top' | 'left' | 'right' | 'none';\n}\n\nexport interface SearchFilterType {\n title?: string;\n}\n\nexport interface ContentsType {\n title: string;\n toc: TocType;\n search?: SearchFilterType;\n}\n\nexport interface NavigationListProps {\n title?: string;\n sections: SectionType[];\n}\n\nexport interface FaqProps {\n contents: ContentsType;\n sections: SectionType[];\n initialSections: sectionsConfigType;\n search: (values: Record<string, string>) => void;\n submitValues: { text: string };\n activeQa: string;\n onActiveQa: (v: string) => void;\n}\n\nconst FormBuilderSyncValues = ({ values, autoSubmit }) => {\n const form = useContext(FormContext);\n const previousValues = form.getValues();\n useEffect(() => {\n const mergedObject = { ...values, ...previousValues };\n let shouldSubmit = false;\n for (const key in mergedObject) {\n // catching the filters that have been parsed from url & avoid continuous submitting\n if (values[key] !== undefined && previousValues[key] !== values[key]) {\n shouldSubmit = true;\n previousValues[key] = values[key];\n form.setValue(key, values[key]);\n }\n }\n if (autoSubmit && shouldSubmit) {\n form.submit();\n }\n }, [autoSubmit, form, previousValues, values]);\n return <></>;\n};\n\nconst NavigationList = React.forwardRef<HTMLUListElement, NavigationListProps>(\n function NavigationList({ title, sections }, ref) {\n return (\n <NavList ref={ref} layout=\"vertical\" marginBottom={10}>\n {title && (\n <Heading size=\"md\" id=\"contents\" marginBottom={4}>\n {title}\n </Heading>\n )}\n {sections &&\n sections.length > 0 &&\n sections.map(({ id, title }, index) => (\n <NavListItemAction key={index} href={`#${createId(id, title)}`}>\n {title}\n </NavListItemAction>\n ))}\n </NavList>\n );\n }\n);\n\nexport const Faq = React.forwardRef<HTMLDivElement, FaqProps>(function FAQ(\n {\n contents,\n sections,\n initialSections,\n submitValues,\n activeQa,\n onActiveQa,\n search,\n },\n ref\n) {\n const { section, currentOpen, onOpen, close } = useAccordion({\n singleOpen: true,\n defaultOpen: 0,\n });\n const placement = contents.toc?.placement || 'none';\n const filteredSections = sections.reduce(\n (acc, section) => acc + (section.qa.length || 0),\n 0\n );\n const primarySections = initialSections.sections.reduce(\n (acc, section) => acc + (section.qa.length || 0),\n 0\n );\n const hash = window.location.hash.slice(1);\n const currentId = activeQa ? activeQa : hash;\n\n useEffect(() => {\n if (onActiveQa) {\n if (currentOpen && activeQa !== currentOpen) {\n onActiveQa(currentOpen as string);\n }\n }\n }, [activeQa, currentOpen, onActiveQa]);\n\n useEffect(() => {\n if (activeQa && activeQa !== currentOpen) {\n onOpen(activeQa);\n }\n }, [activeQa, currentOpen, onOpen]);\n\n useEffect(() => {\n // Scroll to the target element if it exists\n if (currentId) {\n const element = document.getElementById(currentId);\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n }\n }, [activeQa, currentId, hash]);\n\n const Onclose = (activeQa) => {\n const urlParams = new URLSearchParams(window.location.search);\n urlParams.delete('text');\n urlParams.delete('activeQa');\n window.history.pushState({}, '', '?' + urlParams.toString());\n onActiveQa('');\n close(activeQa);\n };\n const handleSubmit = (data) => {\n search(data);\n onActiveQa('');\n close(activeQa);\n const urlParams = new URLSearchParams(window.location.search);\n urlParams.delete('activeQa');\n window.history.replaceState({}, '', '?' + urlParams.toString());\n };\n\n return (\n <Container ref={ref}>\n {placement !== 'none' && placement === 'left' && (\n <Aside sticky={false}>\n <NavigationList title={contents.toc?.title} sections={sections} />\n </Aside>\n )}\n <Main>\n <PageTitleContainer>\n <PageTitleHeading size=\"xl\" id=\"faq\">\n {contents?.title}\n </PageTitleHeading>\n </PageTitleContainer>\n {placement !== 'none' && placement === 'top' && (\n <NavigationList title={contents?.toc?.title} sections={sections} />\n )}\n\n {contents.search && (\n <FormBuilder onSubmit={handleSubmit} initial={{ text: '' }}>\n {submitValues && (\n <FormBuilderSyncValues values={submitValues} autoSubmit={true} />\n )}\n <Stack\n direction=\"row\"\n flexWrap=\"nowrap\"\n alignItems=\"flex-end\"\n spacing={4}\n >\n <Grid container style={{ width: '100%' }}>\n <Field\n type=\"string\"\n key=\"text\"\n name=\"text\"\n placeholder=\"\u0391\u03BD\u03B1\u03B6\u03B7\u03C4\u03AE\u03C3\u03C4\u03B5 \u03C3\u03C7\u03B5\u03C4\u03B9\u03BA\u03AC \u03BC\u03B5 \u03C4\u03B7\u03BD \u03B5\u03C1\u03CE\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2\"\n label={{ primary: contents.search.title }}\n />\n </Grid>\n <SearchButton\n type=\"submit\"\n mb={{ md: 10 }}\n style={{ minHeight: '2.75rem' }}\n />\n </Stack>\n {filteredSections !== primarySections && (\n <Results\n filteredSections={filteredSections}\n primarySections={primarySections}\n Onclose={Onclose}\n activeQa={activeQa}\n />\n )}\n </FormBuilder>\n )}\n <Grid>\n {sections && sections.length > 0 ? (\n sections.map(({ id: sectionId, title, qa }, index) => (\n <React.Fragment key={index}>\n <Heading id={createId(sectionId, title)} size=\"lg\">\n {title}\n </Heading>\n <Accordion marginBottom={qa && qa.length > 0 ? 12 : 0}>\n {qa?.map(({ id, question, answer }, indx) => (\n <AccordionSection\n key={indx}\n {...section(createId(id, question))}\n >\n <AccordionSectionSummary>\n <AccordionSectionSummaryHeading\n aria-controls={createId(id, question)}\n >\n {question}\n </AccordionSectionSummaryHeading>\n </AccordionSectionSummary>\n <AccordionSectionContent id={createId(id, question)}>\n <Markdown content={answer} />\n </AccordionSectionContent>\n </AccordionSection>\n ))}\n </Accordion>\n <SectionBreak visible={false} />\n </React.Fragment>\n ))\n ) : (\n <Hint marginBottom={10}>\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1.</Hint>\n )}\n </Grid>\n <BackToTop topLimitId=\"contents\" id=\"back-to-top\">\n \u0395\u03C0\u03B9\u03C3\u03C4\u03C1\u03BF\u03C6\u03AE \u03C3\u03C4\u03B1 \u03A0\u03B5\u03C1\u03B9\u03B5\u03C7\u03CC\u03BC\u03B5\u03BD\u03B1\n </BackToTop>\n </Main>\n {placement !== 'none' && placement === 'right' && (\n <Aside sticky={false}>\n <NavigationList title={contents?.toc?.title} sections={sections} />\n </Aside>\n )}\n </Container>\n );\n});\nexport default Faq;\n"],
5
- "mappings": "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",
6
- "names": ["NavigationList", "title", "section", "activeQa"]
7
- }
@@ -1 +0,0 @@
1
- export {};
package/Faq/package.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../cjs/Faq/index.js"
6
- }
package/Faq/slug/index.js DELETED
@@ -1,97 +0,0 @@
1
- function slug(text, maxWidth = 50) {
2
- const greekToLatinMap = {
3
- \u03B1: "a",
4
- \u03B2: "b",
5
- \u03B3: "g",
6
- \u03B4: "d",
7
- \u03B5: "e",
8
- \u03B6: "z",
9
- \u03B7: "i",
10
- \u03B8: "th",
11
- \u03B9: "i",
12
- \u03BA: "k",
13
- \u03BB: "l",
14
- \u03BC: "m",
15
- \u03BD: "n",
16
- \u03BE: "x",
17
- \u03BF: "o",
18
- \u03C0: "p",
19
- \u03C1: "r",
20
- \u03C3: "s",
21
- \u03C4: "t",
22
- \u03C5: "y",
23
- \u03C6: "f",
24
- \u03C7: "ch",
25
- \u03C8: "ps",
26
- \u03C9: "o",
27
- \u03AC: "a",
28
- \u03AD: "e",
29
- \u03AF: "i",
30
- \u03CC: "o",
31
- \u03CD: "y",
32
- \u03AE: "i",
33
- \u03CE: "o",
34
- \u03C2: "s",
35
- \u03CA: "i",
36
- \u03B0: "y",
37
- \u03CB: "y",
38
- \u0390: "i",
39
- \u0391: "A",
40
- \u0392: "B",
41
- \u0393: "G",
42
- \u0394: "D",
43
- \u0395: "E",
44
- \u0396: "Z",
45
- \u0397: "I",
46
- \u0398: "TH",
47
- \u0399: "I",
48
- \u039A: "K",
49
- \u039B: "L",
50
- \u039C: "M",
51
- \u039D: "N",
52
- \u039E: "X",
53
- \u039F: "O",
54
- \u03A0: "P",
55
- \u03A1: "R",
56
- \u03A3: "S",
57
- \u03A4: "T",
58
- \u03A5: "Y",
59
- \u03A6: "F",
60
- \u03A7: "CH",
61
- \u03A8: "PS",
62
- \u03A9: "O",
63
- \u0386: "A",
64
- \u0388: "E",
65
- \u038A: "I",
66
- \u038C: "O",
67
- \u038E: "Y",
68
- \u0389: "I",
69
- \u038F: "O",
70
- \u03AA: "I",
71
- \u03AB: "Y"
72
- };
73
- const latinText = text.split("").map((char) => greekToLatinMap[char] || char).join("");
74
- const processedText = latinText.toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "");
75
- let slug2 = processedText.substring(0, maxWidth);
76
- const remainingText = processedText.substring(maxWidth);
77
- slug2 = slug2.replace(/-+$/, "");
78
- const id = generateIDFromText(remainingText);
79
- return `${slug2}${id && "-"}${id}`;
80
- }
81
- function generateIDFromText(text) {
82
- if (!text) return "";
83
- let processedText = text.replace(/-/g, "").replace(/[^a-z0-9]/g, "");
84
- if (!processedText) processedText = "default";
85
- let hash = 0;
86
- for (let i = 0; i < processedText.length; i++) {
87
- const char = processedText.charCodeAt(i);
88
- hash = (hash << 5) - hash + char;
89
- hash = hash & hash;
90
- }
91
- const id = Math.abs(hash).toString(36);
92
- return id;
93
- }
94
- export {
95
- slug
96
- };
97
- //# sourceMappingURL=slug.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/Faq/slug/index.js"
6
- }
package/Faq/slug.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Faq/slug.ts"],
4
- "sourcesContent": ["export function slug(text: string, maxWidth = 50): string {\n // Greek to Latin character mapping\n const greekToLatinMap: Record<string, string> = {\n \u03B1: 'a',\n \u03B2: 'b',\n \u03B3: 'g',\n \u03B4: 'd',\n \u03B5: 'e',\n \u03B6: 'z',\n \u03B7: 'i',\n \u03B8: 'th',\n \u03B9: 'i',\n \u03BA: 'k',\n \u03BB: 'l',\n \u03BC: 'm',\n \u03BD: 'n',\n \u03BE: 'x',\n \u03BF: 'o',\n \u03C0: 'p',\n \u03C1: 'r',\n \u03C3: 's',\n \u03C4: 't',\n \u03C5: 'y',\n \u03C6: 'f',\n \u03C7: 'ch',\n \u03C8: 'ps',\n \u03C9: 'o',\n \u03AC: 'a',\n \u03AD: 'e',\n \u03AF: 'i',\n \u03CC: 'o',\n \u03CD: 'y',\n \u03AE: 'i',\n \u03CE: 'o',\n \u03C2: 's',\n \u03CA: 'i',\n \u03B0: 'y',\n \u03CB: 'y',\n \u0390: 'i',\n \u0391: 'A',\n \u0392: 'B',\n \u0393: 'G',\n \u0394: 'D',\n \u0395: 'E',\n \u0396: 'Z',\n \u0397: 'I',\n \u0398: 'TH',\n \u0399: 'I',\n \u039A: 'K',\n \u039B: 'L',\n \u039C: 'M',\n \u039D: 'N',\n \u039E: 'X',\n \u039F: 'O',\n \u03A0: 'P',\n \u03A1: 'R',\n \u03A3: 'S',\n \u03A4: 'T',\n \u03A5: 'Y',\n \u03A6: 'F',\n \u03A7: 'CH',\n \u03A8: 'PS',\n \u03A9: 'O',\n \u0386: 'A',\n \u0388: 'E',\n \u038A: 'I',\n \u038C: 'O',\n \u038E: 'Y',\n \u0389: 'I',\n \u038F: 'O',\n \u03AA: 'I',\n \u03AB: 'Y',\n };\n\n // Convert Greek characters to Latin\n const latinText = text\n .split('')\n .map((char) => greekToLatinMap[char] || char)\n .join('');\n\n // Convert to lowercase, replace spaces with hyphens, remove special characters\n const processedText = latinText\n .toLowerCase()\n .replace(/\\s+/g, '-')\n .replace(/[^\\w-]+/g, '')\n .replace(/--+/g, '-')\n .replace(/^-+/, '')\n .replace(/-+$/, '');\n\n // Calculate the available width for the slug (subtracting 1 for the hyphen and at least 8 for the ID)\n // const availableWidth = Math.max(0, maxWidth - 9);\n\n // Split the processed text into slug and remaining text for ID\n let slug = processedText.substring(0, maxWidth);\n const remainingText = processedText.substring(maxWidth);\n\n // Remove trailing hyphens from the slug\n slug = slug.replace(/-+$/, '');\n\n // Generate ID from the remaining text\n const id = generateIDFromText(remainingText);\n\n // Combine the slug and ID\n return `${slug}${id && '-'}${id}`;\n}\nfunction generateIDFromText(text: string): string {\n // If text is empty or maxLength is 0 or less, return a default ID\n if (!text) return '';\n\n // Remove hyphens and take only alphanumeric characters\n let processedText = text.replace(/-/g, '').replace(/[^a-z0-9]/g, '');\n\n // If processed text is empty, use a default base\n if (!processedText) processedText = 'default';\n\n // Calculate a simple hash of the processed text\n let hash = 0;\n for (let i = 0; i < processedText.length; i++) {\n const char = processedText.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32-bit integer\n }\n\n // Convert hash to a positive number and then to base 36 (0-9 and a-z)\n const id = Math.abs(hash).toString(36);\n\n // Ensure the ID is at least 8 characters long, padding with '0' if necessary\n return id;\n // return id.padEnd(8, '0').substring(0, maxLength);\n}\n\n// Test the function\n// console.log(createSlugWithID('\u039A\u03B1\u03BB\u03B7\u03BC\u03AD\u03C1\u03B1 \u03BA\u03CC\u03C3\u03BC\u03B5! Hello world!', 10));\n// console.log(createSlugWithID('\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC \u03BA\u03B1\u03B9 English mixed', 80));\n// console.log(\n// createSlugWithID(\n// '\u0391\u03C5\u03C4\u03CC \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AD\u03BD\u03B1 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF \u03BA\u03B5\u03AF\u03BC\u03B5\u03BD\u03BF \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B4\u03BF\u03BA\u03B9\u03BC\u03AC\u03C3\u03BF\u03C5\u03BC\u03B5 \u03C4\u03BF \u03CC\u03C1\u03B9\u03BF \u03C0\u03BB\u03AC\u03C4\u03BF\u03C5\u03C2',\n// 90\n// )\n// );\n"],
5
- "mappings": "AAAO,SAAS,KAAK,MAAc,WAAW,IAAY;AAExD,QAAM,kBAA0C;AAAA,IAC9C,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,IACH,QAAG;AAAA,EACL;AAGA,QAAM,YAAY,KACf,MAAM,EAAE,EACR,IAAI,CAAC,SAAS,gBAAgB,IAAI,KAAK,IAAI,EAC3C,KAAK,EAAE;AAGV,QAAM,gBAAgB,UACnB,YAAY,EACZ,QAAQ,QAAQ,GAAG,EACnB,QAAQ,YAAY,EAAE,EACtB,QAAQ,QAAQ,GAAG,EACnB,QAAQ,OAAO,EAAE,EACjB,QAAQ,OAAO,EAAE;AAMpB,MAAIA,QAAO,cAAc,UAAU,GAAG,QAAQ;AAC9C,QAAM,gBAAgB,cAAc,UAAU,QAAQ;AAGtD,EAAAA,QAAOA,MAAK,QAAQ,OAAO,EAAE;AAG7B,QAAM,KAAK,mBAAmB,aAAa;AAG3C,SAAO,GAAGA,KAAI,GAAG,MAAM,GAAG,GAAG,EAAE;AACjC;AACA,SAAS,mBAAmB,MAAsB;AAEhD,MAAI,CAAC,KAAM,QAAO;AAGlB,MAAI,gBAAgB,KAAK,QAAQ,MAAM,EAAE,EAAE,QAAQ,cAAc,EAAE;AAGnE,MAAI,CAAC,cAAe,iBAAgB;AAGpC,MAAI,OAAO;AACX,WAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;AAC7C,UAAM,OAAO,cAAc,WAAW,CAAC;AACvC,YAAQ,QAAQ,KAAK,OAAO;AAC5B,WAAO,OAAO;AAAA,EAChB;AAGA,QAAM,KAAK,KAAK,IAAI,IAAI,EAAE,SAAS,EAAE;AAGrC,SAAO;AAET;",
6
- "names": ["slug"]
7
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import { slug } from "@digigov/react-modules/Faq/slug";
2
- const createId = (id, text) => {
3
- return id ? id : slug(text);
4
- };
5
- export {
6
- createId
7
- };
8
- //# sourceMappingURL=utils.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/Faq/utils/index.js"
6
- }
package/Faq/utils.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Faq/utils.ts"],
4
- "sourcesContent": ["import { slug } from '@digigov/react-modules/Faq/slug';\n\nexport const createId = (id: string | undefined, text: string) => {\n return id ? id : slug(text); // Fallback to slug(text) when id is undefined\n};\n"],
5
- "mappings": "AAAA,SAAS,YAAY;AAEd,MAAM,WAAW,CAAC,IAAwB,SAAiB;AAChE,SAAO,KAAK,KAAK,KAAK,IAAI;AAC5B;",
6
- "names": []
7
- }
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- import {
3
- Table,
4
- TableBody,
5
- TableContainer,
6
- TableDataCell,
7
- TableHead,
8
- TableHeadCell,
9
- TableNoDataRow,
10
- TableRow
11
- } from "@digigov/ui/content/Table";
12
- function DataTable({ dataConfig, data }) {
13
- return /* @__PURE__ */ React.createElement(TableContainer, null, /* @__PURE__ */ React.createElement(Table, null, /* @__PURE__ */ React.createElement(TableHead, null, /* @__PURE__ */ React.createElement(TableRow, null, dataConfig.map((itenConfig) => /* @__PURE__ */ React.createElement(TableHeadCell, { key: itenConfig.key }, itenConfig.title)))), /* @__PURE__ */ React.createElement(TableBody, null, data.length > 0 ? data.map((item, index) => /* @__PURE__ */ React.createElement(TableRow, { key: index }, dataConfig.map((itemConfig, idx) => /* @__PURE__ */ React.createElement(TableDataCell, { key: idx }, itemConfig.displayComponent ? itemConfig.displayComponent(item[itemConfig.key]) : item[itemConfig.key])))) : /* @__PURE__ */ React.createElement(TableNoDataRow, null, "\u0394\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1"))));
14
- }
15
- export {
16
- DataTable
17
- };
18
- //# sourceMappingURL=DataTable.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/FilteredResults/DataTable/index.js"
6
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/FilteredResults/DataTable.tsx"],
4
- "sourcesContent": ["import React from 'react';\n\nimport {\n Table,\n TableBody,\n TableContainer,\n TableDataCell,\n TableHead,\n TableHeadCell,\n TableNoDataRow,\n TableRow,\n} from '@digigov/ui/content/Table';\n\nexport function DataTable({ dataConfig, data }) {\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <TableRow>\n {dataConfig.map((itenConfig) => (\n <TableHeadCell key={itenConfig.key}>\n {itenConfig.title}\n </TableHeadCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {data.length > 0 ? (\n data.map((item, index) => (\n <TableRow key={index}>\n {dataConfig.map((itemConfig, idx) => (\n <TableDataCell key={idx}>\n {itemConfig.displayComponent\n ? itemConfig.displayComponent(item[itemConfig.key])\n : item[itemConfig.key]}\n </TableDataCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableNoDataRow>\u0394\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1</TableNoDataRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n );\n}\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAElB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,SAAS,UAAU,EAAE,YAAY,KAAK,GAAG;AAC9C,SACE,oCAAC,sBACC,oCAAC,aACC,oCAAC,iBACC,oCAAC,gBACE,WAAW,IAAI,CAAC,eACf,oCAAC,iBAAc,KAAK,WAAW,OAC5B,WAAW,KACd,CACD,CACH,CACF,GACA,oCAAC,iBACE,KAAK,SAAS,IACb,KAAK,IAAI,CAAC,MAAM,UACd,oCAAC,YAAS,KAAK,SACZ,WAAW,IAAI,CAAC,YAAY,QAC3B,oCAAC,iBAAc,KAAK,OACjB,WAAW,mBACR,WAAW,iBAAiB,KAAK,WAAW,GAAG,CAAC,IAChD,KAAK,WAAW,GAAG,CACzB,CACD,CACH,CACD,IAED,oCAAC,sBAAe,8IAAyB,CAE7C,CACF,CACF;AAEJ;",
6
- "names": []
7
- }
@@ -1,52 +0,0 @@
1
- import React from "react";
2
- import { useFormContext, useFormValues } from "@digigov/form/FormBuilder";
3
- import { getOptionLabelForSelectValue } from "@digigov/react-modules/FilteredResults/hooks";
4
- import {
5
- FilterSelectedHeading,
6
- FilterSelectedSection
7
- } from "@digigov/ui/app/FilterContainer";
8
- import { Chip, ChipContainer } from "@digigov/ui/content/Chip";
9
- import { Button } from "@digigov/ui/form/Button";
10
- const FilterChips = () => {
11
- const { fieldsMap, reset, resetField, submit } = useFormContext();
12
- const values = useFormValues();
13
- const enabledFilters = Object.keys(values).filter((v) => values[v]);
14
- if (enabledFilters.length === 0) return null;
15
- return /* @__PURE__ */ React.createElement(FilterSelectedSection, { m: 0, mb: 6 }, /* @__PURE__ */ React.createElement(FilterSelectedHeading, { mb: 0 }, /* @__PURE__ */ React.createElement(ChipContainer, null, enabledFilters.map((filterKey) => {
16
- return /* @__PURE__ */ React.createElement(
17
- Chip,
18
- {
19
- mb: 0,
20
- key: filterKey,
21
- onDelete: () => {
22
- resetField(filterKey);
23
- submit();
24
- }
25
- },
26
- /* @__PURE__ */ React.createElement("b", null, fieldsMap[filterKey].label?.primary),
27
- " ",
28
- ": ",
29
- getOptionLabelForSelectValue(
30
- fieldsMap[filterKey],
31
- values[filterKey]
32
- )
33
- );
34
- })), /* @__PURE__ */ React.createElement(
35
- Button,
36
- {
37
- onClick: (e) => {
38
- e.preventDefault();
39
- reset();
40
- submit();
41
- },
42
- variant: "link"
43
- },
44
- "\u0395\u03C0\u03B1\u03BD\u03B1\u03C6\u03BF\u03C1\u03AC \u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03CE\u03BD"
45
- )));
46
- };
47
- var FilterChips_default = FilterChips;
48
- export {
49
- FilterChips,
50
- FilterChips_default as default
51
- };
52
- //# sourceMappingURL=FilterChips.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/FilteredResults/FilterChips/index.js"
6
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/FilteredResults/FilterChips.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport { useFormContext, useFormValues } from '@digigov/form/FormBuilder';\nimport { getOptionLabelForSelectValue } from '@digigov/react-modules/FilteredResults/hooks';\nimport {\n FilterSelectedHeading,\n FilterSelectedSection,\n} from '@digigov/ui/app/FilterContainer';\nimport { Chip, ChipContainer } from '@digigov/ui/content/Chip';\nimport { Button } from '@digigov/ui/form/Button';\n\nexport const FilterChips = () => {\n const { fieldsMap, reset, resetField, submit } = useFormContext();\n const values = useFormValues();\n const enabledFilters = Object.keys(values).filter((v) => values[v]);\n if (enabledFilters.length === 0) return null;\n return (\n <FilterSelectedSection m={0} mb={6}>\n <FilterSelectedHeading mb={0}>\n <ChipContainer>\n {enabledFilters.map((filterKey) => {\n return (\n <Chip\n mb={0}\n key={filterKey}\n onDelete={() => {\n resetField(filterKey);\n submit();\n }}\n >\n <b>{fieldsMap[filterKey].label?.primary}</b> {': '}\n {getOptionLabelForSelectValue(\n fieldsMap[filterKey],\n values[filterKey]\n )}\n </Chip>\n );\n })}\n </ChipContainer>\n <Button\n onClick={(e) => {\n e.preventDefault();\n reset();\n submit();\n }}\n variant=\"link\"\n >\n \u0395\u03C0\u03B1\u03BD\u03B1\u03C6\u03BF\u03C1\u03AC \u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03CE\u03BD\n </Button>\n </FilterSelectedHeading>\n </FilterSelectedSection>\n );\n};\n\nexport default FilterChips;\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,gBAAgB,qBAAqB;AAC9C,SAAS,oCAAoC;AAC7C;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,MAAM,qBAAqB;AACpC,SAAS,cAAc;AAEhB,MAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,WAAW,OAAO,YAAY,OAAO,IAAI,eAAe;AAChE,QAAM,SAAS,cAAc;AAC7B,QAAM,iBAAiB,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC;AAClE,MAAI,eAAe,WAAW,EAAG,QAAO;AACxC,SACE,oCAAC,yBAAsB,GAAG,GAAG,IAAI,KAC/B,oCAAC,yBAAsB,IAAI,KACzB,oCAAC,qBACE,eAAe,IAAI,CAAC,cAAc;AACjC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,UAAU,MAAM;AACd,qBAAW,SAAS;AACpB,iBAAO;AAAA,QACT;AAAA;AAAA,MAEA,oCAAC,WAAG,UAAU,SAAS,EAAE,OAAO,OAAQ;AAAA,MAAI;AAAA,MAAE;AAAA,MAC7C;AAAA,QACC,UAAU,SAAS;AAAA,QACnB,OAAO,SAAS;AAAA,MAClB;AAAA,IACF;AAAA,EAEJ,CAAC,CACH,GACA;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AACjB,cAAM;AACN,eAAO;AAAA,MACT;AAAA,MACA,SAAQ;AAAA;AAAA,IACT;AAAA,EAED,CACF,CACF;AAEJ;AAEA,IAAO,sBAAQ;",
6
- "names": []
7
- }
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- import Field from "@digigov/form/Field";
3
- import { FilterOptionsSection } from "@digigov/ui/app/FilterContainer";
4
- import { Button } from "@digigov/ui/form/Button";
5
- const FilterFields = ({ fields, horizontal }) => {
6
- return /* @__PURE__ */ React.createElement(FilterOptionsSection, { horizontal }, fields.map((field) => /* @__PURE__ */ React.createElement(Field, { key: field.key, name: field.key })), /* @__PURE__ */ React.createElement(Button, { type: "submit" }, "\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7"));
7
- };
8
- export {
9
- FilterFields
10
- };
11
- //# sourceMappingURL=FilterFields.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/FilteredResults/FilterFields/index.js"
6
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/FilteredResults/FilterFields.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport Field from '@digigov/form/Field';\nimport { FilterOptionsSection } from '@digigov/ui/app/FilterContainer';\nimport { Button } from '@digigov/ui/form/Button';\n\nexport const FilterFields = ({ fields, horizontal }) => {\n return (\n <FilterOptionsSection horizontal={horizontal}>\n {fields.map((field) => (\n <Field key={field.key} name={field.key} />\n ))}\n <Button type=\"submit\">\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7</Button>\n </FilterOptionsSection>\n );\n};\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,SAAS,4BAA4B;AACrC,SAAS,cAAc;AAEhB,MAAM,eAAe,CAAC,EAAE,QAAQ,WAAW,MAAM;AACtD,SACE,oCAAC,wBAAqB,cACnB,OAAO,IAAI,CAAC,UACX,oCAAC,SAAM,KAAK,MAAM,KAAK,MAAM,MAAM,KAAK,CACzC,GACD,oCAAC,UAAO,MAAK,YAAS,wDAAS,CACjC;AAEJ;",
6
- "names": []
7
- }
@@ -1,8 +0,0 @@
1
- declare namespace _default {
2
- export let title: string;
3
- export { FilteredResults as component };
4
- export let displayName: string;
5
- }
6
- export default _default;
7
- export { Default } from "@digigov/react-modules/FilteredResults/__stories__/Default";
8
- import FilteredResults from '@digigov/react-modules/FilteredResults';
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const Default: (_: any) => React.JSX.Element;
@@ -1,105 +0,0 @@
1
- import { useState, useEffect, useMemo } from "react";
2
- function isBooleanString(str) {
3
- return /^(true|false)$/i.test(str);
4
- }
5
- function normalizeText(text) {
6
- return text.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
7
- }
8
- const getOptionLabelForSelectValue = (field, value) => {
9
- if (field.extra?.options) {
10
- const matchedOption = field.extra.options.find(
11
- (option) => option.value.toString() === value?.toString()
12
- );
13
- if (matchedOption) {
14
- return matchedOption.label.primary;
15
- }
16
- }
17
- return value;
18
- };
19
- const useURLParamsSearch = (searchFunc, { navigate, fields }) => {
20
- const urlParams = new URLSearchParams(window.location.search);
21
- const currentParams = Object.fromEntries(urlParams.entries());
22
- const values = fields.reduce((newValues, field) => {
23
- if (currentParams[field.key]) {
24
- newValues[field.key] = currentParams[field.key];
25
- }
26
- return newValues;
27
- }, {});
28
- const search = (params) => {
29
- navigate(
30
- "?" + new URLSearchParams(
31
- // @ts-ignore
32
- Object.entries({ ...currentParams, ...params }).filter(
33
- ([, value]) => !!value
34
- )
35
- ).toString()
36
- );
37
- return searchFunc(params);
38
- };
39
- return { search, values };
40
- };
41
- function useStaticSearch({ fields, data, initialFilters }) {
42
- const [results, setResults] = useState(data);
43
- useEffect(() => {
44
- search(initialFilters);
45
- }, [initialFilters]);
46
- const search = (filters) => {
47
- if (!filters || Object.keys(filters).every((key) => filters[key] === "")) {
48
- setResults(data);
49
- return;
50
- }
51
- const newResults = data.filter((row) => {
52
- const filterKeys = Object.keys(filters);
53
- const enabledFilters = filterKeys.filter(
54
- (filterKey) => filters[filterKey]?.toString() && row[filterKey]?.toString()
55
- );
56
- const freeTextFilters = filterKeys.filter(
57
- (filterKey) => filters[filterKey]?.toString() && !row[filterKey]?.toString()
58
- );
59
- let filtersMatchingValue = false;
60
- if (enabledFilters.length > 0) {
61
- filtersMatchingValue = enabledFilters.every((filterKey) => {
62
- if (filters[filterKey]?.toString() !== row[filterKey]?.toString()) {
63
- const field = fields.find((f) => f.key === filterKey);
64
- const optionsObj = field?.extra?.options.find(
65
- (option) => option?.label?.primary === row[filterKey]
66
- );
67
- return optionsObj?.value.toString() === filters[filterKey]?.toString();
68
- }
69
- filtersMatchingValue = true;
70
- return filtersMatchingValue;
71
- });
72
- if (!filtersMatchingValue) {
73
- return false;
74
- }
75
- }
76
- if (freeTextFilters.length > 0) {
77
- return freeTextFilters.every((filterKey) => {
78
- return Object.values(row).some((value) => {
79
- if (typeof value !== "string") {
80
- return false;
81
- }
82
- const normalizedItemValue = normalizeText(
83
- value.toString().toLowerCase()
84
- );
85
- const normalizedFilterValue = normalizeText(
86
- filters[filterKey]?.toString().toLowerCase().trim() || ""
87
- );
88
- return normalizedItemValue.includes(normalizedFilterValue);
89
- });
90
- });
91
- }
92
- return filtersMatchingValue;
93
- });
94
- setResults(newResults);
95
- };
96
- return useMemo(() => ({ search, results }), [search, results]);
97
- }
98
- export {
99
- getOptionLabelForSelectValue,
100
- isBooleanString,
101
- normalizeText,
102
- useStaticSearch,
103
- useURLParamsSearch
104
- };
105
- //# sourceMappingURL=hooks.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/FilteredResults/hooks/index.js"
6
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/FilteredResults/hooks.ts"],
4
- "sourcesContent": ["import { useState, useEffect, useMemo } from 'react';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ScalarType } from '@digigov/react-modules/FilteredResults';\n\nexport function isBooleanString(str: string): boolean {\n return /^(true|false)$/i.test(str);\n}\n\nexport function normalizeText(text: string): string {\n return text.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n}\n\nexport const getOptionLabelForSelectValue = (field, value) => {\n if (field.extra?.options) {\n const matchedOption = field.extra.options.find(\n (option) => option.value.toString() === value?.toString()\n );\n if (matchedOption) {\n return matchedOption.label.primary;\n }\n }\n return value;\n};\n\nexport const useURLParamsSearch = (searchFunc, { navigate, fields }) => {\n const urlParams = new URLSearchParams(window.location.search);\n const currentParams = Object.fromEntries(urlParams.entries());\n const values = fields.reduce((newValues, field) => {\n if (currentParams[field.key]) {\n newValues[field.key] = currentParams[field.key];\n }\n return newValues;\n }, {});\n\n const search = (params) => {\n navigate(\n '?' +\n new URLSearchParams(\n // @ts-ignore\n Object.entries({ ...currentParams, ...params }).filter(\n ([, value]) => !!value\n )\n ).toString()\n );\n return searchFunc(params);\n };\n return { search, values };\n};\n\ninterface UseStaticSearchProps<\n DT extends Record<string, ScalarType>,\n FT extends Record<string, ScalarType>,\n> {\n fields: FieldSpec[];\n data: DT[];\n initialFilters: FT;\n}\n\nexport function useStaticSearch<\n DT extends Record<string, ScalarType>,\n FT extends Record<string, ScalarType>,\n>({ fields, data, initialFilters }: UseStaticSearchProps<DT, FT>) {\n const [results, setResults] = useState<DT[]>(data);\n\n useEffect(() => {\n search(initialFilters);\n }, [initialFilters]);\n\n const search = (filters: FT) => {\n if (!filters || Object.keys(filters).every((key) => filters[key] === '')) {\n setResults(data);\n return;\n }\n\n const newResults = data.filter((row) => {\n const filterKeys = Object.keys(filters);\n const enabledFilters = filterKeys.filter(\n (filterKey) =>\n filters[filterKey]?.toString() && row[filterKey]?.toString()\n );\n const freeTextFilters = filterKeys.filter(\n (filterKey) =>\n filters[filterKey]?.toString() && !row[filterKey]?.toString()\n );\n let filtersMatchingValue = false;\n\n // Filter the fields that exists as columns in table\n if (enabledFilters.length > 0) {\n filtersMatchingValue = enabledFilters.every((filterKey) => {\n if (filters[filterKey]?.toString() !== row[filterKey]?.toString()) {\n const field = fields.find((f) => f.key === filterKey);\n const optionsObj = field?.extra?.options.find(\n (option) => option?.label?.primary === row[filterKey]\n );\n return (\n optionsObj?.value.toString() === filters[filterKey]?.toString()\n );\n }\n filtersMatchingValue = true;\n return filtersMatchingValue;\n });\n if (!filtersMatchingValue) {\n return false;\n }\n }\n // Filter the free text fields (doesn't exist as columns)\n if (freeTextFilters.length > 0) {\n return freeTextFilters.every((filterKey) => {\n return Object.values(row).some((value) => {\n if (typeof value !== 'string') {\n return false;\n }\n const normalizedItemValue = normalizeText(\n value.toString().toLowerCase()\n );\n\n const normalizedFilterValue = normalizeText(\n filters[filterKey]?.toString().toLowerCase().trim() || ''\n );\n return normalizedItemValue.includes(normalizedFilterValue);\n });\n });\n }\n return filtersMatchingValue;\n });\n\n setResults(newResults);\n };\n\n return useMemo(() => ({ search, results }), [search, results]);\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/FilteredResults/index.tsx"],
4
- "sourcesContent": ["import React, { useContext, useEffect } from 'react';\nimport FormBuilder from '@digigov/form/FormBuilder';\nimport { FormContext } from '@digigov/form/FormContext';\nimport { FieldSpec } from '@digigov/form/types';\nimport { FilterChips } from '@digigov/react-modules/FilteredResults/FilterChips';\nimport { FilterFields } from '@digigov/react-modules/FilteredResults/FilterFields';\nimport FilterContainer, {\n FilterContent,\n FilterHeadingContainer,\n} from '@digigov/ui/app/FilterContainer';\nimport { Button } from '@digigov/ui/form/Button';\nimport { Grid } from '@digigov/ui/layouts/Grid';\nimport { SectionBreak } from '@digigov/ui/layouts/SectionBreak';\nimport { Drawer, DrawerHeading } from '@digigov/ui/navigation/Drawer';\nimport { useDrawer } from '@digigov/ui/navigation/Drawer/hooks';\nimport { Heading } from '@digigov/ui/typography/Heading';\n\nexport type ScalarType = string | number | boolean | null | undefined;\n\nexport interface DataConfigType {\n key: string;\n title: string;\n displayComponent?: (value: string | number | boolean) => React.ReactNode;\n}\nexport interface FilteredResultsProps<\n DT extends Record<string, ScalarType>,\n FT extends Record<string, ScalarType>,\n> {\n fields: FieldSpec[];\n data: DT[];\n variant?: 'drawer-left' | 'drawer-right' | 'block';\n defaultFilters?: FT;\n currentFilters?: FT;\n onSearch: (filters: unknown) => void;\n children?: React.ReactNode;\n}\n\nexport const FormBuilderSyncValues = ({ values, autoSubmit }) => {\n const form = useContext(FormContext);\n const previousValues = form.getValues();\n useEffect(() => {\n const mergedObject = { ...values, ...previousValues };\n let shouldSubmit = false;\n for (const key in mergedObject) {\n // catching the filters that have been parsed from url & avoid continuous submitting\n if (values[key] !== undefined && previousValues[key] !== values[key]) {\n shouldSubmit = true;\n previousValues[key] = values[key];\n form.setValue(key, values[key]);\n }\n }\n if (autoSubmit && shouldSubmit) {\n form.submit();\n }\n }, [values]);\n return <></>;\n};\n\nexport const DrawerFilteredResults = React.forwardRef<HTMLDivElement, unknown>(\n function DrawerFilteredResults(\n { fields, direction = 'left', ...props },\n ref\n ) {\n const { registerDrawer, registerAction, currentOpen } = useDrawer();\n\n return (\n <>\n {currentOpen && (\n <Grid item xs={12} md={12} lg={4} ref={ref}>\n <Drawer\n {...registerDrawer('filters-drawer', {\n upRelative: 'lg',\n direction,\n })}\n >\n <DrawerHeading {...registerAction('filters-drawer', 'close')}>\n <Heading size=\"md\">\u03A6\u03AF\u03BB\u03C4\u03C1\u03B1</Heading>\n </DrawerHeading>\n <FilterContent>\n <FilterFields fields={fields} horizontal={false} />\n </FilterContent>\n </Drawer>\n </Grid>\n )}\n <Grid item xs={12} md={12} lg={currentOpen ? 8 : 12}>\n <Button\n mb={4}\n {...registerAction(\n 'filters-drawer',\n currentOpen === 'filters-drawer' ? 'close' : 'open'\n )}\n color=\"secondary\"\n >\n \u03A6\u03AF\u03BB\u03C4\u03C1\u03B1\n </Button>\n <FilterChips />\n {props.children}\n </Grid>\n </>\n );\n }\n);\n\nexport const BlockFilteredResults = React.forwardRef<HTMLDivElement, unknown>(\n function BlockFilteredResults({ fields, ...props }, ref) {\n const [open, setOpen] = React.useState(true);\n return (\n <Grid item xs={12} ref={ref}>\n <FilterContainer open={open}>\n <FilterHeadingContainer onClick={() => setOpen(false)}>\n <Heading size=\"md\">\u03A6\u03AF\u03BB\u03C4\u03C1\u03B1</Heading>\n </FilterHeadingContainer>\n <FilterContent>\n <FilterChips />\n <FilterFields fields={fields} horizontal={true} />\n </FilterContent>\n </FilterContainer>\n <Button\n color=\"secondary\"\n mdUpHidden\n mb={4}\n onClick={() => setOpen(true)}\n >\n \u03A6\u03AF\u03BB\u03C4\u03C1\u03B1\n </Button>\n <SectionBreak size=\"md\" visible={false} />\n {props.children}\n </Grid>\n );\n }\n);\n\nexport const FilteredResults = React.forwardRef<\n HTMLFormElement,\n FilteredResultsProps<Record<string, ScalarType>, Record<string, ScalarType>>\n>(function FilteredResults(\n {\n fields,\n onSearch,\n variant = 'block',\n defaultFilters,\n currentFilters,\n children,\n },\n ref\n) {\n const isDrawer = variant.startsWith('drawer-');\n return (\n <FormBuilder\n onSubmit={onSearch}\n initial={defaultFilters}\n fields={fields}\n grid\n ref={ref}\n >\n {currentFilters && (\n <FormBuilderSyncValues values={currentFilters} autoSubmit={true} />\n )}\n {isDrawer ? (\n // @ts-ignore\n <DrawerFilteredResults\n fields={fields}\n direction={variant.split('-')[1]}\n >\n {children}\n </DrawerFilteredResults>\n ) : (\n // @ts-ignore\n <BlockFilteredResults fields={fields}>{children}</BlockFilteredResults>\n )}\n </FormBuilder>\n );\n});\n\nexport default FilteredResults;\n"],
5
- "mappings": "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",
6
- "names": ["DrawerFilteredResults", "BlockFilteredResults", "FilteredResults"]
7
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../cjs/FilteredResults/index.js"
6
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- declare namespace _default {
2
- let title: string;
3
- }
4
- export default _default;
@@ -1,58 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var Results_exports = {};
29
- __export(Results_exports, {
30
- default: () => Results_default
31
- });
32
- module.exports = __toCommonJS(Results_exports);
33
- var import_react = __toESM(require("react"));
34
- var import_FormBuilder = require("@digigov/form/FormBuilder");
35
- var import_Button = __toESM(require("@digigov/ui/form/Button"));
36
- var import_Heading = require("@digigov/ui/typography/Heading");
37
- const Results = import_react.default.forwardRef(
38
- function Results2({ filteredSections, Onclose, activeQa, primarySections }, ref) {
39
- const { resetField, submit } = (0, import_FormBuilder.useFormContext)();
40
- const handleReset = (0, import_react.useCallback)(
41
- (e) => {
42
- e.preventDefault();
43
- const urlParams = new URLSearchParams(window.location.search);
44
- urlParams.delete("text");
45
- urlParams.delete("activeQa");
46
- window.history.replaceState({}, "", "?" + urlParams.toString());
47
- resetField("text", { defaultValue: "" });
48
- Onclose(activeQa);
49
- submit();
50
- },
51
- [resetField, Onclose, submit, activeQa]
52
- // Added necessary dependencies
53
- );
54
- return /* @__PURE__ */ import_react.default.createElement(import_Heading.Heading, { ref, size: "sm", marginTop: 4 }, "\u0391\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1: ", filteredSections, " \u03B1\u03C0\u03CC ", primarySections, ".", " ", /* @__PURE__ */ import_react.default.createElement(import_Button.default, { variant: "link", onClick: (e) => handleReset(e) }, "\u0395\u03C0\u03B1\u03BD\u03B1\u03C6\u03BF\u03C1\u03AC \u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7\u03C2"));
55
- }
56
- );
57
- var Results_default = Results;
58
- //# sourceMappingURL=Results.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/Faq/Results.tsx"],
4
- "sourcesContent": ["// Results.tsx\nimport React, { useCallback } from 'react';\nimport { useFormContext } from '@digigov/form/FormBuilder';\nimport Button from '@digigov/ui/form/Button';\nimport { Heading } from '@digigov/ui/typography/Heading';\n\ninterface ResultsProps {\n filteredSections: number;\n primarySections: number;\n Onclose: (v: string) => void;\n activeQa: string;\n}\n\nconst Results = React.forwardRef<HTMLHeadingElement, ResultsProps>(\n function Results(\n { filteredSections, Onclose, activeQa, primarySections },\n ref\n ) {\n const { resetField, submit } = useFormContext();\n const handleReset = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n\n // Remove 'text' from the URL\n const urlParams = new URLSearchParams(window.location.search);\n urlParams.delete('text');\n urlParams.delete('activeQa');\n window.history.replaceState({}, '', '?' + urlParams.toString());\n\n // Reset the form field\n resetField('text', { defaultValue: '' });\n\n // Close active FAQ\n Onclose(activeQa);\n\n // Submit the form (if needed)\n submit();\n },\n [resetField, Onclose, submit, activeQa] // Added necessary dependencies\n );\n\n return (\n <Heading ref={ref} size=\"sm\" marginTop={4}>\n \u0391\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1: {filteredSections} \u03B1\u03C0\u03CC {primarySections}.{' '}\n <Button variant=\"link\" onClick={(e) => handleReset(e)}>\n \u0395\u03C0\u03B1\u03BD\u03B1\u03C6\u03BF\u03C1\u03AC \u03B1\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7\u03C2\n </Button>\n </Heading>\n );\n }\n);\n\nexport default Results;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAmC;AACnC,yBAA+B;AAC/B,oBAAmB;AACnB,qBAAwB;AASxB,MAAM,UAAU,aAAAA,QAAM;AAAA,EACpB,SAASC,SACP,EAAE,kBAAkB,SAAS,UAAU,gBAAgB,GACvD,KACA;AACA,UAAM,EAAE,YAAY,OAAO,QAAI,mCAAe;AAC9C,UAAM,kBAAc;AAAA,MAClB,CAAC,MAA2C;AAC1C,UAAE,eAAe;AAGjB,cAAM,YAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC5D,kBAAU,OAAO,MAAM;AACvB,kBAAU,OAAO,UAAU;AAC3B,eAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,MAAM,UAAU,SAAS,CAAC;AAG9D,mBAAW,QAAQ,EAAE,cAAc,GAAG,CAAC;AAGvC,gBAAQ,QAAQ;AAGhB,eAAO;AAAA,MACT;AAAA,MACA,CAAC,YAAY,SAAS,QAAQ,QAAQ;AAAA;AAAA,IACxC;AAEA,WACE,6BAAAD,QAAA,cAAC,0BAAQ,KAAU,MAAK,MAAK,WAAW,KAAG,8EAC1B,kBAAiB,wBAAM,iBAAgB,KAAE,KACxD,6BAAAA,QAAA,cAAC,cAAAE,SAAA,EAAO,SAAQ,QAAO,SAAS,CAAC,MAAM,YAAY,CAAC,KAAG,qHAEvD,CACF;AAAA,EAEJ;AACF;AAEA,IAAO,kBAAQ;",
6
- "names": ["React", "Results", "Button"]
7
- }