Package Exports
- naive-ui
- naive-ui/es/index.mjs
- naive-ui/lib/_internal/index
- naive-ui/lib/_internal/index.js
- naive-ui/lib/_internal/scrollbar/styles
- naive-ui/lib/_internal/scrollbar/styles/index.js
- naive-ui/lib/_internal/select-menu/styles
- naive-ui/lib/_internal/select-menu/styles/index.js
- naive-ui/lib/_internal/selection/styles
- naive-ui/lib/_internal/selection/styles/index.js
- naive-ui/lib/_styles/common
- naive-ui/lib/_styles/common/index.js
- naive-ui/lib/affix/src/Affix
- naive-ui/lib/affix/src/Affix.js
- naive-ui/lib/alert/src/Alert
- naive-ui/lib/alert/src/Alert.js
- naive-ui/lib/alert/styles
- naive-ui/lib/alert/styles/index.js
- naive-ui/lib/anchor/src/AnchorAdapter
- naive-ui/lib/anchor/src/AnchorAdapter.js
- naive-ui/lib/anchor/src/Link
- naive-ui/lib/anchor/src/Link.js
- naive-ui/lib/anchor/styles
- naive-ui/lib/anchor/styles/index.js
- naive-ui/lib/auto-complete/src/AutoComplete
- naive-ui/lib/auto-complete/src/AutoComplete.js
- naive-ui/lib/auto-complete/styles
- naive-ui/lib/auto-complete/styles/index.js
- naive-ui/lib/avatar/src/Avatar
- naive-ui/lib/avatar/src/Avatar.js
- naive-ui/lib/avatar/styles
- naive-ui/lib/avatar/styles/index.js
- naive-ui/lib/back-top/src/BackTop
- naive-ui/lib/back-top/src/BackTop.js
- naive-ui/lib/back-top/styles
- naive-ui/lib/back-top/styles/index.js
- naive-ui/lib/badge/src/Badge
- naive-ui/lib/badge/src/Badge.js
- naive-ui/lib/badge/styles
- naive-ui/lib/badge/styles/index.js
- naive-ui/lib/breadcrumb/src/Breadcrumb
- naive-ui/lib/breadcrumb/src/Breadcrumb.js
- naive-ui/lib/breadcrumb/src/BreadcrumbItem
- naive-ui/lib/breadcrumb/src/BreadcrumbItem.js
- naive-ui/lib/breadcrumb/styles
- naive-ui/lib/breadcrumb/styles/index.js
- naive-ui/lib/button/src/Button
- naive-ui/lib/button/src/Button.js
- naive-ui/lib/button/styles
- naive-ui/lib/button/styles/index.js
- naive-ui/lib/calendar/src/Calendar
- naive-ui/lib/calendar/src/Calendar.js
- naive-ui/lib/card/src/Card
- naive-ui/lib/card/src/Card.js
- naive-ui/lib/card/styles
- naive-ui/lib/card/styles/index.js
- naive-ui/lib/carousel/src/Carousel
- naive-ui/lib/carousel/src/Carousel.js
- naive-ui/lib/cascader
- naive-ui/lib/cascader/index.js
- naive-ui/lib/cascader/src/Cascader
- naive-ui/lib/cascader/src/Cascader.js
- naive-ui/lib/cascader/styles
- naive-ui/lib/cascader/styles/index.js
- naive-ui/lib/checkbox/src/Checkbox
- naive-ui/lib/checkbox/src/Checkbox.js
- naive-ui/lib/checkbox/src/CheckboxGroup
- naive-ui/lib/checkbox/src/CheckboxGroup.js
- naive-ui/lib/checkbox/styles
- naive-ui/lib/checkbox/styles/index.js
- naive-ui/lib/code/src/Code
- naive-ui/lib/code/src/Code.js
- naive-ui/lib/code/styles
- naive-ui/lib/code/styles/index.js
- naive-ui/lib/collapse
- naive-ui/lib/collapse-transition/src/CollapseTransition
- naive-ui/lib/collapse-transition/src/CollapseTransition.js
- naive-ui/lib/collapse/index.js
- naive-ui/lib/collapse/src/Collapse
- naive-ui/lib/collapse/src/Collapse.js
- naive-ui/lib/collapse/src/CollapseItem
- naive-ui/lib/collapse/src/CollapseItem.js
- naive-ui/lib/collapse/styles
- naive-ui/lib/collapse/styles/index.js
- naive-ui/lib/color-picker
- naive-ui/lib/color-picker/index.js
- naive-ui/lib/color-picker/src/ColorPicker
- naive-ui/lib/color-picker/src/ColorPicker.js
- naive-ui/lib/composables/use-theme-vars
- naive-ui/lib/composables/use-theme-vars.js
- naive-ui/lib/config-provider/src/ConfigProvider
- naive-ui/lib/config-provider/src/ConfigProvider.js
- naive-ui/lib/config-provider/src/interface
- naive-ui/lib/config-provider/src/interface.js
- naive-ui/lib/data-table/src/DataTable
- naive-ui/lib/data-table/src/DataTable.js
- naive-ui/lib/data-table/styles
- naive-ui/lib/data-table/styles/index.js
- naive-ui/lib/date-picker
- naive-ui/lib/date-picker/index.js
- naive-ui/lib/date-picker/src/DatePicker
- naive-ui/lib/date-picker/src/DatePicker.js
- naive-ui/lib/date-picker/styles
- naive-ui/lib/date-picker/styles/index.js
- naive-ui/lib/descriptions/src/Descriptions
- naive-ui/lib/descriptions/src/Descriptions.js
- naive-ui/lib/descriptions/src/DescriptionsItem
- naive-ui/lib/descriptions/src/DescriptionsItem.js
- naive-ui/lib/descriptions/styles
- naive-ui/lib/descriptions/styles/index.js
- naive-ui/lib/dialog/src/Dialog
- naive-ui/lib/dialog/src/Dialog.js
- naive-ui/lib/dialog/src/DialogProvider
- naive-ui/lib/dialog/src/DialogProvider.js
- naive-ui/lib/dialog/styles
- naive-ui/lib/dialog/styles/index.js
- naive-ui/lib/divider/src/Divider
- naive-ui/lib/divider/src/Divider.js
- naive-ui/lib/divider/styles
- naive-ui/lib/divider/styles/index.js
- naive-ui/lib/drawer/src/Drawer
- naive-ui/lib/drawer/src/Drawer.js
- naive-ui/lib/drawer/src/DrawerContent
- naive-ui/lib/drawer/src/DrawerContent.js
- naive-ui/lib/drawer/styles
- naive-ui/lib/drawer/styles/index.js
- naive-ui/lib/dropdown/src/Dropdown
- naive-ui/lib/dropdown/src/Dropdown.js
- naive-ui/lib/dropdown/styles
- naive-ui/lib/dropdown/styles/index.js
- naive-ui/lib/dynamic-input/src/DynamicInput
- naive-ui/lib/dynamic-input/src/DynamicInput.js
- naive-ui/lib/dynamic-input/styles
- naive-ui/lib/dynamic-input/styles/index.js
- naive-ui/lib/dynamic-tags/src/DynamicTags
- naive-ui/lib/dynamic-tags/src/DynamicTags.js
- naive-ui/lib/dynamic-tags/styles
- naive-ui/lib/dynamic-tags/styles/index.js
- naive-ui/lib/element/src/Element
- naive-ui/lib/element/src/Element.js
- naive-ui/lib/element/styles
- naive-ui/lib/element/styles/index.js
- naive-ui/lib/ellipsis/src/Ellipsis
- naive-ui/lib/ellipsis/src/Ellipsis.js
- naive-ui/lib/empty/src/Empty
- naive-ui/lib/empty/src/Empty.js
- naive-ui/lib/empty/styles
- naive-ui/lib/empty/styles/index.js
- naive-ui/lib/form
- naive-ui/lib/form/index.js
- naive-ui/lib/form/src/Form
- naive-ui/lib/form/src/Form.js
- naive-ui/lib/form/src/FormItem
- naive-ui/lib/form/src/FormItem.js
- naive-ui/lib/form/src/FormItemCol
- naive-ui/lib/form/src/FormItemCol.js
- naive-ui/lib/form/src/FormItemGridItem
- naive-ui/lib/form/src/FormItemGridItem.js
- naive-ui/lib/form/src/FormItemRow
- naive-ui/lib/form/src/FormItemRow.js
- naive-ui/lib/form/styles
- naive-ui/lib/form/styles/index.js
- naive-ui/lib/global-style/src/GlobalStyle
- naive-ui/lib/global-style/src/GlobalStyle.js
- naive-ui/lib/gradient-text/src/GradientText
- naive-ui/lib/gradient-text/src/GradientText.js
- naive-ui/lib/gradient-text/styles
- naive-ui/lib/gradient-text/styles/index.js
- naive-ui/lib/grid/src/Grid
- naive-ui/lib/grid/src/Grid.js
- naive-ui/lib/grid/src/GridItem
- naive-ui/lib/grid/src/GridItem.js
- naive-ui/lib/icon/src/Icon
- naive-ui/lib/icon/src/Icon.js
- naive-ui/lib/icon/styles
- naive-ui/lib/icon/styles/index.js
- naive-ui/lib/image/src/Image
- naive-ui/lib/image/src/Image.js
- naive-ui/lib/image/src/ImageGroup
- naive-ui/lib/image/src/ImageGroup.js
- naive-ui/lib/index.js
- naive-ui/lib/input
- naive-ui/lib/input-number
- naive-ui/lib/input-number/index.js
- naive-ui/lib/input-number/src/InputNumber
- naive-ui/lib/input-number/src/InputNumber.js
- naive-ui/lib/input-number/styles
- naive-ui/lib/input-number/styles/index.js
- naive-ui/lib/input/index.js
- naive-ui/lib/input/src/Input
- naive-ui/lib/input/src/Input.js
- naive-ui/lib/input/src/InputGroup
- naive-ui/lib/input/src/InputGroup.js
- naive-ui/lib/input/src/InputGroupLabel
- naive-ui/lib/input/src/InputGroupLabel.js
- naive-ui/lib/input/styles
- naive-ui/lib/input/styles/index.js
- naive-ui/lib/layout/src/Layout
- naive-ui/lib/layout/src/Layout.js
- naive-ui/lib/layout/src/LayoutContent
- naive-ui/lib/layout/src/LayoutContent.js
- naive-ui/lib/layout/src/LayoutFooter
- naive-ui/lib/layout/src/LayoutFooter.js
- naive-ui/lib/layout/src/LayoutHeader
- naive-ui/lib/layout/src/LayoutHeader.js
- naive-ui/lib/layout/src/LayoutSider
- naive-ui/lib/layout/src/LayoutSider.js
- naive-ui/lib/layout/styles
- naive-ui/lib/layout/styles/index.js
- naive-ui/lib/legacy-grid/src/Col
- naive-ui/lib/legacy-grid/src/Col.js
- naive-ui/lib/legacy-grid/src/Row
- naive-ui/lib/legacy-grid/src/Row.js
- naive-ui/lib/list/src/List
- naive-ui/lib/list/src/List.js
- naive-ui/lib/list/src/ListItem
- naive-ui/lib/list/src/ListItem.js
- naive-ui/lib/list/styles
- naive-ui/lib/list/styles/index.js
- naive-ui/lib/loading-bar/src/LoadingBarProvider
- naive-ui/lib/loading-bar/src/LoadingBarProvider.js
- naive-ui/lib/loading-bar/src/use-loading-bar
- naive-ui/lib/loading-bar/src/use-loading-bar.js
- naive-ui/lib/loading-bar/styles
- naive-ui/lib/loading-bar/styles/index.js
- naive-ui/lib/locales/common/deDE
- naive-ui/lib/locales/common/deDE.js
- naive-ui/lib/locales/common/enUS
- naive-ui/lib/locales/common/enUS.js
- naive-ui/lib/locales/common/frFR
- naive-ui/lib/locales/common/frFR.js
- naive-ui/lib/locales/common/idID
- naive-ui/lib/locales/common/idID.js
- naive-ui/lib/locales/common/jaJP
- naive-ui/lib/locales/common/jaJP.js
- naive-ui/lib/locales/common/nbNO
- naive-ui/lib/locales/common/nbNO.js
- naive-ui/lib/locales/common/ruRU
- naive-ui/lib/locales/common/ruRU.js
- naive-ui/lib/locales/common/ukUA
- naive-ui/lib/locales/common/ukUA.js
- naive-ui/lib/locales/common/zhCN
- naive-ui/lib/locales/common/zhCN.js
- naive-ui/lib/locales/common/zhTW
- naive-ui/lib/locales/common/zhTW.js
- naive-ui/lib/locales/date/deDE
- naive-ui/lib/locales/date/deDE.js
- naive-ui/lib/locales/date/enUS
- naive-ui/lib/locales/date/enUS.js
- naive-ui/lib/locales/date/frFR
- naive-ui/lib/locales/date/frFR.js
- naive-ui/lib/locales/date/idID
- naive-ui/lib/locales/date/idID.js
- naive-ui/lib/locales/date/jaJP
- naive-ui/lib/locales/date/jaJP.js
- naive-ui/lib/locales/date/nbNO
- naive-ui/lib/locales/date/nbNO.js
- naive-ui/lib/locales/date/ruRU
- naive-ui/lib/locales/date/ruRU.js
- naive-ui/lib/locales/date/ukUA
- naive-ui/lib/locales/date/ukUA.js
- naive-ui/lib/locales/date/zhCN
- naive-ui/lib/locales/date/zhCN.js
- naive-ui/lib/locales/date/zhTW
- naive-ui/lib/locales/date/zhTW.js
- naive-ui/lib/locales/utils/index
- naive-ui/lib/locales/utils/index.js
- naive-ui/lib/log/src/Log
- naive-ui/lib/log/src/Log.js
- naive-ui/lib/log/styles
- naive-ui/lib/log/styles/index.js
- naive-ui/lib/mention/src/Mention
- naive-ui/lib/mention/src/Mention.js
- naive-ui/lib/mention/styles
- naive-ui/lib/mention/styles/index.js
- naive-ui/lib/menu/src/Menu
- naive-ui/lib/menu/src/Menu.js
- naive-ui/lib/menu/styles
- naive-ui/lib/menu/styles/index.js
- naive-ui/lib/message/src/MessageProvider
- naive-ui/lib/message/src/MessageProvider.js
- naive-ui/lib/message/src/use-message
- naive-ui/lib/message/src/use-message.js
- naive-ui/lib/message/styles
- naive-ui/lib/message/styles/index.js
- naive-ui/lib/modal/src/Modal
- naive-ui/lib/modal/src/Modal.js
- naive-ui/lib/modal/styles
- naive-ui/lib/modal/styles/index.js
- naive-ui/lib/notification/src/NotificationProvider
- naive-ui/lib/notification/src/NotificationProvider.js
- naive-ui/lib/notification/src/use-notification
- naive-ui/lib/notification/src/use-notification.js
- naive-ui/lib/notification/styles
- naive-ui/lib/notification/styles/index.js
- naive-ui/lib/page-header/src/PageHeader
- naive-ui/lib/page-header/src/PageHeader.js
- naive-ui/lib/page-header/styles
- naive-ui/lib/page-header/styles/index.js
- naive-ui/lib/pagination/src/Pagination
- naive-ui/lib/pagination/src/Pagination.js
- naive-ui/lib/pagination/styles
- naive-ui/lib/pagination/styles/index.js
- naive-ui/lib/popconfirm/src/Popconfirm
- naive-ui/lib/popconfirm/src/Popconfirm.js
- naive-ui/lib/popconfirm/styles
- naive-ui/lib/popconfirm/styles/index.js
- naive-ui/lib/popover/src/Popover
- naive-ui/lib/popover/src/Popover.js
- naive-ui/lib/popover/styles
- naive-ui/lib/popover/styles/index.js
- naive-ui/lib/popselect/src/Popselect
- naive-ui/lib/popselect/src/Popselect.js
- naive-ui/lib/popselect/styles
- naive-ui/lib/popselect/styles/index.js
- naive-ui/lib/progress/src/Progress
- naive-ui/lib/progress/src/Progress.js
- naive-ui/lib/progress/styles
- naive-ui/lib/progress/styles/index.js
- naive-ui/lib/radio/src/Radio
- naive-ui/lib/radio/src/Radio.js
- naive-ui/lib/radio/src/RadioButton
- naive-ui/lib/radio/src/RadioButton.js
- naive-ui/lib/radio/src/RadioGroup
- naive-ui/lib/radio/src/RadioGroup.js
- naive-ui/lib/radio/styles
- naive-ui/lib/radio/styles/index.js
- naive-ui/lib/rate/src/Rate
- naive-ui/lib/rate/src/Rate.js
- naive-ui/lib/rate/styles
- naive-ui/lib/rate/styles/index.js
- naive-ui/lib/result/src/Result
- naive-ui/lib/result/src/Result.js
- naive-ui/lib/result/styles
- naive-ui/lib/result/styles/index.js
- naive-ui/lib/select
- naive-ui/lib/select/index.js
- naive-ui/lib/select/src/Select
- naive-ui/lib/select/src/Select.js
- naive-ui/lib/select/styles
- naive-ui/lib/select/styles/index.js
- naive-ui/lib/skeleton/src/Skeleton
- naive-ui/lib/skeleton/src/Skeleton.js
- naive-ui/lib/slider
- naive-ui/lib/slider/index.js
- naive-ui/lib/slider/src/Slider
- naive-ui/lib/slider/src/Slider.js
- naive-ui/lib/slider/styles
- naive-ui/lib/slider/styles/index.js
- naive-ui/lib/space/src/Space
- naive-ui/lib/space/src/Space.js
- naive-ui/lib/space/styles
- naive-ui/lib/space/styles/index.js
- naive-ui/lib/spin/src/Spin
- naive-ui/lib/spin/src/Spin.js
- naive-ui/lib/spin/styles
- naive-ui/lib/spin/styles/index.js
- naive-ui/lib/statistic/src/Statistic
- naive-ui/lib/statistic/src/Statistic.js
- naive-ui/lib/statistic/styles
- naive-ui/lib/statistic/styles/index.js
- naive-ui/lib/steps/src/Step
- naive-ui/lib/steps/src/Step.js
- naive-ui/lib/steps/src/Steps
- naive-ui/lib/steps/src/Steps.js
- naive-ui/lib/steps/styles
- naive-ui/lib/steps/styles/index.js
- naive-ui/lib/switch
- naive-ui/lib/switch/index.js
- naive-ui/lib/switch/src/Switch
- naive-ui/lib/switch/src/Switch.js
- naive-ui/lib/switch/styles
- naive-ui/lib/switch/styles/index.js
- naive-ui/lib/table/src/Table
- naive-ui/lib/table/src/Table.js
- naive-ui/lib/table/src/Tbody
- naive-ui/lib/table/src/Tbody.js
- naive-ui/lib/table/src/Td
- naive-ui/lib/table/src/Td.js
- naive-ui/lib/table/src/Th
- naive-ui/lib/table/src/Th.js
- naive-ui/lib/table/src/Thead
- naive-ui/lib/table/src/Thead.js
- naive-ui/lib/table/src/Tr
- naive-ui/lib/table/src/Tr.js
- naive-ui/lib/table/styles
- naive-ui/lib/table/styles/index.js
- naive-ui/lib/tabs
- naive-ui/lib/tabs/index.js
- naive-ui/lib/tabs/src/Tab
- naive-ui/lib/tabs/src/Tab.js
- naive-ui/lib/tabs/src/TabPane
- naive-ui/lib/tabs/src/TabPane.js
- naive-ui/lib/tabs/src/Tabs
- naive-ui/lib/tabs/src/Tabs.js
- naive-ui/lib/tabs/styles
- naive-ui/lib/tabs/styles/index.js
- naive-ui/lib/tag/src/Tag
- naive-ui/lib/tag/src/Tag.js
- naive-ui/lib/tag/styles
- naive-ui/lib/tag/styles/index.js
- naive-ui/lib/theme-editor/src/ThemeEditor
- naive-ui/lib/theme-editor/src/ThemeEditor.js
- naive-ui/lib/themes/dark
- naive-ui/lib/themes/dark.js
- naive-ui/lib/themes/utils
- naive-ui/lib/themes/utils.js
- naive-ui/lib/thing/src/Thing
- naive-ui/lib/thing/src/Thing.js
- naive-ui/lib/thing/styles
- naive-ui/lib/thing/styles/index.js
- naive-ui/lib/time-picker/src/TimePicker
- naive-ui/lib/time-picker/src/TimePicker.js
- naive-ui/lib/time-picker/styles
- naive-ui/lib/time-picker/styles/index.js
- naive-ui/lib/time/src/Time
- naive-ui/lib/time/src/Time.js
- naive-ui/lib/timeline/src/Timeline
- naive-ui/lib/timeline/src/Timeline.js
- naive-ui/lib/timeline/src/TimelineItem
- naive-ui/lib/timeline/src/TimelineItem.js
- naive-ui/lib/timeline/styles
- naive-ui/lib/timeline/styles/index.js
- naive-ui/lib/tooltip/src/Tooltip
- naive-ui/lib/tooltip/src/Tooltip.js
- naive-ui/lib/tooltip/styles
- naive-ui/lib/tooltip/styles/index.js
- naive-ui/lib/transfer/src/Transfer
- naive-ui/lib/transfer/src/Transfer.js
- naive-ui/lib/transfer/styles
- naive-ui/lib/transfer/styles/index.js
- naive-ui/lib/tree-select/src/TreeSelect
- naive-ui/lib/tree-select/src/TreeSelect.js
- naive-ui/lib/tree-select/styles
- naive-ui/lib/tree-select/styles/index.js
- naive-ui/lib/tree/src/Tree
- naive-ui/lib/tree/src/Tree.js
- naive-ui/lib/tree/styles
- naive-ui/lib/tree/styles/index.js
- naive-ui/lib/typography/src/a
- naive-ui/lib/typography/src/a.js
- naive-ui/lib/typography/src/blockquote
- naive-ui/lib/typography/src/blockquote.js
- naive-ui/lib/typography/src/headers
- naive-ui/lib/typography/src/headers.js
- naive-ui/lib/typography/src/hr
- naive-ui/lib/typography/src/hr.js
- naive-ui/lib/typography/src/li
- naive-ui/lib/typography/src/li.js
- naive-ui/lib/typography/src/ol
- naive-ui/lib/typography/src/ol.js
- naive-ui/lib/typography/src/p
- naive-ui/lib/typography/src/p.js
- naive-ui/lib/typography/src/text
- naive-ui/lib/typography/src/text.js
- naive-ui/lib/typography/src/ul
- naive-ui/lib/typography/src/ul.js
- naive-ui/lib/typography/styles
- naive-ui/lib/typography/styles/index.js
- naive-ui/lib/upload/src/Upload
- naive-ui/lib/upload/src/Upload.js
- naive-ui/lib/upload/src/UploadDragger
- naive-ui/lib/upload/src/UploadDragger.js
- naive-ui/lib/upload/src/UploadFileList
- naive-ui/lib/upload/src/UploadFileList.js
- naive-ui/lib/upload/src/UploadTrigger
- naive-ui/lib/upload/src/UploadTrigger.js
- naive-ui/lib/upload/styles
- naive-ui/lib/upload/styles/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (naive-ui) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Naive UI
A Vue 3 Component Library
Fairly Complete, Theme Customizable, Uses TypeScript, Fast
Kinda Interesting
English | 中文
Documentation
Community
DingTalk Group 1 (Member limit reached) 33482509
DingTalk Group 2 (Member limit reached) 35886835
DingTalk Group 3 (Member limit reached) 32377370
DingTalk Group 4 (Member limit reached) 8165002788
DingTalk Group 5 (Member limit reached) 31205022250
DingTalk Group 6 62720001971
Features
Fairly Complete
There are more than 90 components. Hope they can help you write less code.
What's more, they are all treeshakable.
Theme Customizable
We provide an advanced type safe theme system built using TypeScript. All you need is to provide a theme overrides object in JS. Then all the stuff will be done by us.
What's more, no less/sass/css variables, no webpack loaders are required.
Uses TypeScript
All the stuff in Naive UI is written in TypeScript. It can work with your typescript project seamlessly.
What's more, you don't need to import any CSS to use the components.
Fast
I try to make it not rather slow. All data components works with virtual list by default.
What's more, ..., no more. Just enjoy it.
Installation
npm
Use npm to install.
npm i -D naive-uiFonts
npm i -D vfontsIcons
Naive UI recommends using xicons as icon library.
Design Resources
Contributing
Please see CONTRIBUTING.md.
License
Naive UI is licensed under the MIT license.
Graphics resources of result component is licensed under the CC-BY 4.0. The graphics resources come from Twemoji.