Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"validate": "node ./.build/validate-icons.mjs",
"release": "git pull && release-it --verbose",
"build:copy": "rm -rf ./icons && mkdir ./icons && cp ./_site/tags.json tags.json && cp ./_site/icons/* ./icons/ && rm -rf ./_site/",
"build:packages": "pnpm run build:icons && pnpm run build:sprite && pnpm run build:react && pnpm run build:react-native && pnpm run build:preact && pnpm run build:solidjs && pnpm run build:svelte && pnpm run build:svelte-runes && pnpm run build:vue && pnpm run build:angular && pnpm run build:png && pnpm run build:pdf && pnpm run build:esp && pnpm run build:webfont",
"build:packages": "pnpm run build:icons && pnpm run build:sprite && pnpm run build:react && pnpm run build:react-native && pnpm run build:preact && pnpm run build:solidjs && pnpm run build:svelte && pnpm run build:svelte-runes && pnpm run build:vue && pnpm run build:ember && pnpm run build:angular && pnpm run build:png && pnpm run build:pdf && pnpm run build:esp && pnpm run build:webfont",
"build:icons": "pnpm --filter @tabler/icons build",
"build:angular": "pnpm --filter @tabler/icons-angular build",
"build:react": "pnpm --filter @tabler/icons-react build",
Expand All @@ -43,6 +43,7 @@
"build:svelte": "pnpm --filter @tabler/icons-svelte build",
"build:svelte-runes": "pnpm --filter @tabler/icons-svelte-runes build",
"build:vue": "pnpm --filter @tabler/icons-vue build",
"build:ember": "pnpm --filter @tabler/icons-ember build",
"build:png": "pnpm --filter @tabler/icons-png build",
"build:pdf": "pnpm --filter @tabler/icons-pdf build",
"build:esp": "pnpm --filter @tabler/icons-esp build",
Expand Down
6 changes: 6 additions & 0 deletions packages/icons-ember/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
src/aliases.ts
src/dynamic-imports.ts
src/icons-list.ts
dist
declarations

80 changes: 80 additions & 0 deletions packages/icons-ember/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Tabler Icons for Ember

<p align="center">
<a href="https://tabler.io/icons?ref=tabler-icons-readme"><img src="https://raw.githubusercontent.com/tabler/tabler-icons/main/.github/packages/og-package-ember.png" alt="Tabler Icons" width="838"></a>
</p>

<p align="center">
Implementation of the Tabler Icons library for Ember applications.
<p>

<p align="center">
<a href="https://tabler.io/icons"><strong>Browse all icons at tabler.io &rarr;</strong></a>
</p>

<p align="center">
<a href="https://github.com/tabler/tabler-icons/releases"><img src="https://img.shields.io/npm/v/@tabler/icons" alt="Latest Release"></a>
<a href="https://github.com/tabler/tabler-icons/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/@tabler/icons.svg" alt="License"></a>
</p>

## Sponsors

