@ui-organized/angular 0.0.0-stage → 0.1.0
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/LICENSE +201 -0
- package/README.md +166 -2
- package/dist/LICENSE +201 -0
- package/dist/README.md +167 -0
- package/dist/fesm2022/ui-organized-angular-icons-heroicons.mjs +179 -0
- package/dist/fesm2022/ui-organized-angular-icons-heroicons.mjs.map +1 -0
- package/dist/fesm2022/ui-organized-angular-icons-lucide.mjs +130 -0
- package/dist/fesm2022/ui-organized-angular-icons-lucide.mjs.map +1 -0
- package/dist/fesm2022/ui-organized-angular-icons-tabler.mjs +159 -0
- package/dist/fesm2022/ui-organized-angular-icons-tabler.mjs.map +1 -0
- package/dist/fesm2022/ui-organized-angular.mjs +32267 -0
- package/dist/fesm2022/ui-organized-angular.mjs.map +1 -0
- package/dist/overlay.css +23 -0
- package/dist/styles.css +6045 -0
- package/dist/types/ui-organized-angular-icons-heroicons.d.ts +53 -0
- package/dist/types/ui-organized-angular-icons-lucide.d.ts +53 -0
- package/dist/types/ui-organized-angular-icons-tabler.d.ts +53 -0
- package/dist/types/ui-organized-angular.d.ts +10359 -0
- package/overlay.css +23 -0
- package/package.json +114 -3
- package/styles.css +6045 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { tablerRotate, tablerColorPicker, tablerCalendar, tablerHome, tablerSettings, tablerUser, tablerPlayerPause, tablerPlayerPlay, tablerFolder, tablerFile, tablerList, tablerLayoutGrid, tablerMenu2, tablerTag, tablerStar, tablerEyeOff, tablerEye, tablerSearch, tablerInfoCircle, tablerAlertTriangle, tablerAlertCircle, tablerCircleCheck, tablerArrowsSort, tablerFilter, tablerSortDescending, tablerSortAscending, tablerArrowBackUp, tablerRefresh, tablerUpload, tablerDownload, tablerTrash, tablerPencil, tablerCopy, tablerMinus, tablerPlus, tablerCheck, tablerX, tablerChevronRight, tablerChevronLeft, tablerChevronUp, tablerChevronDown } from '@ng-icons/tabler-icons';
|
|
2
|
+
import { tablerUserFill, tablerTrashFill, tablerTagFill, tablerStarFill, tablerSettingsFill, tablerSearchFill, tablerPlusFill, tablerPlayerPauseFill, tablerPlayerPlayFill, tablerInfoCircleFill, tablerHomeFill, tablerFolderFill, tablerFilterFill, tablerFileFill, tablerEyeFill, tablerPencilFill, tablerCopyFill, tablerCircleCheckFill, tablerCalendarFill, tablerAlertTriangleFill, tablerAlertCircleFill } from '@ng-icons/tabler-icons/fill';
|
|
3
|
+
import { createIconRegistry } from '@ui-organized/core';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Tabler name maps.
|
|
7
|
+
*
|
|
8
|
+
* Each of the components' own glyphs (`SystemGlyph` in @ui-organized/core) to the SVG markup `@ng-icons/tabler-icons`
|
|
9
|
+
* publishes for it. Written by hand, as React's are: `@ng-icons` derives its
|
|
10
|
+
* export names from the upstream file names, which is close to but not the same
|
|
11
|
+
* as the component names the React packages use — `Grid2X2`, `ArrowUpAZ` and
|
|
12
|
+
* `Trash2` are exactly where a mechanical transform goes wrong.
|
|
13
|
+
*
|
|
14
|
+
* Named imports, so only the icons listed here reach a bundle; the pack itself
|
|
15
|
+
* is a catalogue of thousands.
|
|
16
|
+
*/
|
|
17
|
+
const tablerIconSet = {
|
|
18
|
+
"chevron-down": tablerChevronDown,
|
|
19
|
+
"chevron-up": tablerChevronUp,
|
|
20
|
+
"chevron-left": tablerChevronLeft,
|
|
21
|
+
"chevron-right": tablerChevronRight,
|
|
22
|
+
"close": tablerX,
|
|
23
|
+
"check": tablerCheck,
|
|
24
|
+
"plus": tablerPlus,
|
|
25
|
+
"minus": tablerMinus,
|
|
26
|
+
"copy": tablerCopy,
|
|
27
|
+
"edit": tablerPencil,
|
|
28
|
+
"trash": tablerTrash,
|
|
29
|
+
"download": tablerDownload,
|
|
30
|
+
"upload": tablerUpload,
|
|
31
|
+
"refresh": tablerRefresh,
|
|
32
|
+
"undo": tablerArrowBackUp,
|
|
33
|
+
"sort-asc": tablerSortAscending,
|
|
34
|
+
"sort-desc": tablerSortDescending,
|
|
35
|
+
"filter": tablerFilter,
|
|
36
|
+
"sort": tablerArrowsSort,
|
|
37
|
+
"check-circle": tablerCircleCheck,
|
|
38
|
+
"alert-circle": tablerAlertCircle,
|
|
39
|
+
"alert-triangle": tablerAlertTriangle,
|
|
40
|
+
"info": tablerInfoCircle,
|
|
41
|
+
"search": tablerSearch,
|
|
42
|
+
"eye": tablerEye,
|
|
43
|
+
"eye-off": tablerEyeOff,
|
|
44
|
+
"star": tablerStar,
|
|
45
|
+
"tag": tablerTag,
|
|
46
|
+
"menu": tablerMenu2,
|
|
47
|
+
"grid": tablerLayoutGrid,
|
|
48
|
+
"list": tablerList,
|
|
49
|
+
"file": tablerFile,
|
|
50
|
+
"folder": tablerFolder,
|
|
51
|
+
"play": tablerPlayerPlay,
|
|
52
|
+
"pause": tablerPlayerPause,
|
|
53
|
+
"user": tablerUser,
|
|
54
|
+
"settings": tablerSettings,
|
|
55
|
+
"home": tablerHome,
|
|
56
|
+
"calendar": tablerCalendar,
|
|
57
|
+
"pipette": tablerColorPicker,
|
|
58
|
+
"rotate-ccw": tablerRotate,
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Tabler's filled cut, which exists for only some icons. The rest fall back to
|
|
62
|
+
* the outline one, which `resolveSystemGlyph` in core does on its own — the
|
|
63
|
+
* same arrangement the React adapter has.
|
|
64
|
+
*/
|
|
65
|
+
const tablerSolidSet = {
|
|
66
|
+
"alert-circle": tablerAlertCircleFill,
|
|
67
|
+
"alert-triangle": tablerAlertTriangleFill,
|
|
68
|
+
"calendar": tablerCalendarFill,
|
|
69
|
+
"check-circle": tablerCircleCheckFill,
|
|
70
|
+
"copy": tablerCopyFill,
|
|
71
|
+
"edit": tablerPencilFill,
|
|
72
|
+
"eye": tablerEyeFill,
|
|
73
|
+
"file": tablerFileFill,
|
|
74
|
+
"filter": tablerFilterFill,
|
|
75
|
+
"folder": tablerFolderFill,
|
|
76
|
+
"home": tablerHomeFill,
|
|
77
|
+
"info": tablerInfoCircleFill,
|
|
78
|
+
"play": tablerPlayerPlayFill,
|
|
79
|
+
"pause": tablerPlayerPauseFill,
|
|
80
|
+
"plus": tablerPlusFill,
|
|
81
|
+
"search": tablerSearchFill,
|
|
82
|
+
"settings": tablerSettingsFill,
|
|
83
|
+
"star": tablerStarFill,
|
|
84
|
+
"tag": tablerTagFill,
|
|
85
|
+
"trash": tablerTrashFill,
|
|
86
|
+
"user": tablerUserFill,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const { registerIconSet, getIconSet, registeredLibraries, registerIcons: registerIcons$1, getIcon, registeredNames } = createIconRegistry(Symbol.for("@ui-organized/angular.iconRegistry"));
|
|
90
|
+
/**
|
|
91
|
+
* The prop mapping every `@ng-icons`-sourced set uses.
|
|
92
|
+
*
|
|
93
|
+
* The three React adapters each need their own, because lucide takes
|
|
94
|
+
* `strokeWidth`, tabler takes `stroke` and heroicons takes `width`/`height`.
|
|
95
|
+
* Here there is one, because every `@ng-icons` pack ships its icons carrying
|
|
96
|
+
* `style="stroke-width:var(--ng-icon__stroke-width, 2)"` — so the weight is set
|
|
97
|
+
* by one custom property regardless of which library drew the glyph.
|
|
98
|
+
*
|
|
99
|
+
* The property name belongs to another project and stays as written: it is that
|
|
100
|
+
* project's published contract, it never reaches a consumer's code, and
|
|
101
|
+
* rewriting it per icon at registration would buy nothing.
|
|
102
|
+
*
|
|
103
|
+
* Exported because a consumer assembling their own set out of `@ng-icons`
|
|
104
|
+
* markup needs exactly this.
|
|
105
|
+
*/
|
|
106
|
+
function ngIconsSvgProps(size, stroke) {
|
|
107
|
+
return {
|
|
108
|
+
width: size,
|
|
109
|
+
height: size,
|
|
110
|
+
// Omitted rather than passed as undefined — a solid icon has no stroke, and
|
|
111
|
+
// the property must not be written at all. See `applySvgProps`.
|
|
112
|
+
...(stroke !== undefined ? { "--ng-icon__stroke-width": stroke } : {}),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* The `@ui-organized/angular/icons/tabler` entry point.
|
|
118
|
+
*
|
|
119
|
+
* Importing it registers the set; that side effect is the whole purpose, and the
|
|
120
|
+
* reason the package's `sideEffects` field has to keep this file. React shipped
|
|
121
|
+
* a version where it did not, and icons rendered in dev and vanished in
|
|
122
|
+
* `vite build`.
|
|
123
|
+
*
|
|
124
|
+
* import "@ui-organized/angular/icons/tabler";
|
|
125
|
+
*
|
|
126
|
+
* This file and everything it reaches must stay inside `src/lib/icons/`:
|
|
127
|
+
* ng-packagr sets a secondary entry point's `rootDir` to the directory of its
|
|
128
|
+
* entry file, and anything above that is a TS6059.
|
|
129
|
+
*/
|
|
130
|
+
const tablerIcons = {
|
|
131
|
+
library: "tabler",
|
|
132
|
+
outline: tablerIconSet,
|
|
133
|
+
solid: tablerSolidSet,
|
|
134
|
+
svgProps: ngIconsSvgProps,
|
|
135
|
+
};
|
|
136
|
+
registerIconSet(tablerIcons);
|
|
137
|
+
/**
|
|
138
|
+
* Make Tabler icons available to `<Icon name>` under their own Tabler names.
|
|
139
|
+
*
|
|
140
|
+
* Pass them as imported and the names follow from the exports
|
|
141
|
+
* (`tablerCamera` → `"camera"`), or key them by native name yourself where
|
|
142
|
+
* the export can't be read back unambiguously (`{ "crop-16-9": tablerCrop169 }`).
|
|
143
|
+
* Only what you register reaches your bundle.
|
|
144
|
+
*
|
|
145
|
+
* ```ts
|
|
146
|
+
* import { tablerCamera, tablerRocket } from "@ng-icons/tabler-icons";
|
|
147
|
+
* registerIcons({ tablerCamera, tablerRocket });
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
function registerIcons(icons, options) {
|
|
151
|
+
registerIcons$1("tabler", icons, options);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Generated bundle index. Do not edit.
|
|
156
|
+
*/
|
|
157
|
+
|
|
158
|
+
export { registerIcons, tablerIcons };
|
|
159
|
+
//# sourceMappingURL=ui-organized-angular-icons-tabler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-organized-angular-icons-tabler.mjs","sources":["../../src/lib/icons/tabler.ts","../../src/lib/icons/registry.ts","../../src/lib/icons/entry-tabler.ts","../../src/lib/icons/ui-organized-angular-icons-tabler.ts"],"sourcesContent":["/**\n * Tabler name maps.\n *\n * Each of the components' own glyphs (`SystemGlyph` in @ui-organized/core) to the SVG markup `@ng-icons/tabler-icons`\n * publishes for it. Written by hand, as React's are: `@ng-icons` derives its\n * export names from the upstream file names, which is close to but not the same\n * as the component names the React packages use — `Grid2X2`, `ArrowUpAZ` and\n * `Trash2` are exactly where a mechanical transform goes wrong.\n *\n * Named imports, so only the icons listed here reach a bundle; the pack itself\n * is a catalogue of thousands.\n */\nimport {\n tablerAlertCircle,\n tablerAlertTriangle,\n tablerArrowBackUp,\n tablerCalendar,\n tablerCheck,\n tablerChevronDown,\n tablerChevronLeft,\n tablerChevronRight,\n tablerChevronUp,\n tablerCircleCheck,\n tablerColorPicker,\n tablerCopy,\n tablerDownload,\n tablerEye,\n tablerEyeOff,\n tablerFile,\n tablerFilter,\n tablerFolder,\n tablerHome,\n tablerInfoCircle,\n tablerLayoutGrid,\n tablerList,\n tablerMenu2,\n tablerMinus,\n tablerPencil,\n tablerPlayerPause,\n tablerPlayerPlay,\n tablerPlus,\n tablerRefresh,\n tablerSearch,\n tablerSettings,\n tablerSortAscending,\n tablerSortDescending,\n tablerStar,\n tablerTag,\n tablerTrash,\n tablerUpload,\n tablerUser,\n tablerX,\n tablerArrowsSort,\n tablerRotate,\n} from \"@ng-icons/tabler-icons\";\nimport {\n tablerAlertCircleFill,\n tablerAlertTriangleFill,\n tablerCalendarFill,\n tablerCircleCheckFill,\n tablerCopyFill,\n tablerEyeFill,\n tablerFileFill,\n tablerFilterFill,\n tablerFolderFill,\n tablerHomeFill,\n tablerInfoCircleFill,\n tablerPencilFill,\n tablerPlayerPauseFill,\n tablerPlayerPlayFill,\n tablerPlusFill,\n tablerSearchFill,\n tablerSettingsFill,\n tablerStarFill,\n tablerTagFill,\n tablerTrashFill,\n tablerUserFill,\n} from \"@ng-icons/tabler-icons/fill\";\nimport type { SystemGlyph } from \"@ui-organized/core\";\n\nexport const tablerIconSet: Record<SystemGlyph, string> = {\n \"chevron-down\": tablerChevronDown,\n \"chevron-up\": tablerChevronUp,\n \"chevron-left\": tablerChevronLeft,\n \"chevron-right\": tablerChevronRight,\n \"close\": tablerX,\n \"check\": tablerCheck,\n \"plus\": tablerPlus,\n \"minus\": tablerMinus,\n \"copy\": tablerCopy,\n \"edit\": tablerPencil,\n \"trash\": tablerTrash,\n \"download\": tablerDownload,\n \"upload\": tablerUpload,\n \"refresh\": tablerRefresh,\n \"undo\": tablerArrowBackUp,\n \"sort-asc\": tablerSortAscending,\n \"sort-desc\": tablerSortDescending,\n \"filter\": tablerFilter,\n \"sort\": tablerArrowsSort,\n \"check-circle\": tablerCircleCheck,\n \"alert-circle\": tablerAlertCircle,\n \"alert-triangle\": tablerAlertTriangle,\n \"info\": tablerInfoCircle,\n \"search\": tablerSearch,\n \"eye\": tablerEye,\n \"eye-off\": tablerEyeOff,\n \"star\": tablerStar,\n \"tag\": tablerTag,\n \"menu\": tablerMenu2,\n \"grid\": tablerLayoutGrid,\n \"list\": tablerList,\n \"file\": tablerFile,\n \"folder\": tablerFolder,\n \"play\": tablerPlayerPlay,\n \"pause\": tablerPlayerPause,\n \"user\": tablerUser,\n \"settings\": tablerSettings,\n \"home\": tablerHome,\n \"calendar\": tablerCalendar,\n \"pipette\": tablerColorPicker,\n \"rotate-ccw\": tablerRotate,\n};\n\n/**\n * Tabler's filled cut, which exists for only some icons. The rest fall back to\n * the outline one, which `resolveSystemGlyph` in core does on its own — the\n * same arrangement the React adapter has.\n */\nexport const tablerSolidSet: Partial<Record<SystemGlyph, string>> = {\n \"alert-circle\": tablerAlertCircleFill,\n \"alert-triangle\": tablerAlertTriangleFill,\n \"calendar\": tablerCalendarFill,\n \"check-circle\": tablerCircleCheckFill,\n \"copy\": tablerCopyFill,\n \"edit\": tablerPencilFill,\n \"eye\": tablerEyeFill,\n \"file\": tablerFileFill,\n \"filter\": tablerFilterFill,\n \"folder\": tablerFolderFill,\n \"home\": tablerHomeFill,\n \"info\": tablerInfoCircleFill,\n \"play\": tablerPlayerPlayFill,\n \"pause\": tablerPlayerPauseFill,\n \"plus\": tablerPlusFill,\n \"search\": tablerSearchFill,\n \"settings\": tablerSettingsFill,\n \"star\": tablerStarFill,\n \"tag\": tablerTagFill,\n \"trash\": tablerTrashFill,\n \"user\": tablerUserFill,\n};\n","import {\n createIconRegistry,\n type IconNameMap as CoreIconNameMap,\n type IconSet as CoreIconSet,\n type SystemGlyphMap as CoreSystemGlyphMap,\n} from \"@ui-organized/core\";\n\nexport type { IconLibrary, RegisterIconsOptions } from \"@ui-organized/core\";\n\n/**\n * This package's icon-set registry: the shared mechanism from\n * `@ui-organized/core`, bound to **SVG markup** rather than to components.\n *\n * The registry itself — why it exists, why it is keyed on `globalThis`, and why\n * each framework gets its own — is documented in core. All that happens here is\n * fixing the stored type, and choosing a key distinct from the other three\n * packages' so none of them can read another's icons.\n *\n * ── Why an Angular icon is a string ─────────────────────────────────────────\n *\n * The other three libraries store components, and Angular could too — but\n * Angular instantiates a component onto an element of its own, so an icon\n * rendered that way comes out as\n * `<span class=\"icon\"><ng-icon><svg/></ng-icon></span>` where the others render\n * `<span class=\"icon\"><svg/></span>`. `.icon` is `display: inline-flex` with\n * centring, so the intermediate element becomes the flex item and the SVG stops\n * being what is laid out. One element deeper is a different DOM, and this whole\n * package exists to produce the same one.\n *\n * Core's registry is generic over the stored type precisely so a framework can\n * answer this differently. Storing markup lets `Icon` create the `<svg>` itself\n * and put it directly inside the span.\n *\n * It also turns out to be the *better* contract for stroke. Every\n * `@ng-icons/*` pack ships its icons with\n * `style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"`, so a single custom\n * property drives the weight for lucide, tabler and heroicons alike — where the\n * React adapters need three different prop shapes because lucide takes\n * `strokeWidth`, tabler takes `stroke` and heroicons takes `width`/`height`.\n */\nexport type IconMarkup = string;\nexport type IconNameMap = CoreIconNameMap<IconMarkup>;\nexport type IconSet = CoreIconSet<IconMarkup>;\n\n/** The components' own glyphs, for one library in one style. */\nexport type SystemGlyphMap = CoreSystemGlyphMap<IconMarkup>;\n\nconst { registerIconSet, getIconSet, registeredLibraries, registerIcons, getIcon, registeredNames } = createIconRegistry<IconMarkup>(\n Symbol.for(\"@ui-organized/angular.iconRegistry\"),\n);\n\nexport {\n registerIconSet,\n getIconSet,\n registeredLibraries,\n registerIcons,\n getIcon,\n registeredNames,\n};\n\n/**\n * The prop mapping every `@ng-icons`-sourced set uses.\n *\n * The three React adapters each need their own, because lucide takes\n * `strokeWidth`, tabler takes `stroke` and heroicons takes `width`/`height`.\n * Here there is one, because every `@ng-icons` pack ships its icons carrying\n * `style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"` — so the weight is set\n * by one custom property regardless of which library drew the glyph.\n *\n * The property name belongs to another project and stays as written: it is that\n * project's published contract, it never reaches a consumer's code, and\n * rewriting it per icon at registration would buy nothing.\n *\n * Exported because a consumer assembling their own set out of `@ng-icons`\n * markup needs exactly this.\n */\nexport function ngIconsSvgProps(\n size: number,\n stroke: number | undefined,\n): Record<string, unknown> {\n return {\n width: size,\n height: size,\n // Omitted rather than passed as undefined — a solid icon has no stroke, and\n // the property must not be written at all. See `applySvgProps`.\n ...(stroke !== undefined ? { \"--ng-icon__stroke-width\": stroke } : {}),\n };\n}\n","/**\n * The `@ui-organized/angular/icons/tabler` entry point.\n *\n * Importing it registers the set; that side effect is the whole purpose, and the\n * reason the package's `sideEffects` field has to keep this file. React shipped\n * a version where it did not, and icons rendered in dev and vanished in\n * `vite build`.\n *\n * import \"@ui-organized/angular/icons/tabler\";\n *\n * This file and everything it reaches must stay inside `src/lib/icons/`:\n * ng-packagr sets a secondary entry point's `rootDir` to the directory of its\n * entry file, and anything above that is a TS6059.\n */\nimport { tablerIconSet, tablerSolidSet } from \"./tabler.js\";\nimport {\n ngIconsSvgProps,\n registerIconSet,\n type IconSet,\n registerIcons as registerNamedIcons,\n type RegisterIconsOptions,\n type IconMarkup,\n} from \"./registry.js\";\n\nexport const tablerIcons: IconSet = {\n library: \"tabler\",\n outline: tablerIconSet,\n solid: tablerSolidSet,\n svgProps: ngIconsSvgProps,\n};\n\nregisterIconSet(tablerIcons);\n\n/**\n * Make Tabler icons available to `<Icon name>` under their own Tabler names.\n *\n * Pass them as imported and the names follow from the exports\n * (`tablerCamera` → `\"camera\"`), or key them by native name yourself where\n * the export can't be read back unambiguously (`{ \"crop-16-9\": tablerCrop169 }`).\n * Only what you register reaches your bundle.\n *\n * ```ts\n * import { tablerCamera, tablerRocket } from \"@ng-icons/tabler-icons\";\n * registerIcons({ tablerCamera, tablerRocket });\n * ```\n */\nexport function registerIcons(\n icons: Record<string, IconMarkup>,\n options?: RegisterIconsOptions,\n): void {\n registerNamedIcons(\"tabler\", icons, options);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entry-tabler';\n"],"names":["registerIcons","registerNamedIcons"],"mappings":"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"}
|