@ship-ui/core 0.19.5 → 0.22.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.
Files changed (153) hide show
  1. package/README.md +3 -0
  2. package/assets/mcp/components.json +66 -4243
  3. package/bin/mcp/index.js +6027 -273
  4. package/bin/ship-fg-scanner +0 -0
  5. package/bin/ship-fg.mjs +14 -12
  6. package/bin/src/subset.ts +3 -1
  7. package/fesm2022/ship-ui-core-sh-form-field-experimental.mjs +42 -0
  8. package/fesm2022/ship-ui-core-sh-form-field-experimental.mjs.map +1 -0
  9. package/fesm2022/ship-ui-core-ship-accordion.mjs +127 -0
  10. package/fesm2022/ship-ui-core-ship-accordion.mjs.map +1 -0
  11. package/fesm2022/ship-ui-core-ship-alert.mjs +305 -0
  12. package/fesm2022/ship-ui-core-ship-alert.mjs.map +1 -0
  13. package/fesm2022/ship-ui-core-ship-blueprint.mjs +1156 -0
  14. package/fesm2022/ship-ui-core-ship-blueprint.mjs.map +1 -0
  15. package/fesm2022/ship-ui-core-ship-button-group.mjs +41 -0
  16. package/fesm2022/ship-ui-core-ship-button-group.mjs.map +1 -0
  17. package/fesm2022/ship-ui-core-ship-button.mjs +38 -0
  18. package/fesm2022/ship-ui-core-ship-button.mjs.map +1 -0
  19. package/fesm2022/ship-ui-core-ship-card.mjs +35 -0
  20. package/fesm2022/ship-ui-core-ship-card.mjs.map +1 -0
  21. package/fesm2022/ship-ui-core-ship-checkbox.mjs +113 -0
  22. package/fesm2022/ship-ui-core-ship-checkbox.mjs.map +1 -0
  23. package/fesm2022/ship-ui-core-ship-chip.mjs +44 -0
  24. package/fesm2022/ship-ui-core-ship-chip.mjs.map +1 -0
  25. package/fesm2022/ship-ui-core-ship-color-picker.mjs +947 -0
  26. package/fesm2022/ship-ui-core-ship-color-picker.mjs.map +1 -0
  27. package/fesm2022/ship-ui-core-ship-datepicker.mjs +951 -0
  28. package/fesm2022/ship-ui-core-ship-datepicker.mjs.map +1 -0
  29. package/fesm2022/ship-ui-core-ship-dialog.mjs +263 -0
  30. package/fesm2022/ship-ui-core-ship-dialog.mjs.map +1 -0
  31. package/fesm2022/ship-ui-core-ship-divider.mjs +22 -0
  32. package/fesm2022/ship-ui-core-ship-divider.mjs.map +1 -0
  33. package/fesm2022/ship-ui-core-ship-event-card.mjs +50 -0
  34. package/fesm2022/ship-ui-core-ship-event-card.mjs.map +1 -0
  35. package/fesm2022/ship-ui-core-ship-file-upload.mjs +112 -0
  36. package/fesm2022/ship-ui-core-ship-file-upload.mjs.map +1 -0
  37. package/fesm2022/ship-ui-core-ship-form-field.mjs +310 -0
  38. package/fesm2022/ship-ui-core-ship-form-field.mjs.map +1 -0
  39. package/fesm2022/ship-ui-core-ship-icon.mjs +81 -0
  40. package/fesm2022/ship-ui-core-ship-icon.mjs.map +1 -0
  41. package/fesm2022/ship-ui-core-ship-list.mjs +22 -0
  42. package/fesm2022/ship-ui-core-ship-list.mjs.map +1 -0
  43. package/fesm2022/ship-ui-core-ship-menu.mjs +545 -0
  44. package/fesm2022/ship-ui-core-ship-menu.mjs.map +1 -0
  45. package/fesm2022/ship-ui-core-ship-popover.mjs +286 -0
  46. package/fesm2022/ship-ui-core-ship-popover.mjs.map +1 -0
  47. package/fesm2022/ship-ui-core-ship-progress-bar.mjs +37 -0
  48. package/fesm2022/ship-ui-core-ship-progress-bar.mjs.map +1 -0
  49. package/fesm2022/ship-ui-core-ship-radio.mjs +102 -0
  50. package/fesm2022/ship-ui-core-ship-radio.mjs.map +1 -0
  51. package/fesm2022/ship-ui-core-ship-range-slider.mjs +277 -0
  52. package/fesm2022/ship-ui-core-ship-range-slider.mjs.map +1 -0
  53. package/fesm2022/ship-ui-core-ship-select.mjs +971 -0
  54. package/fesm2022/ship-ui-core-ship-select.mjs.map +1 -0
  55. package/fesm2022/ship-ui-core-ship-sidenav.mjs +248 -0
  56. package/fesm2022/ship-ui-core-ship-sidenav.mjs.map +1 -0
  57. package/fesm2022/ship-ui-core-ship-sortable.mjs +485 -0
  58. package/fesm2022/ship-ui-core-ship-sortable.mjs.map +1 -0
  59. package/fesm2022/ship-ui-core-ship-spinner.mjs +28 -0
  60. package/fesm2022/ship-ui-core-ship-spinner.mjs.map +1 -0
  61. package/fesm2022/ship-ui-core-ship-stepper.mjs +76 -0
  62. package/fesm2022/ship-ui-core-ship-stepper.mjs.map +1 -0
  63. package/fesm2022/ship-ui-core-ship-table-filter-bar.mjs +28 -0
  64. package/fesm2022/ship-ui-core-ship-table-filter-bar.mjs.map +1 -0
  65. package/fesm2022/ship-ui-core-ship-table.mjs +442 -0
  66. package/fesm2022/ship-ui-core-ship-table.mjs.map +1 -0
  67. package/fesm2022/ship-ui-core-ship-tabs.mjs +38 -0
  68. package/fesm2022/ship-ui-core-ship-tabs.mjs.map +1 -0
  69. package/fesm2022/ship-ui-core-ship-theme-toggle.mjs +119 -0
  70. package/fesm2022/ship-ui-core-ship-theme-toggle.mjs.map +1 -0
  71. package/fesm2022/ship-ui-core-ship-toggle-card.mjs +75 -0
  72. package/fesm2022/ship-ui-core-ship-toggle-card.mjs.map +1 -0
  73. package/fesm2022/ship-ui-core-ship-toggle.mjs +105 -0
  74. package/fesm2022/ship-ui-core-ship-toggle.mjs.map +1 -0
  75. package/fesm2022/ship-ui-core-ship-virtual-scroll.mjs +186 -0
  76. package/fesm2022/ship-ui-core-ship-virtual-scroll.mjs.map +1 -0
  77. package/fesm2022/ship-ui-core.mjs +880 -8782
  78. package/fesm2022/ship-ui-core.mjs.map +1 -1
  79. package/package.json +147 -3
  80. package/styles/core.scss +43 -0
  81. package/styles/helpers.scss +2 -0
  82. package/styles/index.scss +12 -123
  83. package/types/ship-ui-core-sh-form-field-experimental.d.ts +11 -0
  84. package/types/ship-ui-core-ship-accordion.d.ts +19 -0
  85. package/types/ship-ui-core-ship-alert.d.ts +68 -0
  86. package/types/ship-ui-core-ship-blueprint.d.ts +112 -0
  87. package/types/ship-ui-core-ship-button-group.d.ts +15 -0
  88. package/types/ship-ui-core-ship-button.d.ts +13 -0
  89. package/types/ship-ui-core-ship-card.d.ts +11 -0
  90. package/types/ship-ui-core-ship-checkbox.d.ts +22 -0
  91. package/types/ship-ui-core-ship-chip.d.ts +15 -0
  92. package/types/ship-ui-core-ship-color-picker.d.ts +105 -0
  93. package/types/ship-ui-core-ship-datepicker.d.ts +96 -0
  94. package/types/ship-ui-core-ship-dialog.d.ts +76 -0
  95. package/types/ship-ui-core-ship-divider.d.ts +8 -0
  96. package/types/ship-ui-core-ship-event-card.d.ts +11 -0
  97. package/types/ship-ui-core-ship-file-upload.d.ts +20 -0
  98. package/types/ship-ui-core-ship-form-field.d.ts +32 -0
  99. package/types/ship-ui-core-ship-icon.d.ts +18 -0
  100. package/types/ship-ui-core-ship-list.d.ts +8 -0
  101. package/types/ship-ui-core-ship-menu.d.ts +49 -0
  102. package/types/ship-ui-core-ship-popover.d.ts +40 -0
  103. package/types/ship-ui-core-ship-progress-bar.d.ts +14 -0
  104. package/types/ship-ui-core-ship-radio.d.ts +22 -0
  105. package/types/ship-ui-core-ship-range-slider.d.ts +31 -0
  106. package/types/ship-ui-core-ship-select.d.ts +81 -0
  107. package/types/ship-ui-core-ship-sidenav.d.ts +36 -0
  108. package/types/ship-ui-core-ship-sortable.d.ts +72 -0
  109. package/types/ship-ui-core-ship-spinner.d.ts +10 -0
  110. package/types/ship-ui-core-ship-stepper.d.ts +13 -0
  111. package/types/ship-ui-core-ship-table-filter-bar.d.ts +8 -0
  112. package/types/ship-ui-core-ship-table.d.ts +69 -0
  113. package/types/ship-ui-core-ship-tabs.d.ts +14 -0
  114. package/types/ship-ui-core-ship-theme-toggle.d.ts +28 -0
  115. package/types/ship-ui-core-ship-toggle-card.d.ts +15 -0
  116. package/types/ship-ui-core-ship-toggle.d.ts +21 -0
  117. package/types/ship-ui-core-ship-virtual-scroll.d.ts +22 -0
  118. package/types/ship-ui-core.d.ts +88 -1070
  119. package/styles/components/ship-accordion.scss +0 -113
  120. package/styles/components/ship-alert-container.scss +0 -49
  121. package/styles/components/ship-alert.scss +0 -177
  122. package/styles/components/ship-blueprint.scss +0 -242
  123. package/styles/components/ship-button-group.scss +0 -165
  124. package/styles/components/ship-button.scss +0 -141
  125. package/styles/components/ship-card.scss +0 -57
  126. package/styles/components/ship-checkbox.scss +0 -116
  127. package/styles/components/ship-chip.scss +0 -104
  128. package/styles/components/ship-color-picker.scss +0 -150
  129. package/styles/components/ship-datepicker.scss +0 -317
  130. package/styles/components/ship-dialog.scss +0 -152
  131. package/styles/components/ship-divider.scss +0 -27
  132. package/styles/components/ship-event-card.scss +0 -51
  133. package/styles/components/ship-file-upload.scss +0 -47
  134. package/styles/components/ship-form-field.scss +0 -408
  135. package/styles/components/ship-icon.scss +0 -54
  136. package/styles/components/ship-list.scss +0 -165
  137. package/styles/components/ship-menu.scss +0 -237
  138. package/styles/components/ship-popover.scss +0 -205
  139. package/styles/components/ship-progress-bar.scss +0 -173
  140. package/styles/components/ship-radio.scss +0 -113
  141. package/styles/components/ship-range-slider.scss +0 -421
  142. package/styles/components/ship-select.scss +0 -153
  143. package/styles/components/ship-sidenav.scss +0 -195
  144. package/styles/components/ship-sortable.scss +0 -45
  145. package/styles/components/ship-spinner.scss +0 -53
  146. package/styles/components/ship-stepper.scss +0 -158
  147. package/styles/components/ship-table.scss +0 -443
  148. package/styles/components/ship-tabs.scss +0 -125
  149. package/styles/components/ship-theme-toggle.scss +0 -41
  150. package/styles/components/ship-toggle-card.scss +0 -69
  151. package/styles/components/ship-toggle.scss +0 -255
  152. package/styles/components/ship-tooltip.scss +0 -151
  153. package/styles/components/ship-virtual-scroll.scss +0 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-ui-core-ship-alert.mjs","sources":["../../../projects/ship-ui/ship-alert/ship-alert.ts","../../../projects/ship-ui/ship-alert/ship-alert-container.ts","../../../projects/ship-ui/ship-alert/ship-alert-container.html","../../../projects/ship-ui/ship-alert/ship-alert.module.ts","../../../projects/ship-ui/ship-alert/ship-alert.service.ts","../../../projects/ship-ui/ship-alert/ship-ui-core-ship-alert.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, inject, input, ViewEncapsulation } from '@angular/core';\nimport { ShipIcon } from '@ship-ui/core/ship-icon';\nimport { shipComponentClasses } from '@ship-ui/core';\nimport { ShipColor, ShipSheetVariant } from '@ship-ui/core';\nimport { ShipAlertService } from './ship-alert.service';\n\nexport type ShipAlertType = 'error' | 'success' | 'warn' | 'primary' | 'accent' | 'question';\n\n@Component({\n selector: 'sh-alert',\n styleUrl: './ship-alert.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [ShipIcon],\n template: `\n <div class=\"alert\">\n <div #ref class=\"icon\" [style.display]=\"!ref.children.length ? 'none' : 'block'\">\n <ng-content select=\"[icon]\" />\n <ng-content select=\"sh-icon\" />\n </div>\n\n <div class=\"icon\">\n @let _alertClasses = hostClasses();\n\n @if (_alertClasses.includes('primary')) {\n <sh-icon class=\"state-icon\">info</sh-icon>\n } @else if (_alertClasses.includes('accent')) {\n <sh-icon class=\"state-icon\">info</sh-icon>\n } @else if (_alertClasses.includes('warn')) {\n <sh-icon class=\"state-icon\">warning</sh-icon>\n } @else if (_alertClasses.includes('error')) {\n <sh-icon class=\"state-icon\">warning-octagon</sh-icon>\n } @else if (_alertClasses.includes('success')) {\n <sh-icon class=\"state-icon\">check-circle</sh-icon>\n } @else {\n <sh-icon class=\"state-icon\">question</sh-icon>\n }\n </div>\n\n <div class=\"title\">\n <ng-content select=\"[title]\" />\n <ng-content />\n </div>\n\n @if (id()) {\n <sh-icon class=\"close-icon\" (click)=\"removeAlert()\">plus</sh-icon>\n }\n\n <div class=\"actions\">\n <ng-content select=\"button\" />\n <ng-content select=\"[actions]\" />\n </div>\n\n <div class=\"content\">\n <ng-content select=\"[content]\" />\n <ng-content select=\"p\" />\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'sh-sheet',\n '[class]': 'hostClasses()',\n },\n})\nexport class ShipAlert {\n color = input<ShipColor | null>(null);\n variant = input<ShipSheetVariant | null>(null);\n\n hostClasses = shipComponentClasses('alert', {\n color: this.color,\n variant: this.variant,\n });\n\n _el = inject(ElementRef); // Used by alert container\n alertService = input<ShipAlertService | null>(null);\n id = input<string | null>(null);\n\n removeAlert() {\n if (this.id() && this.alertService()) {\n this.alertService()?.removeAlert(this.id() as string);\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostListener, QueryList, computed, effect, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ShipIcon } from '@ship-ui/core/ship-icon';\nimport { ShipAlert } from './ship-alert';\nimport { ShipAlertService } from './ship-alert.service';\n\n@Component({\n selector: 'ship-alert-container',\n styleUrl: './ship-alert-container.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [ShipAlert, ShipIcon],\n templateUrl: './ship-alert-container.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ShipAlertContainer {\n inline = input<string | null>(null);\n alerts = viewChild.required<QueryList<ShipAlert>>('alerts');\n scroller = viewChild.required<ElementRef<HTMLDivElement>>('scroller');\n alertService = input.required<ShipAlertService>();\n\n // alertHistory = this.alertService()?.alertHistory;\n // alertHistoryIsOpen = this.alertService()?.alertHistoryIsOpen;\n // alertHistoryIsHidden = this.alertService()?.alertHistoryIsHidden;\n\n numberOfOpenAlerts = computed(() => {\n return this.alertService()\n .alertHistory()\n .filter((x) => x.isOpen).length;\n });\n\n readonly #e = effect(() => {\n this.alertService().alertHistory();\n this.alertService().alertHistoryIsOpen();\n this.#scrollToBottom();\n });\n\n #scrollToBottom() {\n if (this.scroller() && this.scroller().nativeElement && typeof this.scroller().nativeElement.scrollTo === 'function') {\n this.scroller().nativeElement.scrollTo(0, this.scroller().nativeElement.scrollHeight);\n }\n }\n\n @HostListener('mouseover')\n onMouseOver() {\n if (typeof this.inline === 'string') return;\n\n this.alertService().setHidden(false);\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (typeof this.inline === 'string') return;\n\n this.alertService().setHidden(true);\n }\n\n getElementHeight(i: number) {\n if (!this.alerts) return 0;\n\n const elementHeights = this.alerts()\n .toArray()\n .map((element) => element._el.nativeElement.querySelector('.ship-alert-item').offsetHeight);\n\n if (!elementHeights) return 0;\n\n let totalHeight = 0;\n const elementTransformPos = elementHeights.map((height, i) => {\n totalHeight += height;\n return totalHeight - elementHeights[0];\n });\n\n return elementTransformPos[i];\n }\n\n transformY(i: number) {\n return `translateY(calc(-${this.getElementHeight(i - 1)}px + (-10px * ${i})))`;\n }\n\n transitionDelay(i: number, allOpen = false) {\n return allOpen\n ? this.alertService().alertHistory().length - 1 * 40 + 'ms'\n : (this.numberOfOpenAlerts() - i) * 40 + 'ms';\n }\n}\n","<div class=\"scroller\" #scroller>\n <div class=\"container\">\n @for (alert of this.alertService().alertHistory(); track $index) {\n <sh-alert\n #alerts\n [class]=\"alert.type\"\n [id]=\"alert.id\"\n [alertService]=\"alertService()\"\n [style.transition-delay]=\"transitionDelay($index, true)\"\n [class.animate-in]=\"alert.animateIn\"\n [class.animate-out]=\"alert.animateOut\"\n [class.is-hidden]=\"this.alertService().alertHistoryIsHidden() && !alert.isOpen\">\n <div title>{{ alert.title }}</div>\n\n @if (alert.content) {\n <div content>\n {{ alert.content }}\n </div>\n }\n </sh-alert>\n }\n </div>\n</div>\n<div\n class=\"tray\"\n [class.tray-is-hidden]=\"!this.alertService().alertHistoryIsHidden()\"\n (mouseover)=\"this.onMouseOver()\"\n (mouseout)=\"this.onMouseOut()\">\n <sh-icon class=\"small\">info</sh-icon>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ShipAlert } from './ship-alert';\nimport { ShipAlertContainer } from './ship-alert-container';\n\n@NgModule({\n imports: [ShipAlert, ShipAlertContainer],\n exports: [ShipAlert, ShipAlertContainer],\n providers: [],\n})\nexport class ShipAlertModule {}\n","import { Injectable, signal } from '@angular/core';\nimport { generateUniqueId } from '@ship-ui/core';\nimport { ShipAlertType } from './ship-alert';\n\nexport type ShipAlertItem = {\n type: ShipAlertType;\n title: string;\n content?: string;\n};\n\nexport type ShipAlertItemInternal = ShipAlertItem & {\n id: string;\n isOpen: boolean;\n animateOut: boolean;\n animateIn: boolean;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ShipAlertService {\n alertHistory = signal<ShipAlertItemInternal[]>([]);\n alertHistoryIsOpen = signal<boolean>(false);\n alertHistoryIsHidden = signal<boolean>(true);\n\n error(message: string | null | undefined) {\n this.addAlert({\n type: 'error',\n title: message ?? 'An error occured',\n });\n }\n\n success(message: string) {\n this.addAlert({\n type: 'success',\n title: message,\n });\n }\n\n question(message: string) {\n this.addAlert({\n type: 'question',\n title: message,\n });\n }\n\n warning(message: string) {\n this.addAlert({\n type: 'warn',\n title: message,\n });\n }\n\n info(message: string) {\n this.addAlert({\n type: 'primary',\n title: message,\n });\n }\n\n addAlert(alert: ShipAlertItem) {\n const id = generateUniqueId();\n\n this.alertHistory.update((history) => [\n { ...alert, isOpen: true, animateIn: true, animateOut: false, id },\n ...history,\n ]);\n\n setTimeout(() => {\n this.alertHistory.update((history) =>\n history.map((item) => ({\n ...item,\n animateIn: item.id === id ? false : item.animateIn,\n }))\n );\n }, 40);\n\n setTimeout(() => {\n this.hideAlert(id);\n }, 2500);\n }\n\n removeAlert(id: string) {\n this.alertHistory.update((history) =>\n history.map((item) => ({\n ...item,\n animateOut: item.id === id ? false : item.animateOut,\n }))\n );\n\n setTimeout(() => {\n this.alertHistory.update((history) => history.filter((item) => item.id !== id));\n }, 300);\n }\n\n hideAlert(id: string) {\n this.alertHistory.update((history) =>\n history.map((item) => ({\n ...item,\n isOpen: item.id === id ? false : item.isOpen,\n }))\n );\n }\n\n setHidden(isHidden: boolean) {\n this.alertHistoryIsHidden.set(isHidden);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}