{"version":3,"file":"NativeSelect.cjs","sources":["../../../../src/components/select/NativeSelect.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { getValuePair } from \"../../utilities/valuePair.js\";\nimport { ArrowVerticalAnimated } from \"../icon/icons/animated/ArrowVerticalAnimated.js\";\nimport { InputGroup } from \"../input-group/InputGroup.js\";\nimport type { NativeSelectProps } from \"./types.js\";\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n    (props, ref) => {\n        const {\n            \"data-size\": dataSize,\n            label,\n            className,\n            errorLabel,\n            helpLabel,\n            inline,\n            invalid,\n            items,\n            labelProps,\n            placeholder = \"Velg\",\n            selectClassName,\n            supportLabelProps,\n            tooltip,\n            value,\n            width,\n            description,\n            ...rest\n        } = props;\n\n        const inputGroupProps = {\n            label,\n            errorLabel,\n            helpLabel,\n            labelProps,\n            inline,\n            supportLabelProps,\n            tooltip,\n            description,\n        };\n\n        return (\n            <InputGroup\n                {...inputGroupProps}\n                data-testid=\"jkl-select\"\n                data-size={dataSize}\n                className={clsx(\"jkl-select\", className, {\n                    \"jkl-select--inline\": inline,\n                    \"jkl-select--invalid\": !!errorLabel || invalid,\n                })}\n                render={(inputProps) => (\n                    <div\n                        className=\"jkl-select__outer-wrapper\"\n                        style={{ width }}\n                    >\n                        <select\n                            ref={ref}\n                            className={clsx(\n                                \"jkl-select__button\",\n                                selectClassName,\n                                {\n                                    \"jkl-select__button--active-value\": !!value,\n                                },\n                            )}\n                            defaultValue={value ? undefined : \"\"}\n                            value={value}\n                            {...inputProps}\n                            {...rest}\n                        >\n                            {placeholder && !value && (\n                                <option disabled value=\"\">\n                                    {placeholder}\n                                </option>\n                            )}\n                            {items.map(getValuePair).map((item) => (\n                                <option\n                                    data-testid=\"jkl-select__option\"\n                                    className=\"jkl-select__option\"\n                                    key={item.value}\n                                    value={item.value}\n                                >\n                                    {item.label}\n                                </option>\n                            ))}\n                        </select>\n                        <ArrowVerticalAnimated\n                            variant=\"medium\"\n                            pointingDown\n                            className=\"jkl-select__arrow\"\n                        />\n                    </div>\n                )}\n            />\n        );\n    },\n);\n\nNativeSelect.displayName = \"NativeSelect\";\n"],"names":["NativeSelect","forwardRef","props","ref","dataSize","label","className","errorLabel","helpLabel","inline","invalid","items","labelProps","placeholder","selectClassName","supportLabelProps","tooltip","value","width","description","rest","inputGroupProps","jsx","InputGroup","clsx","render","inputProps","jsxs","style","children","defaultValue","disabled","map","getValuePair","item","ArrowVerticalAnimated","variant","pointingDown","displayName"],"mappings":"oUAOaA,EAAeC,EAAAA,WACxB,CAACC,EAAOC,KACJ,MACI,YAAaC,EACbC,MAAAA,EACAC,UAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,OAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,WAAAA,EACAC,YAAAA,EAAc,OACdC,gBAAAA,EACAC,kBAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,MAAAA,EACAC,YAAAA,KACGC,GACHlB,EAEEmB,EAAkB,CACpBhB,MAAAA,EACAE,WAAAA,EACAC,UAAAA,EACAI,WAAAA,EACAH,OAAAA,EACAM,kBAAAA,EACAC,QAAAA,EACAG,YAAAA,GAGJ,OACIG,EAAAA,IAACC,EAAAA,WAAA,IACOF,EACJ,cAAY,aACZ,YAAWjB,EACXE,UAAWkB,EAAAA,KAAK,aAAclB,EAAW,CACrC,qBAAsBG,EACtB,wBAAyBF,GAAcG,IAE3Ce,OAASC,GACLC,EAAAA,KAAC,MAAA,CACGrB,UAAU,4BACVsB,MAAO,CAAEV,MAAAA,GAETW,SAAA,CAAAF,EAAAA,KAAC,SAAA,CACGxB,IAAAA,EACAG,UAAWkB,EAAAA,KACP,qBACAV,EACA,CACI,qCAAsCG,IAG9Ca,aAAcb,OAAQ,EAAY,GAClCA,MAAAA,KACIS,KACAN,EAEHS,SAAA,CAAAhB,IAAgBI,GACbK,EAAAA,IAAC,SAAA,CAAOS,UAAQ,EAACd,MAAM,GAClBY,SAAAhB,IAGRF,EAAMqB,IAAIC,EAAAA,cAAcD,IAAKE,GAC1BZ,EAAAA,IAAC,SAAA,CACG,cAAY,qBACZhB,UAAU,qBAEVW,MAAOiB,EAAKjB,MAEXY,SAAAK,EAAK7B,OAHD6B,EAAKjB,WAOtBK,EAAAA,IAACa,EAAAA,sBAAA,CACGC,QAAQ,SACRC,cAAY,EACZ/B,UAAU,6BAStCN,EAAasC,YAAc"}