**If you want to support my project and help me grow it, you can [become a sponsor on GitHub](https://github.com/sponsors/codecalm) or just [donate on PayPal](https://paypal.me/codecalm) :)**

<a href="https://github.com/sponsors/codecalm">
<img src="https://cdn.jsdelivr.net/gh/tabler/sponsors@latest/sponsors.svg" alt="Tabler sponsors">
</a>

## Installation

```
yarn add @tabler/icons-ember
```

or

```
npm install @tabler/icons-ember
```

or

```
pnpm install @tabler/icons-ember
```

or just [download from Github](https://github.com/tabler/tabler-icons/releases).

## How to use

```gts
import { IconAd, IconAdFilled } from '@tabler/icons-ember';

<template>
<IconAd @size={{48}} @stroke={{1.5}} />
<IconAdFilled @size={{48}} @color="red" />
</template>
```

### Args

| name | type | default |
| --------- | -------- | ------------ |
| `@size` | _Number_ | 24 |
| `@color` | _String_ | currentColor |
| `@stroke` | _Number_ | 2 |
| `@title` | _String_ | |

## Contributing

For more info on how to contribute please see the [contribution guidelines](https://github.com/tabler/tabler-icons/blob/main/CONTRIBUTING.md).

Caught a mistake or want to contribute to the documentation? [Edit this page on Github](https://github.com/tabler/tabler-icons/blob/main/packages/icons-ember/README.md)

## License

Tabler Icons is licensed under the [MIT License](https://github.com/tabler/tabler-icons/blob/master/LICENSE).

## Sponsor Tabler

<a href="https://github.com/sponsors/codecalm" target="_blank"><img src="https://github.com/tabler/tabler/raw/dev/src/static/sponsor-banner-readme.png?raw=true" alt="Sponsor Tabler" /></a>
6 changes: 6 additions & 0 deletions packages/icons-ember/addon-main.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
'use strict';

const { addonV1Shim } = require('@embroider/addon-shim');

module.exports = addonV1Shim(__dirname);

20 changes: 20 additions & 0 deletions packages/icons-ember/babel.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"plugins": [
[
"@babel/plugin-transform-typescript",
{
"allExtensions": true,
"onlyRemoveTypeImports": true,
"allowDeclareFields": true
}
],
[
"babel-plugin-ember-template-compilation",
{
"targetFormat": "hbs",
"transforms": []
}
]
]
}

51 changes: 51 additions & 0 deletions packages/icons-ember/build.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/usr/bin/env node

import {
buildIconsList,
buildIconsDynamicImport,
buildJsIcons,
} from '../../.build/build-icons.mjs';

const componentTemplate = ({ type, name, namePascal, children }) => `\
import Component from '@glimmer/component';
import Icon from '../Icon.gts';
import type { IconNode, IconSignature as TablerIconSignature } from '../types';

const iconNode: IconNode = ${JSON.stringify(children)};

export default class Icon${namePascal} extends Component<TablerIconSignature> {
<template>
<Icon
@type="${type}"
@name="${name}"
@iconNode={{iconNode}}
@size={{@size}}
@color={{@color}}
@stroke={{@stroke}}
@title={{@title}}
...attributes
>
{{yield}}
</Icon>
</template>
}
`;

const indexItemTemplate = ({ namePascal }) =>
`export { default as Icon${namePascal} } from './Icon${namePascal}';`;

const aliasTemplate = ({ fromPascal, toPascal }) =>
`export { default as Icon${fromPascal} } from './icons/Icon${toPascal}';\n`;

buildJsIcons({
name: 'icons-ember',
componentTemplate,
indexItemTemplate,
aliasTemplate,
extension: 'gts',
key: false,
indexFile: 'index.ts',
});

buildIconsList('icons-ember');
buildIconsDynamicImport('icons-ember');
117 changes: 117 additions & 0 deletions packages/icons-ember/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"name": "@tabler/icons-ember",
"version": "3.44.0",
"license": "MIT",
"author": "codecalm",
"description": "A set of free MIT-licensed high-quality SVG icons for modern Ember apps.",
"homepage": "https://tabler.io/icons",
"bugs": {
"url": "https://github.com/tabler/tabler-icons/issues"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/codecalm"
},
"repository": {
"type": "git",
"url": "git+https://github.com/tabler/tabler-icons.git",
"directory": "packages/icons-ember"
},
"type": "module",
"sideEffects": false,
"main": "./dist/tabler-icons-ember.js",
"module": "./dist/tabler-icons-ember.js",
"types": "./declarations/tabler-icons-ember.d.ts",
"files": [
"addon-main.cjs",
"declarations",
"dist",
"LICENSE"
],
"scripts": {
"build": "pnpm run clean && pnpm run copy:license && pnpm run build:icons && pnpm run build:package",
"build:icons": "node build.mjs",
"build:package": "rollup --config",
"clean": "rm -rf dist declarations && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +",
"copy:license": "cp ../../LICENSE ./LICENSE",
"test": "pnpm run typecheck",
"typecheck": "ember-tsc --noEmit"
},
"dependencies": {
"@embroider/addon-shim": "^1.10.3"
},
"peerDependencies": {
"@glimmer/component": ">=1.1.2",
"ember-source": ">=5.12"
},
"devDependencies": {
"@babel/core": "^7.29.7",
"@babel/plugin-transform-typescript": "^7.29.7",
"@ember/library-tsconfig": "^2.0.0",
"@embroider/addon-dev": "^8.3.0",
"@glint/core": "^1.5.2",
"@glint/ember-tsc": "^1.8.0",
"@glint/environment-ember-loose": "^1.5.2",
"@glint/environment-ember-template-imports": "^1.5.2",
"@glint/template": "^1.7.7",
"@glimmer/component": "^2.1.1",
"@rollup/plugin-babel": "^7.1.0",
"@rollup/plugin-node-resolve": "catalog:",
"babel-plugin-ember-template-compilation": "^4.0.0",
"ember-source": "^7.0.0",
"prettier-plugin-ember-template-tag": "^2.1.6",
"rollup": "catalog:",
"typescript": "catalog:"
},
"ember": {
"edition": "octane"
},
"ember-addon": {
"version": 2,
"type": "addon",
"main": "addon-main.cjs"
},
"exports": {
".": {
"types": "./declarations/tabler-icons-ember.d.ts",
"default": "./dist/tabler-icons-ember.js"
},
"./icons": {
"types": "./declarations/icons/index.d.ts",
"default": "./dist/icons/index.js"
},
"./icons/*": {
"types": "./declarations/icons/*.d.ts",
"default": "./dist/icons/*.js"
},
"./aliases": {
"types": "./declarations/aliases.d.ts",
"default": "./dist/aliases.js"
},
"./dynamic-imports": {
"types": "./declarations/dynamic-imports.d.ts",
"default": "./dist/dynamic-imports.js"
},
"./icons-list": {
"types": "./declarations/icons-list.d.ts",
"default": "./dist/icons-list.js"
},
"./types": {
"types": "./declarations/types.d.ts",
"default": "./dist/types.js"
},
"./addon-main.js": "./addon-main.cjs",
"./package.json": "./package.json"
},
"typesVersions": {
"*": {
"*": [
"declarations/*"
],
"icons/*": [
"declarations/icons/*"
]
}
},
"optionalDependencies": {}
}
35 changes: 35 additions & 0 deletions packages/icons-ember/rollup.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { babel } from '@rollup/plugin-babel';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import { Addon } from '@embroider/addon-dev/rollup';

const addon = new Addon({
srcDir: 'src',
destDir: 'dist',
});

export default {
output: addon.output(),
plugins: [
addon.publicEntrypoints([
'tabler-icons-ember.ts',
'icons/index.ts',
'icons/**/*.gts',
'aliases.ts',
'dynamic-imports.ts',
'Icon.gts',
'icons-list.ts',
'types.ts',
]),
nodeResolve({
extensions: ['.js', '.ts', '.gts'],
}),
addon.dependencies(),
babel({
extensions: ['.js', '.gjs', '.ts', '.gts'],
babelHelpers: 'bundled',
}),
addon.gjs(),
addon.declarations('declarations', 'ember-tsc --declaration'),
addon.clean(),
],
};
Empty file.
Loading
Loading