@digigov/ui 2.0.0-76ec20a0 → 2.0.0-7d765d3c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/Footer/__stories__/Default.d.ts +1 -1
- package/app/Loader/Loader.stories.d.ts +45 -1
- package/app/Loader/__stories__/AccessibilityLoader.d.ts +3 -0
- package/app/Loader/__stories__/FullPageLoader.d.ts +1 -0
- package/app/Loader/__stories__/Secondary.d.ts +3 -0
- package/app/Loader/__stories__/Sizes.d.ts +3 -0
- package/app/Loader/index.native.d.ts +2 -2
- package/app/Loader/index.native.js.map +2 -2
- package/app/Loader/index.web/index.js +17 -1
- package/app/Loader/index.web.d.ts +19 -1
- package/app/Loader/index.web.js.map +3 -3
- package/app/Masthead/Masthead.stories.d.ts +28 -1
- package/app/Modal/Modal.stories.d.ts +20 -1
- package/app/Modal/hooks/index.js +2 -6
- package/app/Modal/hooks.d.ts +2 -2
- package/app/Modal/hooks.js.map +2 -2
- package/app/Modal/index.web/index.js +5 -5
- package/app/Modal/index.web.js.map +2 -2
- package/app/NotFound/__stories__/Default.d.ts +1 -1
- package/app/OutdatedBrowserBanner/index.d.ts +1 -0
- package/app/OutdatedBrowserBanner/index.js.map +2 -2
- package/app/PhaseBannerHeader/index.d.ts +1 -1
- package/app/PhaseBannerHeader/index.js.map +2 -2
- package/app/Skeleton/__stories__/Button.d.ts +1 -1
- package/app/Skeleton/__stories__/Default.d.ts +1 -1
- package/app/Skeleton/__stories__/NoAnimation.d.ts +1 -1
- package/app/hooks/useNotificationArea/index.js +76 -0
- package/app/hooks/useNotificationArea/package.json +6 -0
- package/app/hooks/useNotificationArea.d.ts +1 -0
- package/app/hooks/useNotificationArea.js.map +7 -0
- package/cjs/app/Loader/index.native.js.map +2 -2
- package/cjs/app/Loader/index.web/index.js +33 -2
- package/cjs/app/Loader/index.web.js.map +3 -3
- package/cjs/app/Modal/hooks/index.js +2 -6
- package/cjs/app/Modal/hooks.js.map +2 -2
- package/cjs/app/Modal/index.web/index.js +5 -5
- package/cjs/app/Modal/index.web.js.map +2 -2
- package/cjs/app/OutdatedBrowserBanner/index.js.map +2 -2
- package/cjs/app/PhaseBannerHeader/index.js.map +2 -2
- package/cjs/app/hooks/useNotificationArea/index.js +99 -0
- package/cjs/app/hooks/useNotificationArea.js.map +7 -0
- package/cjs/content/Accordion/hooks.js.map +1 -1
- package/cjs/form/AutoComplete/Status/index.js.map +2 -2
- package/cjs/form/AutoComplete/index.js +32 -19
- package/cjs/form/AutoComplete/index.js.map +2 -2
- package/cjs/i18n/locales/el/index.js +51 -23
- package/cjs/i18n/locales/el.js.map +2 -2
- package/cjs/i18n/locales/en/index.js +36 -8
- package/cjs/i18n/locales/en.js.map +2 -2
- package/cjs/layouts/Hidden/index.js +19 -0
- package/cjs/layouts/Hidden/index.js.map +3 -3
- package/cjs/lazy.js +1 -1
- package/cjs/lazy.js.map +2 -2
- package/cjs/navigation/Drawer/hooks/index.js +2 -6
- package/cjs/navigation/Drawer/hooks.js.map +2 -2
- package/cjs/navigation/Pagination/hooks/index.js +2 -2
- package/cjs/navigation/Pagination/hooks.js.map +2 -2
- package/cjs/navigation/Tabs/hooks.js.map +1 -1
- package/cjs/registry.js +50 -48
- package/cjs/registry.js.map +2 -2
- package/cjs/typography/CodeBlock/index.js +1 -2
- package/cjs/typography/CodeBlock/index.js.map +2 -2
- package/cjs/utils/hooks/useDebounce/index.js +1 -1
- package/cjs/utils/hooks/useDebounce.js.map +2 -2
- package/content/Accordion/Accordion.stories.d.ts +27 -16
- package/content/Accordion/hooks.js.map +1 -1
- package/content/Chip/__stories__/Default.d.ts +1 -1
- package/content/SummaryList/SummaryList.stories.d.ts +4 -1
- package/feedback/NotificationBanner/NotificationBanner.stories.d.ts +14 -13
- package/feedback/NotificationBanner/__stories__/Expanded.d.ts +3 -0
- package/feedback/PhaseBanner/PhaseBanner.stories.d.ts +1 -1
- package/form/AutoComplete/AutoComplete.stories.d.ts +57 -16
- package/form/AutoComplete/Status/index.d.ts +1 -1
- package/form/AutoComplete/Status/index.js.map +2 -2
- package/form/AutoComplete/__stories__/WithCustomValue.d.ts +3 -0
- package/form/AutoComplete/__stories__/WithHint.d.ts +3 -0
- package/form/AutoComplete/index.d.ts +4 -3
- package/form/AutoComplete/index.js +32 -18
- package/form/AutoComplete/index.js.map +2 -2
- package/form/Button/__stories__/ThemeToggle.d.ts +1 -1
- package/form/FileUpload/FileUpload.stories.d.ts +1 -0
- package/form/FileUpload/__stories__/WithVariantLink.d.ts +3 -0
- package/i18n/locales/el/index.js +51 -23
- package/i18n/locales/el.d.ts +33 -5
- package/i18n/locales/el.js.map +2 -2
- package/i18n/locales/en/index.js +36 -8
- package/i18n/locales/en.d.ts +32 -4
- package/i18n/locales/en.js.map +2 -2
- package/index.js +1 -1
- package/layouts/Grid/Grid.stories.d.ts +82 -0
- package/layouts/Hidden/Hidden.stories.d.ts +115 -0
- package/layouts/Hidden/index.d.ts +2 -0
- package/layouts/Hidden/index.js +5 -0
- package/layouts/Hidden/index.js.map +2 -2
- package/layouts/Stack/Stack.stories.d.ts +76 -0
- package/lazy/index.js +1 -1
- package/navigation/BackToTopLink/BackToTopLink.stories.d.ts +2 -0
- package/navigation/Drawer/hooks/index.js +2 -6
- package/navigation/Drawer/hooks.js.map +2 -2
- package/navigation/Dropdown/Dropdown.stories.d.ts +75 -1
- package/navigation/Pagination/hooks/index.js +2 -2
- package/navigation/Pagination/hooks.js.map +2 -2
- package/navigation/SkipLink/SkipLink.stories.d.ts +2 -0
- package/navigation/Tabs/hooks.d.ts +1 -1
- package/navigation/Tabs/hooks.js.map +1 -1
- package/package.json +7 -7
- package/registry/index.js +50 -48
- package/src/app/BannerContainer/__stories__/CookiesBanner.tsx +1 -21
- package/src/app/Footer/__stories__/Default.tsx +1 -1
- package/src/app/Header/doc.mdx +3 -3
- package/src/app/Loader/Loader.stories.jsx +54 -0
- package/src/app/Loader/__stories__/AccessibilityLoader.tsx +27 -0
- package/src/app/Loader/__stories__/FullPageLoader.tsx +9 -5
- package/src/app/Loader/__stories__/Secondary.tsx +11 -0
- package/src/app/Loader/__stories__/Sizes.tsx +18 -0
- package/src/app/Loader/doc.mdx +39 -0
- package/src/app/Loader/index.native.tsx +2 -2
- package/src/app/Loader/index.test.tsx +12 -0
- package/src/app/Loader/index.web.tsx +39 -1
- package/src/app/Masthead/Masthead.stories.jsx +66 -0
- package/src/app/Masthead/doc.mdx +3 -3
- package/src/app/Modal/Modal.stories.jsx +64 -0
- package/src/app/Modal/__stories__/AlertDialog.tsx +1 -1
- package/src/app/Modal/__stories__/Auto.tsx +1 -1
- package/src/app/Modal/__stories__/Default.tsx +1 -1
- package/src/app/Modal/__stories__/Dense.tsx +1 -1
- package/src/app/Modal/__stories__/WithHooks.tsx +1 -1
- package/src/app/Modal/__stories__/WithoutModalGaps.tsx +1 -1
- package/src/app/Modal/hooks.ts +8 -8
- package/src/app/Modal/index.web.tsx +5 -7
- package/src/app/NotFound/__stories__/Default.tsx +1 -1
- package/src/app/OutdatedBrowserBanner/index.tsx +1 -1
- package/src/app/PhaseBannerHeader/index.tsx +1 -1
- package/src/app/Skeleton/__stories__/Button.tsx +1 -1
- package/src/app/Skeleton/__stories__/Default.tsx +1 -1
- package/src/app/Skeleton/__stories__/NoAnimation.tsx +1 -1
- package/src/app/hooks/useNotificationArea.tsx +105 -0
- package/src/content/Accordion/Accordion.stories.jsx +9 -1
- package/src/content/Accordion/doc.mdx +1 -2
- package/src/content/Accordion/hooks.ts +1 -1
- package/src/content/Card/doc.mdx +11 -11
- package/src/content/Chip/__stories__/Default.tsx +1 -1
- package/src/content/Chip/doc.mdx +4 -4
- package/src/content/List/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/content/List/doc.mdx +3 -3
- package/src/content/SummaryList/SummaryList.stories.js +5 -1
- package/src/content/TaskList/doc.mdx +1 -1
- package/src/content/Timeline/doc.mdx +1 -1
- package/src/feedback/CopyToClipboard/doc.mdx +1 -1
- package/src/feedback/ErrorSummary/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/feedback/ErrorSummary/doc.mdx +1 -1
- package/src/feedback/NotificationBanner/NotificationBanner.stories.js +10 -9
- package/src/feedback/NotificationBanner/__snapshots__/index.spec.tsx.snap +24 -14
- package/src/feedback/NotificationBanner/__stories__/Expanded.tsx +27 -0
- package/src/feedback/NotificationBanner/doc.mdx +15 -6
- package/src/feedback/NotificationBanner/index.test.tsx +4 -0
- package/src/feedback/PhaseBanner/PhaseBanner.stories.jsx +1 -1
- package/src/feedback/WarningText/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/form/AutoComplete/AutoComplete.stories.jsx +19 -4
- package/src/form/AutoComplete/Status/index.tsx +1 -1
- package/src/form/AutoComplete/__stories__/WithAutoSelect.tsx +1 -17
- package/src/form/AutoComplete/__stories__/WithCustomValue.tsx +28 -0
- package/src/form/AutoComplete/__stories__/WithDefaultValue.tsx +1 -6
- package/src/form/AutoComplete/__stories__/WithHint.tsx +16 -0
- package/src/form/AutoComplete/doc.mdx +14 -13
- package/src/form/AutoComplete/index.test.tsx +8 -0
- package/src/form/AutoComplete/index.tsx +38 -25
- package/src/form/Button/__stories__/ThemeToggle.tsx +1 -1
- package/src/form/Button/doc.mdx +25 -14
- package/src/form/Checkbox/doc.mdx +1 -1
- package/src/form/FileUpload/FileUpload.stories.js +1 -0
- package/src/form/FileUpload/__stories__/WithVariantLink.tsx +24 -0
- package/src/form/FileUpload/index.test.tsx +4 -0
- package/src/form/RadioContainer/doc.mdx +4 -4
- package/src/i18n/locales/el.ts +73 -22
- package/src/i18n/locales/en.ts +43 -7
- package/src/layouts/Basic/doc.mdx +0 -2
- package/src/layouts/Grid/Grid.stories.jsx +143 -0
- package/src/layouts/Hidden/Hidden.stories.jsx +62 -0
- package/src/layouts/Hidden/index.tsx +3 -0
- package/src/layouts/Stack/Stack.stories.jsx +104 -0
- package/src/lazy.js +1 -1
- package/src/navigation/BackToTopLink/BackToTopLink.stories.js +4 -0
- package/src/navigation/BackToTopLink/doc.mdx +22 -0
- package/src/navigation/Breadcrumbs/doc.mdx +4 -0
- package/src/navigation/Drawer/hooks.ts +6 -6
- package/src/navigation/Dropdown/Dropdown.stories.jsx +118 -0
- package/src/navigation/Dropdown/doc.mdx +24 -2
- package/src/navigation/NavList/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/navigation/NavList/doc.mdx +1 -1
- package/src/navigation/Pagination/doc.mdx +5 -1
- package/src/navigation/Pagination/hooks.ts +2 -2
- package/src/navigation/SkipLink/SkipLink.stories.js +4 -0
- package/src/navigation/SkipLink/doc.mdx +19 -0
- package/src/navigation/Tabs/hooks.ts +2 -2
- package/src/registry.js +50 -48
- package/src/typography/CodeBlock/CodeBlock.stories.js +24 -0
- package/src/typography/CodeBlock/index.tsx +14 -12
- package/src/typography/Heading/Heading.stories.js +12 -0
- package/src/typography/HeadingCaption/HeadingCaption.stories.js +9 -0
- package/src/typography/Hint/Hint.stories.js +11 -0
- package/src/typography/Hint/__stories__/Default.tsx +1 -1
- package/src/typography/Hint/__stories__/FontSizes.tsx +4 -4
- package/src/typography/NormalText/NormalText.stories.js +10 -0
- package/src/typography/NormalText/__stories__/Default.tsx +1 -1
- package/src/typography/Paragraph/Paragraph.stories.js +23 -0
- package/src/typography/Paragraph/__stories__/Default.tsx +1 -1
- package/src/typography/Paragraph/__stories__/LeadVariant.tsx +3 -1
- package/src/typography/Paragraph/__stories__/SmallVariant.tsx +3 -1
- package/src/utils/hooks/useDebounce.ts +1 -1
- package/stories-registry/index.js +170 -154
- package/typography/CodeBlock/CodeBlock.stories.d.ts +11 -0
- package/typography/CodeBlock/index.d.ts +1 -1
- package/typography/CodeBlock/index.js +1 -2
- package/typography/CodeBlock/index.js.map +2 -2
- package/typography/Heading/Heading.stories.d.ts +10 -0
- package/typography/HeadingCaption/HeadingCaption.stories.d.ts +8 -0
- package/typography/Hint/Hint.stories.d.ts +9 -0
- package/typography/Hint/__stories__/Default.d.ts +1 -1
- package/typography/NormalText/NormalText.stories.d.ts +8 -0
- package/typography/NormalText/__stories__/Default.d.ts +1 -1
- package/typography/Paragraph/Paragraph.stories.d.ts +37 -0
- package/typography/Paragraph/__stories__/Default.d.ts +1 -1
- package/typography/Paragraph/__stories__/LeadVariant.d.ts +1 -1
- package/typography/Paragraph/__stories__/SmallVariant.d.ts +1 -1
- package/utils/hooks/useDebounce/index.js +1 -1
- package/utils/hooks/useDebounce.js.map +2 -2
- package/utils/hooks/useLatest.d.ts +1 -1
- package/src/app/Loader/Loader.stories.js +0 -8
- package/src/app/Masthead/Masthead.stories.js +0 -17
- package/src/app/Modal/Modal.stories.js +0 -18
- package/src/layouts/Grid/Grid.stories.js +0 -12
- package/src/layouts/Stack/Stack.stories.js +0 -15
- package/src/navigation/Dropdown/Dropdown.stories.js +0 -23
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/typography/CodeBlock/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\n\nimport hljs from 'highlight.js/lib/core';\nimport bash from 'highlight.js/lib/languages/bash';\nimport js from 'highlight.js/lib/languages/javascript';\nimport json from 'highlight.js/lib/languages/json';\nimport markdown from 'highlight.js/lib/languages/markdown';\nimport python from 'highlight.js/lib/languages/python';\nimport xml from 'highlight.js/lib/languages/xml';\nimport { BaseProps } from '@digigov/react-core/Base';\nimport CodeBlockContainer from '@digigov/react-core/CodeBlockContainer';\nimport CodeBlockContent from '@digigov/react-core/CodeBlockContent';\nimport CodeBlockHeader from '@digigov/react-core/CodeBlockHeader';\nimport { CopyToClipboard } from '@digigov/ui/feedback';\nimport { PhaseBannerTag } from '@digigov/ui/feedback/PhaseBanner';\nimport { Button } from '@digigov/ui/form/Button';\n\nexport interface CodeBlockProps extends BaseProps<'div'> {\n language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';\n copyToClipboard?: boolean;\n highlighted?: boolean;\n showLineNumbers?: boolean;\n phaseBannerTagName?: string;\n highlightLines?: number[];\n}\n\nconst languageMap = {\n javascript: js,\n python: python,\n bash: bash,\n xml: xml,\n markdown: markdown,\n json: json,\n};\n\nconst addLineNumbers = (code: string, highlightLines: number[]): string => {\n return code\n .split('\\n')\n .map((line, index) => {\n const isHighlighted = highlightLines.includes(index + 1);\n const lineClass = isHighlighted ? 'ds-code--highlighted-line' : '';\n return `<span class=\"ds-code--line-number\">${index + 1}</span> <span class=\"${lineClass}\">${line}</span>`;\n })\n .join('\\n');\n};\n\nexport const CodeBlock
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAe;AACf,kBAAiB;AACjB,sBAAqB;AACrB,oBAAmB;AACnB,iBAAgB;AAEhB,gCAA+B;AAC/B,8BAA6B;AAC7B,6BAA4B;AAC5B,sBAAgC;AAChC,yBAA+B;AAC/B,oBAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\n\nimport hljs from 'highlight.js/lib/core';\nimport bash from 'highlight.js/lib/languages/bash';\nimport js from 'highlight.js/lib/languages/javascript';\nimport json from 'highlight.js/lib/languages/json';\nimport markdown from 'highlight.js/lib/languages/markdown';\nimport python from 'highlight.js/lib/languages/python';\nimport xml from 'highlight.js/lib/languages/xml';\nimport { BaseProps } from '@digigov/react-core/Base';\nimport CodeBlockContainer from '@digigov/react-core/CodeBlockContainer';\nimport CodeBlockContent from '@digigov/react-core/CodeBlockContent';\nimport CodeBlockHeader from '@digigov/react-core/CodeBlockHeader';\nimport { CopyToClipboard } from '@digigov/ui/feedback';\nimport { PhaseBannerTag } from '@digigov/ui/feedback/PhaseBanner';\nimport { Button } from '@digigov/ui/form/Button';\n\nexport interface CodeBlockProps extends BaseProps<'div'> {\n language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';\n copyToClipboard?: boolean;\n highlighted?: boolean;\n showLineNumbers?: boolean;\n phaseBannerTagName?: string;\n highlightLines?: number[];\n}\n\nconst languageMap = {\n javascript: js,\n python: python,\n bash: bash,\n xml: xml,\n markdown: markdown,\n json: json,\n};\n\nconst addLineNumbers = (code: string, highlightLines: number[]): string => {\n return code\n .split('\\n')\n .map((line, index) => {\n const isHighlighted = highlightLines.includes(index + 1);\n const lineClass = isHighlighted ? 'ds-code--highlighted-line' : '';\n return `<span class=\"ds-code--line-number\">${index + 1}</span> <span class=\"${lineClass}\">${line}</span>`;\n })\n .join('\\n');\n};\n\nexport const CodeBlock = React.forwardRef<HTMLDivElement, CodeBlockProps>(\n function CodeBlock(\n {\n children,\n language,\n copyToClipboard,\n highlighted,\n showLineNumbers,\n phaseBannerTagName,\n highlightLines,\n ...props\n },\n ref\n ) {\n const Tag = 'span';\n const codeString = typeof children === 'string' ? children : '';\n let displayingCode = codeString;\n\n if (highlighted && codeString) {\n try {\n hljs.configure({ classPrefix: 'ds-code--' });\n let highlightedCode = hljs.highlightAuto(codeString).value;\n if (language) {\n hljs.registerLanguage(language, languageMap[language]);\n highlightedCode = hljs.highlight(codeString, {\n language: language,\n }).value;\n }\n displayingCode = showLineNumbers\n ? addLineNumbers(highlightedCode, highlightLines || [])\n : highlightedCode;\n } catch (error) {\n console.error('Highlighting failed:', error);\n }\n }\n\n return (\n <CodeBlockContainer ref={ref} {...props}>\n <CodeBlockHeader\n justify={\n phaseBannerTagName && copyToClipboard ? 'space-between' : 'end'\n }\n >\n {phaseBannerTagName && (\n <PhaseBannerTag>{phaseBannerTagName}</PhaseBannerTag>\n )}\n {copyToClipboard && (\n <CopyToClipboard\n dense\n text={codeString}\n variant=\"tooltip\"\n tooltipAlign=\"right\"\n message=\"Copied!\"\n >\n <Button dense color=\"secondary\">\n Copy\n </Button>\n </CopyToClipboard>\n )}\n </CodeBlockHeader>\n <CodeBlockContent className={`language-${language}`}>\n {highlighted && codeString ? (\n <Tag\n dangerouslySetInnerHTML={{\n __html: displayingCode,\n }}\n />\n ) : (\n children\n )}\n </CodeBlockContent>\n </CodeBlockContainer>\n );\n }\n);\n\nexport * from '@digigov/react-core/CodeBlockContent';\nexport * from '@digigov/react-core/CodeBlockHeader';\nexport * from '@digigov/react-core/CodeBlockContainer';\nexport default CodeBlock;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAe;AACf,kBAAiB;AACjB,sBAAqB;AACrB,oBAAmB;AACnB,iBAAgB;AAEhB,gCAA+B;AAC/B,8BAA6B;AAC7B,6BAA4B;AAC5B,sBAAgC;AAChC,yBAA+B;AAC/B,oBAAuB;AA2GvB,8BAAc,iDA1Hd;AA2HA,8BAAc,gDA3Hd;AA4HA,8BAAc,mDA5Hd;AA0BA,MAAM,cAAc;AAAA,EAClB,YAAY,kBAAAA;AAAA,EACZ,QAAQ,cAAAC;AAAA,EACR,MAAM,YAAAC;AAAA,EACN,KAAK,WAAAC;AAAA,EACL,UAAU,gBAAAC;AAAA,EACV,MAAM,YAAAC;AACR;AAEA,MAAM,iBAAiB,CAAC,MAAc,mBAAqC;AACzE,SAAO,KACJ,MAAM,IAAI,EACV,IAAI,CAAC,MAAM,UAAU;AACpB,UAAM,gBAAgB,eAAe,SAAS,QAAQ,CAAC;AACvD,UAAM,YAAY,gBAAgB,8BAA8B;AAChE,WAAO,sCAAsC,QAAQ,CAAC,wBAAwB,SAAS,KAAK,IAAI;AAAA,EAClG,CAAC,EACA,KAAK,IAAI;AACd;AAEO,MAAM,YAAY,aAAAC,QAAM;AAAA,EAC7B,SAASC,WACP;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,KACA;AACA,UAAM,MAAM;AACZ,UAAM,aAAa,OAAO,aAAa,WAAW,WAAW;AAC7D,QAAI,iBAAiB;AAErB,QAAI,eAAe,YAAY;AAC7B,UAAI;AACF,oBAAAC,QAAK,UAAU,EAAE,aAAa,YAAY,CAAC;AAC3C,YAAI,kBAAkB,YAAAA,QAAK,cAAc,UAAU,EAAE;AACrD,YAAI,UAAU;AACZ,sBAAAA,QAAK,iBAAiB,UAAU,YAAY,QAAQ,CAAC;AACrD,4BAAkB,YAAAA,QAAK,UAAU,YAAY;AAAA,YAC3C;AAAA,UACF,CAAC,EAAE;AAAA,QACL;AACA,yBAAiB,kBACb,eAAe,iBAAiB,kBAAkB,CAAC,CAAC,IACpD;AAAA,MACN,SAAS,OAAO;AACd,gBAAQ,MAAM,wBAAwB,KAAK;AAAA,MAC7C;AAAA,IACF;AAEA,WACE,6BAAAF,QAAA,cAAC,0BAAAG,SAAA,EAAmB,KAAW,GAAG,SAChC,6BAAAH,QAAA;AAAA,MAAC,uBAAAI;AAAA,MAAA;AAAA,QACC,SACE,sBAAsB,kBAAkB,kBAAkB;AAAA;AAAA,MAG3D,sBACC,6BAAAJ,QAAA,cAAC,yCAAgB,kBAAmB;AAAA,MAErC,mBACC,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL,MAAM;AAAA,UACN,SAAQ;AAAA,UACR,cAAa;AAAA,UACb,SAAQ;AAAA;AAAA,QAER,6BAAAA,QAAA,cAAC,wBAAO,OAAK,MAAC,OAAM,eAAY,MAEhC;AAAA,MACF;AAAA,IAEJ,GACA,6BAAAA,QAAA,cAAC,wBAAAK,SAAA,EAAiB,WAAW,YAAY,QAAQ,MAC9C,eAAe,aACd,6BAAAL,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB;AAAA,UACvB,QAAQ;AAAA,QACV;AAAA;AAAA,IACF,IAEA,QAEJ,CACF;AAAA,EAEJ;AACF;AAKA,IAAO,oBAAQ;",
|
|
6
6
|
"names": ["js", "python", "bash", "xml", "markdown", "json", "React", "CodeBlock", "hljs", "CodeBlockContainer", "CodeBlockHeader", "CodeBlockContent"]
|
|
7
7
|
}
|
|
@@ -35,7 +35,7 @@ var React = __toESM(require("react"));
|
|
|
35
35
|
var import_useLatest = __toESM(require("@digigov/ui/utils/hooks/useLatest"));
|
|
36
36
|
const useDebounceCallback = (callback, wait = 100, leading = false) => {
|
|
37
37
|
const storedCallback = (0, import_useLatest.default)(callback);
|
|
38
|
-
const timeout = React.useRef();
|
|
38
|
+
const timeout = React.useRef(void 0);
|
|
39
39
|
const deps = [wait, leading, storedCallback];
|
|
40
40
|
React.useEffect(
|
|
41
41
|
() => () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/utils/hooks/useDebounce.ts"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport useLatest from '@digigov/ui/utils/hooks/useLatest';\n\nexport const useDebounceCallback = <CallbackArgs extends any[]>(\n callback: (...args: CallbackArgs) => void,\n wait = 100,\n leading = false\n): ((...args: CallbackArgs) => void) => {\n const storedCallback = useLatest(callback);\n const timeout = React.useRef<ReturnType<typeof setTimeout>>();\n const deps = [wait, leading, storedCallback];\n // Cleans up pending timeouts when the deps change\n React.useEffect(\n () => () => {\n if (timeout.current) clearTimeout(timeout.current);\n timeout.current = void 0;\n },\n deps\n );\n\n return React.useCallback(function () {\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const { current } = timeout;\n // Calls on leading edge\n if (current === void 0 && leading) {\n timeout.current = setTimeout(() => {\n timeout.current = void 0;\n }, wait);\n\n return storedCallback.current.apply(null, args as any);\n }\n // Clear the timeout every call and start waiting again\n if (current) clearTimeout(current);\n // Waits for `wait` before invoking the callback\n timeout.current = setTimeout(() => {\n timeout.current = void 0;\n storedCallback.current.apply(null, args as any);\n }, wait);\n }, deps);\n};\n\nexport const useDebounce = <State>(\n initialState: State | (() => State),\n wait?: number,\n leading?: boolean\n): [State, React.Dispatch<React.SetStateAction<State>>] => {\n const state = React.useState(initialState);\n return [state[0], useDebounceCallback(state[1], wait, leading)];\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,uBAAsB;AAEf,MAAM,sBAAsB,CACjC,UACA,OAAO,KACP,UAAU,UAC4B;AACtC,QAAM,qBAAiB,iBAAAA,SAAU,QAAQ;AACzC,QAAM,UAAU,MAAM,OAAsC;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport useLatest from '@digigov/ui/utils/hooks/useLatest';\n\nexport const useDebounceCallback = <CallbackArgs extends any[]>(\n callback: (...args: CallbackArgs) => void,\n wait = 100,\n leading = false\n): ((...args: CallbackArgs) => void) => {\n const storedCallback = useLatest(callback);\n const timeout = React.useRef<ReturnType<typeof setTimeout>>(undefined);\n const deps = [wait, leading, storedCallback];\n // Cleans up pending timeouts when the deps change\n React.useEffect(\n () => () => {\n if (timeout.current) clearTimeout(timeout.current);\n timeout.current = void 0;\n },\n deps\n );\n\n return React.useCallback(function () {\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const { current } = timeout;\n // Calls on leading edge\n if (current === void 0 && leading) {\n timeout.current = setTimeout(() => {\n timeout.current = void 0;\n }, wait);\n\n return storedCallback.current.apply(null, args as any);\n }\n // Clear the timeout every call and start waiting again\n if (current) clearTimeout(current);\n // Waits for `wait` before invoking the callback\n timeout.current = setTimeout(() => {\n timeout.current = void 0;\n storedCallback.current.apply(null, args as any);\n }, wait);\n }, deps);\n};\n\nexport const useDebounce = <State>(\n initialState: State | (() => State),\n wait?: number,\n leading?: boolean\n): [State, React.Dispatch<React.SetStateAction<State>>] => {\n const state = React.useState(initialState);\n return [state[0], useDebounceCallback(state[1], wait, leading)];\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,uBAAsB;AAEf,MAAM,sBAAsB,CACjC,UACA,OAAO,KACP,UAAU,UAC4B;AACtC,QAAM,qBAAiB,iBAAAA,SAAU,QAAQ;AACzC,QAAM,UAAU,MAAM,OAAsC,MAAS;AACrE,QAAM,OAAO,CAAC,MAAM,SAAS,cAAc;AAE3C,QAAM;AAAA,IACJ,MAAM,MAAM;AACV,UAAI,QAAQ,QAAS,cAAa,QAAQ,OAAO;AACjD,cAAQ,UAAU;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AAEA,SAAO,MAAM,YAAY,WAAY;AAEnC,UAAM,OAAO;AACb,UAAM,EAAE,QAAQ,IAAI;AAEpB,QAAI,YAAY,UAAU,SAAS;AACjC,cAAQ,UAAU,WAAW,MAAM;AACjC,gBAAQ,UAAU;AAAA,MACpB,GAAG,IAAI;AAEP,aAAO,eAAe,QAAQ,MAAM,MAAM,IAAW;AAAA,IACvD;AAEA,QAAI,QAAS,cAAa,OAAO;AAEjC,YAAQ,UAAU,WAAW,MAAM;AACjC,cAAQ,UAAU;AAClB,qBAAe,QAAQ,MAAM,MAAM,IAAW;AAAA,IAChD,GAAG,IAAI;AAAA,EACT,GAAG,IAAI;AACT;AAEO,MAAM,cAAc,CACzB,cACA,MACA,YACyD;AACzD,QAAM,QAAQ,MAAM,SAAS,YAAY;AACzC,SAAO,CAAC,MAAM,CAAC,GAAG,oBAAoB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC;AAChE;",
|
|
6
6
|
"names": ["useLatest"]
|
|
7
7
|
}
|
|
@@ -13,6 +13,7 @@ export namespace WithControls {
|
|
|
13
13
|
namespace args {
|
|
14
14
|
let title_1: string;
|
|
15
15
|
export { title_1 as title };
|
|
16
|
+
export let variant: string;
|
|
16
17
|
export let hint: boolean;
|
|
17
18
|
export let hintMessage: string;
|
|
18
19
|
export let content: string;
|
|
@@ -27,20 +28,29 @@ export namespace WithControls {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
export { title_2 as title };
|
|
30
|
-
export namespace
|
|
31
|
+
export namespace variant_1 {
|
|
32
|
+
export let options: string[];
|
|
31
33
|
export namespace control_1 {
|
|
32
34
|
let type_1: string;
|
|
33
35
|
export { type_1 as type };
|
|
34
36
|
}
|
|
35
37
|
export { control_1 as control };
|
|
36
38
|
}
|
|
37
|
-
export {
|
|
38
|
-
export namespace
|
|
39
|
+
export { variant_1 as variant };
|
|
40
|
+
export namespace hint_1 {
|
|
39
41
|
export namespace control_2 {
|
|
40
42
|
let type_2: string;
|
|
41
43
|
export { type_2 as type };
|
|
42
44
|
}
|
|
43
45
|
export { control_2 as control };
|
|
46
|
+
}
|
|
47
|
+
export { hint_1 as hint };
|
|
48
|
+
export namespace hintMessage_1 {
|
|
49
|
+
export namespace control_3 {
|
|
50
|
+
let type_3: string;
|
|
51
|
+
export { type_3 as type };
|
|
52
|
+
}
|
|
53
|
+
export { control_3 as control };
|
|
44
54
|
export namespace _if {
|
|
45
55
|
let arg: string;
|
|
46
56
|
let eq: boolean;
|
|
@@ -49,23 +59,14 @@ export namespace WithControls {
|
|
|
49
59
|
}
|
|
50
60
|
export { hintMessage_1 as hintMessage };
|
|
51
61
|
export namespace content_1 {
|
|
52
|
-
export namespace control_3 {
|
|
53
|
-
let type_3: string;
|
|
54
|
-
export { type_3 as type };
|
|
55
|
-
}
|
|
56
|
-
export { control_3 as control };
|
|
57
|
-
}
|
|
58
|
-
export { content_1 as content };
|
|
59
|
-
export namespace horizontalBorders_1 {
|
|
60
|
-
export let options: string[];
|
|
61
62
|
export namespace control_4 {
|
|
62
63
|
let type_4: string;
|
|
63
64
|
export { type_4 as type };
|
|
64
65
|
}
|
|
65
66
|
export { control_4 as control };
|
|
66
67
|
}
|
|
67
|
-
export {
|
|
68
|
-
export namespace
|
|
68
|
+
export { content_1 as content };
|
|
69
|
+
export namespace horizontalBorders_1 {
|
|
69
70
|
let options_1: string[];
|
|
70
71
|
export { options_1 as options };
|
|
71
72
|
export namespace control_5 {
|
|
@@ -74,14 +75,24 @@ export namespace WithControls {
|
|
|
74
75
|
}
|
|
75
76
|
export { control_5 as control };
|
|
76
77
|
}
|
|
77
|
-
export {
|
|
78
|
-
export namespace
|
|
78
|
+
export { horizontalBorders_1 as horizontalBorders };
|
|
79
|
+
export namespace summaryColor_1 {
|
|
80
|
+
let options_2: string[];
|
|
81
|
+
export { options_2 as options };
|
|
79
82
|
export namespace control_6 {
|
|
80
83
|
let type_6: string;
|
|
81
84
|
export { type_6 as type };
|
|
82
85
|
}
|
|
83
86
|
export { control_6 as control };
|
|
84
87
|
}
|
|
88
|
+
export { summaryColor_1 as summaryColor };
|
|
89
|
+
export namespace dense_1 {
|
|
90
|
+
export namespace control_7 {
|
|
91
|
+
let type_7: string;
|
|
92
|
+
export { type_7 as type };
|
|
93
|
+
}
|
|
94
|
+
export { control_7 as control };
|
|
95
|
+
}
|
|
85
96
|
export { dense_1 as dense };
|
|
86
97
|
}
|
|
87
98
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/content/Accordion/hooks.ts"],
|
|
4
|
-
"sourcesContent": ["import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type AccordionItemId = string | number;\n\nexport interface UseAccordionProps {\n defaultOpen?: AccordionItemId;\n singleOpen?: boolean;\n}\nexport interface UseAccordionSectionProps {\n ref: React.RefObject<HTMLDetailsElement>;\n open: boolean;\n onToggle: (\n e: React.MouseEvent | React.SyntheticEvent<HTMLElement, Event> | Event\n ) => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n role: string;\n // tabIndex: number;\n 'aria-expanded': boolean | undefined;\n}\n\nexport interface UseAccordionReturn {\n section: (id: AccordionItemId) => UseAccordionSectionProps;\n open: (id: AccordionItemId) => void;\n close: (id: AccordionItemId) => void;\n openAll: () => void;\n closeAll: () => void;\n onOpen: (id: AccordionItemId) => void;\n hasOpen: boolean;\n currentOpen?: AccordionItemId | AccordionItemId[] | null;\n}\n\nexport const useAccordion = ({\n defaultOpen,\n singleOpen = false,\n}: UseAccordionProps = {}): UseAccordionReturn => {\n const sectionsRef = useRef<\n Map<AccordionItemId, React.RefObject<HTMLDetailsElement>>\n >(new Map());\n const [current, setCurrentOpen] = useState(\n defaultOpen ? { [defaultOpen]: true } : {}\n );\n const getCurrentOpen = (): AccordionItemId | AccordionItemId[] | null => {\n const openSections: AccordionItemId[] = [];\n sectionsRef.current.forEach((ref, id) => {\n if (ref.current?.open) {\n openSections.push(id);\n }\n });\n\n if (singleOpen) {\n return openSections[0] || null;\n }\n return openSections.length ? openSections : null;\n };\n\n const open = (id: AccordionItemId) => {\n sectionsRef?.current?.get(id)?.current?.setAttribute('open', '');\n };\n\n const close = (id: AccordionItemId) => {\n sectionsRef.current.get(id)?.current?.removeAttribute('open');\n };\n\n const openAll = () => {\n if (singleOpen) {\n throw new Error('Cannot open all sections when singleOpen is true');\n }\n sectionsRef.current.forEach((ref) => ref.current?.setAttribute('open', ''));\n };\n\n const closeAll = () => {\n sectionsRef.current.forEach((ref) => ref.current?.removeAttribute('open'));\n };\n\n const navigateTo = useCallback(\n (direction: 'next' | 'previous') => {\n const activeElement = document.activeElement;\n if (!activeElement) return;\n const focusableElements = Array.from(\n document.querySelectorAll('summary')\n );\n const currentIndex = focusableElements.indexOf(\n activeElement as HTMLElement\n );\n let nextIndex;\n if (direction === 'next') {\n nextIndex =\n currentIndex >= 0 ? currentIndex + 1 : focusableElements.length - 1;\n } else if (direction === 'previous') {\n nextIndex =\n currentIndex <= focusableElements.length - 1 ? currentIndex - 1 : 0;\n }\n const nextElement = focusableElements[nextIndex];\n if (nextElement) {\n nextElement.focus();\n }\n },\n [current]\n );\n\n const section = useCallback(\n (id: AccordionItemId) => {\n if (!sectionsRef.current.has(id)) {\n sectionsRef.current.set(id, React.createRef());\n }\n const ref = sectionsRef.current.get(\n id\n ) as React.RefObject<HTMLDetailsElement>;\n\n const onToggle = (e) => {\n if (singleOpen && e.target?.open) {\n sectionsRef.current.forEach((sectionRef, sectionId) => {\n if (sectionId === id) {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n if (sectionId !== id && sectionRef.current?.hasAttribute('open')) {\n sectionRef.current?.removeAttribute('open');\n }\n });\n } else {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('next');\n break;\n case 'ArrowUp':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('previous');\n break;\n case 'Enter':\n e.preventDefault(); // Prevent form submission if needed\n if (ref?.current?.hasAttribute('open')) {\n close(id);\n } else {\n open(id);\n }\n break;\n }\n };\n\n return {\n ref,\n open: ref?.current?.hasAttribute('open') || false,\n onToggle,\n onKeyDown,\n role: 'button',\n 'aria-expanded': ref?.current?.hasAttribute('open'),\n };\n },\n [current]\n );\n const hasOpen = useCallback(() => {\n return getCurrentOpen() !== null;\n }, []);\n useEffect(() => {\n if (defaultOpen) {\n if (Array.isArray(defaultOpen)) {\n defaultOpen.forEach((id) => open(id));\n } else {\n open(defaultOpen);\n }\n }\n }, [defaultOpen]);\n return {\n section,\n open,\n close,\n hasOpen: hasOpen(),\n openAll,\n closeAll,\n onOpen: open,\n currentOpen: Object.keys(current).length ? getCurrentOpen() : null,\n };\n};\n\nexport default useAccordion;\n"],
|
|
4
|
+
"sourcesContent": ["import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type AccordionItemId = string | number;\n\nexport interface UseAccordionProps {\n defaultOpen?: AccordionItemId;\n singleOpen?: boolean;\n}\nexport interface UseAccordionSectionProps {\n ref: React.RefObject<HTMLDetailsElement>;\n open: boolean;\n onToggle: (\n e: React.MouseEvent | React.SyntheticEvent<HTMLElement, Event> | Event\n ) => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n role: string;\n // tabIndex: number;\n 'aria-expanded': boolean | undefined;\n}\n\nexport interface UseAccordionReturn {\n section: (id: AccordionItemId) => UseAccordionSectionProps;\n open: (id: AccordionItemId) => void;\n close: (id: AccordionItemId) => void;\n openAll: () => void;\n closeAll: () => void;\n onOpen: (id: AccordionItemId) => void;\n hasOpen: boolean;\n currentOpen?: AccordionItemId | AccordionItemId[] | null;\n}\n\nexport const useAccordion = ({\n defaultOpen,\n singleOpen = false,\n}: UseAccordionProps = {}): UseAccordionReturn => {\n const sectionsRef = useRef<\n Map<AccordionItemId, React.RefObject<HTMLDetailsElement | null>>\n >(new Map());\n const [current, setCurrentOpen] = useState(\n defaultOpen ? { [defaultOpen]: true } : {}\n );\n const getCurrentOpen = (): AccordionItemId | AccordionItemId[] | null => {\n const openSections: AccordionItemId[] = [];\n sectionsRef.current.forEach((ref, id) => {\n if (ref.current?.open) {\n openSections.push(id);\n }\n });\n\n if (singleOpen) {\n return openSections[0] || null;\n }\n return openSections.length ? openSections : null;\n };\n\n const open = (id: AccordionItemId) => {\n sectionsRef?.current?.get(id)?.current?.setAttribute('open', '');\n };\n\n const close = (id: AccordionItemId) => {\n sectionsRef.current.get(id)?.current?.removeAttribute('open');\n };\n\n const openAll = () => {\n if (singleOpen) {\n throw new Error('Cannot open all sections when singleOpen is true');\n }\n sectionsRef.current.forEach((ref) => ref.current?.setAttribute('open', ''));\n };\n\n const closeAll = () => {\n sectionsRef.current.forEach((ref) => ref.current?.removeAttribute('open'));\n };\n\n const navigateTo = useCallback(\n (direction: 'next' | 'previous') => {\n const activeElement = document.activeElement;\n if (!activeElement) return;\n const focusableElements = Array.from(\n document.querySelectorAll('summary')\n );\n const currentIndex = focusableElements.indexOf(\n activeElement as HTMLElement\n );\n let nextIndex;\n if (direction === 'next') {\n nextIndex =\n currentIndex >= 0 ? currentIndex + 1 : focusableElements.length - 1;\n } else if (direction === 'previous') {\n nextIndex =\n currentIndex <= focusableElements.length - 1 ? currentIndex - 1 : 0;\n }\n const nextElement = focusableElements[nextIndex];\n if (nextElement) {\n nextElement.focus();\n }\n },\n [current]\n );\n\n const section = useCallback(\n (id: AccordionItemId) => {\n if (!sectionsRef.current.has(id)) {\n sectionsRef.current.set(id, React.createRef());\n }\n const ref = sectionsRef.current.get(\n id\n ) as React.RefObject<HTMLDetailsElement>;\n\n const onToggle = (e) => {\n if (singleOpen && e.target?.open) {\n sectionsRef.current.forEach((sectionRef, sectionId) => {\n if (sectionId === id) {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n if (sectionId !== id && sectionRef.current?.hasAttribute('open')) {\n sectionRef.current?.removeAttribute('open');\n }\n });\n } else {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('next');\n break;\n case 'ArrowUp':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('previous');\n break;\n case 'Enter':\n e.preventDefault(); // Prevent form submission if needed\n if (ref?.current?.hasAttribute('open')) {\n close(id);\n } else {\n open(id);\n }\n break;\n }\n };\n\n return {\n ref,\n open: ref?.current?.hasAttribute('open') || false,\n onToggle,\n onKeyDown,\n role: 'button',\n 'aria-expanded': ref?.current?.hasAttribute('open'),\n };\n },\n [current]\n );\n const hasOpen = useCallback(() => {\n return getCurrentOpen() !== null;\n }, []);\n useEffect(() => {\n if (defaultOpen) {\n if (Array.isArray(defaultOpen)) {\n defaultOpen.forEach((id) => open(id));\n } else {\n open(defaultOpen);\n }\n }\n }, [defaultOpen]);\n return {\n section,\n open,\n close,\n hasOpen: hasOpen(),\n openAll,\n closeAll,\n onOpen: open,\n currentOpen: Object.keys(current).length ? getCurrentOpen() : null,\n };\n};\n\nexport default useAccordion;\n"],
|
|
5
5
|
"mappings": "AAAA,OAAO,SAAS,aAAa,WAAW,QAAQ,gBAAgB;AA+BzD,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA,aAAa;AACf,IAAuB,CAAC,MAA0B;AAChD,QAAM,cAAc,OAElB,oBAAI,IAAI,CAAC;AACX,QAAM,CAAC,SAAS,cAAc,IAAI;AAAA,IAChC,cAAc,EAAE,CAAC,WAAW,GAAG,KAAK,IAAI,CAAC;AAAA,EAC3C;AACA,QAAM,iBAAiB,MAAkD;AACvE,UAAM,eAAkC,CAAC;AACzC,gBAAY,QAAQ,QAAQ,CAAC,KAAK,OAAO;AACvC,UAAI,IAAI,SAAS,MAAM;AACrB,qBAAa,KAAK,EAAE;AAAA,MACtB;AAAA,IACF,CAAC;AAED,QAAI,YAAY;AACd,aAAO,aAAa,CAAC,KAAK;AAAA,IAC5B;AACA,WAAO,aAAa,SAAS,eAAe;AAAA,EAC9C;AAEA,QAAM,OAAO,CAAC,OAAwB;AACpC,iBAAa,SAAS,IAAI,EAAE,GAAG,SAAS,aAAa,QAAQ,EAAE;AAAA,EACjE;AAEA,QAAM,QAAQ,CAAC,OAAwB;AACrC,gBAAY,QAAQ,IAAI,EAAE,GAAG,SAAS,gBAAgB,MAAM;AAAA,EAC9D;AAEA,QAAM,UAAU,MAAM;AACpB,QAAI,YAAY;AACd,YAAM,IAAI,MAAM,kDAAkD;AAAA,IACpE;AACA,gBAAY,QAAQ,QAAQ,CAAC,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE,CAAC;AAAA,EAC5E;AAEA,QAAM,WAAW,MAAM;AACrB,gBAAY,QAAQ,QAAQ,CAAC,QAAQ,IAAI,SAAS,gBAAgB,MAAM,CAAC;AAAA,EAC3E;AAEA,QAAM,aAAa;AAAA,IACjB,CAAC,cAAmC;AAClC,YAAM,gBAAgB,SAAS;AAC/B,UAAI,CAAC,cAAe;AACpB,YAAM,oBAAoB,MAAM;AAAA,QAC9B,SAAS,iBAAiB,SAAS;AAAA,MACrC;AACA,YAAM,eAAe,kBAAkB;AAAA,QACrC;AAAA,MACF;AACA,UAAI;AACJ,UAAI,cAAc,QAAQ;AACxB,oBACE,gBAAgB,IAAI,eAAe,IAAI,kBAAkB,SAAS;AAAA,MACtE,WAAW,cAAc,YAAY;AACnC,oBACE,gBAAgB,kBAAkB,SAAS,IAAI,eAAe,IAAI;AAAA,MACtE;AACA,YAAM,cAAc,kBAAkB,SAAS;AAC/C,UAAI,aAAa;AACf,oBAAY,MAAM;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,UAAU;AAAA,IACd,CAAC,OAAwB;AACvB,UAAI,CAAC,YAAY,QAAQ,IAAI,EAAE,GAAG;AAChC,oBAAY,QAAQ,IAAI,IAAI,MAAM,UAAU,CAAC;AAAA,MAC/C;AACA,YAAM,MAAM,YAAY,QAAQ;AAAA,QAC9B;AAAA,MACF;AAEA,YAAM,WAAW,CAAC,MAAM;AACtB,YAAI,cAAc,EAAE,QAAQ,MAAM;AAChC,sBAAY,QAAQ,QAAQ,CAAC,YAAY,cAAc;AACrD,gBAAI,cAAc,IAAI;AACpB,6BAAe,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC;AAAA,YACrD;AACA,gBAAI,cAAc,MAAM,WAAW,SAAS,aAAa,MAAM,GAAG;AAChE,yBAAW,SAAS,gBAAgB,MAAM;AAAA,YAC5C;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,yBAAe,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC;AAAA,QACrD;AAAA,MACF;AAEA,YAAM,YAAY,CAAC,MAA2B;AAC5C,gBAAQ,EAAE,KAAK;AAAA,UACb,KAAK;AACH,cAAE,eAAe;AACjB,uBAAW,MAAM;AACjB;AAAA,UACF,KAAK;AACH,cAAE,eAAe;AACjB,uBAAW,UAAU;AACrB;AAAA,UACF,KAAK;AACH,cAAE,eAAe;AACjB,gBAAI,KAAK,SAAS,aAAa,MAAM,GAAG;AACtC,oBAAM,EAAE;AAAA,YACV,OAAO;AACL,mBAAK,EAAE;AAAA,YACT;AACA;AAAA,QACJ;AAAA,MACF;AAEA,aAAO;AAAA,QACL;AAAA,QACA,MAAM,KAAK,SAAS,aAAa,MAAM,KAAK;AAAA,QAC5C;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,iBAAiB,KAAK,SAAS,aAAa,MAAM;AAAA,MACpD;AAAA,IACF;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AACA,QAAM,UAAU,YAAY,MAAM;AAChC,WAAO,eAAe,MAAM;AAAA,EAC9B,GAAG,CAAC,CAAC;AACL,YAAU,MAAM;AACd,QAAI,aAAa;AACf,UAAI,MAAM,QAAQ,WAAW,GAAG;AAC9B,oBAAY,QAAQ,CAAC,OAAO,KAAK,EAAE,CAAC;AAAA,MACtC,OAAO;AACL,aAAK,WAAW;AAAA,MAClB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,WAAW,CAAC;AAChB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,aAAa,OAAO,KAAK,OAAO,EAAE,SAAS,eAAe,IAAI;AAAA,EAChE;AACF;AAEA,IAAO,gBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -8,7 +8,7 @@ declare namespace _default {
|
|
|
8
8
|
export { doc as markdown };
|
|
9
9
|
}
|
|
10
10
|
export default _default;
|
|
11
|
-
export namespace
|
|
11
|
+
export namespace WithControls {
|
|
12
12
|
namespace args {
|
|
13
13
|
let sm: number;
|
|
14
14
|
let md: number;
|
|
@@ -21,4 +21,7 @@ export namespace Default {
|
|
|
21
21
|
let showActions: boolean;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
+
export { Default } from "@digigov/ui/content/SummaryList/__stories__/Default";
|
|
25
|
+
export { WithActions } from "@digigov/ui/content/SummaryList/__stories__/WithActions";
|
|
26
|
+
export { WithoutBorders } from "@digigov/ui/content/SummaryList/__stories__/WithoutBorders";
|
|
24
27
|
import { SummaryListExample } from '@digigov/ui/content/SummaryList/__stories__/SummaryListExample';
|
|
@@ -10,6 +10,8 @@ declare namespace _default {
|
|
|
10
10
|
export default _default;
|
|
11
11
|
export namespace WithControls {
|
|
12
12
|
namespace args {
|
|
13
|
+
export let variant: string;
|
|
14
|
+
export let dense: boolean;
|
|
13
15
|
let title_1: string;
|
|
14
16
|
export { title_1 as title };
|
|
15
17
|
export let children: string;
|
|
@@ -18,49 +20,47 @@ export namespace WithControls {
|
|
|
18
20
|
let href: string;
|
|
19
21
|
}
|
|
20
22
|
export { link_1 as link };
|
|
21
|
-
export let variant: string;
|
|
22
|
-
export let dense: boolean;
|
|
23
23
|
}
|
|
24
24
|
namespace argTypes {
|
|
25
|
-
export namespace
|
|
25
|
+
export namespace variant_1 {
|
|
26
|
+
let options: string[];
|
|
26
27
|
namespace control {
|
|
27
28
|
let type: string;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
|
-
export {
|
|
31
|
-
export namespace
|
|
31
|
+
export { variant_1 as variant };
|
|
32
|
+
export namespace dense_1 {
|
|
32
33
|
export namespace control_1 {
|
|
33
34
|
let type_1: string;
|
|
34
35
|
export { type_1 as type };
|
|
35
36
|
}
|
|
36
37
|
export { control_1 as control };
|
|
37
38
|
}
|
|
38
|
-
export {
|
|
39
|
-
export namespace
|
|
39
|
+
export { dense_1 as dense };
|
|
40
|
+
export namespace title_2 {
|
|
40
41
|
export namespace control_2 {
|
|
41
42
|
let type_2: string;
|
|
42
43
|
export { type_2 as type };
|
|
43
44
|
}
|
|
44
45
|
export { control_2 as control };
|
|
45
46
|
}
|
|
46
|
-
export {
|
|
47
|
-
export namespace
|
|
48
|
-
export let options: string[];
|
|
47
|
+
export { title_2 as title };
|
|
48
|
+
export namespace children_1 {
|
|
49
49
|
export namespace control_3 {
|
|
50
50
|
let type_3: string;
|
|
51
51
|
export { type_3 as type };
|
|
52
52
|
}
|
|
53
53
|
export { control_3 as control };
|
|
54
54
|
}
|
|
55
|
-
export {
|
|
56
|
-
export namespace
|
|
55
|
+
export { children_1 as children };
|
|
56
|
+
export namespace link_2 {
|
|
57
57
|
export namespace control_4 {
|
|
58
58
|
let type_4: string;
|
|
59
59
|
export { type_4 as type };
|
|
60
60
|
}
|
|
61
61
|
export { control_4 as control };
|
|
62
62
|
}
|
|
63
|
-
export {
|
|
63
|
+
export { link_2 as link };
|
|
64
64
|
}
|
|
65
65
|
namespace parameters {
|
|
66
66
|
namespace controls {
|
|
@@ -71,4 +71,5 @@ export namespace WithControls {
|
|
|
71
71
|
export { Default } from "@digigov/ui/feedback/NotificationBanner/__stories__/Default";
|
|
72
72
|
export { Success } from "@digigov/ui/feedback/NotificationBanner/__stories__/Success";
|
|
73
73
|
export { Dense } from "@digigov/ui/feedback/NotificationBanner/__stories__/Dense";
|
|
74
|
+
export { Expanded } from "@digigov/ui/feedback/NotificationBanner/__stories__/Expanded";
|
|
74
75
|
import NotificationBanner from '@digigov/ui/feedback/NotificationBanner';
|
|
@@ -11,8 +11,8 @@ export default _default;
|
|
|
11
11
|
export namespace WithControls {
|
|
12
12
|
function render(args: any): React.JSX.Element;
|
|
13
13
|
namespace args {
|
|
14
|
-
let tag: string;
|
|
15
14
|
let underline: boolean;
|
|
15
|
+
let tag: string;
|
|
16
16
|
}
|
|
17
17
|
namespace argTypes {
|
|
18
18
|
export namespace underline_1 {
|
|
@@ -11,8 +11,10 @@ export namespace WithControls {
|
|
|
11
11
|
namespace args {
|
|
12
12
|
let width: string;
|
|
13
13
|
let id: string;
|
|
14
|
-
let multiple: boolean;
|
|
15
14
|
let autoselect: boolean;
|
|
15
|
+
let multiple: boolean;
|
|
16
|
+
let hint: boolean;
|
|
17
|
+
let placeholder: string;
|
|
16
18
|
let minLength: number;
|
|
17
19
|
let numberOfSelected: number;
|
|
18
20
|
let defaultValue: string;
|
|
@@ -33,52 +35,89 @@ export namespace WithControls {
|
|
|
33
35
|
export { control_1 as control };
|
|
34
36
|
}
|
|
35
37
|
export { id_1 as id };
|
|
36
|
-
export namespace
|
|
38
|
+
export namespace autoselect_1 {
|
|
37
39
|
export namespace control_2 {
|
|
38
40
|
let type_2: string;
|
|
39
41
|
export { type_2 as type };
|
|
40
42
|
}
|
|
41
43
|
export { control_2 as control };
|
|
44
|
+
export namespace _if {
|
|
45
|
+
let arg: string;
|
|
46
|
+
let eq: boolean;
|
|
47
|
+
}
|
|
48
|
+
export { _if as if };
|
|
42
49
|
}
|
|
43
|
-
export {
|
|
44
|
-
export namespace
|
|
50
|
+
export { autoselect_1 as autoselect };
|
|
51
|
+
export namespace multiple_1 {
|
|
45
52
|
export namespace control_3 {
|
|
46
53
|
let type_3: string;
|
|
47
54
|
export { type_3 as type };
|
|
48
55
|
}
|
|
49
56
|
export { control_3 as control };
|
|
57
|
+
export namespace _if_1 {
|
|
58
|
+
let arg_1: string;
|
|
59
|
+
export { arg_1 as arg };
|
|
60
|
+
let eq_1: boolean;
|
|
61
|
+
export { eq_1 as eq };
|
|
62
|
+
}
|
|
63
|
+
export { _if_1 as if };
|
|
50
64
|
}
|
|
51
|
-
export {
|
|
52
|
-
export namespace
|
|
65
|
+
export { multiple_1 as multiple };
|
|
66
|
+
export namespace hint_1 {
|
|
53
67
|
export namespace control_4 {
|
|
54
68
|
let type_4: string;
|
|
55
69
|
export { type_4 as type };
|
|
56
70
|
}
|
|
57
71
|
export { control_4 as control };
|
|
58
72
|
}
|
|
59
|
-
export {
|
|
60
|
-
export namespace
|
|
73
|
+
export { hint_1 as hint };
|
|
74
|
+
export namespace placeholder_1 {
|
|
61
75
|
export namespace control_5 {
|
|
62
76
|
let type_5: string;
|
|
63
77
|
export { type_5 as type };
|
|
64
|
-
let options_1: (string | number | undefined)[];
|
|
65
|
-
export { options_1 as options };
|
|
66
78
|
}
|
|
67
79
|
export { control_5 as control };
|
|
68
|
-
export namespace
|
|
69
|
-
let
|
|
70
|
-
|
|
80
|
+
export namespace _if_2 {
|
|
81
|
+
let arg_2: string;
|
|
82
|
+
export { arg_2 as arg };
|
|
83
|
+
let eq_2: boolean;
|
|
84
|
+
export { eq_2 as eq };
|
|
71
85
|
}
|
|
72
|
-
export {
|
|
86
|
+
export { _if_2 as if };
|
|
73
87
|
}
|
|
74
|
-
export {
|
|
75
|
-
export namespace
|
|
88
|
+
export { placeholder_1 as placeholder };
|
|
89
|
+
export namespace minLength_1 {
|
|
76
90
|
export namespace control_6 {
|
|
77
91
|
let type_6: string;
|
|
78
92
|
export { type_6 as type };
|
|
79
93
|
}
|
|
80
94
|
export { control_6 as control };
|
|
81
95
|
}
|
|
96
|
+
export { minLength_1 as minLength };
|
|
97
|
+
export namespace numberOfSelected_1 {
|
|
98
|
+
export namespace control_7 {
|
|
99
|
+
let type_7: string;
|
|
100
|
+
export { type_7 as type };
|
|
101
|
+
let options_1: (string | number | undefined)[];
|
|
102
|
+
export { options_1 as options };
|
|
103
|
+
}
|
|
104
|
+
export { control_7 as control };
|
|
105
|
+
export namespace _if_3 {
|
|
106
|
+
let arg_3: string;
|
|
107
|
+
export { arg_3 as arg };
|
|
108
|
+
let eq_3: boolean;
|
|
109
|
+
export { eq_3 as eq };
|
|
110
|
+
}
|
|
111
|
+
export { _if_3 as if };
|
|
112
|
+
}
|
|
113
|
+
export { numberOfSelected_1 as numberOfSelected };
|
|
114
|
+
export namespace defaultValue_1 {
|
|
115
|
+
export namespace control_8 {
|
|
116
|
+
let type_8: string;
|
|
117
|
+
export { type_8 as type };
|
|
118
|
+
}
|
|
119
|
+
export { control_8 as control };
|
|
120
|
+
}
|
|
82
121
|
export { defaultValue_1 as defaultValue };
|
|
83
122
|
}
|
|
84
123
|
namespace parameters {
|
|
@@ -94,6 +133,8 @@ export { MultipleShowingTwoSelected } from "@digigov/ui/form/AutoComplete/__stor
|
|
|
94
133
|
export { MultipleWithMinLength } from "@digigov/ui/form/AutoComplete/__stories__/MultipleWithMinLength";
|
|
95
134
|
export { WithAutoSelect } from "@digigov/ui/form/AutoComplete/__stories__/WithAutoSelect";
|
|
96
135
|
export { WithDefaultValue } from "@digigov/ui/form/AutoComplete/__stories__/WithDefaultValue";
|
|
136
|
+
export { WithCustomValue } from "@digigov/ui/form/AutoComplete/__stories__/WithCustomValue";
|
|
137
|
+
export { WithHint } from "@digigov/ui/form/AutoComplete/__stories__/WithHint";
|
|
97
138
|
export { WithPlaceHolder } from "@digigov/ui/form/AutoComplete/__stories__/WithPlaceHolder";
|
|
98
139
|
export { WithShowAllValues } from "@digigov/ui/form/AutoComplete/__stories__/WithShowAllValues";
|
|
99
140
|
export { WithMinLength } from "@digigov/ui/form/AutoComplete/__stories__/WithMinLength";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from 'react';
|
|
1
|
+
import { Component, type JSX } from 'react';
|
|
2
2
|
import AutoCompleteStatus from '@digigov/react-core/AutoCompleteStatus';
|
|
3
3
|
import AutoCompleteStatusContainer from '@digigov/react-core/AutoCompleteStatusContainer';
|
|
4
4
|
interface StatusProps {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/form/AutoComplete/Status/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { Component } from 'react';\nimport AutoCompleteStatus from '@digigov/react-core/AutoCompleteStatus';\nimport AutoCompleteStatusContainer from '@digigov/react-core/AutoCompleteStatusContainer';\n\nconst debounce = function (\n func: () => void,\n wait: number,\n immediate?: boolean\n) {\n let timeout;\n return function (...args) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n return timeout;\n };\n};\nconst statusDebounceMillis = 1400;\n\ninterface StatusProps {\n id: string;\n length: number;\n queryLength: number;\n minQueryLength?: number;\n selectedOption: string;\n selectedOptionIndex: number;\n validChoiceMade: boolean;\n isInFocus: boolean;\n tQueryTooShort?: (x: number) => string;\n tNoResults?: () => string;\n tSelectedOption: (x: string, y: number, z: number) => string;\n tResults?: (x: number, y: string) => string;\n}\n\ninterface StateProps {\n bump: boolean;\n debounced: boolean;\n silenced: boolean;\n}\n\nexport default class Status extends Component<StatusProps, StateProps> {\n static defaultProps = {\n tQueryTooShort: (minQueryLength: number): string =>\n `Type in ${minQueryLength} or more characters for results`,\n tNoResults: (): string => 'No search results',\n tSelectedOption: (\n selectedOption: string,\n length: number,\n index: number\n ): string => `${selectedOption} ${index + 1} of ${length} is highlighted`,\n tResults: (length: number, contentSelectedOption: string): string => {\n const words = {\n result: length === 1 ? 'result' : 'results',\n is: length === 1 ? 'is' : 'are',\n };\n\n return `${length} ${words.result} ${words.is} available. ${contentSelectedOption}`;\n },\n };\n\n state = {\n bump: false,\n debounced: false,\n silenced: false,\n };\n debounceStatusUpdate: () => void;\n lastDebounceCall: any;\n componentWillUnmount(): void {\n clearTimeout(this.lastDebounceCall);\n }\n UNSAFE_componentWillMount() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n this.debounceStatusUpdate = debounce(function () {\n if (!that.state.debounced) {\n const shouldSilence =\n !that.props.isInFocus || that.props.validChoiceMade;\n that.setState(({ bump }) => ({\n bump: !bump,\n debounced: true,\n silenced: shouldSilence,\n }));\n }\n }, statusDebounceMillis);\n }\n\n UNSAFE_componentWillReceiveProps() {\n this.setState({ debounced: false });\n }\n\n render(): JSX.Element {\n const {\n id,\n length,\n queryLength,\n minQueryLength,\n selectedOption,\n selectedOptionIndex,\n tQueryTooShort,\n tNoResults,\n tSelectedOption,\n tResults,\n } = this.props;\n const { bump, debounced, silenced } = this.state;\n\n const queryTooShort = queryLength < (minQueryLength as number);\n const noResults = length === 0;\n\n const contentSelectedOption = selectedOption\n ? tSelectedOption(selectedOption, length, selectedOptionIndex)\n : '';\n\n let content;\n if (queryTooShort) {\n content = tQueryTooShort?.(minQueryLength as number);\n } else if (noResults) {\n content = tNoResults?.();\n } else {\n content = tResults?.(length, contentSelectedOption);\n }\n\n this.lastDebounceCall = this.debounceStatusUpdate();\n\n return (\n <AutoCompleteStatusContainer>\n <AutoCompleteStatus id={id + '__status--A'}>\n {!silenced && debounced && bump ? content : ' '}\n </AutoCompleteStatus>\n <AutoCompleteStatus id={id + '__status--B'}>\n {!silenced && debounced && !bump ? content : ' '}\n </AutoCompleteStatus>\n </AutoCompleteStatusContainer>\n );\n }\n}\n\nexport { AutoCompleteStatusContainer, AutoCompleteStatus };\n"],
|
|
5
|
-
"mappings": "AAAA,OAAO,SAAS,
|
|
4
|
+
"sourcesContent": ["import React, { Component, type JSX } from 'react';\nimport AutoCompleteStatus from '@digigov/react-core/AutoCompleteStatus';\nimport AutoCompleteStatusContainer from '@digigov/react-core/AutoCompleteStatusContainer';\n\nconst debounce = function (\n func: () => void,\n wait: number,\n immediate?: boolean\n) {\n let timeout;\n return function (...args) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n return timeout;\n };\n};\nconst statusDebounceMillis = 1400;\n\ninterface StatusProps {\n id: string;\n length: number;\n queryLength: number;\n minQueryLength?: number;\n selectedOption: string;\n selectedOptionIndex: number;\n validChoiceMade: boolean;\n isInFocus: boolean;\n tQueryTooShort?: (x: number) => string;\n tNoResults?: () => string;\n tSelectedOption: (x: string, y: number, z: number) => string;\n tResults?: (x: number, y: string) => string;\n}\n\ninterface StateProps {\n bump: boolean;\n debounced: boolean;\n silenced: boolean;\n}\n\nexport default class Status extends Component<StatusProps, StateProps> {\n static defaultProps = {\n tQueryTooShort: (minQueryLength: number): string =>\n `Type in ${minQueryLength} or more characters for results`,\n tNoResults: (): string => 'No search results',\n tSelectedOption: (\n selectedOption: string,\n length: number,\n index: number\n ): string => `${selectedOption} ${index + 1} of ${length} is highlighted`,\n tResults: (length: number, contentSelectedOption: string): string => {\n const words = {\n result: length === 1 ? 'result' : 'results',\n is: length === 1 ? 'is' : 'are',\n };\n\n return `${length} ${words.result} ${words.is} available. ${contentSelectedOption}`;\n },\n };\n\n state = {\n bump: false,\n debounced: false,\n silenced: false,\n };\n debounceStatusUpdate: () => void;\n lastDebounceCall: any;\n componentWillUnmount(): void {\n clearTimeout(this.lastDebounceCall);\n }\n UNSAFE_componentWillMount() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n this.debounceStatusUpdate = debounce(function () {\n if (!that.state.debounced) {\n const shouldSilence =\n !that.props.isInFocus || that.props.validChoiceMade;\n that.setState(({ bump }) => ({\n bump: !bump,\n debounced: true,\n silenced: shouldSilence,\n }));\n }\n }, statusDebounceMillis);\n }\n\n UNSAFE_componentWillReceiveProps() {\n this.setState({ debounced: false });\n }\n\n render(): JSX.Element {\n const {\n id,\n length,\n queryLength,\n minQueryLength,\n selectedOption,\n selectedOptionIndex,\n tQueryTooShort,\n tNoResults,\n tSelectedOption,\n tResults,\n } = this.props;\n const { bump, debounced, silenced } = this.state;\n\n const queryTooShort = queryLength < (minQueryLength as number);\n const noResults = length === 0;\n\n const contentSelectedOption = selectedOption\n ? tSelectedOption(selectedOption, length, selectedOptionIndex)\n : '';\n\n let content;\n if (queryTooShort) {\n content = tQueryTooShort?.(minQueryLength as number);\n } else if (noResults) {\n content = tNoResults?.();\n } else {\n content = tResults?.(length, contentSelectedOption);\n }\n\n this.lastDebounceCall = this.debounceStatusUpdate();\n\n return (\n <AutoCompleteStatusContainer>\n <AutoCompleteStatus id={id + '__status--A'}>\n {!silenced && debounced && bump ? content : ' '}\n </AutoCompleteStatus>\n <AutoCompleteStatus id={id + '__status--B'}>\n {!silenced && debounced && !bump ? content : ' '}\n </AutoCompleteStatus>\n </AutoCompleteStatusContainer>\n );\n }\n}\n\nexport { AutoCompleteStatusContainer, AutoCompleteStatus };\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,SAAS,iBAA2B;AAC3C,OAAO,wBAAwB;AAC/B,OAAO,iCAAiC;AAExC,MAAM,WAAW,SACf,MACA,MACA,WACA;AACA,MAAI;AACJ,SAAO,YAAa,MAAM;AAIxB,UAAM,UAAU;AAChB,UAAM,QAAQ,WAAY;AACxB,gBAAU;AACV,UAAI,CAAC,UAAW,MAAK,MAAM,SAAS,IAAI;AAAA,IAC1C;AACA,UAAM,UAAU,aAAa,CAAC;AAC9B,iBAAa,OAAO;AACpB,cAAU,WAAW,OAAO,IAAI;AAChC,QAAI,QAAS,MAAK,MAAM,SAAS,IAAI;AACrC,WAAO;AAAA,EACT;AACF;AACA,MAAM,uBAAuB;AAuB7B,MAAO,eAA6B,UAAmC;AAAA,EAAvE;AAAA;AAoBE,iBAAQ;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAU;AAAA,IACZ;AAAA;AAAA,EAvBA;AAAA,SAAO,eAAe;AAAA,MACpB,gBAAgB,CAAC,mBACf,WAAW,cAAc;AAAA,MAC3B,YAAY,MAAc;AAAA,MAC1B,iBAAiB,CACf,gBACA,QACA,UACW,GAAG,cAAc,IAAI,QAAQ,CAAC,OAAO,MAAM;AAAA,MACxD,UAAU,CAAC,QAAgB,0BAA0C;AACnE,cAAM,QAAQ;AAAA,UACZ,QAAQ,WAAW,IAAI,WAAW;AAAA,UAClC,IAAI,WAAW,IAAI,OAAO;AAAA,QAC5B;AAEA,eAAO,GAAG,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,EAAE,eAAe,qBAAqB;AAAA,MAClF;AAAA,IACF;AAAA;AAAA,EASA,uBAA6B;AAC3B,iBAAa,KAAK,gBAAgB;AAAA,EACpC;AAAA,EACA,4BAA4B;AAE1B,UAAM,OAAO;AACb,SAAK,uBAAuB,SAAS,WAAY;AAC/C,UAAI,CAAC,KAAK,MAAM,WAAW;AACzB,cAAM,gBACJ,CAAC,KAAK,MAAM,aAAa,KAAK,MAAM;AACtC,aAAK,SAAS,CAAC,EAAE,KAAK,OAAO;AAAA,UAC3B,MAAM,CAAC;AAAA,UACP,WAAW;AAAA,UACX,UAAU;AAAA,QACZ,EAAE;AAAA,MACJ;AAAA,IACF,GAAG,oBAAoB;AAAA,EACzB;AAAA,EAEA,mCAAmC;AACjC,SAAK,SAAS,EAAE,WAAW,MAAM,CAAC;AAAA,EACpC;AAAA,EAEA,SAAsB;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,KAAK;AACT,UAAM,EAAE,MAAM,WAAW,SAAS,IAAI,KAAK;AAE3C,UAAM,gBAAgB,cAAe;AACrC,UAAM,YAAY,WAAW;AAE7B,UAAM,wBAAwB,iBAC1B,gBAAgB,gBAAgB,QAAQ,mBAAmB,IAC3D;AAEJ,QAAI;AACJ,QAAI,eAAe;AACjB,gBAAU,iBAAiB,cAAwB;AAAA,IACrD,WAAW,WAAW;AACpB,gBAAU,aAAa;AAAA,IACzB,OAAO;AACL,gBAAU,WAAW,QAAQ,qBAAqB;AAAA,IACpD;AAEA,SAAK,mBAAmB,KAAK,qBAAqB;AAElD,WACE,oCAAC,mCACC,oCAAC,sBAAmB,IAAI,KAAK,iBAC1B,CAAC,YAAY,aAAa,OAAO,UAAU,GAC9C,GACA,oCAAC,sBAAmB,IAAI,KAAK,iBAC1B,CAAC,YAAY,aAAa,CAAC,OAAO,UAAU,GAC/C,CACF;AAAA,EAEJ;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React, { Component } from 'react';
|
|
1
|
+
import React, { Component, type JSX } from 'react';
|
|
2
2
|
import { AutoCompleteAssistiveHint } from '@digigov/react-core/AutoCompleteAssistiveHint';
|
|
3
3
|
import { AutoCompleteContainer } from '@digigov/react-core/AutoCompleteContainer';
|
|
4
4
|
import { AutoCompleteInputBase } from '@digigov/react-core/AutoCompleteInputBase';
|
|
5
|
-
import { AutoCompleteInputTypeahead } from '@digigov/react-core/AutoCompleteInputTypeahead';
|
|
6
5
|
import { AutoCompleteMultipleInput } from '@digigov/react-core/AutoCompleteMultipleInput';
|
|
7
6
|
import { AutoCompleteMultipleInputContainer } from '@digigov/react-core/AutoCompleteMultipleInputContainer';
|
|
8
7
|
import { AutoCompleteResultList } from '@digigov/react-core/AutoCompleteResultList';
|
|
@@ -23,6 +22,7 @@ export interface AutoCompleteProps {
|
|
|
23
22
|
};
|
|
24
23
|
width?: '25%' | '33.3%' | '50%' | '66.6%' | '75%' | '100%' | 'full';
|
|
25
24
|
autoselect?: boolean;
|
|
25
|
+
hint?: boolean;
|
|
26
26
|
defaultValue?: string | string[];
|
|
27
27
|
minLength?: number;
|
|
28
28
|
name?: string;
|
|
@@ -54,6 +54,7 @@ export default class AutoComplete extends Component<AutoCompleteProps, State> {
|
|
|
54
54
|
minLength: number;
|
|
55
55
|
name: string;
|
|
56
56
|
placeholder: string;
|
|
57
|
+
hint: boolean;
|
|
57
58
|
onConfirm: () => void;
|
|
58
59
|
confirmOnBlur: boolean;
|
|
59
60
|
required: boolean;
|
|
@@ -106,4 +107,4 @@ export default class AutoComplete extends Component<AutoCompleteProps, State> {
|
|
|
106
107
|
}): void;
|
|
107
108
|
render(): JSX.Element;
|
|
108
109
|
}
|
|
109
|
-
export { AutoComplete, AutoCompleteInputBase,
|
|
110
|
+
export { AutoComplete, AutoCompleteInputBase, AutoCompleteResultList, AutoCompleteResultListItem, AutoCompleteContainer, AutoCompleteAssistiveHint, AutoCompleteMultipleInputContainer, AutoCompleteMultipleInput, };
|