inconel 0.1.6 → 0.1.7
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/README.md +44 -0
- package/dist/adapters/InconelProvider.js +21 -0
- package/dist/adapters/InconelProvider.js.map +1 -0
- package/dist/adapters/context.js +15 -0
- package/dist/adapters/context.js.map +1 -0
- package/dist/assets/icons/close-2.svg.js +5 -0
- package/dist/assets/icons/close-2.svg.js.map +1 -0
- package/dist/assets/icons/cog.svg.js +5 -0
- package/dist/assets/icons/cog.svg.js.map +1 -0
- package/dist/assets/icons/export.svg.js +5 -0
- package/dist/assets/icons/export.svg.js.map +1 -0
- package/dist/assets/icons/filter.svg.js +5 -0
- package/dist/assets/icons/filter.svg.js.map +1 -0
- package/dist/assets/icons/minus.svg.js +5 -0
- package/dist/assets/icons/minus.svg.js.map +1 -0
- package/dist/assets/icons/plus.svg.js +5 -0
- package/dist/assets/icons/plus.svg.js.map +1 -0
- package/dist/assets/icons/sort.svg.js +5 -0
- package/dist/assets/icons/sort.svg.js.map +1 -0
- package/dist/assets/icons/table.svg.js +5 -0
- package/dist/assets/icons/table.svg.js.map +1 -0
- package/dist/cjs/adapters/InconelProvider.cjs +2 -0
- package/dist/cjs/adapters/InconelProvider.cjs.map +1 -0
- package/dist/cjs/adapters/context.cjs +2 -0
- package/dist/cjs/adapters/context.cjs.map +1 -0
- package/dist/cjs/assets/icons/close-2.svg.cjs +2 -0
- package/dist/cjs/assets/icons/close-2.svg.cjs.map +1 -0
- package/dist/cjs/assets/icons/cog.svg.cjs +2 -0
- package/dist/cjs/assets/icons/cog.svg.cjs.map +1 -0
- package/dist/cjs/assets/icons/export.svg.cjs +2 -0
- package/dist/cjs/assets/icons/export.svg.cjs.map +1 -0
- package/dist/cjs/assets/icons/filter.svg.cjs +2 -0
- package/dist/cjs/assets/icons/filter.svg.cjs.map +1 -0
- package/dist/cjs/assets/icons/minus.svg.cjs +2 -0
- package/dist/cjs/assets/icons/minus.svg.cjs.map +1 -0
- package/dist/cjs/assets/icons/plus.svg.cjs +2 -0
- package/dist/cjs/assets/icons/plus.svg.cjs.map +1 -0
- package/dist/cjs/assets/icons/sort.svg.cjs +2 -0
- package/dist/cjs/assets/icons/sort.svg.cjs.map +1 -0
- package/dist/cjs/assets/icons/table.svg.cjs +2 -0
- package/dist/cjs/assets/icons/table.svg.cjs.map +1 -0
- package/dist/cjs/components/Button/Button.cjs +2 -0
- package/dist/cjs/components/Button/Button.cjs.map +1 -0
- package/dist/cjs/components/Button/constants.cjs +2 -0
- package/dist/cjs/components/Button/constants.cjs.map +1 -0
- package/dist/cjs/components/Button/utils.cjs +2 -0
- package/dist/cjs/components/Button/utils.cjs.map +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.cjs +2 -0
- package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/cjs/components/CheckboxGroup/CheckboxGroup.cjs +2 -0
- package/dist/cjs/components/CheckboxGroup/CheckboxGroup.cjs.map +1 -0
- package/dist/cjs/components/CheckboxGroup/utils.cjs +2 -0
- package/dist/cjs/components/CheckboxGroup/utils.cjs.map +1 -0
- package/dist/cjs/components/CurrencyInput/CurrencyInput.cjs +2 -0
- package/dist/cjs/components/CurrencyInput/CurrencyInput.cjs.map +1 -0
- package/dist/cjs/components/CustomizableSwitch/CustomizableSwitch.cjs +2 -0
- package/dist/cjs/components/CustomizableSwitch/CustomizableSwitch.cjs.map +1 -0
- package/dist/cjs/components/DataGrid/DataGrid.cjs +2 -0
- package/dist/cjs/components/DataGrid/DataGrid.cjs.map +1 -0
- package/dist/cjs/components/DataGrid/utils.cjs +2 -0
- package/dist/cjs/components/DataGrid/utils.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/utils.cjs +2 -0
- package/dist/cjs/components/DatePicker/utils.cjs.map +1 -0
- package/dist/cjs/components/DndFileUpload/DndFileUpload.cjs +2 -0
- package/dist/cjs/components/DndFileUpload/DndFileUpload.cjs.map +1 -0
- package/dist/cjs/components/DotLoader/DotLoader.cjs +2 -0
- package/dist/cjs/components/DotLoader/DotLoader.cjs.map +1 -0
- package/dist/cjs/components/DotLoader/constants.cjs +2 -0
- package/dist/cjs/components/DotLoader/constants.cjs.map +1 -0
- package/dist/cjs/components/DragDropUpload/DragDropUpload.cjs +2 -0
- package/dist/cjs/components/DragDropUpload/DragDropUpload.cjs.map +1 -0
- package/dist/cjs/components/DragDropUpload/utils.cjs +2 -0
- package/dist/cjs/components/DragDropUpload/utils.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/ExcelTable.cjs +2 -0
- package/dist/cjs/components/ExcelTable/ExcelTable.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/legacy/constants.cjs +2 -0
- package/dist/cjs/components/ExcelTable/legacy/constants.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/legacy/index.cjs +2 -0
- package/dist/cjs/components/ExcelTable/legacy/index.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/previewTooltip/index.cjs +2 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/previewTooltip/index.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/tableBody.cjs +2 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/tableBody.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/tableCell/index.cjs +2 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/tableCell/index.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/tableHeaderItem/index.cjs +2 -0
- package/dist/cjs/components/ExcelTable/legacy/subComponents/tableHeaderItem/index.cjs.map +1 -0
- package/dist/cjs/components/ExcelTable/legacy/utils.cjs +2 -0
- package/dist/cjs/components/ExcelTable/legacy/utils.cjs.map +1 -0
- package/dist/cjs/components/FieldFeedback/FieldFeedback.cjs +2 -0
- package/dist/cjs/components/FieldFeedback/FieldFeedback.cjs.map +1 -0
- package/dist/cjs/components/FileUpload/FileUpload.cjs +2 -0
- package/dist/cjs/components/FileUpload/FileUpload.cjs.map +1 -0
- package/dist/cjs/components/FileUploadText/FileUploadText.cjs +2 -0
- package/dist/cjs/components/FileUploadText/FileUploadText.cjs.map +1 -0
- package/dist/cjs/components/Filter/Filter.cjs +2 -0
- package/dist/cjs/components/Filter/Filter.cjs.map +1 -0
- package/dist/cjs/components/HTMLTable/HTMLTable.cjs +2 -0
- package/dist/cjs/components/HTMLTable/HTMLTable.cjs.map +1 -0
- package/dist/cjs/components/HTMLTable/legacy/index.cjs +2 -0
- package/dist/cjs/components/HTMLTable/legacy/index.cjs.map +1 -0
- package/dist/cjs/components/HtmlEditor/HtmlEditor.cjs +2 -0
- package/dist/cjs/components/HtmlEditor/HtmlEditor.cjs.map +1 -0
- package/dist/cjs/components/Input/Input.cjs +2 -0
- package/dist/cjs/components/Input/Input.cjs.map +1 -0
- package/dist/cjs/components/Input/constants.cjs +2 -0
- package/dist/cjs/components/Input/constants.cjs.map +1 -0
- package/dist/cjs/components/Input/utils.cjs +2 -0
- package/dist/cjs/components/Input/utils.cjs.map +1 -0
- package/dist/cjs/components/InputText/InputText.cjs +2 -0
- package/dist/cjs/components/InputText/InputText.cjs.map +1 -0
- package/dist/cjs/components/Loader/Loader.cjs +2 -0
- package/dist/cjs/components/Loader/Loader.cjs.map +1 -0
- package/dist/cjs/components/Loader/constants.cjs +2 -0
- package/dist/cjs/components/Loader/constants.cjs.map +1 -0
- package/dist/cjs/components/LoaderMini/LoaderMini.cjs +2 -0
- package/dist/cjs/components/LoaderMini/LoaderMini.cjs.map +1 -0
- package/dist/cjs/components/Modal/Modal.cjs +2 -0
- package/dist/cjs/components/Modal/Modal.cjs.map +1 -0
- package/dist/cjs/components/Modal/constants.cjs +2 -0
- package/dist/cjs/components/Modal/constants.cjs.map +1 -0
- package/dist/cjs/components/MultiSelect/MultiSelect.cjs +2 -0
- package/dist/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -0
- package/dist/cjs/components/MultiSelectWithCheckbox/MultiSelectWithCheckbox.cjs +2 -0
- package/dist/cjs/components/MultiSelectWithCheckbox/MultiSelectWithCheckbox.cjs.map +1 -0
- package/dist/cjs/components/Option/Option.cjs +2 -0
- package/dist/cjs/components/Option/Option.cjs.map +1 -0
- package/dist/cjs/components/OptionWithIcon/OptionWithIcon.cjs +2 -0
- package/dist/cjs/components/OptionWithIcon/OptionWithIcon.cjs.map +1 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs +2 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -0
- package/dist/cjs/components/ReadOnly/ReadOnly.cjs +2 -0
- package/dist/cjs/components/ReadOnly/ReadOnly.cjs.map +1 -0
- package/dist/cjs/components/ReadOnly/constants.cjs +2 -0
- package/dist/cjs/components/ReadOnly/constants.cjs.map +1 -0
- package/dist/cjs/components/Select/Select.cjs +2 -0
- package/dist/cjs/components/Select/Select.cjs.map +1 -0
- package/dist/cjs/components/SlideTabs/SlideTabs.cjs +2 -0
- package/dist/cjs/components/SlideTabs/SlideTabs.cjs.map +1 -0
- package/dist/cjs/components/SocketStatus/SocketStatus.cjs +2 -0
- package/dist/cjs/components/SocketStatus/SocketStatus.cjs.map +1 -0
- package/dist/cjs/components/Svg/Svg.cjs +2 -0
- package/dist/cjs/components/Svg/Svg.cjs.map +1 -0
- package/dist/cjs/components/Switch/Switch.cjs +2 -0
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -0
- package/dist/cjs/components/Table/Table.cjs +2 -0
- package/dist/cjs/components/Table/Table.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/defaultProps.cjs +2 -0
- package/dist/cjs/components/Table/legacy/defaultProps.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/constants.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/constants.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/contexts/InconelTablePropsContext.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/contexts/InconelTablePropsContext.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/hooks/useInconelEffect.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/hooks/useInconelEffect.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/hooks/useInconelMemo.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/hooks/useInconelMemo.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/hooks/useInconelTableStorage.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/hooks/useInconelTableStorage.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/cellSection/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/cellSection/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/customContextMenu/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/customContextMenu/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/filterWindow/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/filterWindow/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/headerItem/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/headerItem/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/pinContextMenu/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/pinContextMenu/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/rowItem/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/rowItem/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/rowItem/rowWrapper.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/rowItem/rowWrapper.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableCalculations.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableCalculations.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableFooter/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableFooter/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableHeader/headerWrapper.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableHeader/headerWrapper.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableHeader/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableBody/tableHeader/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTablePagination/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTablePagination/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableScroll/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableScroll/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/exportPanel/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/exportPanel/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/hidePanel/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/hidePanel/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/settingsPanel/index.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/inconelTableToolbar/settingsPanel/index.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/lang.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/lang.cjs.map +1 -0
- package/dist/cjs/components/Table/legacy/subComponents/utils.cjs +2 -0
- package/dist/cjs/components/Table/legacy/subComponents/utils.cjs.map +1 -0
- package/dist/cjs/components/Tabs/Tabs.cjs +2 -0
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -0
- package/dist/cjs/components/TextEditor/TextEditor.cjs +2 -0
- package/dist/cjs/components/TextEditor/TextEditor.cjs.map +1 -0
- package/dist/cjs/components/TextEditor/utils.cjs +2 -0
- package/dist/cjs/components/TextEditor/utils.cjs.map +1 -0
- package/dist/cjs/components/TextInput/TextInput.cjs +2 -0
- package/dist/cjs/components/TextInput/TextInput.cjs.map +1 -0
- package/dist/cjs/components/Textarea/Textarea.cjs +2 -0
- package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -0
- package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -0
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/cjs/components/shared/classNames.cjs +2 -0
- package/dist/cjs/components/shared/classNames.cjs.map +1 -0
- package/dist/cjs/hooks/useOnClickOutside.cjs +2 -0
- package/dist/cjs/hooks/useOnClickOutside.cjs.map +1 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/styles.css +1 -0
- package/dist/cjs/utils/helpers.cjs +2 -0
- package/dist/cjs/utils/helpers.cjs.map +1 -0
- package/dist/components/Button/Button.d.ts +4 -2
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +85 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/constants.js +37 -0
- package/dist/components/Button/constants.js.map +1 -0
- package/dist/components/Button/utils.js +13 -0
- package/dist/components/Button/utils.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +66 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js +30 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/components/CheckboxGroup/utils.js +7 -0
- package/dist/components/CheckboxGroup/utils.js.map +1 -0
- package/dist/components/CurrencyInput/CurrencyInput.js +9 -0
- package/dist/components/CurrencyInput/CurrencyInput.js.map +1 -0
- package/dist/components/CustomizableSwitch/CustomizableSwitch.js +52 -0
- package/dist/components/CustomizableSwitch/CustomizableSwitch.js.map +1 -0
- package/dist/components/DataGrid/DataGrid.js +77 -0
- package/dist/components/DataGrid/DataGrid.js.map +1 -0
- package/dist/components/DataGrid/utils.js +7 -0
- package/dist/components/DataGrid/utils.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +2 -1
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +191 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/DatePicker/utils.js +13 -0
- package/dist/components/DatePicker/utils.js.map +1 -0
- package/dist/components/DndFileUpload/DndFileUpload.js +6 -0
- package/dist/components/DndFileUpload/DndFileUpload.js.map +1 -0
- package/dist/components/DotLoader/DotLoader.js +28 -0
- package/dist/components/DotLoader/DotLoader.js.map +1 -0
- package/dist/components/DotLoader/constants.js +5 -0
- package/dist/components/DotLoader/constants.js.map +1 -0
- package/dist/components/DragDropUpload/DragDropUpload.js +125 -0
- package/dist/components/DragDropUpload/DragDropUpload.js.map +1 -0
- package/dist/components/DragDropUpload/utils.js +18 -0
- package/dist/components/DragDropUpload/utils.js.map +1 -0
- package/dist/components/ExcelTable/ExcelTable.js +9 -0
- package/dist/components/ExcelTable/ExcelTable.js.map +1 -0
- package/dist/components/ExcelTable/legacy/constants.js +28 -0
- package/dist/components/ExcelTable/legacy/constants.js.map +1 -0
- package/dist/components/ExcelTable/legacy/index.js +96 -0
- package/dist/components/ExcelTable/legacy/index.js.map +1 -0
- package/dist/components/ExcelTable/legacy/subComponents/previewTooltip/index.js +18 -0
- package/dist/components/ExcelTable/legacy/subComponents/previewTooltip/index.js.map +1 -0
- package/dist/components/ExcelTable/legacy/subComponents/tableBody.js +306 -0
- package/dist/components/ExcelTable/legacy/subComponents/tableBody.js.map +1 -0
- package/dist/components/ExcelTable/legacy/subComponents/tableCell/index.js +112 -0
- package/dist/components/ExcelTable/legacy/subComponents/tableCell/index.js.map +1 -0
- package/dist/components/ExcelTable/legacy/subComponents/tableHeaderItem/index.js +44 -0
- package/dist/components/ExcelTable/legacy/subComponents/tableHeaderItem/index.js.map +1 -0
- package/dist/components/ExcelTable/legacy/utils.js +344 -0
- package/dist/components/ExcelTable/legacy/utils.js.map +1 -0
- package/dist/components/FieldFeedback/FieldFeedback.js +38 -0
- package/dist/components/FieldFeedback/FieldFeedback.js.map +1 -0
- package/dist/components/FileUpload/FileUpload.js +75 -0
- package/dist/components/FileUpload/FileUpload.js.map +1 -0
- package/dist/components/FileUploadText/FileUploadText.js +10 -0
- package/dist/components/FileUploadText/FileUploadText.js.map +1 -0
- package/dist/components/Filter/Filter.js +20 -0
- package/dist/components/Filter/Filter.js.map +1 -0
- package/dist/components/HTMLTable/HTMLTable.js +9 -0
- package/dist/components/HTMLTable/HTMLTable.js.map +1 -0
- package/dist/components/HTMLTable/legacy/index.js +186 -0
- package/dist/components/HTMLTable/legacy/index.js.map +1 -0
- package/dist/components/HtmlEditor/HtmlEditor.js +39 -0
- package/dist/components/HtmlEditor/HtmlEditor.js.map +1 -0
- package/dist/components/Input/Input.d.ts +2 -0
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +184 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/constants.js +14 -0
- package/dist/components/Input/constants.js.map +1 -0
- package/dist/components/Input/utils.js +86 -0
- package/dist/components/Input/utils.js.map +1 -0
- package/dist/components/InputText/InputText.js +6 -0
- package/dist/components/InputText/InputText.js.map +1 -0
- package/dist/components/Loader/Loader.js +44 -0
- package/dist/components/Loader/Loader.js.map +1 -0
- package/dist/components/Loader/constants.js +5 -0
- package/dist/components/Loader/constants.js.map +1 -0
- package/dist/components/LoaderMini/LoaderMini.js +22 -0
- package/dist/components/LoaderMini/LoaderMini.js.map +1 -0
- package/dist/components/Modal/Modal.js +150 -0
- package/dist/components/Modal/Modal.js.map +1 -0
- package/dist/components/Modal/constants.js +5 -0
- package/dist/components/Modal/constants.js.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.js +20 -0
- package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/components/MultiSelectWithCheckbox/MultiSelectWithCheckbox.js +6 -0
- package/dist/components/MultiSelectWithCheckbox/MultiSelectWithCheckbox.js.map +1 -0
- package/dist/components/Option/Option.js +35 -0
- package/dist/components/Option/Option.js.map +1 -0
- package/dist/components/OptionWithIcon/OptionWithIcon.js +6 -0
- package/dist/components/OptionWithIcon/OptionWithIcon.js.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.js +30 -0
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/ReadOnly/ReadOnly.js +20 -0
- package/dist/components/ReadOnly/ReadOnly.js.map +1 -0
- package/dist/components/ReadOnly/constants.js +5 -0
- package/dist/components/ReadOnly/constants.js.map +1 -0
- package/dist/components/Select/Select.d.ts +2 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +455 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/SlideTabs/SlideTabs.js +54 -0
- package/dist/components/SlideTabs/SlideTabs.js.map +1 -0
- package/dist/components/SocketStatus/SocketStatus.js +31 -0
- package/dist/components/SocketStatus/SocketStatus.js.map +1 -0
- package/dist/components/Svg/Svg.js +28 -0
- package/dist/components/Svg/Svg.js.map +1 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +63 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Table/Table.js +28 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/legacy/defaultProps.js +158 -0
- package/dist/components/Table/legacy/defaultProps.js.map +1 -0
- package/dist/components/Table/legacy/index.js +876 -0
- package/dist/components/Table/legacy/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/constants.js +36 -0
- package/dist/components/Table/legacy/subComponents/constants.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/contexts/InconelTablePropsContext.js +6 -0
- package/dist/components/Table/legacy/subComponents/contexts/InconelTablePropsContext.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/hooks/useInconelEffect.js +15 -0
- package/dist/components/Table/legacy/subComponents/hooks/useInconelEffect.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/hooks/useInconelMemo.js +19 -0
- package/dist/components/Table/legacy/subComponents/hooks/useInconelMemo.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/hooks/useInconelTableStorage.js +37 -0
- package/dist/components/Table/legacy/subComponents/hooks/useInconelTableStorage.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/cellSection/index.js +145 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/cellSection/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/customContextMenu/index.js +32 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/customContextMenu/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/filterWindow/index.js +122 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/filterWindow/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/headerItem/index.js +90 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/headerItem/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/index.js +441 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/pinContextMenu/index.js +65 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/pinContextMenu/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/rowItem/index.js +191 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/rowItem/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/rowItem/rowWrapper.js +51 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/rowItem/rowWrapper.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableCalculations.js +286 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableCalculations.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableFooter/index.js +79 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableFooter/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableHeader/headerWrapper.js +63 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableHeader/headerWrapper.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableHeader/index.js +142 -0
- package/dist/components/Table/legacy/subComponents/inconelTableBody/tableHeader/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTablePagination/index.js +93 -0
- package/dist/components/Table/legacy/subComponents/inconelTablePagination/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableScroll/index.js +136 -0
- package/dist/components/Table/legacy/subComponents/inconelTableScroll/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/exportPanel/index.js +21 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/exportPanel/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/hidePanel/index.js +85 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/hidePanel/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/index.js +157 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/settingsPanel/index.js +66 -0
- package/dist/components/Table/legacy/subComponents/inconelTableToolbar/settingsPanel/index.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/lang.js +64 -0
- package/dist/components/Table/legacy/subComponents/lang.js.map +1 -0
- package/dist/components/Table/legacy/subComponents/utils.js +346 -0
- package/dist/components/Table/legacy/subComponents/utils.js.map +1 -0
- package/dist/components/Tabs/Tabs.js +45 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/TextEditor/TextEditor.js +71 -0
- package/dist/components/TextEditor/TextEditor.js.map +1 -0
- package/dist/components/TextEditor/utils.js +15 -0
- package/dist/components/TextEditor/utils.js.map +1 -0
- package/dist/components/TextInput/TextInput.js +6 -0
- package/dist/components/TextInput/TextInput.js.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +2 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +77 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +28 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/shared/classNames.js +7 -0
- package/dist/components/shared/classNames.js.map +1 -0
- package/dist/components/shared/types.d.ts +2 -0
- package/dist/components/shared/types.d.ts.map +1 -0
- package/dist/hooks/useOnClickOutside.js +15 -0
- package/dist/hooks/useOnClickOutside.js.map +1 -0
- package/dist/index.js +83 -51590
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/helpers.js +5 -0
- package/dist/utils/helpers.js.map +1 -0
- package/package.json +27 -5
- package/dist/index.cjs +0 -45
- package/dist/index.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlEditor.cjs","sources":["../../../../src/components/HtmlEditor/HtmlEditor.tsx"],"sourcesContent":["import CodeEditor from '@uiw/react-textarea-code-editor'\nimport type { CSSProperties } from 'react'\n\nimport { useInconelAdapters } from '../../adapters'\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface HtmlEditorProps {\n value?: string\n onChange?: (value: string) => void\n placeholder?: string\n language?: string\n padding?: number\n className?: string\n style?: CSSProperties\n readOnly?: boolean\n}\n\nexport function HtmlEditor({\n value = '',\n onChange,\n placeholder,\n language = 'html',\n padding = 15,\n className,\n style,\n readOnly = false,\n}: HtmlEditorProps) {\n const adapters = useInconelAdapters()\n return (\n <CodeEditor\n value={value}\n language={language}\n placeholder={\n placeholder ??\n String(adapters.translate?.('enterHtml', 'HTML girin') ?? 'HTML girin')\n }\n readOnly={readOnly}\n onChange={(event) => onChange?.(event.target.value)}\n padding={padding}\n className={classNames('inconel-html-editor', className)}\n style={{\n backgroundColor: '#f5f5f5',\n minHeight: 180,\n fontFamily:\n 'ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace',\n ...style,\n }}\n />\n )\n}\n"],"names":["HtmlEditor","value","onChange","placeholder","language","padding","className","style","readOnly","adapters","useInconelAdapters","jsx","CodeEditor","event","classNames"],"mappings":"kRAkBO,SAASA,EAAW,CACzB,MAAAC,EAAQ,GACR,SAAAC,EACA,YAAAC,EACA,SAAAC,EAAW,OACX,QAAAC,EAAU,GACV,UAAAC,EACA,MAAAC,EACA,SAAAC,EAAW,EACb,EAAoB,CAClB,MAAMC,EAAWC,EAAAA,mBAAA,EACjB,OACEC,EAAAA,IAACC,EAAA,CACC,MAAAX,EACA,SAAAG,EACA,YACED,GACA,OAAOM,EAAS,YAAY,YAAa,YAAY,GAAK,YAAY,EAExE,SAAAD,EACA,SAAWK,GAAUX,IAAWW,EAAM,OAAO,KAAK,EAClD,QAAAR,EACA,UAAWS,EAAAA,WAAW,sBAAuBR,CAAS,EACtD,MAAO,CACL,gBAAiB,UACjB,UAAW,IACX,WACE,qFACF,GAAGC,CAAA,CACL,CAAA,CAGN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),l=require("react"),be=require("../FieldFeedback/FieldFeedback.cjs");;/* empty css */;/* empty css */;/* empty css */;/* empty css */const i=require("./utils.cjs"),ve=l.forwardRef(function({id:J,label:d,hint:E,errorMessage:O,startAdornment:R,endAdornment:w,fullWidth:S=!1,inputClassName:Q,labelClassName:x,className:y,required:b,disabled:h,value:B,defaultValue:U="",onChange:v,onBlur:X,onFocus:Z,onKeyDown:W,onMouseEnter:A,onMouseLeave:ee,type:n="text",locale:f="tr-TR",currency:V="TRY",decimalScale:j=0,roundMode:ne="floor",roundOnBlur:re=!1,min:T,max:N,allowNegative:$=!1,debounceMs:D=0,validateOnSubmit:z=!1,validationMessages:ie,mask:s,limit:m,isClearable:oe=!1,readOnly:te=!1,clearButtonLabel:L,readOnlyEmptyValue:ue=null,size:P="md",autoComplete:le="off","aria-describedby":se,...ae},ce){const de=l.useId(),I=J??`inconel-input-${de.replace(/:/g,"")}`,C=`${I}-hint`,K=`${I}-error`,Y=B!==void 0,[fe,pe]=l.useState(U),t=Y?B:fe,[k,F]=l.useState(""),[he,G]=l.useState(!1),[je,M]=l.useState(null),a=l.useRef(null),me=ie??{},p=O??je,g=e=>i.validateInputValue(e,{required:!!b,type:n,min:T,max:N,mask:s,messages:me}),q=l.useMemo(()=>i.formatInputValue(t,n,f,j,V,s),[t,V,j,f,s,n]),c=(e,r,u=null)=>({rawValue:e,formattedValue:i.formatInputValue(e,n,f,j,V,s),error:!!g(e),char:u,eventType:r}),_=(e,r=!1)=>{Y||pe(e.rawValue),a.current&&clearTimeout(a.current),v&&(r||D<=0?v(e):a.current=setTimeout(()=>v(e),D))};l.useEffect(()=>()=>{a.current&&clearTimeout(a.current)},[]),l.useEffect(()=>{z&&M(g(t))},[z]);const H=e=>{if(n==="phone"&&s)return e.replace(/\D/g,"");if(i.isFormattedInputType(n)){const r=i.parseInputNumber(e,f);return r===null?e===""?null:e:$?r:Math.abs(r)}return e},Ie=e=>{const r=e.replace(/\D/g,"");if(m&&(i.isFormattedInputType(n)||n==="phone")&&r.length>m||m&&i.isLengthValidatedInputType(n)&&e.length>m)return;const u=H(e);typeof u=="number"&&(typeof T=="number"&&u<T||typeof N=="number"&&u>N)||(F(n==="phone"&&s?i.applyInputMask(u,s):e),_(c(u,"change",e.slice(-1)||null)))},ge=[se,E&&!p?C:void 0,p?K:void 0].filter(Boolean).join(" ")||void 0;return te?o.jsxs("div",{className:["inconel-field",`inconel-size-${P}`,S?"inconel-field--full-width":"",y??""].join(" "),children:[d&&o.jsx("span",{className:["inconel-field__label",x??""].join(" "),children:d}),o.jsx("div",{className:"inconel-input-readonly","aria-label":d,children:q||ue})]}):o.jsxs("div",{className:["inconel-field",`inconel-size-${P}`,S?"inconel-field--full-width":"",y??""].join(" "),children:[d&&o.jsxs("label",{className:["inconel-field__label",x??""].join(" "),htmlFor:I,children:[d,b&&o.jsx("span",{className:"inconel-field__required","aria-hidden":"true",children:" *"})]}),o.jsxs("div",{className:["inconel-input-control",p?"inconel-is-invalid":"",h?"inconel-is-disabled":""].join(" "),children:[R&&o.jsx("span",{className:"inconel-input-adornment","aria-hidden":"true",children:R}),o.jsx("input",{...ae,ref:ce,id:I,type:n==="password"||n==="email"?n:"text",inputMode:i.isFormattedInputType(n)?"decimal":n==="phone"?"tel":void 0,value:he?k:q,required:b,disabled:h,autoComplete:le,"aria-invalid":!!p,"aria-describedby":ge,className:["inconel-input",Q??""].join(" "),onChange:e=>Ie(e.target.value),onFocus:e=>{if(h)return;G(!0);const r=n==="phone"&&s?i.applyInputMask(t,s):i.isFormattedInputType(n)?String(t??"").replace(".",i.getInputSeparators(f).decimal):String(t??"");F(r),Z?.(c(t,"focus"),e)},onBlur:e=>{G(!1),a.current&&clearTimeout(a.current);let r=H(k);typeof r=="number"&&(r=i.roundInputNumber(r,j,re?ne:"floor")),M(g(r));const u=c(r,"blur");_(u,!0),X?.(u,e)},onKeyDown:e=>{!$&&(e.key==="-"||e.key==="Subtract")&&e.preventDefault(),W?.(c(t,"keydown",e.key),e)},onMouseEnter:e=>A?.(c(t,"mouseenter"),e),onMouseLeave:e=>ee?.(c(t,"mouseleave"),e)}),oe&&!h&&q&&L&&o.jsx("button",{type:"button",className:"inconel-input-clear","aria-label":L,onClick:()=>{F(""),M(g(null)),_(c(null,"clear"),!0)},children:"×"}),w&&o.jsx("span",{className:"inconel-input-adornment","aria-hidden":"true",children:w})]}),o.jsx(be.default,{hint:E,errorMessage:p,hintId:C,errorId:K})]})});exports.default=ve;
|
|
2
|
+
//# sourceMappingURL=Input.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.cjs","sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n} from 'react'\n\nimport FieldFeedback from '../FieldFeedback/FieldFeedback'\nimport type { FieldFeedbackContentProps } from '../FieldFeedback/FieldFeedback'\nimport '../shared/field.css'\nimport '../shared/field-controls.css'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport './styles.css'\nimport {\n applyInputMask,\n formatInputValue,\n getInputSeparators,\n isFormattedInputType,\n isLengthValidatedInputType,\n parseInputNumber,\n roundInputNumber,\n validateInputValue,\n} from './utils'\n\nexport type InputType =\n | 'text'\n | 'number'\n | 'currency'\n | 'percent'\n | 'phone'\n | 'email'\n | 'password'\n\nexport type InputRoundMode = 'ceil' | 'floor' | 'round'\nexport type InputValue = string | number | null\nexport type InputEventType =\n | 'change'\n | 'blur'\n | 'focus'\n | 'keydown'\n | 'mouseenter'\n | 'mouseleave'\n | 'clear'\n\nexport interface InputPayload {\n rawValue: InputValue\n formattedValue: string\n error: boolean\n char: string | null\n eventType: InputEventType\n}\n\nexport interface InputValidationMessages {\n required?: string\n invalidNumber?: string\n minNumber?: string\n maxNumber?: string\n minLength?: string\n maxLength?: string\n invalidPhone?: string\n invalidEmail?: string\n}\n\ntype NativeInputProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n | 'type'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'onBlur'\n | 'onFocus'\n | 'onKeyDown'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'min'\n | 'max'\n | 'size'\n | 'readOnly'\n>\n\nexport interface InputProps extends NativeInputProps, FieldFeedbackContentProps {\n label?: string\n startAdornment?: ReactNode\n endAdornment?: ReactNode\n fullWidth?: boolean\n inputClassName?: string\n labelClassName?: string\n value?: InputValue\n defaultValue?: InputValue\n onChange?: (payload: InputPayload) => void\n onBlur?: (payload: InputPayload, event: FocusEvent<HTMLInputElement>) => void\n onFocus?: (payload: InputPayload, event: FocusEvent<HTMLInputElement>) => void\n onKeyDown?: (\n payload: InputPayload,\n event: KeyboardEvent<HTMLInputElement>,\n ) => void\n onMouseEnter?: (\n payload: InputPayload,\n event: MouseEvent<HTMLInputElement>,\n ) => void\n onMouseLeave?: (\n payload: InputPayload,\n event: MouseEvent<HTMLInputElement>,\n ) => void\n type?: InputType\n locale?: string\n currency?: string\n decimalScale?: number\n roundMode?: InputRoundMode\n roundOnBlur?: boolean\n min?: number\n max?: number\n allowNegative?: boolean\n debounceMs?: number\n validateOnSubmit?: boolean\n validationMessages?: InputValidationMessages\n mask?: string\n limit?: number\n isClearable?: boolean\n readOnly?: boolean\n clearButtonLabel?: string\n readOnlyEmptyValue?: ReactNode\n size?: ControlSize\n}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(function Input(\n {\n id,\n label,\n hint,\n errorMessage,\n startAdornment,\n endAdornment,\n fullWidth = false,\n inputClassName,\n labelClassName,\n className,\n required,\n disabled,\n value,\n defaultValue = '',\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n type = 'text',\n locale = 'tr-TR',\n currency = 'TRY',\n decimalScale = 0,\n roundMode = 'floor',\n roundOnBlur = false,\n min,\n max,\n allowNegative = false,\n debounceMs = 0,\n validateOnSubmit = false,\n validationMessages,\n mask,\n limit,\n isClearable = false,\n readOnly = false,\n clearButtonLabel,\n readOnlyEmptyValue = null,\n size = 'md',\n autoComplete = 'off',\n 'aria-describedby': ariaDescribedBy,\n ...inputProps\n },\n ref,\n) {\n const generatedId = useId()\n const inputId = id ?? `inconel-input-${generatedId.replace(/:/g, '')}`\n const hintId = `${inputId}-hint`\n const errorId = `${inputId}-error`\n const controlled = value !== undefined\n const [localValue, setLocalValue] = useState<InputValue>(defaultValue)\n const currentValue = controlled ? value : localValue\n const [editingValue, setEditingValue] = useState('')\n const [focused, setFocused] = useState(false)\n const [validationError, setValidationError] = useState<string | null>(null)\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const messages = validationMessages ?? {}\n const visibleError = errorMessage ?? validationError\n\n const validate = (candidate: InputValue) =>\n validateInputValue(candidate, {\n required: Boolean(required),\n type,\n min,\n max,\n mask,\n messages,\n })\n\n const formattedValue = useMemo(\n () =>\n formatInputValue(\n currentValue,\n type,\n locale,\n decimalScale,\n currency,\n mask,\n ),\n [currentValue, currency, decimalScale, locale, mask, type],\n )\n\n const buildPayload = (\n rawValue: InputValue,\n eventType: InputEventType,\n char: string | null = null,\n ): InputPayload => ({\n rawValue,\n formattedValue: formatInputValue(\n rawValue,\n type,\n locale,\n decimalScale,\n currency,\n mask,\n ),\n error: Boolean(validate(rawValue)),\n char,\n eventType,\n })\n\n const emitChange = (payload: InputPayload, immediate = false) => {\n if (!controlled) setLocalValue(payload.rawValue)\n if (debounceRef.current) clearTimeout(debounceRef.current)\n if (!onChange) return\n if (immediate || debounceMs <= 0) onChange(payload)\n else debounceRef.current = setTimeout(() => onChange(payload), debounceMs)\n }\n\n useEffect(() => () => {\n if (debounceRef.current) clearTimeout(debounceRef.current)\n }, [])\n\n useEffect(() => {\n if (validateOnSubmit) setValidationError(validate(currentValue))\n // Validation intentionally runs when submit state changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateOnSubmit])\n\n const normalize = (text: string): InputValue => {\n if (type === 'phone' && mask) return text.replace(/\\D/g, '')\n if (isFormattedInputType(type)) {\n const parsed = parseInputNumber(text, locale)\n if (parsed === null) return text === '' ? null : text\n return allowNegative ? parsed : Math.abs(parsed)\n }\n return text\n }\n\n const handleChange = (text: string) => {\n const digits = text.replace(/\\D/g, '')\n if (\n limit &&\n (isFormattedInputType(type) || type === 'phone') &&\n digits.length > limit\n ) return\n if (limit && isLengthValidatedInputType(type) && text.length > limit) return\n const rawValue = normalize(text)\n if (typeof rawValue === 'number') {\n if (typeof min === 'number' && rawValue < min) return\n if (typeof max === 'number' && rawValue > max) return\n }\n setEditingValue(\n type === 'phone' && mask ? applyInputMask(rawValue, mask) : text,\n )\n emitChange(buildPayload(rawValue, 'change', text.slice(-1) || null))\n }\n\n const describedBy = [\n ariaDescribedBy,\n hint && !visibleError ? hintId : undefined,\n visibleError ? errorId : undefined,\n ].filter(Boolean).join(' ') || undefined\n\n if (readOnly) {\n return (\n <div className={['inconel-field', `inconel-size-${size}`, fullWidth ? 'inconel-field--full-width' : '', className ?? ''].join(' ')}>\n {label && <span className={['inconel-field__label', labelClassName ?? ''].join(' ')}>{label}</span>}\n <div className=\"inconel-input-readonly\" aria-label={label}>\n {formattedValue || readOnlyEmptyValue}\n </div>\n </div>\n )\n }\n\n return (\n <div className={['inconel-field', `inconel-size-${size}`, fullWidth ? 'inconel-field--full-width' : '', className ?? ''].join(' ')}>\n {label && (\n <label className={['inconel-field__label', labelClassName ?? ''].join(' ')} htmlFor={inputId}>\n {label}{required && <span className=\"inconel-field__required\" aria-hidden=\"true\"> *</span>}\n </label>\n )}\n <div className={['inconel-input-control', visibleError ? 'inconel-is-invalid' : '', disabled ? 'inconel-is-disabled' : ''].join(' ')}>\n {startAdornment && <span className=\"inconel-input-adornment\" aria-hidden=\"true\">{startAdornment}</span>}\n <input\n {...inputProps}\n ref={ref}\n id={inputId}\n type={type === 'password' || type === 'email' ? type : 'text'}\n inputMode={isFormattedInputType(type) ? 'decimal' : type === 'phone' ? 'tel' : undefined}\n value={focused ? editingValue : formattedValue}\n required={required}\n disabled={disabled}\n autoComplete={autoComplete}\n aria-invalid={Boolean(visibleError)}\n aria-describedby={describedBy}\n className={['inconel-input', inputClassName ?? ''].join(' ')}\n onChange={(event) => handleChange(event.target.value)}\n onFocus={(event) => {\n if (disabled) return\n setFocused(true)\n const editValue = type === 'phone' && mask\n ? applyInputMask(currentValue, mask)\n : isFormattedInputType(type)\n ? String(currentValue ?? '').replace('.', getInputSeparators(locale).decimal)\n : String(currentValue ?? '')\n setEditingValue(editValue)\n onFocus?.(buildPayload(currentValue, 'focus'), event)\n }}\n onBlur={(event) => {\n setFocused(false)\n if (debounceRef.current) clearTimeout(debounceRef.current)\n let rawValue = normalize(editingValue)\n if (typeof rawValue === 'number') {\n rawValue = roundInputNumber(rawValue, decimalScale, roundOnBlur ? roundMode : 'floor')\n }\n setValidationError(validate(rawValue))\n const payload = buildPayload(rawValue, 'blur')\n emitChange(payload, true)\n onBlur?.(payload, event)\n }}\n onKeyDown={(event) => {\n if (!allowNegative && (event.key === '-' || event.key === 'Subtract')) event.preventDefault()\n onKeyDown?.(buildPayload(currentValue, 'keydown', event.key), event)\n }}\n onMouseEnter={(event) => onMouseEnter?.(buildPayload(currentValue, 'mouseenter'), event)}\n onMouseLeave={(event) => onMouseLeave?.(buildPayload(currentValue, 'mouseleave'), event)}\n />\n {isClearable && !disabled && formattedValue && clearButtonLabel && (\n <button\n type=\"button\"\n className=\"inconel-input-clear\"\n aria-label={clearButtonLabel}\n onClick={() => {\n setEditingValue('')\n setValidationError(validate(null))\n emitChange(buildPayload(null, 'clear'), true)\n }}\n >\n ×\n </button>\n )}\n {endAdornment && <span className=\"inconel-input-adornment\" aria-hidden=\"true\">{endAdornment}</span>}\n </div>\n <FieldFeedback\n hint={hint}\n errorMessage={visibleError}\n hintId={hintId}\n errorId={errorId}\n />\n </div>\n )\n})\n\nexport default Input\n"],"names":["Input","forwardRef","id","label","hint","errorMessage","startAdornment","endAdornment","fullWidth","inputClassName","labelClassName","className","required","disabled","value","defaultValue","onChange","onBlur","onFocus","onKeyDown","onMouseEnter","onMouseLeave","type","locale","currency","decimalScale","roundMode","roundOnBlur","min","max","allowNegative","debounceMs","validateOnSubmit","validationMessages","mask","limit","isClearable","readOnly","clearButtonLabel","readOnlyEmptyValue","size","autoComplete","ariaDescribedBy","inputProps","ref","generatedId","useId","inputId","hintId","errorId","controlled","localValue","setLocalValue","useState","currentValue","editingValue","setEditingValue","focused","setFocused","validationError","setValidationError","debounceRef","useRef","messages","visibleError","validate","candidate","validateInputValue","formattedValue","useMemo","formatInputValue","buildPayload","rawValue","eventType","char","emitChange","payload","immediate","useEffect","normalize","text","isFormattedInputType","parsed","parseInputNumber","handleChange","digits","isLengthValidatedInputType","applyInputMask","describedBy","jsx","jsxs","event","editValue","getInputSeparators","roundInputNumber","FieldFeedback"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../../../src/components/Input/constants.ts"],"sourcesContent":["export const FORMATTED_INPUT_TYPES = [\n 'number',\n 'currency',\n 'percent',\n] as const\n\nexport const LENGTH_VALIDATED_INPUT_TYPES = [\n 'text',\n 'email',\n 'password',\n] as const\n"],"names":["FORMATTED_INPUT_TYPES","LENGTH_VALIDATED_INPUT_TYPES"],"mappings":"gFAAO,MAAMA,EAAwB,CACnC,SACA,WACA,SACF,EAEaC,EAA+B,CAC1C,OACA,QACA,UACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./constants.cjs");function o(r){return p.FORMATTED_INPUT_TYPES.some(t=>t===r)}function c(r){return p.LENGTH_VALIDATED_INPUT_TYPES.some(t=>t===r)}function m(r){const t=new Intl.NumberFormat(r).formatToParts(1000.1);return{group:t.find(e=>e.type==="group")?.value??".",decimal:t.find(e=>e.type==="decimal")?.value??","}}function b(r,t){if(!r||r==="-")return null;const{group:e,decimal:n}=m(t),u=r.split(e).join("").replace(n,"."),i=Number(u);return Number.isNaN(i)?null:i}function N(r,t,e){const n=10**t;return e==="ceil"?Math.ceil(r*n)/n:e==="round"?Math.round(r*n)/n:r>=0?Math.floor(r*n)/n:Math.ceil(r*n)/n}function g(r,t){const e=String(r??"").replace(/\D/g,"");let n=0,u="";for(const i of t)if(i==="X"){if(n>=e.length)break;u+=e[n++]}else n<e.length&&(u+=i);return u}function I(r,t,e,n,u,i){return r==null||r===""?"":t==="phone"&&i?g(r,i):!o(t)||typeof r!="number"||Number.isNaN(r)?String(r):new Intl.NumberFormat(e,{style:t==="currency"?"currency":t==="percent"?"percent":"decimal",currency:t==="currency"?u:void 0,minimumFractionDigits:n,maximumFractionDigits:n}).format(r)}function h(r,{required:t,type:e,min:n,max:u,mask:i,messages:l}){if(t&&(r==null||r===""))return l.required??null;if(r==null||r==="")return null;if(e==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(r)))return l.invalidEmail??null;if(e==="phone"){const f=String(r).replace(/\D/g,""),s=i?(i.match(/X/g)??[]).length:f.startsWith("0")?11:10;if(f.length!==s)return l.invalidPhone??null}if(c(e)){if(typeof n=="number"&&String(r).length<n)return l.minLength?.replace("{min}",String(n))??null;if(typeof u=="number"&&String(r).length>u)return l.maxLength?.replace("{max}",String(u))??null}if(o(e)){if(typeof r!="number"||Number.isNaN(r))return l.invalidNumber??null;if(typeof n=="number"&&r<n)return l.minNumber?.replace("{min}",String(n))??null;if(typeof u=="number"&&r>u)return l.maxNumber?.replace("{max}",String(u))??null}return null}exports.applyInputMask=g;exports.formatInputValue=I;exports.getInputSeparators=m;exports.isFormattedInputType=o;exports.isLengthValidatedInputType=c;exports.parseInputNumber=b;exports.roundInputNumber=N;exports.validateInputValue=h;
|
|
2
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../../../src/components/Input/utils.ts"],"sourcesContent":["import {\n FORMATTED_INPUT_TYPES,\n LENGTH_VALIDATED_INPUT_TYPES,\n} from './constants'\nimport type {\n InputRoundMode,\n InputType,\n InputValidationMessages,\n InputValue,\n} from './Input'\n\nexport interface InputValidationOptions {\n required: boolean\n type: InputType\n min?: number\n max?: number\n mask?: string\n messages: InputValidationMessages\n}\n\nexport function isFormattedInputType(type: InputType) {\n return FORMATTED_INPUT_TYPES.some((candidate) => candidate === type)\n}\n\nexport function isLengthValidatedInputType(type: InputType) {\n return LENGTH_VALIDATED_INPUT_TYPES.some((candidate) => candidate === type)\n}\n\nexport function getInputSeparators(locale: string) {\n const parts = new Intl.NumberFormat(locale).formatToParts(1000.1)\n return {\n group: parts.find((part) => part.type === 'group')?.value ?? '.',\n decimal: parts.find((part) => part.type === 'decimal')?.value ?? ',',\n }\n}\n\nexport function parseInputNumber(value: string, locale: string): number | null {\n if (!value || value === '-') return null\n const { group, decimal } = getInputSeparators(locale)\n const normalized = value.split(group).join('').replace(decimal, '.')\n const result = Number(normalized)\n return Number.isNaN(result) ? null : result\n}\n\nexport function roundInputNumber(\n value: number,\n scale: number,\n mode: InputRoundMode,\n) {\n const factor = 10 ** scale\n if (mode === 'ceil') return Math.ceil(value * factor) / factor\n if (mode === 'round') return Math.round(value * factor) / factor\n return value >= 0\n ? Math.floor(value * factor) / factor\n : Math.ceil(value * factor) / factor\n}\n\nexport function applyInputMask(value: InputValue, mask: string) {\n const digits = String(value ?? '').replace(/\\D/g, '')\n let index = 0\n let result = ''\n\n for (const character of mask) {\n if (character === 'X') {\n if (index >= digits.length) break\n result += digits[index++]\n } else if (index < digits.length) {\n result += character\n }\n }\n\n return result\n}\n\nexport function formatInputValue(\n value: InputValue,\n type: InputType,\n locale: string,\n decimalScale: number,\n currency: string,\n mask?: string,\n) {\n if (value === null || value === undefined || value === '') return ''\n if (type === 'phone' && mask) return applyInputMask(value, mask)\n if (!isFormattedInputType(type)) return String(value)\n if (typeof value !== 'number' || Number.isNaN(value)) return String(value)\n\n return new Intl.NumberFormat(locale, {\n style:\n type === 'currency'\n ? 'currency'\n : type === 'percent'\n ? 'percent'\n : 'decimal',\n currency: type === 'currency' ? currency : undefined,\n minimumFractionDigits: decimalScale,\n maximumFractionDigits: decimalScale,\n }).format(value)\n}\n\nexport function validateInputValue(\n candidate: InputValue,\n {\n required,\n type,\n min,\n max,\n mask,\n messages,\n }: InputValidationOptions,\n) {\n if (\n required &&\n (candidate === null || candidate === undefined || candidate === '')\n ) {\n return messages.required ?? null\n }\n if (candidate === null || candidate === undefined || candidate === '') {\n return null\n }\n if (\n type === 'email' &&\n !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(String(candidate))\n ) {\n return messages.invalidEmail ?? null\n }\n if (type === 'phone') {\n const digits = String(candidate).replace(/\\D/g, '')\n const expected = mask\n ? (mask.match(/X/g) ?? []).length\n : digits.startsWith('0')\n ? 11\n : 10\n if (digits.length !== expected) return messages.invalidPhone ?? null\n }\n if (isLengthValidatedInputType(type)) {\n if (typeof min === 'number' && String(candidate).length < min) {\n return messages.minLength?.replace('{min}', String(min)) ?? null\n }\n if (typeof max === 'number' && String(candidate).length > max) {\n return messages.maxLength?.replace('{max}', String(max)) ?? null\n }\n }\n if (isFormattedInputType(type)) {\n if (typeof candidate !== 'number' || Number.isNaN(candidate)) {\n return messages.invalidNumber ?? null\n }\n if (typeof min === 'number' && candidate < min) {\n return messages.minNumber?.replace('{min}', String(min)) ?? null\n }\n if (typeof max === 'number' && candidate > max) {\n return messages.maxNumber?.replace('{max}', String(max)) ?? null\n }\n }\n return null\n}\n"],"names":["isFormattedInputType","type","FORMATTED_INPUT_TYPES","candidate","isLengthValidatedInputType","LENGTH_VALIDATED_INPUT_TYPES","getInputSeparators","locale","parts","part","parseInputNumber","value","group","decimal","normalized","result","roundInputNumber","scale","mode","factor","applyInputMask","mask","digits","index","character","formatInputValue","decimalScale","currency","validateInputValue","required","min","max","messages","expected"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputText.cjs","sources":["../../../../src/components/InputText/InputText.tsx"],"sourcesContent":["import Input, { type InputProps } from '../Input/Input'\n\nexport type InputTextProps = InputProps\nexport const InputText = Input\n"],"names":["InputText","Input"],"mappings":"sHAGaA,EAAYC,EAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("../shared/classNames.cjs");;/* empty css */const d=require("./constants.cjs"),g=require("../../adapters/context.cjs"),m=require("../Svg/Svg.cjs");function L({label:n=d.DEFAULT_LOADER_LABEL,fullscreen:o=!1,render:a,logo:l,className:t,...c}){const s=g.useInconelAdapters(),i=a??s.loading??!0,r=l??s.assets?.loaderLogo;return i?e.jsxs("div",{...c,className:u.classNames("inconel-loader",o&&"inconel-loader--fullscreen",t),role:"status","aria-label":n,children:[e.jsx("span",{className:"inconel-loader__spinner","aria-hidden":"true"}),r&&e.jsx(m.default,{src:r,className:"inconel-loader__logo","aria-hidden":"true"})]}):null}exports.Loader=L;
|
|
2
|
+
//# sourceMappingURL=Loader.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loader.cjs","sources":["../../../../src/components/Loader/Loader.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nimport { useInconelAdapters } from '../../adapters'\nimport { classNames } from '../shared/classNames'\nimport { Svg } from '../Svg'\nimport './styles.css'\nimport { DEFAULT_LOADER_LABEL } from './constants'\n\nexport interface LoaderProps extends HTMLAttributes<HTMLDivElement> {\n label?: string\n fullscreen?: boolean\n render?: boolean | null\n logo?: string\n}\n\nexport function Loader({\n label = DEFAULT_LOADER_LABEL,\n fullscreen = false,\n render,\n logo,\n className,\n ...props\n}: LoaderProps) {\n const adapters = useInconelAdapters()\n const shouldRender = render ?? adapters.loading ?? true\n const logoSource = logo ?? adapters.assets?.loaderLogo\n\n if (!shouldRender) return null\n\n return (\n <div\n {...props}\n className={classNames(\n 'inconel-loader',\n fullscreen && 'inconel-loader--fullscreen',\n className,\n )}\n role=\"status\"\n aria-label={label}\n >\n <span className=\"inconel-loader__spinner\" aria-hidden=\"true\" />\n {logoSource && (\n <Svg\n src={logoSource}\n className=\"inconel-loader__logo\"\n aria-hidden=\"true\"\n />\n )}\n </div>\n )\n}\n"],"names":["Loader","label","DEFAULT_LOADER_LABEL","fullscreen","render","logo","className","props","adapters","useInconelAdapters","shouldRender","logoSource","jsxs","classNames","jsx","Svg"],"mappings":"8RAeO,SAASA,EAAO,CACrB,MAAAC,EAAQC,EAAAA,qBACR,WAAAC,EAAa,GACb,OAAAC,EACA,KAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAWC,EAAAA,mBAAA,EACXC,EAAeN,GAAUI,EAAS,SAAW,GAC7CG,EAAaN,GAAQG,EAAS,QAAQ,WAE5C,OAAKE,EAGHE,EAAAA,KAAC,MAAA,CACE,GAAGL,EACJ,UAAWM,EAAAA,WACT,iBACAV,GAAc,6BACdG,CAAA,EAEF,KAAK,SACL,aAAYL,EAEZ,SAAA,CAAAa,EAAAA,IAAC,OAAA,CAAK,UAAU,0BAA0B,cAAY,OAAO,EAC5DH,GACCG,EAAAA,IAACC,EAAAA,QAAA,CACC,IAAKJ,EACL,UAAU,uBACV,cAAY,MAAA,CAAA,CACd,CAAA,CAAA,EAnBoB,IAuB5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../../../src/components/Loader/constants.ts"],"sourcesContent":["export const DEFAULT_LOADER_LABEL = 'Yükleniyor...'\n"],"names":["DEFAULT_LOADER_LABEL"],"mappings":"gFAAO,MAAMA,EAAuB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("../shared/classNames.cjs");;/* empty css */function a({show:i=!1,className:r,...n}){return i?e.jsx("div",{...n,className:s.classNames("inconel-loader-mini",r),role:"status",children:e.jsx("div",{className:"inconel-loader-mini__donut","aria-hidden":"true"})}):null}exports.LoaderMini=a;
|
|
2
|
+
//# sourceMappingURL=LoaderMini.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoaderMini.cjs","sources":["../../../../src/components/LoaderMini/LoaderMini.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface LoaderMiniProps extends HTMLAttributes<HTMLDivElement> {\n show?: boolean\n}\n\nexport function LoaderMini({\n show = false,\n className,\n ...props\n}: LoaderMiniProps) {\n if (!show) return null\n\n return (\n <div\n {...props}\n className={classNames('inconel-loader-mini', className)}\n role=\"status\"\n >\n <div className=\"inconel-loader-mini__donut\" aria-hidden=\"true\" />\n </div>\n )\n}\n"],"names":["LoaderMini","show","className","props","jsx","classNames"],"mappings":"uLASO,SAASA,EAAW,CACzB,KAAAC,EAAO,GACP,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,OAAKF,EAGHG,EAAAA,IAAC,MAAA,CACE,GAAGD,EACJ,UAAWE,EAAAA,WAAW,sBAAuBH,CAAS,EACtD,KAAK,SAEL,SAAAE,EAAAA,IAAC,MAAA,CAAI,UAAU,6BAA6B,cAAY,MAAA,CAAO,CAAA,CAAA,EARjD,IAWpB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),m=require("../shared/classNames.cjs"),se=require("./constants.cjs");;/* empty css */const ae=require("../../adapters/context.cjs"),le=require("../Svg/Svg.cjs"),C=require("../Button/Button.cjs");function ne({id:L,open:M,show:z,title:$,modalTitle:k,modalType:a="info",children:f,footer:v,customButtons:t,closeLabel:D=se.DEFAULT_MODAL_CLOSE_LABEL,closeButton:E=!0,closeOnBackdrop:F=!0,backdrop:_=!0,keyboard:O=!0,centered:S=!0,scrollable:w=!0,size:I="md",maximize:R=!1,maximizeIcon:U,fullSize:h=!1,hideFooter:A=!1,okText:i,okAction:o,okButtonType:H="button",cancelText:r,cancelAction:c,cancelButtonType:P="button",onClose:G,onHide:J,onShow:j,onEnter:b,onEntering:x,onEntered:N,onExit:p,onExiting:y,onExited:g,onEscapeKeyDown:K,dialogClassName:Q,backdropClassName:V,bodyClassName:W,className:X}){const q=ae.useInconelAdapters(),[Y,Z]=n.useState(!1),l=M??z??!1,d=()=>{G?.(),J?.()};if(n.useEffect(()=>{l?(b?.(),x?.(),j?.(),N?.()):(p?.(),y?.(),g?.())},[l,b,N,x,p,g,y,j]),n.useEffect(()=>{if(!l||!O)return;const s=ee=>{ee.key==="Escape"&&(K?.(),d())};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)}),!l)return null;const u=$??k??q.translate?.(`modalTitle${a[0].toUpperCase()}${a.slice(1)}`,a==="success"?"Başarılı":a==="error"||a==="danger"?"Hata":"Bilgi"),B=U??q.assets?.maximize,T=!A&&(v!==void 0||t!==void 0||!!(r&&c)||!!(i&&o));return e.jsx("div",{className:m.classNames("inconel-modal-backdrop",V),role:"presentation",onMouseDown:s=>{_!=="static"&&_!==!1&&F&&s.target===s.currentTarget&&d()},children:e.jsxs("section",{id:L??void 0,className:m.classNames("inconel-modal",`inconel-modal--${I}`,`inconel-modal--${a}`,S&&"inconel-modal--centered",w&&"inconel-modal--scrollable",(Y||h)&&"inconel-is-maximized",h&&"inconel-is-full-size",Q,X),role:"dialog","aria-modal":"true","aria-label":typeof u=="string"?u:void 0,children:[e.jsxs("header",{className:"inconel-modal__header",children:[e.jsx("div",{className:"inconel-modal__title",children:u}),e.jsxs("div",{className:"inconel-modal__header-actions",children:[R&&e.jsx("button",{type:"button",className:"inconel-modal__maximize",onClick:()=>Z(s=>!s),"aria-label":"Büyüt",children:B?e.jsx(le.default,{src:B}):"□"}),E&&e.jsx("button",{type:"button",className:"inconel-modal__close","aria-label":D,onClick:d,children:"×"})]})]}),f&&e.jsx("div",{className:m.classNames("inconel-modal__content",W),children:f}),T&&e.jsx("footer",{className:"inconel-modal__footer",children:v??(t!==void 0?n.Children.toArray(t):e.jsxs(e.Fragment,{children:[r&&c&&e.jsx(C.Button,{type:P,variant:"secondary",onClick:c,children:r}),i&&o&&e.jsx(C.Button,{type:H,buttonType:"success",onClick:o,children:i})]}))})]})})}exports.Modal=ne;
|
|
2
|
+
//# sourceMappingURL=Modal.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.cjs","sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import {\n Children,\n useEffect,\n useState,\n type ButtonHTMLAttributes,\n type ReactNode,\n} from 'react'\n\nimport { useInconelAdapters } from '../../adapters'\nimport { Button } from '../Button'\nimport { classNames } from '../shared/classNames'\nimport { Svg } from '../Svg'\nimport { DEFAULT_MODAL_CLOSE_LABEL } from './constants'\nimport './styles.css'\n\nexport interface ModalProps {\n id?: string | null\n open?: boolean\n show?: boolean\n title?: ReactNode\n modalTitle?: ReactNode\n modalType?: 'info' | 'success' | 'error' | 'danger' | 'warning'\n children?: ReactNode\n footer?: ReactNode\n customButtons?: ReactNode\n closeLabel?: string\n closeButton?: boolean\n closeOnBackdrop?: boolean\n backdrop?: 'static' | boolean\n keyboard?: boolean\n centered?: boolean\n scrollable?: boolean\n size?: string\n maximize?: boolean\n maximizeIcon?: string\n fullSize?: boolean\n hideFooter?: boolean\n okText?: ReactNode\n okAction?: () => void\n okButtonType?: ButtonHTMLAttributes<HTMLButtonElement>['type']\n okButtonVariant?: string\n cancelText?: ReactNode\n cancelAction?: () => void\n cancelButtonType?: ButtonHTMLAttributes<HTMLButtonElement>['type']\n onClose?: () => void\n onHide?: () => void\n onShow?: () => void\n onEnter?: () => void\n onEntering?: () => void\n onEntered?: () => void\n onExit?: () => void\n onExiting?: () => void\n onExited?: () => void\n onEscapeKeyDown?: () => void\n dialogClassName?: string\n backdropClassName?: string\n bodyClassName?: string\n className?: string | null\n enforceFocus?: boolean\n}\n\nexport function Modal({\n id,\n open,\n show,\n title,\n modalTitle,\n modalType = 'info',\n children,\n footer,\n customButtons,\n closeLabel = DEFAULT_MODAL_CLOSE_LABEL,\n closeButton = true,\n closeOnBackdrop = true,\n backdrop = true,\n keyboard = true,\n centered = true,\n scrollable = true,\n size = 'md',\n maximize = false,\n maximizeIcon,\n fullSize = false,\n hideFooter = false,\n okText,\n okAction,\n okButtonType = 'button',\n cancelText,\n cancelAction,\n cancelButtonType = 'button',\n onClose,\n onHide,\n onShow,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n onEscapeKeyDown,\n dialogClassName,\n backdropClassName,\n bodyClassName,\n className,\n}: ModalProps) {\n const adapters = useInconelAdapters()\n const [maximized, setMaximized] = useState(false)\n const visible = open ?? show ?? false\n const close = () => {\n onClose?.()\n onHide?.()\n }\n\n useEffect(() => {\n if (visible) {\n onEnter?.()\n onEntering?.()\n onShow?.()\n onEntered?.()\n } else {\n onExit?.()\n onExiting?.()\n onExited?.()\n }\n }, [visible, onEnter, onEntered, onEntering, onExit, onExited, onExiting, onShow])\n\n useEffect(() => {\n if (!visible || !keyboard) return\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') return\n onEscapeKeyDown?.()\n close()\n }\n document.addEventListener('keydown', handleEscape)\n return () => document.removeEventListener('keydown', handleEscape)\n })\n\n if (!visible) return null\n\n const resolvedTitle =\n title ??\n modalTitle ??\n adapters.translate?.(\n `modalTitle${modalType[0].toUpperCase()}${modalType.slice(1)}`,\n modalType === 'success'\n ? 'Başarılı'\n : modalType === 'error' || modalType === 'danger'\n ? 'Hata'\n : 'Bilgi',\n )\n const resolvedMaximizeIcon = maximizeIcon ?? adapters.assets?.maximize\n const hasFooter =\n !hideFooter &&\n (footer !== undefined ||\n customButtons !== undefined ||\n Boolean(cancelText && cancelAction) ||\n Boolean(okText && okAction))\n\n return (\n <div\n className={classNames('inconel-modal-backdrop', backdropClassName)}\n role=\"presentation\"\n onMouseDown={(event) => {\n if (\n backdrop !== 'static' &&\n backdrop !== false &&\n closeOnBackdrop &&\n event.target === event.currentTarget\n ) {\n close()\n }\n }}\n >\n <section\n id={id ?? undefined}\n className={classNames(\n 'inconel-modal',\n `inconel-modal--${size}`,\n `inconel-modal--${modalType}`,\n centered && 'inconel-modal--centered',\n scrollable && 'inconel-modal--scrollable',\n (maximized || fullSize) && 'inconel-is-maximized',\n fullSize && 'inconel-is-full-size',\n dialogClassName,\n className,\n )}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={typeof resolvedTitle === 'string' ? resolvedTitle : undefined}\n >\n <header className=\"inconel-modal__header\">\n <div className=\"inconel-modal__title\">{resolvedTitle}</div>\n <div className=\"inconel-modal__header-actions\">\n {maximize && (\n <button\n type=\"button\"\n className=\"inconel-modal__maximize\"\n onClick={() => setMaximized((current) => !current)}\n aria-label=\"Büyüt\"\n >\n {resolvedMaximizeIcon ? (\n <Svg src={resolvedMaximizeIcon} />\n ) : (\n '□'\n )}\n </button>\n )}\n {closeButton && (\n <button\n type=\"button\"\n className=\"inconel-modal__close\"\n aria-label={closeLabel}\n onClick={close}\n >\n ×\n </button>\n )}\n </div>\n </header>\n {children && (\n <div className={classNames('inconel-modal__content', bodyClassName)}>\n {children}\n </div>\n )}\n {hasFooter && (\n <footer className=\"inconel-modal__footer\">\n {footer ??\n (customButtons !== undefined ? (\n Children.toArray(customButtons)\n ) : (\n <>\n {cancelText && cancelAction && (\n <Button\n type={cancelButtonType}\n variant=\"secondary\"\n onClick={cancelAction}\n >\n {cancelText}\n </Button>\n )}\n {okText && okAction && (\n <Button\n type={okButtonType}\n buttonType=\"success\"\n onClick={okAction}\n >\n {okText}\n </Button>\n )}\n </>\n ))}\n </footer>\n )}\n </section>\n </div>\n )\n}\n"],"names":["Modal","id","open","show","title","modalTitle","modalType","children","footer","customButtons","closeLabel","DEFAULT_MODAL_CLOSE_LABEL","closeButton","closeOnBackdrop","backdrop","keyboard","centered","scrollable","size","maximize","maximizeIcon","fullSize","hideFooter","okText","okAction","okButtonType","cancelText","cancelAction","cancelButtonType","onClose","onHide","onShow","onEnter","onEntering","onEntered","onExit","onExiting","onExited","onEscapeKeyDown","dialogClassName","backdropClassName","bodyClassName","className","adapters","useInconelAdapters","maximized","setMaximized","useState","visible","close","useEffect","handleEscape","event","resolvedTitle","resolvedMaximizeIcon","hasFooter","jsx","classNames","jsxs","current","Svg","Children","Fragment","Button"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../../../src/components/Modal/constants.ts"],"sourcesContent":["export const DEFAULT_MODAL_CLOSE_LABEL = 'Kapat'\n"],"names":["DEFAULT_MODAL_CLOSE_LABEL"],"mappings":"gFAAO,MAAMA,EAA4B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("../shared/classNames.cjs");;/* empty css */const u=require("../CheckboxGroup/CheckboxGroup.cjs");function n({options:t,value:r=[],onChange:c,label:s,className:i}){return e.jsxs("fieldset",{className:l.classNames("inconel-multi-select",i),children:[s&&e.jsx("legend",{children:s}),e.jsx(u.CheckboxGroup,{options:t,value:r,onChange:c})]})}exports.MultiSelect=n;
|
|
2
|
+
//# sourceMappingURL=MultiSelect.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelect.cjs","sources":["../../../../src/components/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nimport { CheckboxGroup } from '../CheckboxGroup'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface MultiSelectOption<T extends string | number = string> {\n label: ReactNode\n value: T\n disabled?: boolean\n}\n\nexport interface MultiSelectProps<T extends string | number = string> {\n options: MultiSelectOption<T>[]\n value?: T[]\n onChange?: (value: T[]) => void\n label?: ReactNode\n className?: string\n}\n\nexport function MultiSelect<T extends string | number = string>({\n options,\n value = [],\n onChange,\n label,\n className,\n}: MultiSelectProps<T>) {\n return (\n <fieldset className={classNames('inconel-multi-select', className)}>\n {label && <legend>{label}</legend>}\n <CheckboxGroup options={options} value={value} onChange={onChange} />\n </fieldset>\n )\n}\n"],"names":["MultiSelect","options","value","onChange","label","className","classNames","jsx","CheckboxGroup"],"mappings":"6OAqBO,SAASA,EAAgD,CAC9D,QAAAC,EACA,MAAAC,EAAQ,CAAA,EACR,SAAAC,EACA,MAAAC,EACA,UAAAC,CACF,EAAwB,CACtB,cACG,WAAA,CAAS,UAAWC,EAAAA,WAAW,uBAAwBD,CAAS,EAC9D,SAAA,CAAAD,GAASG,EAAAA,IAAC,UAAQ,SAAAH,CAAA,CAAM,EACzBG,EAAAA,IAACC,EAAAA,cAAA,CAAc,QAAAP,EAAkB,MAAAC,EAAc,SAAAC,CAAA,CAAoB,CAAA,EACrE,CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectWithCheckbox.cjs","sources":["../../../../src/components/MultiSelectWithCheckbox/MultiSelectWithCheckbox.tsx"],"sourcesContent":["import { MultiSelect, type MultiSelectProps } from '../MultiSelect'\n\nexport type MultiSelectWithCheckboxProps<T extends string | number = string> = MultiSelectProps<T>\nexport const MultiSelectWithCheckbox = MultiSelect\n"],"names":["MultiSelectWithCheckbox","MultiSelect"],"mappings":"kIAGaA,EAA0BC,EAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("../shared/classNames.cjs");;/* empty css */function c({selected:e,disabled:i,icon:n,children:o,className:r,...t}){return s.jsxs("div",{...t,role:"option","aria-selected":e,"aria-disabled":i,className:a.classNames("inconel-option",e&&"inconel-is-selected",i&&"inconel-is-disabled",r),children:[n&&s.jsx("span",{className:"inconel-option__icon",children:n}),o]})}exports.Option=c;
|
|
2
|
+
//# sourceMappingURL=Option.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Option.cjs","sources":["../../../../src/components/Option/Option.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface OptionProps extends HTMLAttributes<HTMLDivElement> {\n selected?: boolean\n disabled?: boolean\n icon?: ReactNode\n}\n\nexport function Option({\n selected,\n disabled,\n icon,\n children,\n className,\n ...props\n}: OptionProps) {\n return (\n <div\n {...props}\n role=\"option\"\n aria-selected={selected}\n aria-disabled={disabled}\n className={classNames(\n 'inconel-option',\n selected && 'inconel-is-selected',\n disabled && 'inconel-is-disabled',\n className,\n )}\n >\n {icon && <span className=\"inconel-option__icon\">{icon}</span>}\n {children}\n </div>\n )\n}\n\n"],"names":["Option","selected","disabled","icon","children","className","props","jsxs","classNames","jsx"],"mappings":"uLAWO,SAASA,EAAO,CACrB,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAgB,CACd,OACEC,EAAAA,KAAC,MAAA,CACE,GAAGD,EACJ,KAAK,SACL,gBAAeL,EACf,gBAAeC,EACf,UAAWM,EAAAA,WACT,iBACAP,GAAY,sBACZC,GAAY,sBACZG,CAAA,EAGD,SAAA,CAAAF,GAAQM,EAAAA,IAAC,OAAA,CAAK,UAAU,uBAAwB,SAAAN,EAAK,EACrDC,CAAA,CAAA,CAAA,CAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionWithIcon.cjs","sources":["../../../../src/components/OptionWithIcon/OptionWithIcon.tsx"],"sourcesContent":["import { Option, type OptionProps } from '../Option'\n\nexport type OptionWithIconProps = OptionProps\nexport const OptionWithIcon = Option\n"],"names":["OptionWithIcon","Option"],"mappings":"wHAGaA,EAAiBC,EAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),d=require("../shared/classNames.cjs");;/* empty css */function n({options:s,value:l,onChange:r,name:i,className:c}){return a.jsx("div",{className:d.classNames("inconel-radio-group",c),children:s.map(e=>a.jsxs("label",{className:"inconel-radio",children:[a.jsx("input",{type:"radio",name:i,value:e.value,checked:e.value===l,disabled:e.disabled,onChange:()=>r?.(e.value)}),a.jsx("span",{className:"inconel-radio__control","aria-hidden":"true"}),a.jsx("span",{children:e.label})]},e.value))})}exports.RadioGroup=n;
|
|
2
|
+
//# sourceMappingURL=RadioGroup.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioGroup.cjs","sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface RadioOption<T extends string | number = string> {\n label: ReactNode\n value: T\n disabled?: boolean\n}\n\nexport interface RadioGroupProps<T extends string | number = string> {\n options: RadioOption<T>[]\n value?: T\n onChange?: (value: T) => void\n name: string\n className?: string\n}\n\nexport function RadioGroup<T extends string | number = string>({\n options,\n value,\n onChange,\n name,\n className,\n}: RadioGroupProps<T>) {\n return (\n <div className={classNames('inconel-radio-group', className)}>\n {options.map((option) => (\n <label className=\"inconel-radio\" key={option.value}>\n <input\n type=\"radio\"\n name={name}\n value={option.value}\n checked={option.value === value}\n disabled={option.disabled}\n onChange={() => onChange?.(option.value)}\n />\n <span className=\"inconel-radio__control\" aria-hidden=\"true\" />\n <span>{option.label}</span>\n </label>\n ))}\n </div>\n )\n}\n"],"names":["RadioGroup","options","value","onChange","name","className","jsx","classNames","option","jsxs"],"mappings":"uLAmBO,SAASA,EAA+C,CAC7D,QAAAC,EACA,MAAAC,EACA,SAAAC,EACA,KAAAC,EACA,UAAAC,CACF,EAAuB,CACrB,OACEC,EAAAA,IAAC,MAAA,CAAI,UAAWC,EAAAA,WAAW,sBAAuBF,CAAS,EACxD,SAAAJ,EAAQ,IAAKO,GACZC,EAAAA,KAAC,QAAA,CAAM,UAAU,gBACf,SAAA,CAAAH,EAAAA,IAAC,QAAA,CACC,KAAK,QACL,KAAAF,EACA,MAAOI,EAAO,MACd,QAASA,EAAO,QAAUN,EAC1B,SAAUM,EAAO,SACjB,SAAU,IAAML,IAAWK,EAAO,KAAK,CAAA,CAAA,EAEzCF,EAAAA,IAAC,OAAA,CAAK,UAAU,yBAAyB,cAAY,OAAO,EAC5DA,EAAAA,IAAC,OAAA,CAAM,SAAAE,EAAO,KAAA,CAAM,CAAA,CAAA,EAVgBA,EAAO,KAW7C,CACD,EACH,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),c=require("../shared/classNames.cjs");;/* empty css */const i=require("./constants.cjs");function o({label:s,value:e,emptyValue:r=i.DEFAULT_READ_ONLY_EMPTY_VALUE,className:l,...a}){return n.jsxs("div",{...a,className:c.classNames("inconel-read-only",l),children:[s&&n.jsx("span",{className:"inconel-read-only__label",children:s}),n.jsx("span",{className:"inconel-read-only__value",children:e==null||e===""?r:e})]})}exports.ReadOnly=o;
|
|
2
|
+
//# sourceMappingURL=ReadOnly.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadOnly.cjs","sources":["../../../../src/components/ReadOnly/ReadOnly.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\nimport { DEFAULT_READ_ONLY_EMPTY_VALUE } from './constants'\n\nexport interface ReadOnlyProps extends HTMLAttributes<HTMLDivElement> {\n label?: ReactNode\n value?: ReactNode\n emptyValue?: ReactNode\n}\n\nexport function ReadOnly({\n label,\n value,\n emptyValue = DEFAULT_READ_ONLY_EMPTY_VALUE,\n className,\n ...props\n}: ReadOnlyProps) {\n return (\n <div {...props} className={classNames('inconel-read-only', className)}>\n {label && <span className=\"inconel-read-only__label\">{label}</span>}\n <span className=\"inconel-read-only__value\">\n {value === null || value === undefined || value === '' ? emptyValue : value}\n </span>\n </div>\n )\n}\n"],"names":["ReadOnly","label","value","emptyValue","DEFAULT_READ_ONLY_EMPTY_VALUE","className","props","jsxs","classNames","jsx"],"mappings":"0NAYO,SAASA,EAAS,CACvB,MAAAC,EACA,MAAAC,EACA,WAAAC,EAAaC,EAAAA,8BACb,UAAAC,EACA,GAAGC,CACL,EAAkB,CAChB,OACEC,EAAAA,KAAC,OAAK,GAAGD,EAAO,UAAWE,EAAAA,WAAW,oBAAqBH,CAAS,EACjE,SAAA,CAAAJ,GAASQ,EAAAA,IAAC,OAAA,CAAK,UAAU,2BAA4B,SAAAR,EAAM,EAC5DQ,EAAAA,IAAC,OAAA,CAAK,UAAU,2BACb,SAAAP,GAAU,MAA+BA,IAAU,GAAKC,EAAaD,CAAA,CACxE,CAAA,EACF,CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../../../src/components/ReadOnly/constants.ts"],"sourcesContent":["export const DEFAULT_READ_ONLY_EMPTY_VALUE = '—'\n"],"names":["DEFAULT_READ_ONLY_EMPTY_VALUE"],"mappings":"gFAAO,MAAMA,EAAgC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),n=require("react"),w=require("@floating-ui/react"),gt=require("@tanstack/react-virtual"),bt=require("react-dom"),u=require("../shared/classNames.cjs");;/* empty css */;/* empty css */;/* empty css */;/* empty css */const ht=require("../FieldFeedback/FieldFeedback.cjs"),yt=require("../../adapters/context.cjs");function xt({id:ve,name:P,label:R,options:M=[],value:ke,onChange:q,optionLabel:L="label",optionValue:A="value",getOptionSearchText:F,isOptionDisabled:B=()=>!1,placeholder:Se,isClearable:ee=!1,isDisabled:we=!1,isReadOnly:je=!1,isRequired:te=!1,isLoading:Ie=!1,loadOptions:h,loadOptionsDebounceMs:ne=250,hint:se,errorMessage:y,asyncErrorMessage:Ee,loadingMessage:Ne,noOptionsMessage:qe,clearButtonLabel:Le,openMenuButtonLabel:Ae,closeMenuButtonLabel:Be,searchLocale:$,menuPortalTarget:C,virtualize:Ce=!1,virtualizationThreshold:De=100,optionHeight:ze=44,className:Oe,classNames:o={},styles:i={},onInputChange:j,onMenuOpen:Ve,onMenuClose:le,autoFocus:Re,selectClassName:re,disabled:Me,isSearchable:Fe=!0,readOnly:$e,defaultValue:He,errorPlace:H,onBlur:Te,setFieldValue:Ue,render:Ye=!0,singleValue:Ke,sortByUppercase:_e,inputClassName:We,labelClassName:Ge,size:ae="md",required:Je},Qe){const m=yt.useInconelAdapters(),oe=Ke!==void 0||re!==void 0||H!==void 0,D=ke??Ue??He??null,Xe=n.useId(),d=ve??`inconel-select-${Xe.replace(/:/g,"")}`,ie=`${d}-label`,ce=`${d}-listbox`,ue=`${d}-message`,de=`${d}-hint`,fe=n.useRef(null),I=n.useRef(null),T=n.useRef(null),[l,me]=n.useState(!1),[p,U]=n.useState(""),[c,f]=n.useState(0),[Ze,Pe]=n.useState(null),[et,pe]=n.useState(!1),[tt,ge]=n.useState(!1);n.useEffect(()=>{if(!h)return;const e=new AbortController,t=window.setTimeout(async()=>{pe(!0),ge(!1);try{const a=await h(p,e.signal);e.signal.aborted||Pe(a)}catch{e.signal.aborted||ge(!0)}finally{e.signal.aborted||pe(!1)}},ne);return()=>{window.clearTimeout(t),e.abort()}},[p,h,ne]);const x=h?Ze??M:M,Y=Ie||et,g=we||!!Me,E=je||!!$e,K=te||!!Je,nt=(H==="in"&&y?String(y):Se)??String(m.translate?.("select","Seçim yapın...")??"Seçim yapın..."),st=qe??m.translate?.("noData","Sonuç bulunamadı.")??"Sonuç bulunamadı.",lt=Ne??m.translate?.("loading","Yükleniyor...")??"Yükleniyor...",rt=Le??String(m.translate?.("clearSelection","Seçimi temizle")??"Seçimi temizle"),at=Ae??String(m.translate?.("openOptions","Seçenekleri aç")??"Seçenekleri aç"),ot=Be??String(m.translate?.("closeOptions","Seçenekleri kapat")??"Seçenekleri kapat"),_=n.useCallback(e=>typeof L=="function"?L(e):String(e[L]),[L]),W=n.useCallback(e=>{if(F)return F(e);const t=_(e);return typeof t=="string"||typeof t=="number"?String(t):""},[_,F]),v=n.useCallback(e=>{const t=typeof A=="function"?A(e):e[A];if(typeof t!="string"&&typeof t!="number")throw new TypeError("optionValue must resolve to a string or number.");return t},[A]),b=D&&typeof D=="object"?v(D):D,G=n.useCallback((e,t)=>{q&&(oe?q(t):q(e,t))},[oe,q]),J=n.useMemo(()=>{const e=new Set;return x.map(v).filter(t=>e.has(t)?!0:(e.add(t),!1))},[x,v]);n.useEffect(()=>{J.length&&console.warn(`Duplicate optionValue found in Select "${R}":`,J)},[J,R]);const Q=[...M,...x].find(e=>v(e)===b),it=Q?W(Q):"",r=n.useMemo(()=>{const e=p.trim().toLocaleLowerCase($);return!e||h?x:x.filter(t=>W(t).toLocaleLowerCase($).includes(e))},[x,W,p,h,$]),{refs:be,floatingStyles:ct}=w.useFloating({open:l,placement:"bottom-start",strategy:C?"fixed":"absolute",whileElementsMounted:w.autoUpdate,middleware:[w.offset(8),w.flip({padding:12}),w.shift({padding:12}),w.size({padding:12,apply({availableHeight:e,rects:t,elements:a}){Object.assign(a.floating.style,{maxHeight:`${Math.min(230,e)}px`,width:`${t.reference.width}px`})}})]}),z=Ce||r.length>=De,O=gt.useVirtualizer({count:r.length,getScrollElement:()=>T.current,estimateSize:()=>ze,overscan:5,enabled:z&&l}),k=n.useCallback(()=>{me(!1),U(""),j?.(""),le?.()},[j,le]),N=()=>{g||E||(l||Ve?.(),me(!0))},V=n.useCallback(()=>{g||E||(G(null,null),U(""),f(0),j?.(""),I.current?.focus())},[g,E,G,j]);n.useImperativeHandle(Qe,()=>({focus:()=>I.current?.focus(),blur:()=>I.current?.blur(),clear:V}),[V]),n.useEffect(()=>{const e=t=>{const a=t.target;!fe.current?.contains(a)&&!T.current?.contains(a)&&k()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[k]),n.useEffect(()=>{c>=r.length&&f(0)},[c,r.length]),n.useEffect(()=>{z&&l&&r[c]&&O.scrollToIndex(c,{align:"auto"})},[c,r,l,z,O]);const he=e=>{B(e)||(G(v(e),e),k(),I.current?.focus())},ut=e=>{if(!r.length)return;let t=c;do t=(t+e+r.length)%r.length;while(B(r[t])&&t!==c);f(t)},X=(e=!1)=>{const t=r.map((a,S)=>({option:a,index:S}));return e&&t.reverse(),t.find(({option:a})=>!B(a))?.index??0},dt=e=>{if(e.key==="Backspace"&&!p&&b!==null&&ee){e.preventDefault(),V();return}if(e.key==="ArrowDown"||e.key==="ArrowUp")e.preventDefault(),l?ut(e.key==="ArrowDown"?1:-1):(N(),f(X(e.key==="ArrowUp")));else if(e.key==="Home"&&l)e.preventDefault(),f(X());else if(e.key==="End"&&l)e.preventDefault(),f(X(!0));else if(e.key==="Enter"&&l){e.preventDefault();const t=r[c];t&&he(t)}else e.key==="Escape"&&l?(e.preventDefault(),k()):e.key==="Tab"&&k()},ye=(e,t,a)=>{const S=v(e),xe=B(e);return s.jsxs("div",{id:`${d}-option-${t}`,role:"option","aria-selected":S===b,"aria-disabled":xe,"aria-posinset":t+1,"aria-setsize":r.length,className:u.classNames("inconel-select-option",t===c&&"inconel-is-active",S===b&&"inconel-is-selected",xe&&"inconel-is-disabled",o.option),style:{...a,...i.option},onMouseEnter:()=>f(t),onMouseDown:pt=>pt.preventDefault(),onClick:()=>he(e),children:[s.jsx("span",{children:_(e)}),S===b&&s.jsx("span",{"aria-hidden":"true",children:"✓"})]},S)},ft=Y?s.jsxs("div",{role:"status",className:u.classNames("inconel-select-message",o.message),style:i.message,children:[s.jsx("span",{className:"inconel-select-spinner","aria-hidden":"true"}),lt]}):tt?s.jsx("div",{role:"alert",className:u.classNames("inconel-select-message inconel-select-message-error",o.message),style:i.message,children:Ee}):r.length===0?s.jsx("div",{className:u.classNames("inconel-select-message",o.message),style:i.message,children:st}):z?s.jsx("div",{role:"presentation",className:"inconel-select-virtual-content",style:{height:O.getTotalSize()},children:O.getVirtualItems().map(e=>ye(r[e.index],e.index,{position:"absolute",top:0,left:0,width:"100%",height:e.size,transform:`translateY(${e.start}px)`}))}):r.map((e,t)=>ye(e,t)),Z=l?s.jsx("div",{ref:e=>{T.current=e,be.setFloating(e)},id:ce,role:"listbox","aria-labelledby":ie,className:u.classNames("inconel-select-menu",C&&"inconel-select-menu-portal",o.menu),style:{...ct,...i.menu},children:ft}):null,mt=y?ue:se?de:void 0;return Ye?s.jsxs("div",{ref:fe,className:u.classNames("inconel-select-field",`inconel-size-${ae}`,`inconel-select-field--${ae}`,Oe,o.root),style:i.root,children:[s.jsxs("label",{id:ie,htmlFor:d,className:u.classNames(o.label,Ge),style:i.label,children:[R,K&&s.jsx("span",{"aria-hidden":"true",children:" *"})]}),s.jsxs("div",{ref:be.setReference,className:u.classNames("inconel-select-control",l&&"inconel-is-open",g&&"inconel-is-disabled",!!y&&"inconel-has-error",o.control),style:i.control,children:[s.jsx("input",{ref:I,id:d,role:"combobox","aria-expanded":l,"aria-controls":ce,"aria-autocomplete":"list","aria-activedescendant":l&&r[c]?`${d}-option-${c}`:void 0,"aria-describedby":mt,"aria-invalid":!!y,"aria-required":te,"aria-busy":Y,required:K,disabled:g,readOnly:E||!Fe,autoFocus:Re,autoComplete:"off",placeholder:nt,value:p||it,className:u.classNames(o.input,We,re),style:i.input,onChange:e=>{const t=_e?e.target.value.toLocaleUpperCase(m.locale??"tr-TR"):e.target.value;U(t),f(0),j?.(t),N()},onClick:N,onFocus:e=>{N(),Q&&!p&&e.currentTarget.select()},onBlur:Te,onKeyDown:dt}),Y&&s.jsx("span",{className:"inconel-select-spinner","aria-hidden":"true"}),ee&&b!==null&&!g&&!E&&s.jsx("button",{type:"button",className:u.classNames("inconel-select-clear",o.clearButton),style:i.clearButton,"aria-label":rt,onClick:V,children:"×"}),s.jsx("button",{type:"button",className:u.classNames("inconel-select-toggle",o.toggleButton),style:i.toggleButton,"aria-label":l?ot:at,"aria-expanded":l,disabled:g,tabIndex:-1,onClick:()=>l?k():N(),children:s.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 20 20",width:"20",height:"20",fill:"none",children:s.jsx("path",{d:"m5 7.5 5 5 5-5",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),P&&s.jsx("input",{type:"hidden",name:P,value:b??"",required:K}),s.jsx(ht.default,{hint:se,errorMessage:H==="in"?void 0:y,hintId:de,errorId:ue}),C&&Z?bt.createPortal(Z,C):Z]}):null}const vt=n.forwardRef(xt);exports.default=vt;
|
|
2
|
+
//# sourceMappingURL=Select.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.cjs","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ForwardedRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react'\nimport {\n autoUpdate,\n flip,\n offset,\n shift,\n size as floatingSize,\n useFloating,\n} from '@floating-ui/react'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { createPortal } from 'react-dom'\nimport { useInconelAdapters } from '../../adapters'\nimport { classNames as mergeClassNames } from '../shared/classNames'\nimport '../shared/field.css'\nimport '../shared/field-controls.css'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport './styles.css'\n\nimport FieldFeedback from '../FieldFeedback/FieldFeedback'\nimport type { FieldFeedbackContentProps } from '../FieldFeedback/FieldFeedback'\n\nexport type OptionValue = string | number\n\nexport interface SelectHandle {\n focus: () => void\n blur: () => void\n clear: () => void\n}\n\ntype SelectPart =\n | 'root'\n | 'label'\n | 'control'\n | 'input'\n | 'clearButton'\n | 'toggleButton'\n | 'menu'\n | 'option'\n | 'message'\n\nexport type SelectClassNames = Partial<Record<SelectPart, string>>\nexport type SelectStyles = Partial<Record<SelectPart, CSSProperties>>\n\nexport interface SelectProps<T extends object> extends FieldFeedbackContentProps {\n id?: string\n name?: string\n label?: ReactNode\n options?: T[]\n value?: OptionValue | T | null\n onChange?:\n | ((value: OptionValue | null, option: T | null) => void)\n | ((option: T | null) => void)\n optionLabel?: keyof T | ((option: T) => ReactNode)\n optionValue?: keyof T | ((option: T) => OptionValue)\n getOptionSearchText?: (option: T) => string\n isOptionDisabled?: (option: T) => boolean\n placeholder?: string\n isClearable?: boolean\n isDisabled?: boolean\n isReadOnly?: boolean\n isRequired?: boolean\n isLoading?: boolean\n loadOptions?: (inputValue: string, signal: AbortSignal) => Promise<T[]>\n loadOptionsDebounceMs?: number\n asyncErrorMessage?: ReactNode\n loadingMessage?: ReactNode\n noOptionsMessage?: ReactNode\n clearButtonLabel?: string\n openMenuButtonLabel?: string\n closeMenuButtonLabel?: string\n searchLocale?: string\n menuPortalTarget?: HTMLElement | null\n virtualize?: boolean\n virtualizationThreshold?: number\n optionHeight?: number\n className?: string\n classNames?: SelectClassNames\n styles?: SelectStyles\n onInputChange?: (value: string) => void\n onMenuOpen?: () => void\n onMenuClose?: () => void\n autoFocus?: boolean\n selectClassName?: string\n disabled?: boolean\n isSearchable?: boolean\n readOnly?: boolean\n defaultValue?: OptionValue | T | null\n errorPlace?: 'in' | 'out' | string\n onBlur?: () => void\n setFieldValue?: OptionValue | string | null\n render?: boolean\n singleValue?: boolean\n sortByUppercase?: boolean\n selectClassNamePrefix?: string\n menuPlacement?: 'auto' | 'bottom' | 'top'\n maxMenuHeight?: number\n inputClassName?: string\n labelClassName?: string\n size?: ControlSize\n required?: boolean\n components?: Record<string, unknown>\n}\n\nfunction SelectInner<T extends object>(\n {\n id,\n name,\n label,\n options = [],\n value,\n onChange,\n optionLabel = 'label' as keyof T,\n optionValue = 'value' as keyof T,\n getOptionSearchText,\n isOptionDisabled = () => false,\n placeholder,\n isClearable = false,\n isDisabled = false,\n isReadOnly = false,\n isRequired = false,\n isLoading = false,\n loadOptions,\n loadOptionsDebounceMs = 250,\n hint,\n errorMessage,\n asyncErrorMessage,\n loadingMessage,\n noOptionsMessage,\n clearButtonLabel,\n openMenuButtonLabel,\n closeMenuButtonLabel,\n searchLocale,\n menuPortalTarget,\n virtualize = false,\n virtualizationThreshold = 100,\n optionHeight = 44,\n className,\n classNames = {},\n styles = {},\n onInputChange,\n onMenuOpen,\n onMenuClose,\n autoFocus,\n selectClassName,\n disabled,\n isSearchable = true,\n readOnly,\n defaultValue,\n errorPlace,\n onBlur,\n setFieldValue,\n render = true,\n singleValue,\n sortByUppercase,\n inputClassName,\n labelClassName,\n size = 'md',\n required,\n }: SelectProps<T>,\n forwardedRef: ForwardedRef<SelectHandle>,\n) {\n const adapters = useInconelAdapters()\n const legacyMode =\n singleValue !== undefined ||\n selectClassName !== undefined ||\n errorPlace !== undefined\n const controlledValue = value ?? setFieldValue ?? defaultValue ?? null\n const generatedId = useId()\n const inputId = id ?? `inconel-select-${generatedId.replace(/:/g, '')}`\n const labelId = `${inputId}-label`\n const listboxId = `${inputId}-listbox`\n const messageId = `${inputId}-message`\n const hintId = `${inputId}-hint`\n const rootRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const menuRef = useRef<HTMLDivElement>(null)\n const [isOpen, setIsOpen] = useState(false)\n const [inputValue, setInputValue] = useState('')\n const [activeIndex, setActiveIndex] = useState(0)\n const [asyncOptions, setAsyncOptions] = useState<T[] | null>(null)\n const [isAsyncLoading, setIsAsyncLoading] = useState(false)\n const [hasAsyncError, setHasAsyncError] = useState(false)\n\n useEffect(() => {\n if (!loadOptions) return\n const controller = new AbortController()\n const timeout = window.setTimeout(async () => {\n setIsAsyncLoading(true)\n setHasAsyncError(false)\n try {\n const loadedOptions = await loadOptions(\n inputValue,\n controller.signal,\n )\n if (!controller.signal.aborted) setAsyncOptions(loadedOptions)\n } catch {\n if (!controller.signal.aborted) setHasAsyncError(true)\n } finally {\n if (!controller.signal.aborted) setIsAsyncLoading(false)\n }\n }, loadOptionsDebounceMs)\n\n return () => {\n window.clearTimeout(timeout)\n controller.abort()\n }\n }, [inputValue, loadOptions, loadOptionsDebounceMs])\n\n const availableOptions = loadOptions\n ? (asyncOptions ?? options)\n : options\n const loading = isLoading || isAsyncLoading\n const componentDisabled = isDisabled || Boolean(disabled)\n const componentReadOnly = isReadOnly || Boolean(readOnly)\n const componentRequired = isRequired || Boolean(required)\n const resolvedPlaceholder =\n (errorPlace === 'in' && errorMessage\n ? String(errorMessage)\n : placeholder) ??\n String(adapters.translate?.('select', 'Seçim yapın...') ?? 'Seçim yapın...')\n const resolvedNoOptionsMessage =\n noOptionsMessage ??\n adapters.translate?.('noData', 'Sonuç bulunamadı.') ??\n 'Sonuç bulunamadı.'\n const resolvedLoadingMessage =\n loadingMessage ??\n adapters.translate?.('loading', 'Yükleniyor...') ??\n 'Yükleniyor...'\n const resolvedClearLabel =\n clearButtonLabel ??\n String(adapters.translate?.('clearSelection', 'Seçimi temizle') ?? 'Seçimi temizle')\n const resolvedOpenLabel =\n openMenuButtonLabel ??\n String(adapters.translate?.('openOptions', 'Seçenekleri aç') ?? 'Seçenekleri aç')\n const resolvedCloseLabel =\n closeMenuButtonLabel ??\n String(adapters.translate?.('closeOptions', 'Seçenekleri kapat') ?? 'Seçenekleri kapat')\n\n const getLabel = useCallback(\n (option: T): ReactNode =>\n typeof optionLabel === 'function'\n ? optionLabel(option)\n : String(option[optionLabel]),\n [optionLabel],\n )\n\n const getSearchLabel = useCallback(\n (option: T) => {\n if (getOptionSearchText) return getOptionSearchText(option)\n const renderedLabel = getLabel(option)\n return typeof renderedLabel === 'string' ||\n typeof renderedLabel === 'number'\n ? String(renderedLabel)\n : ''\n },\n [getLabel, getOptionSearchText],\n )\n\n const getValue = useCallback(\n (option: T): OptionValue => {\n const resolvedValue =\n typeof optionValue === 'function'\n ? optionValue(option)\n : option[optionValue]\n\n if (\n typeof resolvedValue !== 'string' &&\n typeof resolvedValue !== 'number'\n ) {\n throw new TypeError('optionValue must resolve to a string or number.')\n }\n return resolvedValue\n },\n [optionValue],\n )\n\n const normalizedValue =\n controlledValue && typeof controlledValue === 'object'\n ? getValue(controlledValue as T)\n : (controlledValue as OptionValue | null)\n\n const emitChange = useCallback(\n (nextValue: OptionValue | null, option: T | null) => {\n if (!onChange) return\n if (legacyMode) {\n ;(onChange as (selected: T | null) => void)(option)\n } else {\n ;(\n onChange as (\n value: OptionValue | null,\n selected: T | null,\n ) => void\n )(nextValue, option)\n }\n },\n [legacyMode, onChange],\n )\n\n const duplicateValues = useMemo(() => {\n const seen = new Set<OptionValue>()\n return availableOptions\n .map(getValue)\n .filter((optionId) => {\n if (seen.has(optionId)) return true\n seen.add(optionId)\n return false\n })\n }, [availableOptions, getValue])\n\n useEffect(() => {\n if (duplicateValues.length) {\n console.warn(\n `Duplicate optionValue found in Select \"${label}\":`,\n duplicateValues,\n )\n }\n }, [duplicateValues, label])\n\n const selectedOption = [...options, ...availableOptions].find(\n (option) => getValue(option) === normalizedValue,\n )\n const selectedLabel = selectedOption ? getSearchLabel(selectedOption) : ''\n\n const filteredOptions = useMemo(() => {\n const query = inputValue.trim().toLocaleLowerCase(searchLocale)\n if (!query || loadOptions) return availableOptions\n return availableOptions.filter((option) =>\n getSearchLabel(option).toLocaleLowerCase(searchLocale).includes(query),\n )\n }, [availableOptions, getSearchLabel, inputValue, loadOptions, searchLocale])\n\n const { refs, floatingStyles } = useFloating({\n open: isOpen,\n placement: 'bottom-start',\n strategy: menuPortalTarget ? 'fixed' : 'absolute',\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(8),\n flip({ padding: 12 }),\n shift({ padding: 12 }),\n floatingSize({\n padding: 12,\n apply({ availableHeight, rects, elements }) {\n Object.assign(elements.floating.style, {\n maxHeight: `${Math.min(230, availableHeight)}px`,\n width: `${rects.reference.width}px`,\n })\n },\n }),\n ],\n })\n\n const shouldVirtualize =\n virtualize || filteredOptions.length >= virtualizationThreshold\n const virtualizer = useVirtualizer({\n count: filteredOptions.length,\n getScrollElement: () => menuRef.current,\n estimateSize: () => optionHeight,\n overscan: 5,\n enabled: shouldVirtualize && isOpen,\n })\n\n const closeMenu = useCallback(() => {\n setIsOpen(false)\n setInputValue('')\n onInputChange?.('')\n onMenuClose?.()\n }, [onInputChange, onMenuClose])\n\n const openMenu = () => {\n if (componentDisabled || componentReadOnly) return\n if (!isOpen) onMenuOpen?.()\n setIsOpen(true)\n }\n\n const clearSelection = useCallback(() => {\n if (componentDisabled || componentReadOnly) return\n emitChange(null, null)\n setInputValue('')\n setActiveIndex(0)\n onInputChange?.('')\n inputRef.current?.focus()\n }, [componentDisabled, componentReadOnly, emitChange, onInputChange])\n\n useImperativeHandle(\n forwardedRef,\n () => ({\n focus: () => inputRef.current?.focus(),\n blur: () => inputRef.current?.blur(),\n clear: clearSelection,\n }),\n [clearSelection],\n )\n\n useEffect(() => {\n const closeOnOutsideClick = (event: MouseEvent) => {\n const target = event.target as Node\n if (\n !rootRef.current?.contains(target) &&\n !menuRef.current?.contains(target)\n ) {\n closeMenu()\n }\n }\n\n document.addEventListener('mousedown', closeOnOutsideClick)\n return () => document.removeEventListener('mousedown', closeOnOutsideClick)\n }, [closeMenu])\n\n useEffect(() => {\n if (activeIndex >= filteredOptions.length) setActiveIndex(0)\n }, [activeIndex, filteredOptions.length])\n\n useEffect(() => {\n if (shouldVirtualize && isOpen && filteredOptions[activeIndex]) {\n virtualizer.scrollToIndex(activeIndex, { align: 'auto' })\n }\n }, [\n activeIndex,\n filteredOptions,\n isOpen,\n shouldVirtualize,\n virtualizer,\n ])\n\n const selectOption = (option: T) => {\n if (isOptionDisabled(option)) return\n emitChange(getValue(option), option)\n closeMenu()\n inputRef.current?.focus()\n }\n\n const moveActiveOption = (direction: 1 | -1) => {\n if (!filteredOptions.length) return\n let nextIndex = activeIndex\n do {\n nextIndex =\n (nextIndex + direction + filteredOptions.length) %\n filteredOptions.length\n } while (\n isOptionDisabled(filteredOptions[nextIndex]) &&\n nextIndex !== activeIndex\n )\n setActiveIndex(nextIndex)\n }\n\n const findEnabledIndex = (fromEnd = false) => {\n const entries = filteredOptions.map((option, index) => ({ option, index }))\n if (fromEnd) entries.reverse()\n return entries.find(({ option }) => !isOptionDisabled(option))?.index ?? 0\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n normalizedValue !== null &&\n isClearable\n ) {\n event.preventDefault()\n clearSelection()\n return\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault()\n if (!isOpen) {\n openMenu()\n setActiveIndex(findEnabledIndex(event.key === 'ArrowUp'))\n } else {\n moveActiveOption(event.key === 'ArrowDown' ? 1 : -1)\n }\n } else if (event.key === 'Home' && isOpen) {\n event.preventDefault()\n setActiveIndex(findEnabledIndex())\n } else if (event.key === 'End' && isOpen) {\n event.preventDefault()\n setActiveIndex(findEnabledIndex(true))\n } else if (event.key === 'Enter' && isOpen) {\n event.preventDefault()\n const activeOption = filteredOptions[activeIndex]\n if (activeOption) selectOption(activeOption)\n } else if (event.key === 'Escape' && isOpen) {\n event.preventDefault()\n closeMenu()\n } else if (event.key === 'Tab') {\n closeMenu()\n }\n }\n\n const renderOption = (option: T, index: number, style?: CSSProperties) => {\n const optionId = getValue(option)\n const disabled = isOptionDisabled(option)\n return (\n <div\n id={`${inputId}-option-${index}`}\n key={optionId}\n role=\"option\"\n aria-selected={optionId === normalizedValue}\n aria-disabled={disabled}\n aria-posinset={index + 1}\n aria-setsize={filteredOptions.length}\n className={mergeClassNames(\n 'inconel-select-option',\n index === activeIndex && 'inconel-is-active',\n optionId === normalizedValue && 'inconel-is-selected',\n disabled && 'inconel-is-disabled',\n classNames.option,\n )}\n style={{ ...style, ...styles.option }}\n onMouseEnter={() => setActiveIndex(index)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => selectOption(option)}\n >\n <span>{getLabel(option)}</span>\n {optionId === normalizedValue && <span aria-hidden=\"true\">✓</span>}\n </div>\n )\n }\n\n const menuContent = loading ? (\n <div\n role=\"status\"\n className={mergeClassNames('inconel-select-message', classNames.message)}\n style={styles.message}\n >\n <span className=\"inconel-select-spinner\" aria-hidden=\"true\" />\n {resolvedLoadingMessage}\n </div>\n ) : hasAsyncError ? (\n <div\n role=\"alert\"\n className={mergeClassNames('inconel-select-message inconel-select-message-error', classNames.message)}\n style={styles.message}\n >\n {asyncErrorMessage}\n </div>\n ) : filteredOptions.length === 0 ? (\n <div\n className={mergeClassNames('inconel-select-message', classNames.message)}\n style={styles.message}\n >\n {resolvedNoOptionsMessage}\n </div>\n ) : shouldVirtualize ? (\n <div\n role=\"presentation\"\n className=\"inconel-select-virtual-content\"\n style={{ height: virtualizer.getTotalSize() }}\n >\n {virtualizer.getVirtualItems().map((virtualRow) =>\n renderOption(filteredOptions[virtualRow.index], virtualRow.index, {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: virtualRow.size,\n transform: `translateY(${virtualRow.start}px)`,\n }),\n )}\n </div>\n ) : (\n filteredOptions.map((option, index) => renderOption(option, index))\n )\n\n const menu = isOpen ? (\n <div\n ref={(node) => {\n menuRef.current = node\n refs.setFloating(node)\n }}\n id={listboxId}\n role=\"listbox\"\n aria-labelledby={labelId}\n className={mergeClassNames(\n 'inconel-select-menu',\n menuPortalTarget && 'inconel-select-menu-portal',\n classNames.menu,\n )}\n style={{ ...floatingStyles, ...styles.menu }}\n >\n {menuContent}\n </div>\n ) : null\n\n const describedBy = errorMessage ? messageId : hint ? hintId : undefined\n\n if (!render) return null\n\n return (\n <div\n ref={rootRef}\n className={mergeClassNames(\n 'inconel-select-field',\n `inconel-size-${size}`,\n `inconel-select-field--${size}`,\n className,\n classNames.root,\n )}\n style={styles.root}\n >\n <label\n id={labelId}\n htmlFor={inputId}\n className={mergeClassNames(classNames.label, labelClassName)}\n style={styles.label}\n >\n {label}\n {componentRequired && <span aria-hidden=\"true\"> *</span>}\n </label>\n <div\n ref={refs.setReference}\n className={mergeClassNames(\n 'inconel-select-control',\n isOpen && 'inconel-is-open',\n componentDisabled && 'inconel-is-disabled',\n Boolean(errorMessage) && 'inconel-has-error',\n classNames.control,\n )}\n style={styles.control}\n >\n <input\n ref={inputRef}\n id={inputId}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n isOpen && filteredOptions[activeIndex]\n ? `${inputId}-option-${activeIndex}`\n : undefined\n }\n aria-describedby={describedBy}\n aria-invalid={Boolean(errorMessage)}\n aria-required={isRequired}\n aria-busy={loading}\n required={componentRequired}\n disabled={componentDisabled}\n readOnly={componentReadOnly || !isSearchable}\n autoFocus={autoFocus}\n autoComplete=\"off\"\n placeholder={resolvedPlaceholder}\n value={inputValue || selectedLabel}\n className={mergeClassNames(classNames.input, inputClassName, selectClassName)}\n style={styles.input}\n onChange={(event) => {\n const nextInput = sortByUppercase\n ? event.target.value.toLocaleUpperCase(\n adapters.locale ?? 'tr-TR',\n )\n : event.target.value\n setInputValue(nextInput)\n setActiveIndex(0)\n onInputChange?.(nextInput)\n openMenu()\n }}\n onClick={openMenu}\n onFocus={(event) => {\n openMenu()\n if (selectedOption && !inputValue) event.currentTarget.select()\n }}\n onBlur={onBlur}\n onKeyDown={handleKeyDown}\n />\n {loading && <span className=\"inconel-select-spinner\" aria-hidden=\"true\" />}\n {isClearable && normalizedValue !== null && !componentDisabled && !componentReadOnly && (\n <button\n type=\"button\"\n className={mergeClassNames('inconel-select-clear', classNames.clearButton)}\n style={styles.clearButton}\n aria-label={resolvedClearLabel}\n onClick={clearSelection}\n >\n ×\n </button>\n )}\n <button\n type=\"button\"\n className={mergeClassNames('inconel-select-toggle', classNames.toggleButton)}\n style={styles.toggleButton}\n aria-label={isOpen ? resolvedCloseLabel : resolvedOpenLabel}\n aria-expanded={isOpen}\n disabled={componentDisabled}\n tabIndex={-1}\n onClick={() => (isOpen ? closeMenu() : openMenu())}\n >\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n height=\"20\"\n fill=\"none\"\n >\n <path\n d=\"m5 7.5 5 5 5-5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n\n {name && (\n <input\n type=\"hidden\"\n name={name}\n value={normalizedValue ?? ''}\n required={componentRequired}\n />\n )}\n <FieldFeedback\n hint={hint}\n errorMessage={errorPlace === 'in' ? undefined : errorMessage}\n hintId={hintId}\n errorId={messageId}\n />\n\n {menuPortalTarget && menu\n ? createPortal(menu, menuPortalTarget)\n : menu}\n </div>\n )\n}\n\nconst Select = forwardRef(SelectInner) as <T extends object>(\n props: SelectProps<T> & { ref?: ForwardedRef<SelectHandle> },\n) => ReactNode\n\nexport default Select\n"],"names":["SelectInner","id","name","label","options","value","onChange","optionLabel","optionValue","getOptionSearchText","isOptionDisabled","placeholder","isClearable","isDisabled","isReadOnly","isRequired","isLoading","loadOptions","loadOptionsDebounceMs","hint","errorMessage","asyncErrorMessage","loadingMessage","noOptionsMessage","clearButtonLabel","openMenuButtonLabel","closeMenuButtonLabel","searchLocale","menuPortalTarget","virtualize","virtualizationThreshold","optionHeight","className","classNames","styles","onInputChange","onMenuOpen","onMenuClose","autoFocus","selectClassName","disabled","isSearchable","readOnly","defaultValue","errorPlace","onBlur","setFieldValue","render","singleValue","sortByUppercase","inputClassName","labelClassName","size","required","forwardedRef","adapters","useInconelAdapters","legacyMode","controlledValue","generatedId","useId","inputId","labelId","listboxId","messageId","hintId","rootRef","useRef","inputRef","menuRef","isOpen","setIsOpen","useState","inputValue","setInputValue","activeIndex","setActiveIndex","asyncOptions","setAsyncOptions","isAsyncLoading","setIsAsyncLoading","hasAsyncError","setHasAsyncError","useEffect","controller","timeout","loadedOptions","availableOptions","loading","componentDisabled","componentReadOnly","componentRequired","resolvedPlaceholder","resolvedNoOptionsMessage","resolvedLoadingMessage","resolvedClearLabel","resolvedOpenLabel","resolvedCloseLabel","getLabel","useCallback","option","getSearchLabel","renderedLabel","getValue","resolvedValue","normalizedValue","emitChange","nextValue","duplicateValues","useMemo","seen","optionId","selectedOption","selectedLabel","filteredOptions","query","refs","floatingStyles","useFloating","autoUpdate","offset","flip","shift","floatingSize","availableHeight","rects","elements","shouldVirtualize","virtualizer","useVirtualizer","closeMenu","openMenu","clearSelection","useImperativeHandle","closeOnOutsideClick","event","target","selectOption","moveActiveOption","direction","nextIndex","findEnabledIndex","fromEnd","entries","index","handleKeyDown","activeOption","renderOption","style","jsxs","mergeClassNames","jsx","menuContent","virtualRow","menu","node","describedBy","nextInput","FieldFeedback","createPortal","Select","forwardRef"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),i=require("react"),o=require("../shared/classNames.cjs");;/* empty css */function y({tabs:c=[],activeKey:a,onChange:u,className:f}){const l=i.useRef({}),[r,d]=i.useState({left:0,width:0}),s=i.useMemo(()=>c.filter(e=>e.show!==!1),[c]),t=s.find(e=>e.key===a)??s[0];return i.useEffect(()=>{if(!t)return;const e=l.current[String(t.key)];e&&d({left:e.offsetLeft,width:e.offsetWidth})},[t,s]),s.length?n.jsxs("div",{className:o.classNames("inconel-slide-tabs",f),children:[n.jsx("div",{className:"inconel-slide-tabs__indicator",style:{width:r.width,transform:`translateX(${r.left}px)`}}),s.map(e=>n.jsxs("button",{ref:m=>{l.current[String(e.key)]=m},type:"button",className:o.classNames("inconel-slide-tabs__item",t.key===e.key&&"inconel-is-active"),onClick:()=>u?.(e.key),children:[e.label,typeof e.count=="number"&&e.count>0&&n.jsx("span",{className:"inconel-slide-tabs__count",children:e.count})]},e.key))]}):null}exports.SlideTabs=y;
|
|
2
|
+
//# sourceMappingURL=SlideTabs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideTabs.cjs","sources":["../../../../src/components/SlideTabs/SlideTabs.tsx"],"sourcesContent":["import {\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface SlideTab {\n key: string | number\n label: ReactNode\n count?: ReactNode\n show?: boolean\n}\n\nexport interface SlideTabsProps {\n tabs?: SlideTab[]\n activeKey?: string | number | null\n onChange?: (key: string | number) => void\n className?: string | null\n}\n\nexport function SlideTabs({\n tabs = [],\n activeKey,\n onChange,\n className,\n}: SlideTabsProps) {\n const refs = useRef<Record<string, HTMLButtonElement | null>>({})\n const [indicator, setIndicator] = useState({ left: 0, width: 0 })\n const visibleTabs = useMemo(\n () => tabs.filter((tab) => tab.show !== false),\n [tabs],\n )\n const active =\n visibleTabs.find((tab) => tab.key === activeKey) ?? visibleTabs[0]\n\n useEffect(() => {\n if (!active) return\n const element = refs.current[String(active.key)]\n if (element) {\n setIndicator({ left: element.offsetLeft, width: element.offsetWidth })\n }\n }, [active, visibleTabs])\n\n if (!visibleTabs.length) return null\n\n return (\n <div className={classNames('inconel-slide-tabs', className)}>\n <div\n className=\"inconel-slide-tabs__indicator\"\n style={{\n width: indicator.width,\n transform: `translateX(${indicator.left}px)`,\n }}\n />\n {visibleTabs.map((tab) => (\n <button\n key={tab.key}\n ref={(element) => {\n refs.current[String(tab.key)] = element\n }}\n type=\"button\"\n className={classNames(\n 'inconel-slide-tabs__item',\n active.key === tab.key && 'inconel-is-active',\n )}\n onClick={() => onChange?.(tab.key)}\n >\n {tab.label}\n {typeof tab.count === 'number' && tab.count > 0 && (\n <span className=\"inconel-slide-tabs__count\">{tab.count}</span>\n )}\n </button>\n ))}\n </div>\n )\n}\n"],"names":["SlideTabs","tabs","activeKey","onChange","className","refs","useRef","indicator","setIndicator","useState","visibleTabs","useMemo","tab","active","useEffect","element","classNames","jsx","jsxs"],"mappings":"0MAyBO,SAASA,EAAU,CACxB,KAAAC,EAAO,CAAA,EACP,UAAAC,EACA,SAAAC,EACA,UAAAC,CACF,EAAmB,CACjB,MAAMC,EAAOC,EAAAA,OAAiD,EAAE,EAC1D,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,CAAE,KAAM,EAAG,MAAO,EAAG,EAC1DC,EAAcC,EAAAA,QAClB,IAAMV,EAAK,OAAQW,GAAQA,EAAI,OAAS,EAAK,EAC7C,CAACX,CAAI,CAAA,EAEDY,EACJH,EAAY,KAAME,GAAQA,EAAI,MAAQV,CAAS,GAAKQ,EAAY,CAAC,EAUnE,OARAI,EAAAA,UAAU,IAAM,CACd,GAAI,CAACD,EAAQ,OACb,MAAME,EAAUV,EAAK,QAAQ,OAAOQ,EAAO,GAAG,CAAC,EAC3CE,GACFP,EAAa,CAAE,KAAMO,EAAQ,WAAY,MAAOA,EAAQ,YAAa,CAEzE,EAAG,CAACF,EAAQH,CAAW,CAAC,EAEnBA,EAAY,cAGd,MAAA,CAAI,UAAWM,EAAAA,WAAW,qBAAsBZ,CAAS,EACxD,SAAA,CAAAa,EAAAA,IAAC,MAAA,CACC,UAAU,gCACV,MAAO,CACL,MAAOV,EAAU,MACjB,UAAW,cAAcA,EAAU,IAAI,KAAA,CACzC,CAAA,EAEDG,EAAY,IAAKE,GAChBM,EAAAA,KAAC,SAAA,CAEC,IAAMH,GAAY,CAChBV,EAAK,QAAQ,OAAOO,EAAI,GAAG,CAAC,EAAIG,CAClC,EACA,KAAK,SACL,UAAWC,EAAAA,WACT,2BACAH,EAAO,MAAQD,EAAI,KAAO,mBAAA,EAE5B,QAAS,IAAMT,IAAWS,EAAI,GAAG,EAEhC,SAAA,CAAAA,EAAI,MACJ,OAAOA,EAAI,OAAU,UAAYA,EAAI,MAAQ,GAC5CK,EAAAA,IAAC,OAAA,CAAK,UAAU,4BAA6B,SAAAL,EAAI,KAAA,CAAM,CAAA,CAAA,EAbpDA,EAAI,GAAA,CAgBZ,CAAA,EACH,EA9B8B,IAgClC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),c=require("../shared/classNames.cjs");;/* empty css */function o({connected:e,connectedLabel:t="Bağlı",disconnectedLabel:n="Bağlantı yok",className:a,...i}){return s.jsxs("span",{...i,className:c.classNames("inconel-socket-status",e?"inconel-is-connected":"inconel-is-disconnected",a),role:"status",children:[s.jsx("i",{"aria-hidden":"true"}),e?t:n]})}exports.SocketStatus=o;
|
|
2
|
+
//# sourceMappingURL=SocketStatus.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SocketStatus.cjs","sources":["../../../../src/components/SocketStatus/SocketStatus.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface SocketStatusProps extends HTMLAttributes<HTMLSpanElement> {\n connected: boolean\n connectedLabel?: ReactNode\n disconnectedLabel?: ReactNode\n}\n\nexport function SocketStatus({\n connected,\n connectedLabel = 'Bağlı',\n disconnectedLabel = 'Bağlantı yok',\n className,\n ...props\n}: SocketStatusProps) {\n return (\n <span\n {...props}\n className={classNames(\n 'inconel-socket-status',\n connected ? 'inconel-is-connected' : 'inconel-is-disconnected',\n className,\n )}\n role=\"status\"\n >\n <i aria-hidden=\"true\" />\n {connected ? connectedLabel : disconnectedLabel}\n </span>\n )\n}\n"],"names":["SocketStatus","connected","connectedLabel","disconnectedLabel","className","props","jsxs","classNames","jsx"],"mappings":"uLAWO,SAASA,EAAa,CAC3B,UAAAC,EACA,eAAAC,EAAiB,QACjB,kBAAAC,EAAoB,eACpB,UAAAC,EACA,GAAGC,CACL,EAAsB,CACpB,OACEC,EAAAA,KAAC,OAAA,CACE,GAAGD,EACJ,UAAWE,EAAAA,WACT,wBACAN,EAAY,uBAAyB,0BACrCG,CAAA,EAEF,KAAK,SAEL,SAAA,CAAAI,EAAAA,IAAC,IAAA,CAAE,cAAY,MAAA,CAAO,EACrBP,EAAYC,EAAiBC,CAAA,CAAA,CAAA,CAGpC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),l=require("react-svg");;/* empty css */function o({className:t,src:e,title:r,render:n=!0,...u}){if(!n||!e)return null;const i=["inconel-svg",t].filter(Boolean).join(" ");return s.jsx(l.ReactSVG,{...u,className:i,src:e,title:r??void 0,wrapper:"span"})}exports.default=o;
|
|
2
|
+
//# sourceMappingURL=Svg.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Svg.cjs","sources":["../../../../src/components/Svg/Svg.tsx"],"sourcesContent":["import { ReactSVG, type Props as ReactSVGProps } from 'react-svg'\nimport './styles.css'\n\nexport interface SvgProps\n extends Omit<ReactSVGProps, 'className' | 'src' | 'title' | 'wrapper'> {\n className?: string\n src?: string | null\n title?: string | null\n render?: boolean\n}\n\nfunction Svg({\n className,\n src,\n title,\n render = true,\n ...svgProps\n}: SvgProps) {\n if (!render || !src) {\n return null\n }\n\n const classes = ['inconel-svg', className].filter(Boolean).join(' ')\n\n return (\n <ReactSVG\n {...svgProps}\n className={classes}\n src={src}\n title={title ?? undefined}\n wrapper=\"span\"\n />\n )\n}\n\nexport default Svg\n"],"names":["Svg","className","src","title","render","svgProps","classes","jsx","ReactSVG"],"mappings":"oMAWA,SAASA,EAAI,CACX,UAAAC,EACA,IAAAC,EACA,MAAAC,EACA,OAAAC,EAAS,GACT,GAAGC,CACL,EAAa,CACX,GAAI,CAACD,GAAU,CAACF,EACd,OAAO,KAGT,MAAMI,EAAU,CAAC,cAAeL,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAEnE,OACEM,EAAAA,IAACC,EAAAA,SAAA,CACE,GAAGH,EACJ,UAAWC,EACX,IAAAJ,EACA,MAAOC,GAAS,OAChB,QAAQ,MAAA,CAAA,CAGd"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),k=require("react"),f=require("../shared/classNames.cjs");;/* empty css */function v({id:a,name:o,className:r,isChecked:d,checked:h,defaultChecked:u,disabled:l=!1,sizing:m="small",color:w="black",markerVals:t,label:i,onLabel:b,offLabel:j,onChange:p,onCheckedChange:x,onBlur:_,render:N=!0}){const g=k.useId(),s=a??`inconel-switch-${g.replace(/:/g,"")}`,c=d??h;return N?e.jsxs("div",{className:f.classNames("inconel-switch",`inconel-switch--${m}`,`inconel-switch--${w}`,c&&"inconel-is-selected",l&&"inconel-is-disabled",r),children:[i&&e.jsx("span",{className:"inconel-switch__label",id:`${s}-label`,children:i}),e.jsx("input",{type:"checkbox",id:s,name:o??void 0,checked:c,defaultChecked:c===void 0?u:void 0,disabled:l,"aria-labelledby":i?`${s}-label`:void 0,onChange:n=>{p?.(n),x?.(n.target.checked,n)},onBlur:_}),e.jsx("label",{className:"inconel-switch__track",htmlFor:s,children:e.jsx("span",{className:"inconel-switch__thumb"})}),e.jsx("span",{className:"inconel-switch__state",children:t?t[c?1:0]:c?b:j})]}):null}exports.Switch=v;
|
|
2
|
+
//# sourceMappingURL=Switch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.cjs","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import {\n useId,\n type ChangeEvent,\n type FocusEventHandler,\n type ReactNode,\n} from 'react'\n\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface SwitchProps {\n id?: string\n name?: string | null\n className?: string | null\n isChecked?: boolean\n checked?: boolean\n defaultChecked?: boolean\n disabled?: boolean\n sizing?: 'small' | 'medium' | 'large' | string\n color?: string\n markerVals?: [ReactNode, ReactNode] | ReactNode[]\n label?: ReactNode\n onLabel?: ReactNode\n offLabel?: ReactNode\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void\n onCheckedChange?: (\n checked: boolean,\n event: ChangeEvent<HTMLInputElement>,\n ) => void\n onBlur?: FocusEventHandler<HTMLInputElement>\n render?: boolean\n}\n\nexport function Switch({\n id,\n name,\n className,\n isChecked,\n checked,\n defaultChecked,\n disabled = false,\n sizing = 'small',\n color = 'black',\n markerVals,\n label,\n onLabel,\n offLabel,\n onChange,\n onCheckedChange,\n onBlur,\n render = true,\n}: SwitchProps) {\n const generatedId = useId()\n const inputId = id ?? `inconel-switch-${generatedId.replace(/:/g, '')}`\n const resolvedChecked = isChecked ?? checked\n\n if (!render) return null\n\n return (\n <div\n className={classNames(\n 'inconel-switch',\n `inconel-switch--${sizing}`,\n `inconel-switch--${color}`,\n resolvedChecked && 'inconel-is-selected',\n disabled && 'inconel-is-disabled',\n className,\n )}\n >\n {label && (\n <span className=\"inconel-switch__label\" id={`${inputId}-label`}>\n {label}\n </span>\n )}\n <input\n type=\"checkbox\"\n id={inputId}\n name={name ?? undefined}\n checked={resolvedChecked}\n defaultChecked={resolvedChecked === undefined ? defaultChecked : undefined}\n disabled={disabled}\n aria-labelledby={label ? `${inputId}-label` : undefined}\n onChange={(event) => {\n onChange?.(event)\n onCheckedChange?.(event.target.checked, event)\n }}\n onBlur={onBlur}\n />\n <label className=\"inconel-switch__track\" htmlFor={inputId}>\n <span className=\"inconel-switch__thumb\" />\n </label>\n <span className=\"inconel-switch__state\">\n {markerVals\n ? markerVals[resolvedChecked ? 1 : 0]\n : resolvedChecked\n ? onLabel\n : offLabel}\n </span>\n </div>\n )\n}\n"],"names":["Switch","id","name","className","isChecked","checked","defaultChecked","disabled","sizing","color","markerVals","label","onLabel","offLabel","onChange","onCheckedChange","onBlur","render","generatedId","useId","inputId","resolvedChecked","jsxs","classNames","jsx","event"],"mappings":"0MAiCO,SAASA,EAAO,CACrB,GAAAC,EACA,KAAAC,EACA,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,eAAAC,EACA,SAAAC,EAAW,GACX,OAAAC,EAAS,QACT,MAAAC,EAAQ,QACR,WAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EACA,gBAAAC,EACA,OAAAC,EACA,OAAAC,EAAS,EACX,EAAgB,CACd,MAAMC,EAAcC,EAAAA,MAAA,EACdC,EAAUnB,GAAM,kBAAkBiB,EAAY,QAAQ,KAAM,EAAE,CAAC,GAC/DG,EAAkBjB,GAAaC,EAErC,OAAKY,EAGHK,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,WACT,iBACA,mBAAmBf,CAAM,GACzB,mBAAmBC,CAAK,GACxBY,GAAmB,sBACnBd,GAAY,sBACZJ,CAAA,EAGD,SAAA,CAAAQ,GACCa,EAAAA,IAAC,QAAK,UAAU,wBAAwB,GAAI,GAAGJ,CAAO,SACnD,SAAAT,CAAA,CACH,EAEFa,EAAAA,IAAC,QAAA,CACC,KAAK,WACL,GAAIJ,EACJ,KAAMlB,GAAQ,OACd,QAASmB,EACT,eAAgBA,IAAoB,OAAYf,EAAiB,OACjE,SAAAC,EACA,kBAAiBI,EAAQ,GAAGS,CAAO,SAAW,OAC9C,SAAWK,GAAU,CACnBX,IAAWW,CAAK,EAChBV,IAAkBU,EAAM,OAAO,QAASA,CAAK,CAC/C,EACA,OAAAT,CAAA,CAAA,EAEFQ,EAAAA,IAAC,QAAA,CAAM,UAAU,wBAAwB,QAASJ,EAChD,SAAAI,EAAAA,IAAC,OAAA,CAAK,UAAU,uBAAA,CAAwB,CAAA,CAC1C,EACAA,EAAAA,IAAC,OAAA,CAAK,UAAU,wBACb,SAAAd,EACGA,EAAWW,EAAkB,EAAI,CAAC,EAClCA,EACET,EACAC,CAAA,CACR,CAAA,CAAA,CAAA,EAzCgB,IA4CtB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),o=require("react"),c=require("./legacy/index.cjs");function b(t,r){const a=c.default,n=t.columns?.map((e,d)=>{const i=e.key??e.accessor??e.id??String(d);return{...e,id:e.id??String(i),title:e.title??e.header??e.label??"",dataKey:e.dataKey??i}});return s.jsx(a,{...t,id:t.id??"inconel-table",columns:n,ref:r})}const l=o.forwardRef(b);exports.Table=l;
|
|
2
|
+
//# sourceMappingURL=Table.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.cjs","sources":["../../../../src/components/Table/Table.tsx"],"sourcesContent":["import {\n forwardRef,\n type ForwardedRef,\n type ReactNode,\n} from 'react'\n\nimport LegacyTable from './legacy/index.jsx'\n\nexport interface Column<T extends object = Record<string, unknown>> {\n id?: string\n key?: keyof T | string\n accessor?: keyof T | string\n header?: ReactNode\n label?: ReactNode\n title?: ReactNode\n dataKey?: keyof T | string\n render?: (row: T, index: number) => ReactNode\n [key: string]: unknown\n}\n\nexport interface TableProps<T extends object = Record<string, unknown>> {\n id?: string\n data?: T[]\n columns?: Column<T>[]\n className?: string\n rowKey?: keyof T | ((row: T, index: number) => string | number)\n emptyMessage?: ReactNode\n onRowClick?: (row: T, index: number) => void\n lang?: string\n theme?: string\n loading?: boolean\n [key: string]: unknown\n}\n\nfunction TableInner<T extends object>(\n props: TableProps<T>,\n ref: ForwardedRef<unknown>,\n) {\n const Component = LegacyTable as unknown as (\n props: TableProps<T> & { ref?: ForwardedRef<unknown> },\n ) => ReactNode\n const columns = props.columns?.map((column, index) => {\n const key = column.key ?? column.accessor ?? column.id ?? String(index)\n return {\n ...column,\n id: column.id ?? String(key),\n title: column.title ?? column.header ?? column.label ?? '',\n dataKey: column.dataKey ?? key,\n }\n })\n return (\n <Component\n {...props}\n id={props.id ?? 'inconel-table'}\n columns={columns}\n ref={ref}\n />\n )\n}\n\nexport const Table = forwardRef(TableInner) as <T extends object>(\n props: TableProps<T> & { ref?: ForwardedRef<unknown> },\n) => ReactNode\n"],"names":["TableInner","props","ref","Component","LegacyTable","columns","column","index","key","jsx","Table","forwardRef"],"mappings":"wKAkCA,SAASA,EACPC,EACAC,EACA,CACA,MAAMC,EAAYC,EAAAA,QAGZC,EAAUJ,EAAM,SAAS,IAAI,CAACK,EAAQC,IAAU,CACpD,MAAMC,EAAMF,EAAO,KAAOA,EAAO,UAAYA,EAAO,IAAM,OAAOC,CAAK,EACtE,MAAO,CACL,GAAGD,EACH,GAAIA,EAAO,IAAM,OAAOE,CAAG,EAC3B,MAAOF,EAAO,OAASA,EAAO,QAAUA,EAAO,OAAS,GACxD,QAASA,EAAO,SAAWE,CAAA,CAE/B,CAAC,EACD,OACEC,EAAAA,IAACN,EAAA,CACE,GAAGF,EACJ,GAAIA,EAAM,IAAM,gBAChB,QAAAI,EACA,IAAAH,CAAA,CAAA,CAGN,CAEO,MAAMQ,EAAQC,EAAAA,WAAWX,CAAU"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./subComponents/constants.cjs"),e={id:null,title:"",tooltip:null,dataKey:null,cellClassName:null,headerClassName:null,drag:!0,locked:!1,pinAccess:l.INCONELTABLE_PIN_ACCESS_BOTH,minWidth:null,maxWidth:null,cell:null,footer:null,hideMenuSelectable:!0,hideMenuVisible:!0,cellHorizontalAlign:l.INCONELTABLE_HORIZONTAL_ALIGNMENT_CENTER,cellVerticalAlign:l.INCONELTABLE_VERTICAL_ALIGNMENT_CENTER,headerJsx:null,editCellValue:null,renderAsHTML:!1},t={id:null,title:"",tooltip:null,cols:[],headerClassName:null,drag:!0,locked:!1,pinAccess:l.INCONELTABLE_PIN_ACCESS_BOTH,headerJsx:null,maxWidth:null},n={enabled:!0,isActive:!1,storageId:null},o={enabled:!0,title:null,showDataCountText:!0,exportButton:!0,hideButton:!0,settingsButton:!0,fileExtensions:["xlsx","pdf","csv"],exportFunction:null,panelHeight:l.INCONELTABLE_AUTO,titleAreaLeftJsx:null,titleAreaRightJsx:null,buttonAreaLeftJsx:null,buttonAreaRightJsx:null},a={rowCount:10,displayedRowCount:null,showCombobox:!1,options:[{label:"5",value:5},{label:"10",value:10},{label:"15",value:15},{label:"20",value:20},{label:"30",value:30},{label:"50",value:50},{label:"100",value:100}],pageSizeChange:null,dynamicRowCount:!1,addMissingRows:!0,comboPosition:"top"},u={columnOrder:[],pinLeft:[],pinRight:[],hide:[],hideOnChange:null},s={horizontal:10,vertical:2},i={horizontal:10,vertical:0},r={activePage:null,enabled:!0,disabled:!1,dataCount:null,onPageChange:null},d={enabled:!1,loadMoreShow:!1,loadMoreAction:null},c={enabled:!1,selectedRows:null,showCheckboxColumn:!0,showSelectAll:!0,activeCols:[],passiveCols:null,multipleRowSelect:!0,preventDeselect:!1,allPageSelect:null,onChange:null,selectActiveAction:null},C={enabled:!1,sortingAction:null,activeCols:[],passiveCols:null,columnId:null,sortType:null,isClearable:!1},p={enabled:!1,activeCols:[],passiveCols:null,customFnc:null},f={enabled:!1,activeCols:[],passiveCols:null,onChange:null,dataProviderObject:null,customFilterFunction:null,showBubbles:!0,filterButtonShow:!1,customBubbleCountsObject:null,windowHeight:300,showFilterIconsOnStart:!1},P={enabled:!1,subDataKey:"subData",activeCols:[],passiveCols:null,dataProviderFunction:null,customJsxFunction:null,customHeight:150,onOpen:null,onClose:null},g={activeCols:[],passiveCols:null,onCellClick:null,onCellDoubleClick:null,onCellMouseDown:null,onCellMouseUp:null,onCellMouseEnter:null,onCellMouseLeave:null,onCellMouseMove:null,onCellContextMenu:null};exports.defaultAccordionProps=P;exports.defaultCellPaddingProps=s;exports.defaultColumnItemProps=e;exports.defaultEventManagementProps=g;exports.defaultFilteringProps=f;exports.defaultHeaderPaddingProps=i;exports.defaultInitialOptions=u;exports.defaultMergedColumnItemProps=t;exports.defaultPageSizeProps=a;exports.defaultPaginationProps=r;exports.defaultRowSpanProps=p;exports.defaultScrollableProps=d;exports.defaultSelectionProps=c;exports.defaultSettingSaveProps=n;exports.defaultSortingProps=C;exports.defaultToolbarProps=o;
|
|
2
|
+
//# sourceMappingURL=defaultProps.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultProps.cjs","sources":["../../../../../src/components/Table/legacy/defaultProps.jsx"],"sourcesContent":["import {\n INCONELTABLE_HORIZONTAL_ALIGNMENT_CENTER,\n INCONELTABLE_PIN_ACCESS_BOTH,\n INCONELTABLE_VERTICAL_ALIGNMENT_CENTER,\n INCONELTABLE_AUTO\n} from './subComponents/constants';\n\nexport const defaultColumnItemProps = {\n id: null,\n title: '',\n tooltip: null,\n dataKey: null,\n cellClassName: null,\n headerClassName: null,\n drag: true,\n locked: false,\n pinAccess: INCONELTABLE_PIN_ACCESS_BOTH,\n minWidth: null,\n maxWidth: null,\n cell: null,\n footer: null,\n hideMenuSelectable: true,\n hideMenuVisible: true,\n cellHorizontalAlign: INCONELTABLE_HORIZONTAL_ALIGNMENT_CENTER,\n cellVerticalAlign: INCONELTABLE_VERTICAL_ALIGNMENT_CENTER,\n headerJsx: null,\n editCellValue: null,\n renderAsHTML: false\n};\n\nexport const defaultMergedColumnItemProps = {\n id: null,\n title: '',\n tooltip: null,\n cols: [],\n headerClassName: null,\n drag: true,\n locked: false,\n pinAccess: INCONELTABLE_PIN_ACCESS_BOTH,\n headerJsx: null,\n maxWidth: null\n};\nexport const defaultSettingSaveProps = {\n enabled: true,\n isActive: false,\n storageId: null\n};\n\nexport const defaultToolbarProps = {\n enabled: true,\n title: null,\n showDataCountText: true,\n exportButton: true,\n hideButton: true,\n settingsButton: true,\n fileExtensions: ['xlsx', 'pdf', 'csv'],\n exportFunction: null,\n panelHeight: INCONELTABLE_AUTO,\n titleAreaLeftJsx: null,\n titleAreaRightJsx: null,\n buttonAreaLeftJsx: null,\n buttonAreaRightJsx: null\n};\n\nexport const defaultPageSizeProps = {\n rowCount: 10,\n displayedRowCount: null,\n showCombobox: false,\n options: [\n { label: '5', value: 5 },\n { label: '10', value: 10 },\n { label: '15', value: 15 },\n { label: '20', value: 20 },\n { label: '30', value: 30 },\n { label: '50', value: 50 },\n { label: '100', value: 100 }\n ],\n pageSizeChange: null,\n dynamicRowCount: false,\n addMissingRows: true,\n comboPosition: 'top'\n};\n\nexport const defaultInitialOptions = { columnOrder: [], pinLeft: [], pinRight: [], hide: [], hideOnChange: null };\n\nexport const defaultCellPaddingProps = { horizontal: 10, vertical: 2 };\nexport const defaultHeaderPaddingProps = { horizontal: 10, vertical: 0 };\n\nexport const defaultPaginationProps = {\n activePage: null,\n enabled: true,\n disabled: false,\n dataCount: null, // 200\n onPageChange: null // pageNo => {}\n};\n\nexport const defaultScrollableProps = {\n enabled: false,\n loadMoreShow: false,\n loadMoreAction: null\n};\n\nexport const defaultSelectionProps = {\n enabled: false,\n selectedRows: null,\n showCheckboxColumn: true,\n showSelectAll: true,\n activeCols: [],\n passiveCols: null,\n multipleRowSelect: true,\n preventDeselect: false,\n allPageSelect: null,\n onChange: null,\n selectActiveAction: null\n};\n\nexport const defaultSortingProps = {\n enabled: false,\n sortingAction: null,\n activeCols: [],\n passiveCols: null,\n columnId: null,\n sortType: null,\n isClearable: false\n};\n\nexport const defaultRowSpanProps = {\n enabled: false,\n activeCols: [],\n passiveCols: null,\n customFnc: null\n};\n\nexport const defaultFilteringProps = {\n enabled: false,\n activeCols: [],\n passiveCols: null,\n onChange: null,\n dataProviderObject: null,\n customFilterFunction: null,\n showBubbles: true,\n filterButtonShow: false,\n customBubbleCountsObject: null,\n windowHeight: 300,\n showFilterIconsOnStart: false\n};\n\nexport const defaultAccordionProps = {\n enabled: false,\n subDataKey: 'subData',\n activeCols: [],\n passiveCols: null,\n dataProviderFunction: null,\n customJsxFunction: null,\n customHeight: 150,\n onOpen: null,\n onClose: null\n};\n\nexport const defaultEventManagementProps = {\n activeCols: [],\n passiveCols: null,\n onCellClick: null,\n onCellDoubleClick: null,\n onCellMouseDown: null,\n onCellMouseUp: null,\n onCellMouseEnter: null,\n onCellMouseLeave: null,\n onCellMouseMove: null,\n onCellContextMenu: null\n};\n"],"names":["defaultColumnItemProps","INCONELTABLE_PIN_ACCESS_BOTH","INCONELTABLE_HORIZONTAL_ALIGNMENT_CENTER","INCONELTABLE_VERTICAL_ALIGNMENT_CENTER","defaultMergedColumnItemProps","defaultSettingSaveProps","defaultToolbarProps","INCONELTABLE_AUTO","defaultPageSizeProps","defaultInitialOptions","defaultCellPaddingProps","defaultHeaderPaddingProps","defaultPaginationProps","defaultScrollableProps","defaultSelectionProps","defaultSortingProps","defaultRowSpanProps","defaultFilteringProps","defaultAccordionProps","defaultEventManagementProps"],"mappings":"iIAOaA,EAAyB,CACpC,GAAI,KACJ,MAAO,GACP,QAAS,KACT,QAAS,KACT,cAAe,KACf,gBAAiB,KACjB,KAAM,GACN,OAAQ,GACR,UAAWC,EAAAA,6BACX,SAAU,KACV,SAAU,KACV,KAAM,KACN,OAAQ,KACR,mBAAoB,GACpB,gBAAiB,GACjB,oBAAqBC,EAAAA,yCACrB,kBAAmBC,EAAAA,uCACnB,UAAW,KACX,cAAe,KACf,aAAc,EAChB,EAEaC,EAA+B,CAC1C,GAAI,KACJ,MAAO,GACP,QAAS,KACT,KAAM,CAAA,EACN,gBAAiB,KACjB,KAAM,GACN,OAAQ,GACR,UAAWH,EAAAA,6BACX,UAAW,KACX,SAAU,IACZ,EACaI,EAA0B,CACrC,QAAS,GACT,SAAU,GACV,UAAW,IACb,EAEaC,EAAsB,CACjC,QAAS,GACT,MAAO,KACP,kBAAmB,GACnB,aAAc,GACd,WAAY,GACZ,eAAgB,GAChB,eAAgB,CAAC,OAAQ,MAAO,KAAK,EACrC,eAAgB,KAChB,YAAaC,EAAAA,kBACb,iBAAkB,KAClB,kBAAmB,KACnB,kBAAmB,KACnB,mBAAoB,IACtB,EAEaC,EAAuB,CAClC,SAAU,GACV,kBAAmB,KACnB,aAAc,GACd,QAAS,CACP,CAAE,MAAO,IAAK,MAAO,CAAA,EACrB,CAAE,MAAO,KAAM,MAAO,EAAA,EACtB,CAAE,MAAO,KAAM,MAAO,EAAA,EACtB,CAAE,MAAO,KAAM,MAAO,EAAA,EACtB,CAAE,MAAO,KAAM,MAAO,EAAA,EACtB,CAAE,MAAO,KAAM,MAAO,EAAA,EACtB,CAAE,MAAO,MAAO,MAAO,GAAA,CAAI,EAE7B,eAAgB,KAChB,gBAAiB,GACjB,eAAgB,GAChB,cAAe,KACjB,EAEaC,EAAwB,CAAE,YAAa,CAAA,EAAI,QAAS,CAAA,EAAI,SAAU,GAAI,KAAM,CAAA,EAAI,aAAc,IAAA,EAE9FC,EAA0B,CAAE,WAAY,GAAI,SAAU,CAAA,EACtDC,EAA4B,CAAE,WAAY,GAAI,SAAU,CAAA,EAExDC,EAAyB,CACpC,WAAY,KACZ,QAAS,GACT,SAAU,GACV,UAAW,KACX,aAAc,IAChB,EAEaC,EAAyB,CACpC,QAAS,GACT,aAAc,GACd,eAAgB,IAClB,EAEaC,EAAwB,CACnC,QAAS,GACT,aAAc,KACd,mBAAoB,GACpB,cAAe,GACf,WAAY,CAAA,EACZ,YAAa,KACb,kBAAmB,GACnB,gBAAiB,GACjB,cAAe,KACf,SAAU,KACV,mBAAoB,IACtB,EAEaC,EAAsB,CACjC,QAAS,GACT,cAAe,KACf,WAAY,CAAA,EACZ,YAAa,KACb,SAAU,KACV,SAAU,KACV,YAAa,EACf,EAEaC,EAAsB,CACjC,QAAS,GACT,WAAY,CAAA,EACZ,YAAa,KACb,UAAW,IACb,EAEaC,EAAwB,CACnC,QAAS,GACT,WAAY,CAAA,EACZ,YAAa,KACb,SAAU,KACV,mBAAoB,KACpB,qBAAsB,KACtB,YAAa,GACb,iBAAkB,GAClB,yBAA0B,KAC1B,aAAc,IACd,uBAAwB,EAC1B,EAEaC,EAAwB,CACnC,QAAS,GACT,WAAY,UACZ,WAAY,CAAA,EACZ,YAAa,KACb,qBAAsB,KACtB,kBAAmB,KACnB,aAAc,IACd,OAAQ,KACR,QAAS,IACX,EAEaC,EAA8B,CACzC,WAAY,CAAA,EACZ,YAAa,KACb,YAAa,KACb,kBAAmB,KACnB,gBAAiB,KACjB,cAAe,KACf,iBAAkB,KAClB,iBAAkB,KAClB,gBAAiB,KACjB,kBAAmB,IACrB"}
|