@africanies/angular-web-sdk 0.1.4 → 0.1.6

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.
Files changed (101) hide show
  1. package/.nx/cache/{18132311043100376919 → 14876618240301288353}/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs +456 -169
  2. package/.nx/cache/14876618240301288353/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +1 -0
  3. package/.nx/cache/{18132311043100376919 → 14876618240301288353}/dist/libs/africanies-ui/package.json +5 -5
  4. package/.nx/cache/{5741611231803799383 → 14876618240301288353}/dist/libs/africanies-ui/types/africanies-africanies-ui.d.ts +100 -20
  5. package/.nx/cache/{1275815545780424169 → 17626862048742598274}/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs +6 -0
  6. package/.nx/cache/17626862048742598274/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +1 -0
  7. package/.nx/cache/{14153928176747262656 → 17626862048742598274}/dist/libs/africanies-theme/package.json +3 -3
  8. package/.nx/cache/{1275815545780424169 → 17626862048742598274}/dist/libs/africanies-theme/tailwind-preset.cjs +15 -7
  9. package/.nx/cache/{14153928176747262656 → 17626862048742598274}/dist/libs/africanies-theme/types/africanies-africanies-theme.d.ts +10 -1
  10. package/.nx/cache/{13524438527920092277 → 9040451482998546630}/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs +9 -44
  11. package/.nx/cache/9040451482998546630/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +1 -0
  12. package/.nx/cache/{13524438527920092277 → 9040451482998546630}/dist/libs/africanies-core/package.json +3 -3
  13. package/.nx/cache/{13524438527920092277 → 9040451482998546630}/dist/libs/africanies-core/types/africanies-africanies-core.d.ts +6 -5
  14. package/.nx/cache/run.json +19 -19
  15. package/.nx/cache/terminalOutputs/13555699813138069787 +6 -0
  16. package/.nx/cache/terminalOutputs/{12148417737220755248 → 14061940909886036014} +172 -174
  17. package/.nx/cache/terminalOutputs/{3064561615116090625 → 14876618240301288353} +7 -7
  18. package/.nx/cache/terminalOutputs/{1275815545780424169 → 17626862048742598274} +2 -2
  19. package/.nx/cache/terminalOutputs/7978448102466861029 +32 -0
  20. package/.nx/cache/terminalOutputs/{4011892767661954819 → 9040451482998546630} +1 -1
  21. package/.nx/workspace-data/0091ABA9-5C90-580D-953C-8C94E763ADB5-v3.db +0 -0
  22. package/.nx/workspace-data/0091ABA9-5C90-580D-953C-8C94E763ADB5-v3.db-shm +0 -0
  23. package/.nx/workspace-data/0091ABA9-5C90-580D-953C-8C94E763ADB5-v3.db-wal +0 -0
  24. package/.nx/workspace-data/d/daemon.log +2370 -0
  25. package/.nx/workspace-data/d/server-process.json +2 -2
  26. package/.nx/workspace-data/file-map.json +3177 -3177
  27. package/.nx/workspace-data/nx_files.nxt +0 -0
  28. package/.nx/workspace-data/project-graph.json +2 -2
  29. package/apps/playground/src/app/app.routes.ts +15 -4
  30. package/apps/playground/src/app/app.ts +2 -2
  31. package/apps/playground/src/app/pages/home-page.ts +14 -14
  32. package/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs +8 -43
  33. package/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +1 -1
  34. package/dist/libs/africanies-core/types/africanies-africanies-core.d.ts +6 -5
  35. package/dist/libs/africanies-ui/types/africanies-africanies-ui.d.ts +11 -11
  36. package/libs/africanies-core/src/lib/http/api-client.ts +4 -18
  37. package/libs/africanies-core/src/lib/http/is-retryable-get-error.ts +8 -4
  38. package/libs/africanies-core/src/lib/query/provide-africanies-query-defaults.ts +5 -6
  39. package/package.json +1 -1
  40. package/.nx/cache/1275815545780424169/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +0 -1
  41. package/.nx/cache/1275815545780424169/dist/libs/africanies-theme/package.json +0 -36
  42. package/.nx/cache/1275815545780424169/dist/libs/africanies-theme/types/africanies-africanies-theme.d.ts +0 -157
  43. package/.nx/cache/13524438527920092277/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +0 -1
  44. package/.nx/cache/14153928176747262656/dist/libs/africanies-theme/README.md +0 -46
  45. package/.nx/cache/14153928176747262656/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs +0 -215
  46. package/.nx/cache/14153928176747262656/dist/libs/africanies-theme/fesm2022/africanies-africanies-theme.mjs.map +0 -1
  47. package/.nx/cache/14153928176747262656/dist/libs/africanies-theme/tailwind-preset.cjs +0 -245
  48. package/.nx/cache/18132311043100376919/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +0 -1
  49. package/.nx/cache/18132311043100376919/dist/libs/africanies-ui/types/africanies-africanies-ui.d.ts +0 -5410
  50. package/.nx/cache/2782605790118376385/dist/libs/africanies-icons/README.md +0 -69
  51. package/.nx/cache/2782605790118376385/dist/libs/africanies-icons/assets/icons.sprite.svg +0 -1844
  52. package/.nx/cache/2782605790118376385/dist/libs/africanies-icons/fesm2022/africanies-africanies-icons.mjs +0 -832
  53. package/.nx/cache/2782605790118376385/dist/libs/africanies-icons/fesm2022/africanies-africanies-icons.mjs.map +0 -1
  54. package/.nx/cache/2782605790118376385/dist/libs/africanies-icons/package.json +0 -31
  55. package/.nx/cache/2782605790118376385/dist/libs/africanies-icons/types/africanies-africanies-icons.d.ts +0 -108
  56. package/.nx/cache/3064561615116090625/dist/libs/africanies-storage/README.md +0 -31
  57. package/.nx/cache/3064561615116090625/dist/libs/africanies-storage/fesm2022/africanies-africanies-storage.mjs +0 -243
  58. package/.nx/cache/3064561615116090625/dist/libs/africanies-storage/fesm2022/africanies-africanies-storage.mjs.map +0 -1
  59. package/.nx/cache/3064561615116090625/dist/libs/africanies-storage/package.json +0 -27
  60. package/.nx/cache/3064561615116090625/dist/libs/africanies-storage/types/africanies-africanies-storage.d.ts +0 -210
  61. package/.nx/cache/4011892767661954819/dist/libs/africanies-core/README.md +0 -85
  62. package/.nx/cache/4011892767661954819/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs +0 -4546
  63. package/.nx/cache/4011892767661954819/dist/libs/africanies-core/fesm2022/africanies-africanies-core.mjs.map +0 -1
  64. package/.nx/cache/4011892767661954819/dist/libs/africanies-core/package.json +0 -32
  65. package/.nx/cache/4011892767661954819/dist/libs/africanies-core/types/africanies-africanies-core.d.ts +0 -2740
  66. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/README.md +0 -68
  67. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/assets/brand/africanies-logo-mini.png +0 -0
  68. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/assets/brand/africanies-logo.png +0 -0
  69. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/assets/brand/africanies-logo.svg +0 -5
  70. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/assets/carriers/dhl.svg +0 -7
  71. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs +0 -19088
  72. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/fesm2022/africanies-africanies-ui.mjs.map +0 -1
  73. package/.nx/cache/5741611231803799383/dist/libs/africanies-ui/package.json +0 -36
  74. package/.nx/cache/6372470950255467653/dist/libs/africanies-models/README.md +0 -60
  75. package/.nx/cache/6372470950255467653/dist/libs/africanies-models/fesm2022/africanies-africanies-models.mjs +0 -599
  76. package/.nx/cache/6372470950255467653/dist/libs/africanies-models/fesm2022/africanies-africanies-models.mjs.map +0 -1
  77. package/.nx/cache/6372470950255467653/dist/libs/africanies-models/package.json +0 -24
  78. package/.nx/cache/6372470950255467653/dist/libs/africanies-models/types/africanies-africanies-models.d.ts +0 -1452
  79. package/.nx/cache/terminalOutputs/11768036696192889608 +0 -8
  80. package/.nx/cache/terminalOutputs/1227201614544602906 +0 -23
  81. package/.nx/cache/terminalOutputs/12538607787148205787 +0 -19
  82. package/.nx/cache/terminalOutputs/13524438527920092277 +0 -196
  83. package/.nx/cache/terminalOutputs/14153928176747262656 +0 -45
  84. package/.nx/cache/terminalOutputs/17404566492103808557 +0 -8
  85. package/.nx/cache/terminalOutputs/18132311043100376919 +0 -315
  86. package/.nx/cache/terminalOutputs/2436781291243085315 +0 -8
  87. package/.nx/cache/terminalOutputs/2782605790118376385 +0 -21
  88. package/.nx/cache/terminalOutputs/3681975492957101833 +0 -8
  89. package/.nx/cache/terminalOutputs/5741611231803799383 +0 -21
  90. package/.nx/cache/terminalOutputs/6037166070823946880 +0 -8
  91. package/.nx/cache/terminalOutputs/6372470950255467653 +0 -21
  92. package/.nx/cache/terminalOutputs/665190206482526466 +0 -175
  93. package/.nx/cache/terminalOutputs/7756595539965457927 +0 -23
  94. package/.nx/cache/terminalOutputs/9200013119269230075 +0 -8
  95. /package/.nx/cache/{18132311043100376919 → 14876618240301288353}/dist/libs/africanies-ui/README.md +0 -0
  96. /package/.nx/cache/{18132311043100376919 → 14876618240301288353}/dist/libs/africanies-ui/assets/brand/africanies-logo-mini.png +0 -0
  97. /package/.nx/cache/{18132311043100376919 → 14876618240301288353}/dist/libs/africanies-ui/assets/brand/africanies-logo.png +0 -0
  98. /package/.nx/cache/{18132311043100376919 → 14876618240301288353}/dist/libs/africanies-ui/assets/brand/africanies-logo.svg +0 -0
  99. /package/.nx/cache/{18132311043100376919 → 14876618240301288353}/dist/libs/africanies-ui/assets/carriers/dhl.svg +0 -0
  100. /package/.nx/cache/{1275815545780424169 → 17626862048742598274}/dist/libs/africanies-theme/README.md +0 -0
  101. /package/.nx/cache/{13524438527920092277 → 9040451482998546630}/dist/libs/africanies-core/README.md +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"africanies-africanies-icons.mjs","sources":["../../../../libs/africanies-icons/src/lib/icon-registry.service.ts","../../../../libs/africanies-icons/src/lib/africanies-icon.component.ts","../../../../libs/africanies-icons/src/lib/icon-name.ts","../../../../libs/africanies-icons/src/africanies-africanies-icons.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport {\n inject,\n Injectable,\n InjectionToken,\n} from '@angular/core';\n\n/**\n * URL of the SVG sprite served by the host application.\n *\n * Default assumes the published asset is copied to\n * `/assets/africanies-icons/icons.sprite.svg` (see package README). The leading\n * slash is required: Angular `[src]` / `fetch()` resolve relative URLs\n * against the current route (`/login/assets/…`), not `<base href=\"/\">`.\n * Override when the host uses a CDN or a different assets path.\n */\nexport const AFRICANIES_ICON_SPRITE_URL = new InjectionToken<string>(\n 'AFRICANIES_ICON_SPRITE_URL',\n {\n providedIn: 'root',\n factory: () => '/assets/africanies-icons/icons.sprite.svg',\n },\n);\n\n/**\n * Fetches and inlines the icon sprite once into `document.body`.\n *\n * WHY inline (not external `<use href=\"sprite.svg#id\">`):\n * - External fragment references break under some CSP / cross-origin setups.\n * - Inlining once lets every `<africanies-icon>` use cheap `#symbol-id` hrefs and\n * keeps a single network request for 600+ icons.\n *\n * Call {@link ensureLoaded} from `AfricaniesIconComponent` (or app bootstrap). Safe\n * to invoke repeatedly — concurrent callers share one in-flight promise.\n */\n@Injectable({ providedIn: 'root' })\nexport class IconRegistryService {\n private readonly document = inject(DOCUMENT);\n private readonly spriteUrl = inject(AFRICANIES_ICON_SPRITE_URL);\n\n private loadPromise: Promise<void> | null = null;\n private loaded = false;\n\n /**\n * Ensures the sprite `<svg>` is present in the DOM.\n *\n * @returns Resolves when the sprite is inlined (or already present).\n * @throws {Error} When the sprite URL cannot be fetched.\n */\n ensureLoaded(): Promise<void> {\n if (this.loaded) {\n return Promise.resolve();\n }\n if (this.loadPromise) {\n return this.loadPromise;\n }\n\n this.loadPromise = this.fetchAndInline().finally(() => {\n this.loadPromise = null;\n });\n return this.loadPromise;\n }\n\n /**\n * Whether the sprite has been successfully inlined.\n *\n * @returns `true` after a successful {@link ensureLoaded}.\n */\n isLoaded(): boolean {\n return this.loaded;\n }\n\n private async fetchAndInline(): Promise<void> {\n if (this.document.getElementById('africanies-icon-sprite')) {\n this.loaded = true;\n return;\n }\n\n const response = await fetch(this.spriteUrl);\n if (!response.ok) {\n throw new Error(\n `Failed to load AFRICANIES icon sprite from \"${this.spriteUrl}\" (${response.status})`,\n );\n }\n\n const markup = await response.text();\n const container = this.document.createElement('div');\n container.id = 'africanies-icon-sprite';\n container.setAttribute('hidden', '');\n container.setAttribute('aria-hidden', 'true');\n // WHY innerHTML: sprite is trusted first-party SVG from this package.\n container.innerHTML = markup;\n this.document.body.prepend(container);\n this.loaded = true;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n} from '@angular/core';\n\nimport type { IconName } from './icon-name';\nimport { IconRegistryService } from './icon-registry.service';\n\n/**\n * Renders a single icon from the shared SVG sprite.\n *\n * WHY sprite + `<use>`: one network fetch (via {@link IconRegistryService})\n * serves every icon instead of shipping hundreds of Angular components or\n * individual SVG HTTP requests.\n *\n * Host apps must serve `icons.sprite.svg` (see package README) or override\n * {@link AFRICANIES_ICON_SPRITE_URL}.\n *\n * @example\n * ```html\n * <africanies-icon name=\"truck\" />\n * <africanies-icon name=\"search\" [size]=\"32\" />\n * ```\n */\n@Component({\n selector: 'africanies-icon',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <svg\n [attr.width]=\"resolvedSize()\"\n [attr.height]=\"resolvedSize()\"\n [attr.aria-hidden]=\"true\"\n focusable=\"false\"\n part=\"svg\"\n >\n <use [attr.href]=\"href()\" />\n </svg>\n `,\n styles: `\n :host {\n display: inline-flex;\n line-height: 0;\n vertical-align: middle;\n /* Inherit surrounding text so dark:text-white / mode accents paint the glyph. */\n color: inherit;\n }\n\n svg {\n display: block;\n fill: currentColor;\n color: inherit;\n }\n `,\n host: {\n '[attr.data-icon]': 'name()',\n },\n})\nexport class AfricaniesIconComponent {\n private readonly registry = inject(IconRegistryService);\n\n /**\n * Icon id matching a `<symbol>` in the sprite / {@link IconName} union.\n */\n readonly name = input.required<IconName>();\n\n /**\n * CSS pixel size for width and height. Accepts a number (`24`) or CSS length\n * (`'1.5rem'`). Defaults to `24`.\n */\n readonly size = input<number | string>(24);\n\n constructor() {\n // Kick off sprite load on first icon render; failures surface as rejected\n // promises / console errors rather than blanking the whole app.\n effect(() => {\n // Track name so HMR / late registry overrides still trigger ensureLoaded.\n void this.name();\n void this.registry.ensureLoaded().catch((err: unknown) => {\n console.error('[africanies-icon] sprite load failed', err);\n });\n });\n }\n\n /**\n * Fragment href into the inlined sprite (`#truck`).\n *\n * @returns Hash fragment pointing at the named symbol.\n */\n protected href(): string {\n return `#${this.name()}`;\n }\n\n /**\n * Normalized size attribute value.\n *\n * @returns Size as a string suitable for the SVG `width`/`height` attrs.\n */\n protected resolvedSize(): string {\n const value = this.size();\n return typeof value === 'number' ? String(value) : value;\n }\n}\n","/**\n * Generated by `tools/build-icon-sprite.mjs` — do not edit by hand.\n *\n * Closed list of every symbol id in `icons.sprite.svg` so typos fail at\n * compile time, editors autocomplete valid names, and the playground gallery\n * can iterate without maintaining a second list.\n *\n * To add an icon: drop an SVG into `/svg`, then run `npm run icons:build`.\n */\nexport const ICON_NAMES = [\n 'abacus',\n 'absolute-position',\n 'academy-cap',\n 'accessibility',\n 'accordion-menu',\n 'add-dock',\n 'adjust',\n 'adobe-flash',\n 'airplane',\n 'alarm',\n 'align-center',\n 'align-justify',\n 'align-left',\n 'align-right',\n 'alt-a',\n 'alt',\n 'ambulance',\n 'anchor',\n 'angle-double-down',\n 'angle-double-left',\n 'angle-double-right',\n 'angle-double-up',\n 'angle-down',\n 'angle-left',\n 'angle-right',\n 'angle-up',\n 'archive',\n 'archives',\n 'area-select',\n 'arrow-backward',\n 'arrow-circle-down-o',\n 'arrow-circle-down',\n 'arrow-circle-left-o',\n 'arrow-circle-left',\n 'arrow-circle-right-o',\n 'arrow-circle-right',\n 'arrow-circle-up-o',\n 'arrow-circle-up',\n 'arrow-down',\n 'arrow-forward',\n 'arrow-left',\n 'arrow-long-down',\n 'arrow-long-left',\n 'arrow-right',\n 'arrow-up',\n 'arrows-cross',\n 'arrows-long-h',\n 'arrows-long-right',\n 'arrows-long-up',\n 'arrows-long-v',\n 'arrows',\n 'asterisk',\n 'at',\n 'automation',\n 'backspace-a',\n 'backspace',\n 'backwards',\n 'ban',\n 'bar-chart-h',\n 'bar-chart-v',\n 'bar-chart',\n 'barcode',\n 'bed',\n 'bell-o',\n 'bell-slash-o',\n 'bell-slash',\n 'bell',\n 'boat',\n 'bold',\n 'bolt',\n 'bomb',\n 'book-dollar',\n 'book-percent',\n 'book',\n 'bookmark-o',\n 'bookmark',\n 'briefcase',\n 'browser',\n 'bug-o',\n 'bug',\n 'building-o',\n 'building',\n 'bullets',\n 'bullseye',\n 'bus',\n 'button',\n 'calc-book',\n 'calc',\n 'calendar-briefcase',\n 'calendar-clock',\n 'calendar-envelope',\n 'calendar-o',\n 'calendar-user',\n 'calendar',\n 'camera',\n 'car',\n 'caret-down',\n 'caret-left',\n 'caret-right',\n 'caret-square-down-o',\n 'caret-square-left-o',\n 'caret-square-right-o',\n 'caret-square-up-o',\n 'caret-up',\n 'cart-o',\n 'cart',\n 'cash',\n 'chart-3d',\n 'chart-grid',\n 'chart-line',\n 'chart-timeline',\n 'chart',\n 'chat',\n 'check-circle-o',\n 'check-circle',\n 'check-square-o',\n 'check-square',\n 'check',\n 'chevron-circle-down-o',\n 'chevron-circle-down',\n 'chevron-circle-left-o',\n 'chevron-circle-left',\n 'chevron-circle-right-o',\n 'chevron-circle-right',\n 'chevron-circle-up-o',\n 'chevron-circle-up',\n 'chevron-down-small',\n 'chevron-down',\n 'chevron-left-small',\n 'chevron-left',\n 'chevron-right-small',\n 'chevron-right',\n 'chevron-up-small',\n 'chevron-up',\n 'child',\n 'circle-thin',\n 'circle',\n 'clipboard-check',\n 'clipboard-cross',\n 'clipboard-heart',\n 'clipboard-pulse',\n 'clipboard-text',\n 'clipboard-user',\n 'clipboard',\n 'clock',\n 'close-big',\n 'close-circle-o',\n 'close-circle',\n 'close-small',\n 'close',\n 'cloud-download-o',\n 'cloud-download',\n 'cloud-o',\n 'cloud-upload-o',\n 'cloud-upload',\n 'cloud',\n 'cluster',\n 'code',\n 'coffee',\n 'cog-o',\n 'cog',\n 'cogs',\n 'coin-piles',\n 'coins',\n 'combobox',\n 'comment-ellipsis-o',\n 'comment-ellipsis',\n 'comment-o',\n 'comment',\n 'comments-o',\n 'comments',\n 'compile',\n 'compress-square',\n 'compress',\n 'connect-o',\n 'connect',\n 'controller',\n 'copy-o',\n 'copy',\n 'copyright',\n 'corner-lower-left',\n 'corner-lower-right',\n 'corner-upper-left',\n 'corner-upper-right',\n 'credit-card',\n 'crop',\n 'cross-cutlery',\n 'crosshairs',\n 'css',\n 'ctrl-a',\n 'ctrl',\n 'cube',\n 'cubes',\n 'curly-brackets',\n 'cursor-o',\n 'cursor',\n 'cutlery',\n 'dashboard',\n 'database',\n 'date-input',\n 'deindent',\n 'del-a',\n 'del',\n 'dental-chair',\n 'desktop',\n 'diamond-o',\n 'diamond',\n 'diasporan-partner',\n 'diploma-scroll',\n 'diploma',\n 'disc',\n 'doctor-briefcase',\n 'doctor',\n 'dollar',\n 'dot-circle',\n 'download-alt',\n 'download',\n 'drop',\n 'edit',\n 'eject',\n 'elastic',\n 'ellipsis-circle-o',\n 'ellipsis-circle',\n 'ellipsis-dots-h',\n 'ellipsis-dots-v',\n 'ellipsis-h',\n 'ellipsis-v',\n 'enter-arrow',\n 'enter',\n 'envelope-o',\n 'envelope-open-o',\n 'envelope-open',\n 'envelope',\n 'envelopes-o',\n 'envelopes',\n 'eraser',\n 'esc-a',\n 'esc',\n 'euro',\n 'exchange',\n 'exclamation-circle-o',\n 'exclamation-circle',\n 'exclamation',\n 'exit-o',\n 'exit',\n 'expand-full',\n 'expand-square',\n 'expand',\n 'external-browser',\n 'external-link',\n 'eye-slash',\n 'eye',\n 'eyedropper',\n 'facebook-square',\n 'facebook',\n 'factory',\n 'family',\n 'fast-backward',\n 'fast-forward',\n 'female',\n 'file-add',\n 'file-code',\n 'file-font',\n 'file-movie',\n 'file-o',\n 'file-picture',\n 'file-presentation',\n 'file-process',\n 'file-refresh',\n 'file-remove',\n 'file-search',\n 'file-sound',\n 'file-start',\n 'file-table',\n 'file-text-o',\n 'file-text',\n 'file-tree-small',\n 'file-tree-sub',\n 'file-tree',\n 'file-zip',\n 'file',\n 'fill',\n 'film',\n 'filter',\n 'fire',\n 'flag-checkered',\n 'flag-o',\n 'flag',\n 'flash',\n 'flask',\n 'flight-landing',\n 'flight-takeoff',\n 'flip-h',\n 'flip-v',\n 'folder-add',\n 'folder-o',\n 'folder-open-o',\n 'folder-open',\n 'folder-remove',\n 'folder-search',\n 'folder',\n 'font',\n 'form',\n 'forward',\n 'frown-o',\n 'funcion',\n 'funnel',\n 'gamepad',\n 'gavel',\n 'gift',\n 'glass',\n 'glasses',\n 'globe-wire',\n 'globe',\n 'golf',\n 'google-plus-square',\n 'google-plus',\n 'grab',\n 'grid-bevel',\n 'grid-big-o',\n 'grid-big',\n 'grid-h',\n 'grid-small-o',\n 'grid-small',\n 'grid-v',\n 'grid',\n 'group',\n 'hammer',\n 'hand',\n 'handle-corner',\n 'hands-up',\n 'handshake',\n 'harddrive-o',\n 'harddrive',\n 'hash',\n 'header',\n 'headphones',\n 'headset',\n 'health-card',\n 'heart-o',\n 'heart',\n 'home-o',\n 'home',\n 'hospital',\n 'hourglass-empty',\n 'hourglass-end',\n 'hourglass-start',\n 'hourglass',\n 'inbox',\n 'indent',\n 'info-circle-o',\n 'info-circle',\n 'info',\n 'input',\n 'insert',\n 'institution',\n 'invoice',\n 'italic',\n 'key-o',\n 'key',\n 'keyboard-o',\n 'keyboard',\n 'laptop',\n 'layout',\n 'level-down-bold',\n 'level-down',\n 'level-left-bold',\n 'level-left',\n 'level-right-bold',\n 'level-right',\n 'level-up-bold',\n 'level-up',\n 'lifebuoy',\n 'lightbulb',\n 'line-bar-chart',\n 'line-chart',\n 'line-h',\n 'line-v',\n 'lines-list',\n 'lines',\n 'link',\n 'list-ol',\n 'list-select',\n 'list-ul',\n 'list',\n 'location-arrow-circle-o',\n 'location-arrow-circle',\n 'location-arrow',\n 'lock',\n 'magic',\n 'magnet',\n 'mailbox',\n 'male',\n 'map-marker',\n 'margin-bottom',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin',\n 'medal',\n 'megaphone',\n 'meh-o',\n 'menu',\n 'microphone',\n 'mini-partner',\n 'minus-circle-o',\n 'minus-circle',\n 'minus-square-o',\n 'minus',\n 'mobile-browser',\n 'mobile-retro',\n 'mobile',\n 'modal-list',\n 'modal',\n 'money-deposit',\n 'money-exchange',\n 'money-withdraw',\n 'money',\n 'moon-o',\n 'moon',\n 'morning',\n 'movie',\n 'music',\n 'mute',\n 'native-button',\n 'newspaper',\n 'notebook',\n 'number-count',\n 'nurse',\n 'office',\n 'open-book',\n 'option-a',\n 'option',\n 'options',\n 'orientation',\n 'out',\n 'outbox',\n 'package',\n 'padding-bottom',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'padding',\n 'paint-roll',\n 'paintbrush',\n 'palette',\n 'panel',\n 'paperclip',\n 'paperplane-o',\n 'paperplane',\n 'paragraph',\n 'partner',\n 'password',\n 'paste',\n 'pause',\n 'pencil',\n 'phone-landline',\n 'phone',\n 'picture',\n 'pie-bar-chart',\n 'pie-chart',\n 'piggy-bank-coin',\n 'piggy-bank',\n 'pill',\n 'pills',\n 'pin-post',\n 'pin',\n 'play-circle-o',\n 'play-circle',\n 'play',\n 'plug',\n 'plus-circle-o',\n 'plus-circle',\n 'plus-minus',\n 'plus-square-o',\n 'plus',\n 'pointer',\n 'power-off',\n 'presentation',\n 'print',\n 'progressbar',\n 'puzzle-piece',\n 'pyramid-chart',\n 'qrcode',\n 'question-circle-o',\n 'question-circle',\n 'question',\n 'quote-left',\n 'quote-right',\n 'random',\n 'raster-lower-left',\n 'raster',\n 'records',\n 'recycle',\n 'refresh',\n 'reply-all',\n 'reply',\n 'resize-h',\n 'resize-v',\n 'retweet',\n 'rhombus',\n 'road-branch',\n 'road-branches',\n 'road-split',\n 'road',\n 'rocket',\n 'rotate-left',\n 'rotate-right',\n 'rss-square',\n 'rss',\n 'safe-lock',\n 'safe',\n 'scale-unbalance',\n 'scale',\n 'scatter-chart',\n 'scissors',\n 'screwdriver',\n 'search-minus',\n 'search-plus',\n 'search',\n 'select',\n 'server',\n 'share-square',\n 'share',\n 'shield',\n 'shift-arrow',\n 'shift',\n 'shop',\n 'sign-in-alt',\n 'sign-in',\n 'sign-out-alt',\n 'sign-out',\n 'signal',\n 'sitemap',\n 'slider',\n 'sliders',\n 'smiley-o',\n 'sort',\n 'sound-disable',\n 'spark-line',\n 'specialist',\n 'spinner-arc',\n 'spinner-third',\n 'spinner',\n 'spline-area-chart',\n 'spline-chart',\n 'split-h',\n 'split-v',\n 'split',\n 'spoon',\n 'square-shadow',\n 'star-half-left-o',\n 'star-half-left',\n 'star-half-right-o',\n 'star-half-right',\n 'star-o',\n 'star',\n 'start-cog',\n 'step-backward',\n 'step-forward',\n 'stethoscope',\n 'stock',\n 'stop-cog',\n 'stop',\n 'stopwatch',\n 'storage',\n 'strikethrough',\n 'subscript',\n 'suitcase',\n 'sun-down',\n 'sun-o',\n 'sun-rise',\n 'superscript',\n 'sword',\n 'tab-a',\n 'tab',\n 'table',\n 'tablet',\n 'tabs',\n 'tag',\n 'tags',\n 'tasks',\n 'taxi',\n 'teeth',\n 'terminal',\n 'text-height',\n 'text-input',\n 'text-label',\n 'text-width',\n 'thin-square',\n 'thumbs-down-o',\n 'thumbs-down',\n 'thumbs-up-o',\n 'thumbs-up',\n 'ticket',\n 'time-backward',\n 'time-forward',\n 'timer',\n 'toolbox',\n 'tools',\n 'tooth',\n 'touch',\n 'train',\n 'trash',\n 'tree-table',\n 'trending-down',\n 'trending-up',\n 'trophy',\n 'truck',\n 'twin-col-select',\n 'twitter-square',\n 'twitter',\n 'umbrella',\n 'underline',\n 'unlink',\n 'unlock',\n 'upload-alt',\n 'upload',\n 'user-card',\n 'user-check',\n 'user-clock',\n 'user-heart',\n 'user-star',\n 'user',\n 'users',\n 'vaadin-h',\n 'vaadin-v',\n 'viewport',\n 'vimeo-square',\n 'vimeo',\n 'volume-down',\n 'volume-off',\n 'volume-up',\n 'volume',\n 'wallet',\n 'warehouse',\n 'warning',\n 'workplace',\n 'wrench',\n 'youtube-square',\n 'youtube',\n] as const;\n\n/**\n * Union of every icon id in {@link ICON_NAMES}.\n */\nexport type IconName = (typeof ICON_NAMES)[number];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- {
2
- "name": "@africanies/africanies-icons",
3
- "version": "0.0.1",
4
- "peerDependencies": {
5
- "@angular/common": "^22.0.0",
6
- "@angular/core": "^22.0.0"
7
- },
8
- "sideEffects": false,
9
- "publishConfig": {
10
- "registry": "https://npm.pkg.github.com",
11
- "access": "restricted"
12
- },
13
- "files": [
14
- "**/*"
15
- ],
16
- "module": "fesm2022/africanies-africanies-icons.mjs",
17
- "typings": "types/africanies-africanies-icons.d.ts",
18
- "exports": {
19
- "./package.json": {
20
- "default": "./package.json"
21
- },
22
- ".": {
23
- "types": "./types/africanies-africanies-icons.d.ts",
24
- "default": "./fesm2022/africanies-africanies-icons.mjs"
25
- }
26
- },
27
- "type": "module",
28
- "dependencies": {
29
- "tslib": "^2.3.0"
30
- }
31
- }
@@ -1,108 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken } from '@angular/core';
3
-
4
- /**
5
- * Renders a single icon from the shared SVG sprite.
6
- *
7
- * WHY sprite + `<use>`: one network fetch (via {@link IconRegistryService})
8
- * serves every icon instead of shipping hundreds of Angular components or
9
- * individual SVG HTTP requests.
10
- *
11
- * Host apps must serve `icons.sprite.svg` (see package README) or override
12
- * {@link AFRICANIES_ICON_SPRITE_URL}.
13
- *
14
- * @example
15
- * ```html
16
- * <africanies-icon name="truck" />
17
- * <africanies-icon name="search" [size]="32" />
18
- * ```
19
- */
20
- declare class AfricaniesIconComponent {
21
- private readonly registry;
22
- /**
23
- * Icon id matching a `<symbol>` in the sprite / {@link IconName} union.
24
- */
25
- readonly name: i0.InputSignal<"abacus" | "absolute-position" | "academy-cap" | "accessibility" | "accordion-menu" | "add-dock" | "adjust" | "adobe-flash" | "airplane" | "alarm" | "align-center" | "align-justify" | "align-left" | "align-right" | "alt-a" | "alt" | "ambulance" | "anchor" | "angle-double-down" | "angle-double-left" | "angle-double-right" | "angle-double-up" | "angle-down" | "angle-left" | "angle-right" | "angle-up" | "archive" | "archives" | "area-select" | "arrow-backward" | "arrow-circle-down-o" | "arrow-circle-down" | "arrow-circle-left-o" | "arrow-circle-left" | "arrow-circle-right-o" | "arrow-circle-right" | "arrow-circle-up-o" | "arrow-circle-up" | "arrow-down" | "arrow-forward" | "arrow-left" | "arrow-long-down" | "arrow-long-left" | "arrow-right" | "arrow-up" | "arrows-cross" | "arrows-long-h" | "arrows-long-right" | "arrows-long-up" | "arrows-long-v" | "arrows" | "asterisk" | "at" | "automation" | "backspace-a" | "backspace" | "backwards" | "ban" | "bar-chart-h" | "bar-chart-v" | "bar-chart" | "barcode" | "bed" | "bell-o" | "bell-slash-o" | "bell-slash" | "bell" | "boat" | "bold" | "bolt" | "bomb" | "book-dollar" | "book-percent" | "book" | "bookmark-o" | "bookmark" | "briefcase" | "browser" | "bug-o" | "bug" | "building-o" | "building" | "bullets" | "bullseye" | "bus" | "button" | "calc-book" | "calc" | "calendar-briefcase" | "calendar-clock" | "calendar-envelope" | "calendar-o" | "calendar-user" | "calendar" | "camera" | "car" | "caret-down" | "caret-left" | "caret-right" | "caret-square-down-o" | "caret-square-left-o" | "caret-square-right-o" | "caret-square-up-o" | "caret-up" | "cart-o" | "cart" | "cash" | "chart-3d" | "chart-grid" | "chart-line" | "chart-timeline" | "chart" | "chat" | "check-circle-o" | "check-circle" | "check-square-o" | "check-square" | "check" | "chevron-circle-down-o" | "chevron-circle-down" | "chevron-circle-left-o" | "chevron-circle-left" | "chevron-circle-right-o" | "chevron-circle-right" | "chevron-circle-up-o" | "chevron-circle-up" | "chevron-down-small" | "chevron-down" | "chevron-left-small" | "chevron-left" | "chevron-right-small" | "chevron-right" | "chevron-up-small" | "chevron-up" | "child" | "circle-thin" | "circle" | "clipboard-check" | "clipboard-cross" | "clipboard-heart" | "clipboard-pulse" | "clipboard-text" | "clipboard-user" | "clipboard" | "clock" | "close-big" | "close-circle-o" | "close-circle" | "close-small" | "close" | "cloud-download-o" | "cloud-download" | "cloud-o" | "cloud-upload-o" | "cloud-upload" | "cloud" | "cluster" | "code" | "coffee" | "cog-o" | "cog" | "cogs" | "coin-piles" | "coins" | "combobox" | "comment-ellipsis-o" | "comment-ellipsis" | "comment-o" | "comment" | "comments-o" | "comments" | "compile" | "compress-square" | "compress" | "connect-o" | "connect" | "controller" | "copy-o" | "copy" | "copyright" | "corner-lower-left" | "corner-lower-right" | "corner-upper-left" | "corner-upper-right" | "credit-card" | "crop" | "cross-cutlery" | "crosshairs" | "css" | "ctrl-a" | "ctrl" | "cube" | "cubes" | "curly-brackets" | "cursor-o" | "cursor" | "cutlery" | "dashboard" | "database" | "date-input" | "deindent" | "del-a" | "del" | "dental-chair" | "desktop" | "diamond-o" | "diamond" | "diasporan-partner" | "diploma-scroll" | "diploma" | "disc" | "doctor-briefcase" | "doctor" | "dollar" | "dot-circle" | "download-alt" | "download" | "drop" | "edit" | "eject" | "elastic" | "ellipsis-circle-o" | "ellipsis-circle" | "ellipsis-dots-h" | "ellipsis-dots-v" | "ellipsis-h" | "ellipsis-v" | "enter-arrow" | "enter" | "envelope-o" | "envelope-open-o" | "envelope-open" | "envelope" | "envelopes-o" | "envelopes" | "eraser" | "esc-a" | "esc" | "euro" | "exchange" | "exclamation-circle-o" | "exclamation-circle" | "exclamation" | "exit-o" | "exit" | "expand-full" | "expand-square" | "expand" | "external-browser" | "external-link" | "eye-slash" | "eye" | "eyedropper" | "facebook-square" | "facebook" | "factory" | "family" | "fast-backward" | "fast-forward" | "female" | "file-add" | "file-code" | "file-font" | "file-movie" | "file-o" | "file-picture" | "file-presentation" | "file-process" | "file-refresh" | "file-remove" | "file-search" | "file-sound" | "file-start" | "file-table" | "file-text-o" | "file-text" | "file-tree-small" | "file-tree-sub" | "file-tree" | "file-zip" | "file" | "fill" | "film" | "filter" | "fire" | "flag-checkered" | "flag-o" | "flag" | "flash" | "flask" | "flight-landing" | "flight-takeoff" | "flip-h" | "flip-v" | "folder-add" | "folder-o" | "folder-open-o" | "folder-open" | "folder-remove" | "folder-search" | "folder" | "font" | "form" | "forward" | "frown-o" | "funcion" | "funnel" | "gamepad" | "gavel" | "gift" | "glass" | "glasses" | "globe-wire" | "globe" | "golf" | "google-plus-square" | "google-plus" | "grab" | "grid-bevel" | "grid-big-o" | "grid-big" | "grid-h" | "grid-small-o" | "grid-small" | "grid-v" | "grid" | "group" | "hammer" | "hand" | "handle-corner" | "hands-up" | "handshake" | "harddrive-o" | "harddrive" | "hash" | "header" | "headphones" | "headset" | "health-card" | "heart-o" | "heart" | "home-o" | "home" | "hospital" | "hourglass-empty" | "hourglass-end" | "hourglass-start" | "hourglass" | "inbox" | "indent" | "info-circle-o" | "info-circle" | "info" | "input" | "insert" | "institution" | "invoice" | "italic" | "key-o" | "key" | "keyboard-o" | "keyboard" | "laptop" | "layout" | "level-down-bold" | "level-down" | "level-left-bold" | "level-left" | "level-right-bold" | "level-right" | "level-up-bold" | "level-up" | "lifebuoy" | "lightbulb" | "line-bar-chart" | "line-chart" | "line-h" | "line-v" | "lines-list" | "lines" | "link" | "list-ol" | "list-select" | "list-ul" | "list" | "location-arrow-circle-o" | "location-arrow-circle" | "location-arrow" | "lock" | "magic" | "magnet" | "mailbox" | "male" | "map-marker" | "margin-bottom" | "margin-left" | "margin-right" | "margin-top" | "margin" | "medal" | "megaphone" | "meh-o" | "menu" | "microphone" | "mini-partner" | "minus-circle-o" | "minus-circle" | "minus-square-o" | "minus" | "mobile-browser" | "mobile-retro" | "mobile" | "modal-list" | "modal" | "money-deposit" | "money-exchange" | "money-withdraw" | "money" | "moon-o" | "moon" | "morning" | "movie" | "music" | "mute" | "native-button" | "newspaper" | "notebook" | "number-count" | "nurse" | "office" | "open-book" | "option-a" | "option" | "options" | "orientation" | "out" | "outbox" | "package" | "padding-bottom" | "padding-left" | "padding-right" | "padding-top" | "padding" | "paint-roll" | "paintbrush" | "palette" | "panel" | "paperclip" | "paperplane-o" | "paperplane" | "paragraph" | "partner" | "password" | "paste" | "pause" | "pencil" | "phone-landline" | "phone" | "picture" | "pie-bar-chart" | "pie-chart" | "piggy-bank-coin" | "piggy-bank" | "pill" | "pills" | "pin-post" | "pin" | "play-circle-o" | "play-circle" | "play" | "plug" | "plus-circle-o" | "plus-circle" | "plus-minus" | "plus-square-o" | "plus" | "pointer" | "power-off" | "presentation" | "print" | "progressbar" | "puzzle-piece" | "pyramid-chart" | "qrcode" | "question-circle-o" | "question-circle" | "question" | "quote-left" | "quote-right" | "random" | "raster-lower-left" | "raster" | "records" | "recycle" | "refresh" | "reply-all" | "reply" | "resize-h" | "resize-v" | "retweet" | "rhombus" | "road-branch" | "road-branches" | "road-split" | "road" | "rocket" | "rotate-left" | "rotate-right" | "rss-square" | "rss" | "safe-lock" | "safe" | "scale-unbalance" | "scale" | "scatter-chart" | "scissors" | "screwdriver" | "search-minus" | "search-plus" | "search" | "select" | "server" | "share-square" | "share" | "shield" | "shift-arrow" | "shift" | "shop" | "sign-in-alt" | "sign-in" | "sign-out-alt" | "sign-out" | "signal" | "sitemap" | "slider" | "sliders" | "smiley-o" | "sort" | "sound-disable" | "spark-line" | "specialist" | "spinner-arc" | "spinner-third" | "spinner" | "spline-area-chart" | "spline-chart" | "split-h" | "split-v" | "split" | "spoon" | "square-shadow" | "star-half-left-o" | "star-half-left" | "star-half-right-o" | "star-half-right" | "star-o" | "star" | "start-cog" | "step-backward" | "step-forward" | "stethoscope" | "stock" | "stop-cog" | "stop" | "stopwatch" | "storage" | "strikethrough" | "subscript" | "suitcase" | "sun-down" | "sun-o" | "sun-rise" | "superscript" | "sword" | "tab-a" | "tab" | "table" | "tablet" | "tabs" | "tag" | "tags" | "tasks" | "taxi" | "teeth" | "terminal" | "text-height" | "text-input" | "text-label" | "text-width" | "thin-square" | "thumbs-down-o" | "thumbs-down" | "thumbs-up-o" | "thumbs-up" | "ticket" | "time-backward" | "time-forward" | "timer" | "toolbox" | "tools" | "tooth" | "touch" | "train" | "trash" | "tree-table" | "trending-down" | "trending-up" | "trophy" | "truck" | "twin-col-select" | "twitter-square" | "twitter" | "umbrella" | "underline" | "unlink" | "unlock" | "upload-alt" | "upload" | "user-card" | "user-check" | "user-clock" | "user-heart" | "user-star" | "user" | "users" | "vaadin-h" | "vaadin-v" | "viewport" | "vimeo-square" | "vimeo" | "volume-down" | "volume-off" | "volume-up" | "volume" | "wallet" | "warehouse" | "warning" | "workplace" | "wrench" | "youtube-square" | "youtube">;
26
- /**
27
- * CSS pixel size for width and height. Accepts a number (`24`) or CSS length
28
- * (`'1.5rem'`). Defaults to `24`.
29
- */
30
- readonly size: i0.InputSignal<string | number>;
31
- constructor();
32
- /**
33
- * Fragment href into the inlined sprite (`#truck`).
34
- *
35
- * @returns Hash fragment pointing at the named symbol.
36
- */
37
- protected href(): string;
38
- /**
39
- * Normalized size attribute value.
40
- *
41
- * @returns Size as a string suitable for the SVG `width`/`height` attrs.
42
- */
43
- protected resolvedSize(): string;
44
- static ɵfac: i0.ɵɵFactoryDeclaration<AfricaniesIconComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<AfricaniesIconComponent, "africanies-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
46
- }
47
-
48
- /**
49
- * Generated by `tools/build-icon-sprite.mjs` — do not edit by hand.
50
- *
51
- * Closed list of every symbol id in `icons.sprite.svg` so typos fail at
52
- * compile time, editors autocomplete valid names, and the playground gallery
53
- * can iterate without maintaining a second list.
54
- *
55
- * To add an icon: drop an SVG into `/svg`, then run `npm run icons:build`.
56
- */
57
- declare const ICON_NAMES: readonly ["abacus", "absolute-position", "academy-cap", "accessibility", "accordion-menu", "add-dock", "adjust", "adobe-flash", "airplane", "alarm", "align-center", "align-justify", "align-left", "align-right", "alt-a", "alt", "ambulance", "anchor", "angle-double-down", "angle-double-left", "angle-double-right", "angle-double-up", "angle-down", "angle-left", "angle-right", "angle-up", "archive", "archives", "area-select", "arrow-backward", "arrow-circle-down-o", "arrow-circle-down", "arrow-circle-left-o", "arrow-circle-left", "arrow-circle-right-o", "arrow-circle-right", "arrow-circle-up-o", "arrow-circle-up", "arrow-down", "arrow-forward", "arrow-left", "arrow-long-down", "arrow-long-left", "arrow-right", "arrow-up", "arrows-cross", "arrows-long-h", "arrows-long-right", "arrows-long-up", "arrows-long-v", "arrows", "asterisk", "at", "automation", "backspace-a", "backspace", "backwards", "ban", "bar-chart-h", "bar-chart-v", "bar-chart", "barcode", "bed", "bell-o", "bell-slash-o", "bell-slash", "bell", "boat", "bold", "bolt", "bomb", "book-dollar", "book-percent", "book", "bookmark-o", "bookmark", "briefcase", "browser", "bug-o", "bug", "building-o", "building", "bullets", "bullseye", "bus", "button", "calc-book", "calc", "calendar-briefcase", "calendar-clock", "calendar-envelope", "calendar-o", "calendar-user", "calendar", "camera", "car", "caret-down", "caret-left", "caret-right", "caret-square-down-o", "caret-square-left-o", "caret-square-right-o", "caret-square-up-o", "caret-up", "cart-o", "cart", "cash", "chart-3d", "chart-grid", "chart-line", "chart-timeline", "chart", "chat", "check-circle-o", "check-circle", "check-square-o", "check-square", "check", "chevron-circle-down-o", "chevron-circle-down", "chevron-circle-left-o", "chevron-circle-left", "chevron-circle-right-o", "chevron-circle-right", "chevron-circle-up-o", "chevron-circle-up", "chevron-down-small", "chevron-down", "chevron-left-small", "chevron-left", "chevron-right-small", "chevron-right", "chevron-up-small", "chevron-up", "child", "circle-thin", "circle", "clipboard-check", "clipboard-cross", "clipboard-heart", "clipboard-pulse", "clipboard-text", "clipboard-user", "clipboard", "clock", "close-big", "close-circle-o", "close-circle", "close-small", "close", "cloud-download-o", "cloud-download", "cloud-o", "cloud-upload-o", "cloud-upload", "cloud", "cluster", "code", "coffee", "cog-o", "cog", "cogs", "coin-piles", "coins", "combobox", "comment-ellipsis-o", "comment-ellipsis", "comment-o", "comment", "comments-o", "comments", "compile", "compress-square", "compress", "connect-o", "connect", "controller", "copy-o", "copy", "copyright", "corner-lower-left", "corner-lower-right", "corner-upper-left", "corner-upper-right", "credit-card", "crop", "cross-cutlery", "crosshairs", "css", "ctrl-a", "ctrl", "cube", "cubes", "curly-brackets", "cursor-o", "cursor", "cutlery", "dashboard", "database", "date-input", "deindent", "del-a", "del", "dental-chair", "desktop", "diamond-o", "diamond", "diasporan-partner", "diploma-scroll", "diploma", "disc", "doctor-briefcase", "doctor", "dollar", "dot-circle", "download-alt", "download", "drop", "edit", "eject", "elastic", "ellipsis-circle-o", "ellipsis-circle", "ellipsis-dots-h", "ellipsis-dots-v", "ellipsis-h", "ellipsis-v", "enter-arrow", "enter", "envelope-o", "envelope-open-o", "envelope-open", "envelope", "envelopes-o", "envelopes", "eraser", "esc-a", "esc", "euro", "exchange", "exclamation-circle-o", "exclamation-circle", "exclamation", "exit-o", "exit", "expand-full", "expand-square", "expand", "external-browser", "external-link", "eye-slash", "eye", "eyedropper", "facebook-square", "facebook", "factory", "family", "fast-backward", "fast-forward", "female", "file-add", "file-code", "file-font", "file-movie", "file-o", "file-picture", "file-presentation", "file-process", "file-refresh", "file-remove", "file-search", "file-sound", "file-start", "file-table", "file-text-o", "file-text", "file-tree-small", "file-tree-sub", "file-tree", "file-zip", "file", "fill", "film", "filter", "fire", "flag-checkered", "flag-o", "flag", "flash", "flask", "flight-landing", "flight-takeoff", "flip-h", "flip-v", "folder-add", "folder-o", "folder-open-o", "folder-open", "folder-remove", "folder-search", "folder", "font", "form", "forward", "frown-o", "funcion", "funnel", "gamepad", "gavel", "gift", "glass", "glasses", "globe-wire", "globe", "golf", "google-plus-square", "google-plus", "grab", "grid-bevel", "grid-big-o", "grid-big", "grid-h", "grid-small-o", "grid-small", "grid-v", "grid", "group", "hammer", "hand", "handle-corner", "hands-up", "handshake", "harddrive-o", "harddrive", "hash", "header", "headphones", "headset", "health-card", "heart-o", "heart", "home-o", "home", "hospital", "hourglass-empty", "hourglass-end", "hourglass-start", "hourglass", "inbox", "indent", "info-circle-o", "info-circle", "info", "input", "insert", "institution", "invoice", "italic", "key-o", "key", "keyboard-o", "keyboard", "laptop", "layout", "level-down-bold", "level-down", "level-left-bold", "level-left", "level-right-bold", "level-right", "level-up-bold", "level-up", "lifebuoy", "lightbulb", "line-bar-chart", "line-chart", "line-h", "line-v", "lines-list", "lines", "link", "list-ol", "list-select", "list-ul", "list", "location-arrow-circle-o", "location-arrow-circle", "location-arrow", "lock", "magic", "magnet", "mailbox", "male", "map-marker", "margin-bottom", "margin-left", "margin-right", "margin-top", "margin", "medal", "megaphone", "meh-o", "menu", "microphone", "mini-partner", "minus-circle-o", "minus-circle", "minus-square-o", "minus", "mobile-browser", "mobile-retro", "mobile", "modal-list", "modal", "money-deposit", "money-exchange", "money-withdraw", "money", "moon-o", "moon", "morning", "movie", "music", "mute", "native-button", "newspaper", "notebook", "number-count", "nurse", "office", "open-book", "option-a", "option", "options", "orientation", "out", "outbox", "package", "padding-bottom", "padding-left", "padding-right", "padding-top", "padding", "paint-roll", "paintbrush", "palette", "panel", "paperclip", "paperplane-o", "paperplane", "paragraph", "partner", "password", "paste", "pause", "pencil", "phone-landline", "phone", "picture", "pie-bar-chart", "pie-chart", "piggy-bank-coin", "piggy-bank", "pill", "pills", "pin-post", "pin", "play-circle-o", "play-circle", "play", "plug", "plus-circle-o", "plus-circle", "plus-minus", "plus-square-o", "plus", "pointer", "power-off", "presentation", "print", "progressbar", "puzzle-piece", "pyramid-chart", "qrcode", "question-circle-o", "question-circle", "question", "quote-left", "quote-right", "random", "raster-lower-left", "raster", "records", "recycle", "refresh", "reply-all", "reply", "resize-h", "resize-v", "retweet", "rhombus", "road-branch", "road-branches", "road-split", "road", "rocket", "rotate-left", "rotate-right", "rss-square", "rss", "safe-lock", "safe", "scale-unbalance", "scale", "scatter-chart", "scissors", "screwdriver", "search-minus", "search-plus", "search", "select", "server", "share-square", "share", "shield", "shift-arrow", "shift", "shop", "sign-in-alt", "sign-in", "sign-out-alt", "sign-out", "signal", "sitemap", "slider", "sliders", "smiley-o", "sort", "sound-disable", "spark-line", "specialist", "spinner-arc", "spinner-third", "spinner", "spline-area-chart", "spline-chart", "split-h", "split-v", "split", "spoon", "square-shadow", "star-half-left-o", "star-half-left", "star-half-right-o", "star-half-right", "star-o", "star", "start-cog", "step-backward", "step-forward", "stethoscope", "stock", "stop-cog", "stop", "stopwatch", "storage", "strikethrough", "subscript", "suitcase", "sun-down", "sun-o", "sun-rise", "superscript", "sword", "tab-a", "tab", "table", "tablet", "tabs", "tag", "tags", "tasks", "taxi", "teeth", "terminal", "text-height", "text-input", "text-label", "text-width", "thin-square", "thumbs-down-o", "thumbs-down", "thumbs-up-o", "thumbs-up", "ticket", "time-backward", "time-forward", "timer", "toolbox", "tools", "tooth", "touch", "train", "trash", "tree-table", "trending-down", "trending-up", "trophy", "truck", "twin-col-select", "twitter-square", "twitter", "umbrella", "underline", "unlink", "unlock", "upload-alt", "upload", "user-card", "user-check", "user-clock", "user-heart", "user-star", "user", "users", "vaadin-h", "vaadin-v", "viewport", "vimeo-square", "vimeo", "volume-down", "volume-off", "volume-up", "volume", "wallet", "warehouse", "warning", "workplace", "wrench", "youtube-square", "youtube"];
58
- /**
59
- * Union of every icon id in {@link ICON_NAMES}.
60
- */
61
- type IconName = (typeof ICON_NAMES)[number];
62
-
63
- /**
64
- * URL of the SVG sprite served by the host application.
65
- *
66
- * Default assumes the published asset is copied to
67
- * `/assets/africanies-icons/icons.sprite.svg` (see package README). The leading
68
- * slash is required: Angular `[src]` / `fetch()` resolve relative URLs
69
- * against the current route (`/login/assets/…`), not `<base href="/">`.
70
- * Override when the host uses a CDN or a different assets path.
71
- */
72
- declare const AFRICANIES_ICON_SPRITE_URL: InjectionToken<string>;
73
- /**
74
- * Fetches and inlines the icon sprite once into `document.body`.
75
- *
76
- * WHY inline (not external `<use href="sprite.svg#id">`):
77
- * - External fragment references break under some CSP / cross-origin setups.
78
- * - Inlining once lets every `<africanies-icon>` use cheap `#symbol-id` hrefs and
79
- * keeps a single network request for 600+ icons.
80
- *
81
- * Call {@link ensureLoaded} from `AfricaniesIconComponent` (or app bootstrap). Safe
82
- * to invoke repeatedly — concurrent callers share one in-flight promise.
83
- */
84
- declare class IconRegistryService {
85
- private readonly document;
86
- private readonly spriteUrl;
87
- private loadPromise;
88
- private loaded;
89
- /**
90
- * Ensures the sprite `<svg>` is present in the DOM.
91
- *
92
- * @returns Resolves when the sprite is inlined (or already present).
93
- * @throws {Error} When the sprite URL cannot be fetched.
94
- */
95
- ensureLoaded(): Promise<void>;
96
- /**
97
- * Whether the sprite has been successfully inlined.
98
- *
99
- * @returns `true` after a successful {@link ensureLoaded}.
100
- */
101
- isLoaded(): boolean;
102
- private fetchAndInline;
103
- static ɵfac: i0.ɵɵFactoryDeclaration<IconRegistryService, never>;
104
- static ɵprov: i0.ɵɵInjectableDeclaration<IconRegistryService>;
105
- }
106
-
107
- export { AFRICANIES_ICON_SPRITE_URL, AfricaniesIconComponent, ICON_NAMES, IconRegistryService };
108
- export type { IconName };
@@ -1,31 +0,0 @@
1
- # @africanies/africanies-storage
2
-
3
- Injectable browser storage for the AFRICANIES Web SDK. Provides a swappable
4
- `StorageService` behind `STORAGE_TOKEN`, with `localStorage` (default) and
5
- `sessionStorage` implementations plus `provideLocalStorage()` /
6
- `provideSessionStorage()` helpers.
7
-
8
- Shipping mode (`ShippingModeService` in `@africanies/africanies-core`) always persists
9
- via `SessionStorageService` directly so each browser tab can use a different
10
- STN/SFN mode. Theme and auth token use `STORAGE_TOKEN` (localStorage by default).
11
-
12
- ## Usage
13
-
14
- ```ts
15
- import {
16
- STORAGE_TOKEN,
17
- provideLocalStorage,
18
- AFRICANIES_THEME_KEY,
19
- } from '@africanies/africanies-storage';
20
-
21
- // app.config.ts
22
- providers: [provideLocalStorage()];
23
-
24
- // elsewhere
25
- const storage = inject(STORAGE_TOKEN);
26
- storage.set(AFRICANIES_THEME_KEY, 'dark');
27
- ```
28
-
29
- ## Tests
30
-
31
- Run `nx test africanies-storage`.
@@ -1,243 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, InjectionToken, inject, makeEnvironmentProviders } from '@angular/core';
3
-
4
- /**
5
- * Browser key-value persistence abstraction used by theme, shipping mode,
6
- * and auth token flows.
7
- *
8
- * Implementations JSON-serialize values so callers work with typed objects
9
- * rather than raw strings. Prefer injecting via {@link STORAGE_TOKEN} so
10
- * tests can swap in an in-memory fake.
11
- */
12
- class StorageService {
13
- }
14
-
15
- /**
16
- * JSON helpers over the Web Storage API.
17
- *
18
- * Kept internal so Local/Session services stay thin; failure modes are
19
- * documented on {@link StorageService} for consumers.
20
- */
21
- /**
22
- * @param store - `localStorage` or `sessionStorage`.
23
- * @param key - Key to read.
24
- * @returns Parsed value, or `null` when missing/empty.
25
- */
26
- function readJson(store, key) {
27
- const raw = store.getItem(key);
28
- if (raw === null || raw === '') {
29
- return null;
30
- }
31
- return JSON.parse(raw);
32
- }
33
- /**
34
- * @param store - `localStorage` or `sessionStorage`.
35
- * @param key - Key to write.
36
- * @param value - JSON-serializable value.
37
- */
38
- function writeJson(store, key, value) {
39
- store.setItem(key, JSON.stringify(value));
40
- }
41
-
42
- /**
43
- * `localStorage`-backed {@link StorageService}.
44
- *
45
- * Default root implementation behind {@link STORAGE_TOKEN}. Values survive
46
- * browser restarts for the origin.
47
- *
48
- * @example
49
- * ```ts
50
- * const storage = inject(LocalStorageService);
51
- * try {
52
- * storage.set('user', { id: 1 });
53
- * } catch (err) {
54
- * // QuotaExceededError or private-browsing denial
55
- * console.warn('persist failed', err);
56
- * }
57
- * ```
58
- */
59
- class LocalStorageService extends StorageService {
60
- /**
61
- * @inheritdoc
62
- * @throws {DOMException} Quota exceeded or storage disabled in private browsing.
63
- * @throws {SyntaxError} Stored value is not valid JSON.
64
- */
65
- get(key) {
66
- return readJson(localStorage, key);
67
- }
68
- /**
69
- * @inheritdoc
70
- * @throws {DOMException} Quota exceeded or storage disabled in private browsing.
71
- * @throws {TypeError} Value is not JSON-serializable.
72
- */
73
- set(key, value) {
74
- writeJson(localStorage, key, value);
75
- }
76
- /**
77
- * @inheritdoc
78
- * @throws {DOMException} When storage is inaccessible.
79
- */
80
- remove(key) {
81
- localStorage.removeItem(key);
82
- }
83
- /**
84
- * @inheritdoc
85
- * @throws {DOMException} When storage is inaccessible.
86
- */
87
- clear() {
88
- localStorage.clear();
89
- }
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LocalStorageService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
91
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LocalStorageService, decorators: [{
94
- type: Injectable,
95
- args: [{ providedIn: 'root' }]
96
- }] });
97
-
98
- /**
99
- * `sessionStorage`-backed {@link StorageService}.
100
- *
101
- * Scope is limited to the current tab/window lifetime — use when values must
102
- * not outlive the session (e.g. ephemeral UI flags). Register via
103
- * {@link provideSessionStorage} to bind {@link STORAGE_TOKEN} to this class.
104
- *
105
- * @example
106
- * ```ts
107
- * // app.config.ts
108
- * providers: [provideSessionStorage()]
109
- *
110
- * // elsewhere
111
- * const storage = inject(STORAGE_TOKEN);
112
- * try {
113
- * storage.set('wizard.step', 2);
114
- * } catch (err) {
115
- * // QuotaExceededError or private-browsing denial
116
- * }
117
- * ```
118
- */
119
- class SessionStorageService extends StorageService {
120
- /**
121
- * @inheritdoc
122
- * @throws {DOMException} Quota exceeded or storage disabled in private browsing.
123
- * @throws {SyntaxError} Stored value is not valid JSON.
124
- */
125
- get(key) {
126
- return readJson(sessionStorage, key);
127
- }
128
- /**
129
- * @inheritdoc
130
- * @throws {DOMException} Quota exceeded or storage disabled in private browsing.
131
- * @throws {TypeError} Value is not JSON-serializable.
132
- */
133
- set(key, value) {
134
- writeJson(sessionStorage, key, value);
135
- }
136
- /**
137
- * @inheritdoc
138
- * @throws {DOMException} When storage is inaccessible.
139
- */
140
- remove(key) {
141
- sessionStorage.removeItem(key);
142
- }
143
- /**
144
- * @inheritdoc
145
- * @throws {DOMException} When storage is inaccessible.
146
- */
147
- clear() {
148
- sessionStorage.clear();
149
- }
150
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SessionStorageService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
151
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SessionStorageService, providedIn: 'root' });
152
- }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SessionStorageService, decorators: [{
154
- type: Injectable,
155
- args: [{ providedIn: 'root' }]
156
- }] });
157
-
158
- /**
159
- * DI token for the active {@link StorageService} implementation.
160
- *
161
- * Defaults to {@link LocalStorageService} via `providedIn: 'root'`. Override
162
- * in tests or at bootstrap with {@link provideSessionStorage} /
163
- * {@link provideLocalStorage}.
164
- *
165
- * @example
166
- * ```ts
167
- * const storage = inject(STORAGE_TOKEN);
168
- * storage.set('prefs', { dense: true });
169
- * ```
170
- */
171
- const STORAGE_TOKEN = new InjectionToken('AFRICANIES_STORAGE', {
172
- providedIn: 'root',
173
- factory: () => inject(LocalStorageService),
174
- });
175
-
176
- /**
177
- * Explicitly binds {@link STORAGE_TOKEN} to {@link LocalStorageService}.
178
- *
179
- * Redundant with the token's root factory, but useful when an app previously
180
- * registered session storage and needs to switch back, or for clarity in
181
- * `app.config.ts`.
182
- *
183
- * @returns Environment providers wiring `STORAGE_TOKEN` → localStorage.
184
- *
185
- * @example
186
- * ```ts
187
- * bootstrapApplication(App, {
188
- * providers: [provideLocalStorage()],
189
- * });
190
- * ```
191
- */
192
- function provideLocalStorage() {
193
- return makeEnvironmentProviders([
194
- LocalStorageService,
195
- { provide: STORAGE_TOKEN, useExisting: LocalStorageService },
196
- ]);
197
- }
198
- /**
199
- * Binds {@link STORAGE_TOKEN} to {@link SessionStorageService}.
200
- *
201
- * Prefer this when SDK consumers (theme, auth token) should persist only
202
- * for the current tab rather than across sessions.
203
- *
204
- * Shipping mode always uses {@link SessionStorageService} directly and is
205
- * unaffected by this override.
206
- *
207
- * @returns Environment providers wiring `STORAGE_TOKEN` → sessionStorage.
208
- *
209
- * @example
210
- * ```ts
211
- * bootstrapApplication(App, {
212
- * providers: [provideSessionStorage()],
213
- * });
214
- * ```
215
- */
216
- function provideSessionStorage() {
217
- return makeEnvironmentProviders([
218
- SessionStorageService,
219
- { provide: STORAGE_TOKEN, useExisting: SessionStorageService },
220
- ]);
221
- }
222
-
223
- /**
224
- * Well-known local/session storage keys used across AFRICANIES SDK packages.
225
- *
226
- * Centralizing these avoids typos between theme, shipping-mode, and
227
- * auth persistence layers that all go through {@link StorageService}.
228
- */
229
- /** Persisted UI theme preference (`'light' | 'dark'` or equivalent). */
230
- const AFRICANIES_THEME_KEY = 'africanies.theme';
231
- /** Tab-scoped shipping mode (`'stn' | 'sfn'`) — {@link SessionStorageService}. */
232
- const AFRICANIES_SHIPPING_MODE_KEY = 'africanies.shippingMode';
233
- /** Cached public mode-config payload (mapped {@link ModeConfigDataModel}). */
234
- const AFRICANIES_MODE_CONFIG_KEY = 'africanies.modeConfig';
235
- /** Persisted bearer access token for authenticated SDK HTTP calls. */
236
- const AFRICANIES_ACCESS_TOKEN_KEY = 'africanies.accessToken';
237
-
238
- /**
239
- * Generated bundle index. Do not edit.
240
- */
241
-
242
- export { AFRICANIES_ACCESS_TOKEN_KEY, AFRICANIES_MODE_CONFIG_KEY, AFRICANIES_SHIPPING_MODE_KEY, AFRICANIES_THEME_KEY, LocalStorageService, STORAGE_TOKEN, SessionStorageService, StorageService, provideLocalStorage, provideSessionStorage };
243
- //# sourceMappingURL=africanies-africanies-storage.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"africanies-africanies-storage.mjs","sources":["../../../../libs/africanies-storage/src/lib/storage.service.ts","../../../../libs/africanies-storage/src/lib/storage-json.ts","../../../../libs/africanies-storage/src/lib/local-storage.service.ts","../../../../libs/africanies-storage/src/lib/session-storage.service.ts","../../../../libs/africanies-storage/src/lib/storage.token.ts","../../../../libs/africanies-storage/src/lib/provide-storage.ts","../../../../libs/africanies-storage/src/lib/storage.keys.ts","../../../../libs/africanies-storage/src/africanies-africanies-storage.ts"],"sourcesContent":["/**\n * Browser key-value persistence abstraction used by theme, shipping mode,\n * and auth token flows.\n *\n * Implementations JSON-serialize values so callers work with typed objects\n * rather than raw strings. Prefer injecting via {@link STORAGE_TOKEN} so\n * tests can swap in an in-memory fake.\n */\nexport abstract class StorageService {\n /**\n * Reads and deserializes a previously stored value.\n *\n * @typeParam T - Expected value type after JSON parse.\n * @param key - Storage key.\n * @returns The parsed value, or `null` when the key is missing or empty.\n * @throws {DOMException} When storage is inaccessible (e.g. private browsing\n * with storage disabled) or when reading fails for security reasons.\n * @throws {SyntaxError} When stored content is not valid JSON.\n */\n abstract get<T>(key: string): T | null;\n\n /**\n * Serializes and writes a value under `key`.\n *\n * @typeParam T - Value type to persist (must be JSON-serializable).\n * @param key - Storage key.\n * @param value - Value to serialize with `JSON.stringify`.\n * @throws {DOMException} `QuotaExceededError` when the storage quota is\n * exceeded, or when storage is disabled (private browsing).\n * @throws {TypeError} When `value` cannot be serialized to JSON\n * (e.g. circular structures).\n */\n abstract set<T>(key: string, value: T): void;\n\n /**\n * Removes a single key if present.\n *\n * @param key - Storage key to delete.\n * @throws {DOMException} When storage is inaccessible.\n */\n abstract remove(key: string): void;\n\n /**\n * Removes all keys in this storage partition.\n *\n * @throws {DOMException} When storage is inaccessible.\n */\n abstract clear(): void;\n}\n","/**\n * JSON helpers over the Web Storage API.\n *\n * Kept internal so Local/Session services stay thin; failure modes are\n * documented on {@link StorageService} for consumers.\n */\n\n/**\n * @param store - `localStorage` or `sessionStorage`.\n * @param key - Key to read.\n * @returns Parsed value, or `null` when missing/empty.\n */\nexport function readJson<T>(store: Storage, key: string): T | null {\n const raw = store.getItem(key);\n if (raw === null || raw === '') {\n return null;\n }\n return JSON.parse(raw) as T;\n}\n\n/**\n * @param store - `localStorage` or `sessionStorage`.\n * @param key - Key to write.\n * @param value - JSON-serializable value.\n */\nexport function writeJson<T>(store: Storage, key: string, value: T): void {\n store.setItem(key, JSON.stringify(value));\n}\n","import { Injectable } from '@angular/core';\n\nimport { StorageService } from './storage.service';\nimport { readJson, writeJson } from './storage-json';\n\n/**\n * `localStorage`-backed {@link StorageService}.\n *\n * Default root implementation behind {@link STORAGE_TOKEN}. Values survive\n * browser restarts for the origin.\n *\n * @example\n * ```ts\n * const storage = inject(LocalStorageService);\n * try {\n * storage.set('user', { id: 1 });\n * } catch (err) {\n * // QuotaExceededError or private-browsing denial\n * console.warn('persist failed', err);\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class LocalStorageService extends StorageService {\n /**\n * @inheritdoc\n * @throws {DOMException} Quota exceeded or storage disabled in private browsing.\n * @throws {SyntaxError} Stored value is not valid JSON.\n */\n override get<T>(key: string): T | null {\n return readJson<T>(localStorage, key);\n }\n\n /**\n * @inheritdoc\n * @throws {DOMException} Quota exceeded or storage disabled in private browsing.\n * @throws {TypeError} Value is not JSON-serializable.\n */\n override set<T>(key: string, value: T): void {\n writeJson(localStorage, key, value);\n }\n\n /**\n * @inheritdoc\n * @throws {DOMException} When storage is inaccessible.\n */\n override remove(key: string): void {\n localStorage.removeItem(key);\n }\n\n /**\n * @inheritdoc\n * @throws {DOMException} When storage is inaccessible.\n */\n override clear(): void {\n localStorage.clear();\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { StorageService } from './storage.service';\nimport { readJson, writeJson } from './storage-json';\n\n/**\n * `sessionStorage`-backed {@link StorageService}.\n *\n * Scope is limited to the current tab/window lifetime — use when values must\n * not outlive the session (e.g. ephemeral UI flags). Register via\n * {@link provideSessionStorage} to bind {@link STORAGE_TOKEN} to this class.\n *\n * @example\n * ```ts\n * // app.config.ts\n * providers: [provideSessionStorage()]\n *\n * // elsewhere\n * const storage = inject(STORAGE_TOKEN);\n * try {\n * storage.set('wizard.step', 2);\n * } catch (err) {\n * // QuotaExceededError or private-browsing denial\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class SessionStorageService extends StorageService {\n /**\n * @inheritdoc\n * @throws {DOMException} Quota exceeded or storage disabled in private browsing.\n * @throws {SyntaxError} Stored value is not valid JSON.\n */\n override get<T>(key: string): T | null {\n return readJson<T>(sessionStorage, key);\n }\n\n /**\n * @inheritdoc\n * @throws {DOMException} Quota exceeded or storage disabled in private browsing.\n * @throws {TypeError} Value is not JSON-serializable.\n */\n override set<T>(key: string, value: T): void {\n writeJson(sessionStorage, key, value);\n }\n\n /**\n * @inheritdoc\n * @throws {DOMException} When storage is inaccessible.\n */\n override remove(key: string): void {\n sessionStorage.removeItem(key);\n }\n\n /**\n * @inheritdoc\n * @throws {DOMException} When storage is inaccessible.\n */\n override clear(): void {\n sessionStorage.clear();\n }\n}\n","import { inject,InjectionToken } from '@angular/core';\n\nimport { LocalStorageService } from './local-storage.service';\nimport { StorageService } from './storage.service';\n\n/**\n * DI token for the active {@link StorageService} implementation.\n *\n * Defaults to {@link LocalStorageService} via `providedIn: 'root'`. Override\n * in tests or at bootstrap with {@link provideSessionStorage} /\n * {@link provideLocalStorage}.\n *\n * @example\n * ```ts\n * const storage = inject(STORAGE_TOKEN);\n * storage.set('prefs', { dense: true });\n * ```\n */\nexport const STORAGE_TOKEN = new InjectionToken<StorageService>('AFRICANIES_STORAGE', {\n providedIn: 'root',\n factory: () => inject(LocalStorageService),\n});\n","import { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { LocalStorageService } from './local-storage.service';\nimport { SessionStorageService } from './session-storage.service';\nimport { STORAGE_TOKEN } from './storage.token';\n\n/**\n * Explicitly binds {@link STORAGE_TOKEN} to {@link LocalStorageService}.\n *\n * Redundant with the token's root factory, but useful when an app previously\n * registered session storage and needs to switch back, or for clarity in\n * `app.config.ts`.\n *\n * @returns Environment providers wiring `STORAGE_TOKEN` → localStorage.\n *\n * @example\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideLocalStorage()],\n * });\n * ```\n */\nexport function provideLocalStorage(): EnvironmentProviders {\n return makeEnvironmentProviders([\n LocalStorageService,\n { provide: STORAGE_TOKEN, useExisting: LocalStorageService },\n ]);\n}\n\n/**\n * Binds {@link STORAGE_TOKEN} to {@link SessionStorageService}.\n *\n * Prefer this when SDK consumers (theme, auth token) should persist only\n * for the current tab rather than across sessions.\n *\n * Shipping mode always uses {@link SessionStorageService} directly and is\n * unaffected by this override.\n *\n * @returns Environment providers wiring `STORAGE_TOKEN` → sessionStorage.\n *\n * @example\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideSessionStorage()],\n * });\n * ```\n */\nexport function provideSessionStorage(): EnvironmentProviders {\n return makeEnvironmentProviders([\n SessionStorageService,\n { provide: STORAGE_TOKEN, useExisting: SessionStorageService },\n ]);\n}\n","/**\n * Well-known local/session storage keys used across AFRICANIES SDK packages.\n *\n * Centralizing these avoids typos between theme, shipping-mode, and\n * auth persistence layers that all go through {@link StorageService}.\n */\n\n/** Persisted UI theme preference (`'light' | 'dark'` or equivalent). */\nexport const AFRICANIES_THEME_KEY = 'africanies.theme';\n\n/** Tab-scoped shipping mode (`'stn' | 'sfn'`) — {@link SessionStorageService}. */\nexport const AFRICANIES_SHIPPING_MODE_KEY = 'africanies.shippingMode';\n\n/** Cached public mode-config payload (mapped {@link ModeConfigDataModel}). */\nexport const AFRICANIES_MODE_CONFIG_KEY = 'africanies.modeConfig';\n\n/** Persisted bearer access token for authenticated SDK HTTP calls. */\nexport const AFRICANIES_ACCESS_TOKEN_KEY = 'africanies.accessToken';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;;;;;AAOG;MACmB,cAAc,CAAA;AAwCnC;;AChDD;;;;;AAKG;AAEH;;;;AAIG;AACG,SAAU,QAAQ,CAAI,KAAc,EAAE,GAAW,EAAA;IACrD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE;AAC9B,QAAA,OAAO,IAAI;IACb;AACA,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM;AAC7B;AAEA;;;;AAIG;SACa,SAAS,CAAI,KAAc,EAAE,GAAW,EAAE,KAAQ,EAAA;AAChE,IAAA,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3C;;ACtBA;;;;;;;;;;;;;;;;AAgBG;AAEG,MAAO,mBAAoB,SAAQ,cAAc,CAAA;AACrD;;;;AAIG;AACM,IAAA,GAAG,CAAI,GAAW,EAAA;AACzB,QAAA,OAAO,QAAQ,CAAI,YAAY,EAAE,GAAG,CAAC;IACvC;AAEA;;;;AAIG;IACM,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAA;AACnC,QAAA,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC;IACrC;AAEA;;;AAGG;AACM,IAAA,MAAM,CAAC,GAAW,EAAA;AACzB,QAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;IAC9B;AAEA;;;AAGG;IACM,KAAK,GAAA;QACZ,YAAY,CAAC,KAAK,EAAE;IACtB;uGAjCW,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA;;2FACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACjBlC;;;;;;;;;;;;;;;;;;;;AAoBG;AAEG,MAAO,qBAAsB,SAAQ,cAAc,CAAA;AACvD;;;;AAIG;AACM,IAAA,GAAG,CAAI,GAAW,EAAA;AACzB,QAAA,OAAO,QAAQ,CAAI,cAAc,EAAE,GAAG,CAAC;IACzC;AAEA;;;;AAIG;IACM,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAA;AACnC,QAAA,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC;IACvC;AAEA;;;AAGG;AACM,IAAA,MAAM,CAAC,GAAW,EAAA;AACzB,QAAA,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC;AAEA;;;AAGG;IACM,KAAK,GAAA;QACZ,cAAc,CAAC,KAAK,EAAE;IACxB;uGAjCW,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAArB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA;;2FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACrBlC;;;;;;;;;;;;AAYG;MACU,aAAa,GAAG,IAAI,cAAc,CAAiB,oBAAoB,EAAE;AACpF,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,MAAM,CAAC,mBAAmB,CAAC;AAC3C,CAAA;;ACfD;;;;;;;;;;;;;;;AAeG;SACa,mBAAmB,GAAA;AACjC,IAAA,OAAO,wBAAwB,CAAC;QAC9B,mBAAmB;AACnB,QAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC7D,KAAA,CAAC;AACJ;AAEA;;;;;;;;;;;;;;;;;AAiBG;SACa,qBAAqB,GAAA;AACnC,IAAA,OAAO,wBAAwB,CAAC;QAC9B,qBAAqB;AACrB,QAAA,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE;AAC/D,KAAA,CAAC;AACJ;;ACpDA;;;;;AAKG;AAEH;AACO,MAAM,oBAAoB,GAAG;AAEpC;AACO,MAAM,4BAA4B,GAAG;AAE5C;AACO,MAAM,0BAA0B,GAAG;AAE1C;AACO,MAAM,2BAA2B,GAAG;;ACjB3C;;AAEG;;;;"}
@@ -1,27 +0,0 @@
1
- {
2
- "name": "@africanies/africanies-storage",
3
- "version": "0.0.1",
4
- "peerDependencies": {
5
- "@angular/core": "^22.0.0"
6
- },
7
- "sideEffects": false,
8
- "publishConfig": {
9
- "registry": "https://npm.pkg.github.com",
10
- "access": "restricted"
11
- },
12
- "module": "fesm2022/africanies-africanies-storage.mjs",
13
- "typings": "types/africanies-africanies-storage.d.ts",
14
- "exports": {
15
- "./package.json": {
16
- "default": "./package.json"
17
- },
18
- ".": {
19
- "types": "./types/africanies-africanies-storage.d.ts",
20
- "default": "./fesm2022/africanies-africanies-storage.mjs"
21
- }
22
- },
23
- "type": "module",
24
- "dependencies": {
25
- "tslib": "^2.3.0"
26
- }
27
- }