Large-screen/TV support library for Enact, containing a variety of UI components.


4.0.325 days ago5 years agoMinified + gzip package size for @enact/moonstone in KB


@enact/moonstone npm (scoped)

The set of components for an Enact-based application targeting smart TVs.


import kind from '@enact/core/kind';
import Button from '@enact/moonstone/Button';
import MoonstoneDecorator from '@enact/moonstone/MoonstoneDecorator';
import React from 'react';

const MyApp = kind({
    name: 'MyApp',
    render: () => (<Button>Hello, Enact!</Button>)

const MyMoonstoneApp = MoonstoneDecorator(MyApp);

export default MyMoonstoneApp;

Note: The moonstone decorator must be applied to the base component. This decorator also applies @enact/i18n/I18nDecorator, @enact/spotlight and @enact/ui/resolution decorators.


npm install --save @enact/moonstone


Tests are implemented in mocha and are run with the Karma runner.

npm test

Let's create your own Moonstone App

The Enact CLI itself can install the moonstone template via NPM or git URI.

enact template install @enact/template-moonstone

Once installed, you can specify the moonstone template during new application creation:

enact create -t moonstone MyApp

Copyright and License Information

Unless otherwise specified, all content, including all source code files and documentation files in this repository are:

Copyright (c) 2012-2021 LG Electronics

Unless otherwise specified or set forth in the NOTICE file, all content, including all source code files and documentation files in this repository are: Licensed under the Apache License, Version 2.0 (the "License"); you may not use this content except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.