@discourse/types 0.0.2 → 2026.1.0-2709d36

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 (461) hide show
  1. package/declarations/admin/components/admin-config-areas/upcoming-change-item.d.ts +1 -1
  2. package/declarations/admin/components/admin-config-areas/upcoming-changes.d.ts +5 -0
  3. package/declarations/admin/components/admin-config-areas/upcoming-changes.d.ts.map +1 -1
  4. package/declarations/admin/components/admin-theme-editor.d.ts +1 -1
  5. package/declarations/admin/components/admin-welcome-banner-form.d.ts.map +1 -1
  6. package/declarations/admin/components/color-input.d.ts.map +1 -1
  7. package/declarations/admin/components/color-palette-editor.d.ts.map +1 -1
  8. package/declarations/admin/components/dashboard-new-features.d.ts.map +1 -1
  9. package/declarations/admin/components/edit-category-general.d.ts +3 -1
  10. package/declarations/admin/components/edit-category-general.d.ts.map +1 -1
  11. package/declarations/admin/components/edit-category-security.d.ts.map +1 -1
  12. package/declarations/admin/components/edit-category-settings.d.ts.map +1 -1
  13. package/declarations/admin/components/form-template/form.d.ts.map +1 -1
  14. package/declarations/admin/components/site-settings/upload.d.ts +45 -4
  15. package/declarations/admin/components/site-settings/upload.d.ts.map +1 -1
  16. package/declarations/admin/components/webhook-event.d.ts +2 -2
  17. package/declarations/admin/lib/hex-to-rgba.d.ts.map +1 -1
  18. package/declarations/admin/lib/template-form-fields.d.ts.map +1 -1
  19. package/declarations/admin/models/color-scheme-color.d.ts.map +1 -1
  20. package/declarations/admin/models/email-template.d.ts +1 -1
  21. package/declarations/admin/models/report.d.ts +12 -12
  22. package/declarations/admin/routes/admin-config/upcoming-changes.d.ts +1 -0
  23. package/declarations/admin/routes/admin-config/upcoming-changes.d.ts.map +1 -1
  24. package/declarations/app/components/bookmark-icon.d.ts +1 -1
  25. package/declarations/app/components/bookmark-menu.d.ts +1 -1
  26. package/declarations/app/components/category-permission-row.d.ts.map +1 -1
  27. package/declarations/app/components/composer-toggles.d.ts +1 -1
  28. package/declarations/app/components/d-button.d.ts +144 -4
  29. package/declarations/app/components/d-button.d.ts.map +1 -1
  30. package/declarations/app/components/d-editor.d.ts +0 -1
  31. package/declarations/app/components/d-editor.d.ts.map +1 -1
  32. package/declarations/app/components/d-navigation-item.d.ts +1 -1
  33. package/declarations/app/components/date-input.d.ts +1 -1
  34. package/declarations/app/components/date-picker.d.ts +1 -1
  35. package/declarations/app/components/form-template-field/composer.d.ts +7 -0
  36. package/declarations/app/components/form-template-field/composer.d.ts.map +1 -0
  37. package/declarations/app/components/form-template-field/wrapper.d.ts +1 -0
  38. package/declarations/app/components/form-template-field/wrapper.d.ts.map +1 -1
  39. package/declarations/app/components/group-manage-save-button.d.ts +2 -4
  40. package/declarations/app/components/group-manage-save-button.d.ts.map +1 -1
  41. package/declarations/app/components/group-smtp-email-settings.d.ts +1 -1
  42. package/declarations/app/components/header/contents.d.ts +1 -1
  43. package/declarations/app/components/header/logo.d.ts +1 -1
  44. package/declarations/app/components/header/search-menu-wrapper.d.ts +1 -1
  45. package/declarations/app/components/header/topic/info.d.ts +1 -1
  46. package/declarations/app/components/interface-color-selector.d.ts +1 -1
  47. package/declarations/app/components/light-dark-img.d.ts +1 -1
  48. package/declarations/app/components/modal/avatar-selector.d.ts +1 -1
  49. package/declarations/app/components/modal/create-invite.d.ts +2 -0
  50. package/declarations/app/components/modal/create-invite.d.ts.map +1 -1
  51. package/declarations/app/components/modal/group-default-notifications.d.ts.map +1 -1
  52. package/declarations/app/components/modal/move-to-topic.d.ts +1 -1
  53. package/declarations/app/components/modal/spreadsheet-editor.d.ts.map +1 -1
  54. package/declarations/app/components/post/menu/buttons/delete.d.ts +2 -2
  55. package/declarations/app/components/post/meta-data/reply-to-tab.d.ts.map +1 -1
  56. package/declarations/app/components/post/quoted-content.d.ts +1 -1
  57. package/declarations/app/components/post-language-selector.d.ts.map +1 -1
  58. package/declarations/app/components/post-list/item/index.d.ts +1 -1
  59. package/declarations/app/components/reviewable-bundled-action.d.ts +1 -1
  60. package/declarations/app/components/reviewable-refresh/item.d.ts.map +1 -1
  61. package/declarations/app/components/reviewable-refresh/timeline.d.ts.map +1 -1
  62. package/declarations/app/components/sidebar/common/custom-section.d.ts +3 -3
  63. package/declarations/app/components/sidebar/common/custom-section.d.ts.map +1 -1
  64. package/declarations/app/components/sidebar/edit-navigation-menu/categories-modal.d.ts.map +1 -1
  65. package/declarations/app/components/sidebar/user/tags-section.d.ts +2 -2
  66. package/declarations/app/components/sidebar/user/tags-section.d.ts.map +1 -1
  67. package/declarations/app/components/signup-progress-bar.d.ts +1 -1
  68. package/declarations/app/components/table-header-toggle.d.ts +1 -1
  69. package/declarations/app/components/topic-drafts-dropdown.d.ts +1 -1
  70. package/declarations/app/components/topic-list/bulk-select-checkbox.d.ts +3 -0
  71. package/declarations/app/components/topic-list/bulk-select-checkbox.d.ts.map +1 -0
  72. package/declarations/app/components/topic-list/item/bulk-select-cell.d.ts.map +1 -1
  73. package/declarations/app/components/topic-list/item/replies-cell.d.ts +1 -1
  74. package/declarations/app/components/topic-list/item/topic-cell.d.ts +0 -2
  75. package/declarations/app/components/topic-list/item/topic-cell.d.ts.map +1 -1
  76. package/declarations/app/components/topic-list/item.d.ts.map +1 -1
  77. package/declarations/app/components/topic-map/topic-map-summary.d.ts +1 -1
  78. package/declarations/app/components/uppy-image-uploader.d.ts +1 -1
  79. package/declarations/app/components/welcome-banner.d.ts.map +1 -1
  80. package/declarations/app/controllers/review/index.d.ts +1 -1
  81. package/declarations/app/controllers/user-activity/bookmarks.d.ts +2 -2
  82. package/declarations/app/controllers/user-invited/show.d.ts +3 -1
  83. package/declarations/app/controllers/user-invited/show.d.ts.map +1 -1
  84. package/declarations/app/controllers/user.d.ts +2 -2
  85. package/declarations/app/form-kit/components/fk/control/color.d.ts +13 -0
  86. package/declarations/app/form-kit/components/fk/control/color.d.ts.map +1 -0
  87. package/declarations/app/form-kit/components/fk/control/password.d.ts +1 -1
  88. package/declarations/app/form-kit/components/fk/control-wrapper.d.ts.map +1 -1
  89. package/declarations/app/form-kit/components/fk/field.d.ts.map +1 -1
  90. package/declarations/app/lib/color-transformations.d.ts +3 -0
  91. package/declarations/app/lib/color-transformations.d.ts.map +1 -1
  92. package/declarations/app/lib/deprecated.d.ts.map +1 -1
  93. package/declarations/app/lib/notification-types/upcoming-change-automatically-promoted.d.ts +7 -0
  94. package/declarations/app/lib/notification-types/upcoming-change-automatically-promoted.d.ts.map +1 -0
  95. package/declarations/app/lib/notification-types/upcoming-change-available.d.ts +7 -0
  96. package/declarations/app/lib/notification-types/upcoming-change-available.d.ts.map +1 -0
  97. package/declarations/app/lib/notification-types-manager.d.ts.map +1 -1
  98. package/declarations/app/lib/optional-service.d.ts +2 -2
  99. package/declarations/app/lib/optional-service.d.ts.map +1 -1
  100. package/declarations/app/lib/render-tags.d.ts.map +1 -1
  101. package/declarations/app/lib/sidebar/admin-sidebar.d.ts.map +1 -1
  102. package/declarations/app/lib/sidebar/common/community-section/faq-section-link.d.ts +2 -2
  103. package/declarations/app/lib/sidebar/user/community-section/my-posts-section-link.d.ts +1 -1
  104. package/declarations/app/lib/uppy/s3-multipart.d.ts.map +1 -1
  105. package/declarations/app/lib/weak-value-map.d.ts +110 -0
  106. package/declarations/app/lib/weak-value-map.d.ts.map +1 -0
  107. package/declarations/app/models/badge.d.ts +1 -1
  108. package/declarations/app/models/bookmark.d.ts +3 -3
  109. package/declarations/app/models/group.d.ts +1 -1
  110. package/declarations/app/models/post-stream.d.ts +1 -1
  111. package/declarations/app/models/post.d.ts +1 -1
  112. package/declarations/app/models/reviewable.d.ts +1 -1
  113. package/declarations/app/models/tag-group.d.ts +1 -1
  114. package/declarations/app/models/user.d.ts +2 -1
  115. package/declarations/app/models/user.d.ts.map +1 -1
  116. package/declarations/app/routes/badges/index.d.ts +1 -1
  117. package/declarations/app/routes/badges/show.d.ts +1 -1
  118. package/declarations/app/routes/invites/show.d.ts +1 -1
  119. package/declarations/app/routes/second-factor-auth.d.ts +1 -1
  120. package/declarations/app/services/composer.d.ts +1 -1
  121. package/declarations/app/services/composer.d.ts.map +1 -1
  122. package/declarations/app/services/pm-topic-tracking-state.d.ts +1 -1
  123. package/declarations/app/services/search.d.ts +1 -1
  124. package/declarations/app/services/store.d.ts.map +1 -1
  125. package/declarations/app/static/prosemirror/core/serializer.d.ts +1 -0
  126. package/declarations/app/static/prosemirror/core/serializer.d.ts.map +1 -1
  127. package/declarations/select-kit/components/composer-actions.d.ts +1 -1
  128. package/declarations/select-kit/components/email-group-user-chooser.d.ts +1 -1
  129. package/declarations/tests/helpers/create-pretender.d.ts.map +1 -1
  130. package/declarations/tests/helpers/form-kit-assertions.d.ts.map +1 -1
  131. package/declarations/tests/helpers/form-kit-helper.d.ts +9 -1
  132. package/declarations/tests/helpers/form-kit-helper.d.ts.map +1 -1
  133. package/declarations/tests/helpers/qunit-helpers.d.ts +2 -1
  134. package/declarations/tests/helpers/qunit-helpers.d.ts.map +1 -1
  135. package/declarations/tests/helpers/site-settings.d.ts.map +1 -1
  136. package/declarations/tests/integration/components/form-kit/controls/color-test.d.ts +2 -0
  137. package/declarations/tests/integration/components/form-kit/controls/color-test.d.ts.map +1 -0
  138. package/declarations/tests/integration/components/site-settings/upload-test.d.ts +2 -0
  139. package/declarations/tests/integration/components/site-settings/upload-test.d.ts.map +1 -0
  140. package/declarations/tests/unit/lib/weak-value-map-test.d.ts +2 -0
  141. package/declarations/tests/unit/lib/weak-value-map-test.d.ts.map +1 -0
  142. package/declarations/tsconfig.tsbuildinfo +1 -1
  143. package/external-types/discourse-i18n/index.d.ts +69 -0
  144. package/external-types/discourse-i18n/package.json +44 -0
  145. package/external-types/ember-compat__tracked-built-ins/index.d.ts +174 -0
  146. package/external-types/{@ember-compat__tracked-built-ins → ember-compat__tracked-built-ins}/package.json +13 -12
  147. package/external-types/ember-modifier/index.d.ts +327 -0
  148. package/external-types/ember-modifier/package.json +12 -11
  149. package/external-types/ember-qunit/index.d.ts +285 -0
  150. package/external-types/ember-qunit/package.json +9 -8
  151. package/external-types/ember-source/package.json +5 -4
  152. package/external-types/ember__render-modifiers/index.d.ts +52 -0
  153. package/external-types/{@ember__render-modifiers → ember__render-modifiers}/package.json +4 -3
  154. package/external-types/ember__string/index.d.ts +159 -0
  155. package/external-types/{@ember__string → ember__string}/package.json +9 -8
  156. package/external-types/ember__test-helpers/index.d.ts +1771 -0
  157. package/external-types/{@ember__test-helpers → ember__test-helpers}/package.json +9 -8
  158. package/external-types/floating-ui__dom/index.d.ts +353 -0
  159. package/external-types/{@floating-ui__dom → floating-ui__dom}/package.json +3 -2
  160. package/external-types/glimmer__component/index.d.ts +667 -0
  161. package/external-types/{@glimmer__component → glimmer__component}/package.json +8 -7
  162. package/external-types/glimmer__syntax/index.d.ts +5792 -0
  163. package/external-types/{@glimmer__syntax → glimmer__syntax}/package.json +2 -1
  164. package/external-types/glint__template/index.d.ts +5422 -0
  165. package/external-types/{@glint__template → glint__template}/package.json +3 -2
  166. package/external-types/jquery/index.d.ts +34986 -0
  167. package/external-types/jquery/package.json +134 -0
  168. package/external-types/{@glint__template → pretender}/LICENSE +5 -7
  169. package/external-types/pretender/index.d.ts +60 -0
  170. package/external-types/pretender/package.json +76 -0
  171. package/external-types/qunit/index.d.ts +935 -0
  172. package/external-types/qunit/package.json +52 -0
  173. package/external-types/rsvp/LICENSE +21 -0
  174. package/external-types/rsvp/index.d.ts +493 -0
  175. package/external-types/rsvp/package.json +36 -0
  176. package/external-types/sinon/LICENSE +21 -0
  177. package/external-types/sinon/index.d.ts +1464 -0
  178. package/external-types/sinon/package.json +64 -0
  179. package/package.json +17 -2
  180. package/tsconfig-plugin.json +1 -1
  181. package/declarations/admin/compat-modules.d.ts +0 -3
  182. package/declarations/admin/compat-modules.d.ts.map +0 -1
  183. package/declarations/admin/controllers/admin-web-hooks/edit.d.ts +0 -19
  184. package/declarations/admin/controllers/admin-web-hooks/edit.d.ts.map +0 -1
  185. package/declarations/admin/controllers/admin-web-hooks/index.d.ts +0 -13
  186. package/declarations/admin/controllers/admin-web-hooks/index.d.ts.map +0 -1
  187. package/declarations/admin/templates/admin-config/welcome-banner.d.ts +0 -3
  188. package/declarations/admin/templates/admin-config/welcome-banner.d.ts.map +0 -1
  189. package/declarations/app/components/about-page-user.d.ts +0 -3
  190. package/declarations/app/components/about-page-user.d.ts.map +0 -1
  191. package/declarations/app/components/bootstrap-mode-notice.d.ts +0 -7
  192. package/declarations/app/components/bootstrap-mode-notice.d.ts.map +0 -1
  193. package/declarations/app/components/d-combo-button.d.ts +0 -3
  194. package/declarations/app/components/d-combo-button.d.ts.map +0 -1
  195. package/declarations/app/components/footer-message.d.ts +0 -5
  196. package/declarations/app/components/footer-message.d.ts.map +0 -1
  197. package/declarations/app/components/group-imap-email-settings.d.ts +0 -13
  198. package/declarations/app/components/group-imap-email-settings.d.ts.map +0 -1
  199. package/declarations/app/components/scrolling-post-stream.d.ts +0 -23
  200. package/declarations/app/components/scrolling-post-stream.d.ts.map +0 -1
  201. package/declarations/app/components/top-period-buttons.d.ts +0 -7
  202. package/declarations/app/components/top-period-buttons.d.ts.map +0 -1
  203. package/declarations/app/config/environment.d.ts +0 -3
  204. package/declarations/app/config/environment.d.ts.map +0 -1
  205. package/declarations/app/lib/autocomplete/emoji.d.ts +0 -4
  206. package/declarations/app/lib/autocomplete/emoji.d.ts.map +0 -1
  207. package/declarations/app/loader.d.ts +0 -4
  208. package/declarations/app/loader.d.ts.map +0 -1
  209. package/declarations/app/services/dialog.d.ts +0 -2
  210. package/declarations/app/services/dialog.d.ts.map +0 -1
  211. package/declarations/app/services/internal-tooltip.d.ts +0 -2
  212. package/declarations/app/services/internal-tooltip.d.ts.map +0 -1
  213. package/declarations/app/services/menu.d.ts +0 -2
  214. package/declarations/app/services/menu.d.ts.map +0 -1
  215. package/declarations/app/services/toasts.d.ts +0 -2
  216. package/declarations/app/services/toasts.d.ts.map +0 -1
  217. package/declarations/app/services/tooltip.d.ts +0 -2
  218. package/declarations/app/services/tooltip.d.ts.map +0 -1
  219. package/declarations/app/static/wizard/components/fields/checkbox.d.ts +0 -5
  220. package/declarations/app/static/wizard/components/fields/checkbox.d.ts.map +0 -1
  221. package/declarations/app/static/wizard/components/fields/checkboxes.d.ts +0 -7
  222. package/declarations/app/static/wizard/components/fields/checkboxes.d.ts.map +0 -1
  223. package/declarations/app/static/wizard/components/fields/image-previews/generic.d.ts +0 -5
  224. package/declarations/app/static/wizard/components/fields/image-previews/generic.d.ts.map +0 -1
  225. package/declarations/app/static/wizard/components/fields/image-previews/index.d.ts +0 -9
  226. package/declarations/app/static/wizard/components/fields/image-previews/index.d.ts.map +0 -1
  227. package/declarations/app/static/wizard/components/fields/image-previews/logo-small.d.ts +0 -13
  228. package/declarations/app/static/wizard/components/fields/image-previews/logo-small.d.ts.map +0 -1
  229. package/declarations/app/static/wizard/components/fields/image-previews/logo.d.ts +0 -19
  230. package/declarations/app/static/wizard/components/fields/image-previews/logo.d.ts.map +0 -1
  231. package/declarations/app/static/wizard/components/fields/image.d.ts +0 -15
  232. package/declarations/app/static/wizard/components/fields/image.d.ts.map +0 -1
  233. package/declarations/app/static/wizard/components/fields/styling-preview/-homepage-preview.d.ts +0 -29
  234. package/declarations/app/static/wizard/components/fields/styling-preview/-homepage-preview.d.ts.map +0 -1
  235. package/declarations/app/static/wizard/components/fields/styling-preview/-preview-base.d.ts +0 -34
  236. package/declarations/app/static/wizard/components/fields/styling-preview/-preview-base.d.ts.map +0 -1
  237. package/declarations/app/static/wizard/components/fields/styling-preview/index.d.ts +0 -38
  238. package/declarations/app/static/wizard/components/fields/styling-preview/index.d.ts.map +0 -1
  239. package/declarations/app/static/wizard/components/wizard-canvas.d.ts +0 -14
  240. package/declarations/app/static/wizard/components/wizard-canvas.d.ts.map +0 -1
  241. package/declarations/app/widgets/actions-summary.d.ts +0 -2
  242. package/declarations/app/widgets/actions-summary.d.ts.map +0 -1
  243. package/declarations/app/widgets/bookmark-menu.d.ts +0 -2
  244. package/declarations/app/widgets/bookmark-menu.d.ts.map +0 -1
  245. package/declarations/app/widgets/post-user-tip-shim.d.ts +0 -2
  246. package/declarations/app/widgets/post-user-tip-shim.d.ts.map +0 -1
  247. package/declarations/app/widgets/topic-status.d.ts +0 -2
  248. package/declarations/app/widgets/topic-status.d.ts.map +0 -1
  249. package/declarations/select-kit/compat-modules.d.ts +0 -3
  250. package/declarations/select-kit/compat-modules.d.ts.map +0 -1
  251. package/declarations/tests/acceptance/bootstrap-mode-notice-test.d.ts +0 -2
  252. package/declarations/tests/acceptance/bootstrap-mode-notice-test.d.ts.map +0 -1
  253. package/declarations/tests/integration/components/widgets/actions-summary-test.d.ts +0 -2
  254. package/declarations/tests/integration/components/widgets/actions-summary-test.d.ts.map +0 -1
  255. package/declarations/tests/integration/components/widgets/avatar-flair-test.d.ts +0 -2
  256. package/declarations/tests/integration/components/widgets/avatar-flair-test.d.ts.map +0 -1
  257. package/declarations/tests/integration/components/widgets/button-test.d.ts +0 -2
  258. package/declarations/tests/integration/components/widgets/button-test.d.ts.map +0 -1
  259. package/declarations/tests/integration/components/widgets/post-cooked-test.d.ts +0 -2
  260. package/declarations/tests/integration/components/widgets/post-cooked-test.d.ts.map +0 -1
  261. package/declarations/tests/integration/components/widgets/post-links-test.d.ts +0 -2
  262. package/declarations/tests/integration/components/widgets/post-links-test.d.ts.map +0 -1
  263. package/declarations/tests/integration/components/widgets/post-small-action-test.d.ts +0 -2
  264. package/declarations/tests/integration/components/widgets/post-small-action-test.d.ts.map +0 -1
  265. package/declarations/tests/integration/components/widgets/post-stream-test.d.ts +0 -2
  266. package/declarations/tests/integration/components/widgets/post-stream-test.d.ts.map +0 -1
  267. package/declarations/tests/integration/components/widgets/post-test.d.ts +0 -2
  268. package/declarations/tests/integration/components/widgets/post-test.d.ts.map +0 -1
  269. package/declarations/tests/integration/components/widgets/poster-name-test.d.ts +0 -2
  270. package/declarations/tests/integration/components/widgets/poster-name-test.d.ts.map +0 -1
  271. package/declarations/tests/integration/components/widgets/render-glimmer-test.d.ts +0 -1
  272. package/declarations/tests/integration/components/widgets/render-glimmer-test.d.ts.map +0 -1
  273. package/declarations/tests/integration/components/widgets/small-user-list-test.d.ts +0 -2
  274. package/declarations/tests/integration/components/widgets/small-user-list-test.d.ts.map +0 -1
  275. package/declarations/tests/integration/components/widgets/topic-status-test.d.ts +0 -2
  276. package/declarations/tests/integration/components/widgets/topic-status-test.d.ts.map +0 -1
  277. package/declarations/tests/integration/components/widgets/widget-dropdown-test.d.ts +0 -2
  278. package/declarations/tests/integration/components/widgets/widget-dropdown-test.d.ts.map +0 -1
  279. package/declarations/tests/integration/components/widgets/widget-test.d.ts +0 -2
  280. package/declarations/tests/integration/components/widgets/widget-test.d.ts.map +0 -1
  281. package/declarations/tests/set-test-env.d.ts +0 -2
  282. package/declarations/tests/set-test-env.d.ts.map +0 -1
  283. package/declarations/tests/test-i18n.d.ts +0 -1
  284. package/declarations/tests/test-i18n.d.ts.map +0 -1
  285. package/external-types/@ember-compat__tracked-built-ins/dist/-private/array.d.ts +0 -33
  286. package/external-types/@ember-compat__tracked-built-ins/dist/-private/decorator.d.ts +0 -14
  287. package/external-types/@ember-compat__tracked-built-ins/dist/-private/map.d.ts +0 -44
  288. package/external-types/@ember-compat__tracked-built-ins/dist/-private/object.d.ts +0 -25
  289. package/external-types/@ember-compat__tracked-built-ins/dist/-private/property-storage-map.d.ts +0 -10
  290. package/external-types/@ember-compat__tracked-built-ins/dist/-private/set.d.ts +0 -40
  291. package/external-types/@ember-compat__tracked-built-ins/dist/-private/utils.d.ts +0 -6
  292. package/external-types/@ember-compat__tracked-built-ins/dist/-private/validator-versions.d.ts +0 -5
  293. package/external-types/@ember-compat__tracked-built-ins/dist/index.d.ts +0 -8
  294. package/external-types/@ember__render-modifiers/types/-private.d.ts +0 -13
  295. package/external-types/@ember__render-modifiers/types/modifiers/did-insert.d.ts +0 -11
  296. package/external-types/@ember__render-modifiers/types/modifiers/did-update.d.ts +0 -11
  297. package/external-types/@ember__render-modifiers/types/modifiers/will-destroy.d.ts +0 -11
  298. package/external-types/@ember__render-modifiers/types/template-registry.d.ts +0 -12
  299. package/external-types/@ember__string/declarations/index.d.ts +0 -159
  300. package/external-types/@ember__test-helpers/declarations/-internal/build-registry.d.ts +0 -36
  301. package/external-types/@ember__test-helpers/declarations/-internal/debug-info-helpers.d.ts +0 -28
  302. package/external-types/@ember__test-helpers/declarations/-internal/debug-info.d.ts +0 -71
  303. package/external-types/@ember__test-helpers/declarations/-internal/deprecations.d.ts +0 -37
  304. package/external-types/@ember__test-helpers/declarations/-internal/is-component.d.ts +0 -13
  305. package/external-types/@ember__test-helpers/declarations/-internal/is-promise.d.ts +0 -12
  306. package/external-types/@ember__test-helpers/declarations/-internal/render-settled.d.ts +0 -5
  307. package/external-types/@ember__test-helpers/declarations/-internal/warnings.d.ts +0 -32
  308. package/external-types/@ember__test-helpers/declarations/-tuple.d.ts +0 -5
  309. package/external-types/@ember__test-helpers/declarations/-utils.d.ts +0 -39
  310. package/external-types/@ember__test-helpers/declarations/application.d.ts +0 -21
  311. package/external-types/@ember__test-helpers/declarations/build-owner.d.ts +0 -35
  312. package/external-types/@ember__test-helpers/declarations/dom/-get-description.d.ts +0 -13
  313. package/external-types/@ember__test-helpers/declarations/dom/-get-element.d.ts +0 -16
  314. package/external-types/@ember__test-helpers/declarations/dom/-get-elements.d.ts +0 -8
  315. package/external-types/@ember__test-helpers/declarations/dom/-get-window-or-element.d.ts +0 -12
  316. package/external-types/@ember__test-helpers/declarations/dom/-guard-for-maxlength.d.ts +0 -12
  317. package/external-types/@ember__test-helpers/declarations/dom/-is-focusable.d.ts +0 -9
  318. package/external-types/@ember__test-helpers/declarations/dom/-is-form-control.d.ts +0 -10
  319. package/external-types/@ember__test-helpers/declarations/dom/-is-select-element.d.ts +0 -9
  320. package/external-types/@ember__test-helpers/declarations/dom/-logging.d.ts +0 -21
  321. package/external-types/@ember__test-helpers/declarations/dom/-target.d.ts +0 -12
  322. package/external-types/@ember__test-helpers/declarations/dom/-to-array.d.ts +0 -9
  323. package/external-types/@ember__test-helpers/declarations/dom/blur.d.ts +0 -37
  324. package/external-types/@ember__test-helpers/declarations/dom/click.d.ts +0 -65
  325. package/external-types/@ember__test-helpers/declarations/dom/double-click.d.ts +0 -65
  326. package/external-types/@ember__test-helpers/declarations/dom/fill-in.d.ts +0 -22
  327. package/external-types/@ember__test-helpers/declarations/dom/find-all.d.ts +0 -7
  328. package/external-types/@ember__test-helpers/declarations/dom/find.d.ts +0 -7
  329. package/external-types/@ember__test-helpers/declarations/dom/fire-event.d.ts +0 -18
  330. package/external-types/@ember__test-helpers/declarations/dom/focus.d.ts +0 -41
  331. package/external-types/@ember__test-helpers/declarations/dom/get-root-element.d.ts +0 -17
  332. package/external-types/@ember__test-helpers/declarations/dom/scroll-to.d.ts +0 -21
  333. package/external-types/@ember__test-helpers/declarations/dom/select.d.ts +0 -28
  334. package/external-types/@ember__test-helpers/declarations/dom/tab.d.ts +0 -31
  335. package/external-types/@ember__test-helpers/declarations/dom/tap.d.ts +0 -47
  336. package/external-types/@ember__test-helpers/declarations/dom/trigger-event.d.ts +0 -49
  337. package/external-types/@ember__test-helpers/declarations/dom/trigger-key-event.d.ts +0 -44
  338. package/external-types/@ember__test-helpers/declarations/dom/type-in.d.ts +0 -32
  339. package/external-types/@ember__test-helpers/declarations/dom/wait-for-focus.d.ts +0 -27
  340. package/external-types/@ember__test-helpers/declarations/dom/wait-for.d.ts +0 -27
  341. package/external-types/@ember__test-helpers/declarations/global.d.ts +0 -5
  342. package/external-types/@ember__test-helpers/declarations/has-ember-version.d.ts +0 -13
  343. package/external-types/@ember__test-helpers/declarations/helper-hooks.d.ts +0 -48
  344. package/external-types/@ember__test-helpers/declarations/index.d.ts +0 -49
  345. package/external-types/@ember__test-helpers/declarations/rerender.d.ts +0 -20
  346. package/external-types/@ember__test-helpers/declarations/resolver.d.ts +0 -21
  347. package/external-types/@ember__test-helpers/declarations/settled.d.ts +0 -72
  348. package/external-types/@ember__test-helpers/declarations/setup-application-context.d.ts +0 -69
  349. package/external-types/@ember__test-helpers/declarations/setup-context.d.ts +0 -209
  350. package/external-types/@ember__test-helpers/declarations/setup-onerror.d.ts +0 -53
  351. package/external-types/@ember__test-helpers/declarations/setup-rendering-context.d.ts +0 -75
  352. package/external-types/@ember__test-helpers/declarations/teardown-context.d.ts +0 -23
  353. package/external-types/@ember__test-helpers/declarations/test-metadata.d.ts +0 -28
  354. package/external-types/@ember__test-helpers/declarations/validate-error-handler.d.ts +0 -35
  355. package/external-types/@ember__test-helpers/declarations/wait-until.d.ts +0 -31
  356. package/external-types/@floating-ui__dom/dist/floating-ui.dom.d.mts +0 -356
  357. package/external-types/@floating-ui__dom/dist/floating-ui.dom.d.ts +0 -359
  358. package/external-types/@glimmer__component/dist/-private/base-component-manager.d.ts +0 -15
  359. package/external-types/@glimmer__component/dist/-private/component.d.ts +0 -247
  360. package/external-types/@glimmer__component/dist/-private/ember-component-manager.d.ts +0 -20
  361. package/external-types/@glimmer__component/dist/index.d.ts +0 -393
  362. package/external-types/@glimmer__syntax/dist/dev/index.d.cts +0 -5977
  363. package/external-types/@glimmer__syntax/dist/dev/index.d.ts +0 -5979
  364. package/external-types/@glimmer__syntax/dist/prod/index.d.ts +0 -5977
  365. package/external-types/@glint__ember-tsc/lib/cli/run-volar-tsc.d.ts +0 -4
  366. package/external-types/@glint__ember-tsc/lib/config/config.d.ts +0 -17
  367. package/external-types/@glint__ember-tsc/lib/config/environment.d.ts +0 -28
  368. package/external-types/@glint__ember-tsc/lib/config/index.d.ts +0 -19
  369. package/external-types/@glint__ember-tsc/lib/config/loader.d.ts +0 -27
  370. package/external-types/@glint__ember-tsc/lib/config/types.d.cts +0 -62
  371. package/external-types/@glint__ember-tsc/lib/environment-ember-template-imports/-private/environment/common.d.ts +0 -15
  372. package/external-types/@glint__ember-tsc/lib/environment-ember-template-imports/-private/environment/index.d.ts +0 -5
  373. package/external-types/@glint__ember-tsc/lib/environment-ember-template-imports/-private/environment/preprocess.d.ts +0 -6
  374. package/external-types/@glint__ember-tsc/lib/environment-ember-template-imports/-private/environment/transform.d.ts +0 -6
  375. package/external-types/@glint__ember-tsc/lib/index.d.ts +0 -9
  376. package/external-types/@glint__ember-tsc/lib/plugins/g-compiler-errors.d.ts +0 -14
  377. package/external-types/@glint__ember-tsc/lib/plugins/g-template-tag-symbols.d.ts +0 -13
  378. package/external-types/@glint__ember-tsc/lib/plugins/utils.d.ts +0 -27
  379. package/external-types/@glint__ember-tsc/lib/transform/diagnostics/augmentation.d.ts +0 -6
  380. package/external-types/@glint__ember-tsc/lib/transform/diagnostics/index.d.ts +0 -7
  381. package/external-types/@glint__ember-tsc/lib/transform/index.d.ts +0 -6
  382. package/external-types/@glint__ember-tsc/lib/transform/template/code-features.d.ts +0 -32
  383. package/external-types/@glint__ember-tsc/lib/transform/template/glimmer-ast-mapping-tree.d.ts +0 -82
  384. package/external-types/@glint__ember-tsc/lib/transform/template/inlining/index.d.ts +0 -18
  385. package/external-types/@glint__ember-tsc/lib/transform/template/inlining/tagged-strings.d.ts +0 -10
  386. package/external-types/@glint__ember-tsc/lib/transform/template/map-template-contents.d.ts +0 -123
  387. package/external-types/@glint__ember-tsc/lib/transform/template/rewrite-module.d.ts +0 -24
  388. package/external-types/@glint__ember-tsc/lib/transform/template/scope-stack.d.ts +0 -15
  389. package/external-types/@glint__ember-tsc/lib/transform/template/template-to-typescript.d.ts +0 -21
  390. package/external-types/@glint__ember-tsc/lib/transform/template/transformed-module.d.ts +0 -113
  391. package/external-types/@glint__ember-tsc/lib/transform/util.d.ts +0 -9
  392. package/external-types/@glint__ember-tsc/lib/volar/ember-language-plugin.d.ts +0 -16
  393. package/external-types/@glint__ember-tsc/lib/volar/gts-virtual-code.d.ts +0 -85
  394. package/external-types/@glint__ember-tsc/lib/volar/language-server.d.ts +0 -4
  395. package/external-types/@glint__ember-tsc/lib/volar/script-snapshot.d.ts +0 -19
  396. package/external-types/@glint__ember-tsc/package.json +0 -104
  397. package/external-types/@glint__ember-tsc/types/-private/dsl/globals.d.ts +0 -207
  398. package/external-types/@glint__ember-tsc/types/-private/dsl/index.d.ts +0 -50
  399. package/external-types/@glint__ember-tsc/types/-private/dsl/integration-declarations.d.ts +0 -138
  400. package/external-types/@glint__ember-tsc/types/-private/intrinsics/action.d.ts +0 -48
  401. package/external-types/@glint__ember-tsc/types/-private/intrinsics/concat.d.ts +0 -9
  402. package/external-types/@glint__ember-tsc/types/-private/intrinsics/each-in.d.ts +0 -27
  403. package/external-types/@glint__ember-tsc/types/-private/intrinsics/each.d.ts +0 -20
  404. package/external-types/@glint__ember-tsc/types/-private/intrinsics/fn.d.ts +0 -47
  405. package/external-types/@glint__ember-tsc/types/-private/intrinsics/get.d.ts +0 -34
  406. package/external-types/@glint__ember-tsc/types/-private/intrinsics/input.d.ts +0 -24
  407. package/external-types/@glint__ember-tsc/types/-private/intrinsics/link-to.d.ts +0 -31
  408. package/external-types/@glint__ember-tsc/types/-private/intrinsics/log.d.ts +0 -9
  409. package/external-types/@glint__ember-tsc/types/-private/intrinsics/mount.d.ts +0 -12
  410. package/external-types/@glint__ember-tsc/types/-private/intrinsics/mut.d.ts +0 -17
  411. package/external-types/@glint__ember-tsc/types/-private/intrinsics/on.d.ts +0 -24
  412. package/external-types/@glint__ember-tsc/types/-private/intrinsics/outlet.d.ts +0 -11
  413. package/external-types/@glint__ember-tsc/types/-private/intrinsics/textarea.d.ts +0 -16
  414. package/external-types/@glint__ember-tsc/types/-private/intrinsics/unbound.d.ts +0 -13
  415. package/external-types/@glint__ember-tsc/types/-private/intrinsics/unique-id.d.ts +0 -8
  416. package/external-types/@glint__ember-tsc/types/globals/index.d.ts +0 -6
  417. package/external-types/@glint__ember-tsc/types/silent-error.d.ts +0 -4
  418. package/external-types/@glint__template/-private/dsl/elements.d.ts +0 -4393
  419. package/external-types/@glint__template/-private/dsl/emit.d.ts +0 -178
  420. package/external-types/@glint__template/-private/dsl/lib.dom.augmentation.d.ts +0 -144
  421. package/external-types/@glint__template/-private/dsl/resolve.d.ts +0 -69
  422. package/external-types/@glint__template/-private/dsl/types.d.ts +0 -63
  423. package/external-types/@glint__template/-private/dsl.d.ts +0 -10
  424. package/external-types/@glint__template/-private/index.d.ts +0 -187
  425. package/external-types/@glint__template/-private/integration.d.ts +0 -82
  426. package/external-types/@glint__template/-private/keywords/-bind-invokable.d.ts +0 -98
  427. package/external-types/@glint__template/-private/keywords/component.d.ts +0 -7
  428. package/external-types/@glint__template/-private/keywords/debugger.d.ts +0 -6
  429. package/external-types/@glint__template/-private/keywords/each.d.ts +0 -19
  430. package/external-types/@glint__template/-private/keywords/has-block-params.d.ts +0 -9
  431. package/external-types/@glint__template/-private/keywords/has-block.d.ts +0 -9
  432. package/external-types/@glint__template/-private/keywords/helper.d.ts +0 -6
  433. package/external-types/@glint__template/-private/keywords/in-element.d.ts +0 -16
  434. package/external-types/@glint__template/-private/keywords/let.d.ts +0 -12
  435. package/external-types/@glint__template/-private/keywords/modifier.d.ts +0 -7
  436. package/external-types/@glint__template/-private/keywords/with.d.ts +0 -16
  437. package/external-types/@glint__template/-private/keywords.d.ts +0 -13
  438. package/external-types/@glint__template/-private/signature.d.ts +0 -86
  439. package/external-types/@types__qunit/index.d.ts +0 -935
  440. package/external-types/@types__qunit/package.json +0 -51
  441. package/external-types/@types__rsvp/index.d.ts +0 -497
  442. package/external-types/@types__rsvp/package.json +0 -35
  443. package/external-types/ember-modifier/declarations/-private/class-based/modifier-manager.d.ts +0 -43
  444. package/external-types/ember-modifier/declarations/-private/class-based/modifier.d.ts +0 -66
  445. package/external-types/ember-modifier/declarations/-private/function-based/modifier-manager.d.ts +0 -25
  446. package/external-types/ember-modifier/declarations/-private/function-based/modifier.d.ts +0 -71
  447. package/external-types/ember-modifier/declarations/-private/opaque.d.ts +0 -10
  448. package/external-types/ember-modifier/declarations/-private/signature.d.ts +0 -107
  449. package/external-types/ember-modifier/declarations/index.d.ts +0 -7
  450. package/external-types/ember-qunit/types/index.d.ts +0 -285
  451. package/external-types/ember-qunit/types/local-types.d.ts +0 -5
  452. package/external-types/ember-qunit/types/test-loader.d.ts +0 -4
  453. package/external-types.d.ts +0 -102
  454. /package/external-types/{@ember-compat__tracked-built-ins → ember-compat__tracked-built-ins}/LICENSE.md +0 -0
  455. /package/external-types/{@ember__render-modifiers → ember__render-modifiers}/LICENSE.md +0 -0
  456. /package/external-types/{@ember__string → ember__string}/LICENSE.md +0 -0
  457. /package/external-types/{@floating-ui__dom → floating-ui__dom}/LICENSE +0 -0
  458. /package/external-types/{@glimmer__syntax → glimmer__syntax}/LICENSE +0 -0
  459. /package/external-types/{@glint__ember-tsc → glint__template}/LICENSE +0 -0
  460. /package/external-types/{@types__qunit → jquery}/LICENSE +0 -0
  461. /package/external-types/{@types__rsvp → qunit}/LICENSE +0 -0
@@ -0,0 +1,667 @@
1
+ declare module '@glimmer/component/-private/component' {
2
+ export function setDestroying(component: GlimmerComponent<object>): void;
3
+ export function setDestroyed(component: GlimmerComponent<object>): void;
4
+ interface ArgsSetMap extends WeakMap<Args<unknown>, boolean> {
5
+ get<S>(key: Args<S>): boolean | undefined;
6
+ set<S>(key: Args<S>, value: boolean): this;
7
+ has<S>(key: Args<S>): boolean;
8
+ }
9
+ export let ARGS_SET: ArgsSetMap; const Empty: unique symbol;
10
+ /**
11
+ * This provides us a way to have a "fallback" which represents an empty object,
12
+ * without the downsides of how TS treats `{}`. Specifically: this will
13
+ * correctly leverage "excess property checking" so that, given a component
14
+ * which has no named args, if someone invokes it with any named args, they will
15
+ * get a type error.
16
+ *
17
+ * @internal This is exported so declaration emit works (if it were not emitted,
18
+ * declarations which fall back to it would not work). It is *not* intended for
19
+ * public usage, and the specific mechanics it uses may change at any time.
20
+ * The location of this export *is* part of the public API, because moving it
21
+ * will break existing declarations, but is not legal for end users to import
22
+ * themselves, so ***DO NOT RELY ON IT***.
23
+ */
24
+ export type EmptyObject = {
25
+ [Empty]?: true;
26
+ };
27
+ type GetOrElse<Obj, K extends PropertyKey, Fallback> = Obj extends {
28
+ [Key in K]: infer U;
29
+ } ? U : Fallback;
30
+ /** Given a signature `S`, get back the `Args` type. */
31
+ type ArgsFor<S> = S extends {
32
+ Args: infer Args;
33
+ } ? Args extends {
34
+ Named?: object;
35
+ Positional?: unknown[];
36
+ } ? {
37
+ Named: GetOrElse<S['Args'], 'Named', EmptyObject>;
38
+ Positional: GetOrElse<S['Args'], 'Positional', []>;
39
+ } : {
40
+ Named: S['Args'];
41
+ Positional: [];
42
+ } : {
43
+ Named: EmptyObject;
44
+ Positional: [];
45
+ };
46
+ type _ExpandSignature<T> = {
47
+ Element: GetOrElse<T, 'Element', null>;
48
+ Args: keyof T extends 'Args' | 'Element' | 'Blocks' ? ArgsFor<T> : {
49
+ Named: T;
50
+ Positional: [];
51
+ };
52
+ Blocks: T extends {
53
+ Blocks: infer Blocks;
54
+ } ? {
55
+ [Block in keyof Blocks]: Blocks[Block] extends unknown[] ? {
56
+ Params: {
57
+ Positional: Blocks[Block];
58
+ };
59
+ } : Blocks[Block];
60
+ } : EmptyObject;
61
+ };
62
+ /**
63
+ * Given any allowed shorthand form of a signature, desugars it to its full
64
+ * expanded type.
65
+ *
66
+ * @internal This is only exported so we can avoid duplicating it in
67
+ * [Glint](https://github.com/typed-ember/glint) or other such tooling. It is
68
+ * *not* intended for public usage, and the specific mechanics it uses may
69
+ * change at any time. Although the signature produced by is part of Glimmer's
70
+ * public API the existence and mechanics of this specific symbol are *not*,
71
+ * so ***DO NOT RELY ON IT***.
72
+ */
73
+ export type ExpandSignature<T> = T extends any ? _ExpandSignature<T> : never;
74
+ /**
75
+ * @internal we use this type for convenience internally; inference means users
76
+ * should not normally need to name it
77
+ */
78
+ export type Args<S> = ExpandSignature<S>['Args']['Named'];
79
+ /**
80
+ * The `Component` class defines an encapsulated UI element that is rendered to
81
+ * the DOM. A component is made up of a template and, optionally, this component
82
+ * object.
83
+ *
84
+ * ## Defining a Component
85
+ *
86
+ * To define a component, subclass `Component` and add your own properties,
87
+ * methods and lifecycle hooks:
88
+ *
89
+ * ```ts
90
+ * import Component from '@glimmer/component';
91
+ *
92
+ * export default class extends Component {
93
+ * }
94
+ * ```
95
+ *
96
+ * ## Lifecycle Hooks
97
+ *
98
+ * Lifecycle hooks allow you to respond to changes to a component, such as when
99
+ * it gets created, rendered, updated or destroyed. To add a lifecycle hook to a
100
+ * component, implement the hook as a method on your component subclass.
101
+ *
102
+ * For example, to be notified when Glimmer has rendered your component so you
103
+ * can attach a legacy jQuery plugin, implement the `didInsertElement()` method:
104
+ *
105
+ * ```ts
106
+ * import Component from '@glimmer/component';
107
+ *
108
+ * export default class extends Component {
109
+ * didInsertElement() {
110
+ * $(this.element).pickadate();
111
+ * }
112
+ * }
113
+ * ```
114
+ *
115
+ * ## Data for Templates
116
+ *
117
+ * `Component`s have two different kinds of data, or state, that can be
118
+ * displayed in templates:
119
+ *
120
+ * 1. Arguments
121
+ * 2. Properties
122
+ *
123
+ * Arguments are data that is passed in to a component from its parent
124
+ * component. For example, if I have a `UserGreeting` component, I can pass it
125
+ * a name and greeting to use:
126
+ *
127
+ * ```hbs
128
+ * <UserGreeting @name="Ricardo" @greeting="Olá" />
129
+ * ```
130
+ *
131
+ * Inside my `UserGreeting` template, I can access the `@name` and `@greeting`
132
+ * arguments that I've been given:
133
+ *
134
+ * ```hbs
135
+ * {{@greeting}}, {{@name}}!
136
+ * ```
137
+ *
138
+ * Arguments are also available inside my component:
139
+ *
140
+ * ```ts
141
+ * console.log(this.args.greeting); // prints "Olá"
142
+ * ```
143
+ *
144
+ * Properties, on the other hand, are internal to the component and declared in
145
+ * the class. You can use properties to store data that you want to show in the
146
+ * template, or pass to another component as an argument.
147
+ *
148
+ * ```ts
149
+ * import Component from '@glimmer/component';
150
+ *
151
+ * export default class extends Component {
152
+ * user = {
153
+ * name: 'Robbie'
154
+ * }
155
+ * }
156
+ * ```
157
+ *
158
+ * In the above example, we've defined a component with a `user` property that
159
+ * contains an object with its own `name` property.
160
+ *
161
+ * We can render that property in our template:
162
+ *
163
+ * ```hbs
164
+ * Hello, {{user.name}}!
165
+ * ```
166
+ *
167
+ * We can also take that property and pass it as an argument to the
168
+ * `UserGreeting` component we defined above:
169
+ *
170
+ * ```hbs
171
+ * <UserGreeting @greeting="Hello" @name={{user.name}} />
172
+ * ```
173
+ *
174
+ * ## Arguments vs. Properties
175
+ *
176
+ * Remember, arguments are data that was given to your component by its parent
177
+ * component, and properties are data your component has defined for itself.
178
+ *
179
+ * You can tell the difference between arguments and properties in templates
180
+ * because arguments always start with an `@` sign (think "A is for arguments"):
181
+ *
182
+ * ```hbs
183
+ * {{@firstName}}
184
+ * ```
185
+ *
186
+ * We know that `@firstName` came from the parent component, not the current
187
+ * component, because it starts with `@` and is therefore an argument.
188
+ *
189
+ * On the other hand, if we see:
190
+ *
191
+ * ```hbs
192
+ * {{name}}
193
+ * ```
194
+ *
195
+ * We know that `name` is a property on the component. If we want to know where
196
+ * the data is coming from, we can go look at our component class to find out.
197
+ *
198
+ * Inside the component itself, arguments always show up inside the component's
199
+ * `args` property. For example, if `{{@firstName}}` is `Tom` in the template,
200
+ * inside the component `this.args.firstName` would also be `Tom`.
201
+ */
202
+ export default class GlimmerComponent<S = unknown> {
203
+ /**
204
+ * Constructs a new component and assigns itself the passed properties. You
205
+ * should not construct new components yourself. Instead, Glimmer will
206
+ * instantiate new components automatically as it renders.
207
+ *
208
+ * @param owner
209
+ * @param args
210
+ */
211
+ constructor(owner: unknown, args: Args<S>);
212
+ /**
213
+ * Named arguments passed to the component from its parent component.
214
+ * They can be accessed in JavaScript via `this.args.argumentName` and in the template via `@argumentName`.
215
+ *
216
+ * Say you have the following component, which will have two `args`, `firstName` and `lastName`:
217
+ *
218
+ * ```hbs
219
+ * <my-component @firstName="Arthur" @lastName="Dent" />
220
+ * ```
221
+ *
222
+ * If you needed to calculate `fullName` by combining both of them, you would do:
223
+ *
224
+ * ```ts
225
+ * didInsertElement() {
226
+ * console.log(`Hi, my full name is ${this.args.firstName} ${this.args.lastName}`);
227
+ * }
228
+ * ```
229
+ *
230
+ * While in the template you could do:
231
+ *
232
+ * ```hbs
233
+ * <p>Welcome, {{@firstName}} {{@lastName}}!</p>
234
+ * ```
235
+ */
236
+ readonly args: Readonly<Args<S>>;
237
+ get isDestroying(): boolean;
238
+ get isDestroyed(): boolean;
239
+ /**
240
+ * Called before the component has been removed from the DOM.
241
+ */
242
+ willDestroy(): void;
243
+ }
244
+ export {};
245
+
246
+ }
247
+ declare module '@glimmer/component' {
248
+ import _GlimmerComponent, { type Args } from '@glimmer/component/-private/component';
249
+ import { type default as Owner } from '@ember/owner';
250
+ /**
251
+ A component is a reusable UI element that consists of a `.hbs` template and an
252
+ optional JavaScript class that defines its behavior. For example, someone
253
+ might make a `button` in the template and handle the click behavior in the
254
+ JavaScript file that shares the same name as the template.
255
+
256
+ Components are broken down into two categories:
257
+
258
+ - Components _without_ JavaScript, that are based only on a template. These
259
+ are called Template-only or TO components.
260
+ - Components _with_ JavaScript, which consist of a template and a backing
261
+ class.
262
+
263
+ Ember ships with two types of JavaScript classes for components:
264
+
265
+ 1. Glimmer components, imported from `@glimmer/component`, which are the
266
+ default components for Ember Octane (3.15) and more recent editions.
267
+ 2. Classic components, imported from `@ember/component`, which were the
268
+ default for older editions of Ember (pre 3.15).
269
+
270
+ Below is the documentation for Template-only and Glimmer components. If you
271
+ are looking for the API documentation for Classic components, it is
272
+ [available here](/ember/release/classes/Component). The source code for
273
+ Glimmer components can be found in [`@glimmer/component`](https://github.com/glimmerjs/glimmer.js/tree/master/packages/%40glimmer/component).
274
+
275
+ ## Defining a Template-only Component
276
+
277
+ The simplest way to create a component is to create a template file in
278
+ `app/templates/components`. For example, if you name a template
279
+ `app/templates/components/person-profile.hbs`:
280
+
281
+ ```app/templates/components/person-profile.hbs
282
+ <h1>{{@person.name}}</h1>
283
+ <img src={{@person.avatar}}>
284
+ <p class='signature'>{{@person.signature}}</p>
285
+ ```
286
+
287
+ You will be able to use `<PersonProfile />` to invoke this component elsewhere
288
+ in your application:
289
+
290
+ ```app/templates/application.hbs
291
+ <PersonProfile @person={{this.currentUser}} />
292
+ ```
293
+
294
+ Note that component names are capitalized here in order to distinguish them
295
+ from regular HTML elements, but they are dasherized in the file system.
296
+
297
+ While the angle bracket invocation form is generally preferred, it is also
298
+ possible to invoke the same component with the `{{person-profile}}` syntax:
299
+
300
+ ```app/templates/application.hbs
301
+ {{person-profile person=this.currentUser}}
302
+ ```
303
+
304
+ Note that with this syntax, you use dashes in the component name and
305
+ arguments are passed without the `@` sign.
306
+
307
+ In both cases, Ember will render the content of the component template we
308
+ created above. The end result will be something like this:
309
+
310
+ ```html
311
+ <h1>Tomster</h1>
312
+ <img src="https://emberjs.com/tomster.jpg">
313
+ <p class='signature'>Out of office this week</p>
314
+ ```
315
+
316
+ ## File System Nesting
317
+
318
+ Components can be nested inside sub-folders for logical groupping. For
319
+ example, if we placed our template in
320
+ `app/templates/components/person/short-profile.hbs`, we can invoke it as
321
+ `<Person::ShortProfile />`:
322
+
323
+ ```app/templates/application.hbs
324
+ <Person::ShortProfile @person={{this.currentUser}} />
325
+ ```
326
+
327
+ Or equivalently, `{{person/short-profile}}`:
328
+
329
+ ```app/templates/application.hbs
330
+ {{person/short-profile person=this.currentUser}}
331
+ ```
332
+
333
+ ## Using Blocks
334
+
335
+ You can use `yield` inside a template to include the **contents** of any block
336
+ attached to the component. For instance, if we added a `{{yield}}` to our
337
+ component like so:
338
+
339
+ ```app/templates/components/person-profile.hbs
340
+ <h1>{{@person.name}}</h1>
341
+ {{yield}}
342
+ ```
343
+
344
+ We could then invoke it like this:
345
+
346
+ ```handlebars
347
+ <PersonProfile @person={{this.currentUser}}>
348
+ <p>Admin mode</p>
349
+ </PersonProfile>
350
+ ```
351
+
352
+ or with curly syntax like this:
353
+
354
+ ```handlebars
355
+ {{#person-profile person=this.currentUser}}
356
+ <p>Admin mode</p>
357
+ {{/person-profile}}
358
+ ```
359
+
360
+ And the content passed in between the brackets of the component would be
361
+ rendered in the same place as the `{{yield}}` within it, replacing it.
362
+
363
+ Blocks are executed in their original context, meaning they have access to the
364
+ scope and any in-scope variables where they were defined.
365
+
366
+ ### Passing parameters to blocks
367
+
368
+ You can also pass positional parameters to `{{yield}}`, which are then made
369
+ available in the block:
370
+
371
+ ```app/templates/components/person-profile.hbs
372
+ <h1>{{@person.name}}</h1>
373
+ {{yield @person.signature}}
374
+ ```
375
+
376
+ We can then use this value in the block like so:
377
+
378
+ ```handlebars
379
+ <PersonProfile @person={{this.currentUser}} as |signature|>
380
+ {{signature}}
381
+ </PersonProfile>
382
+ ```
383
+
384
+ ### Passing multiple blocks
385
+
386
+ You can pass multiple blocks to a component by giving them names, and
387
+ specifying which block you are yielding to with `{{yield}}`. For instance, if
388
+ we wanted to add a way for users to customize the title of our
389
+ `<PersonProfile>` component, we could add a named block inside of the header:
390
+
391
+ ```app/templates/components/person-profile.hbs
392
+ <h1>{{yield to="title"}}</h1>
393
+ {{yield}}
394
+ ```
395
+
396
+ This component could then be invoked like so:
397
+
398
+ ```handlebars
399
+ <PersonProfile @person={{this.currentUser}}>
400
+ <:title>{{this.currentUser.name}}</:title>
401
+ <:default>{{this.currentUser.signature}}</:default>
402
+ </PersonProfile>
403
+ ```
404
+
405
+ When passing named blocks, you must name every block, including the `default`
406
+ block, which is the block that is defined if you do not pass a `to` parameter
407
+ to `{{yield}}`. Whenever you invoke a component without passing explicitly
408
+ named blocks, the passed block is considered the `default` block.
409
+
410
+ ### Passing parameters to named blocks
411
+
412
+ You can also pass parameters to named blocks:
413
+
414
+ ```app/templates/components/person-profile.hbs
415
+ <h1>{{yield @person.name to="title"}}</h1>
416
+ {{yield @person.signature}}
417
+ ```
418
+
419
+ These parameters can then be used like so:
420
+
421
+ ```handlebars
422
+ <PersonProfile @person={{this.currentUser}}>
423
+ <:title as |name|>{{name}}</:title>
424
+ <:default as |signature|>{{signature}}</:default>
425
+ </PersonProfile>
426
+ ```
427
+
428
+ ### Checking to see if a block exists
429
+
430
+ You can also check to see if a block exists using the `(has-block)` keyword,
431
+ and conditionally use it, or provide a default template instead.
432
+
433
+ ```app/templates/components/person-profile.hbs
434
+ <h1>
435
+ {{#if (has-block "title")}}
436
+ {{yield @person.name to="title"}}
437
+ {{else}}
438
+ {{@person.name}}
439
+ {{/if}}
440
+ </h1>
441
+
442
+ {{#if (has-block)}}
443
+ {{yield @person.signature}}
444
+ {{else}}
445
+ {{@person.signature}}
446
+ {{/if}}
447
+ ```
448
+
449
+ With this template, we can then optionally pass in one block, both blocks, or
450
+ none at all:
451
+
452
+ ```handlebars
453
+ {{! passing both blocks }}
454
+ <PersonProfile @person={{this.currentUser}}>
455
+ <:title as |name|>{{name}}</:title>
456
+ <:default as |signature|>{{signature}}</:default>
457
+ </PersonProfile>
458
+
459
+ {{! passing just the title block }}
460
+ <PersonProfile @person={{this.currentUser}}>
461
+ <:title as |name|>{{name}}</:title>
462
+ </PersonProfile>
463
+
464
+ {{! passing just the default block }}
465
+ <PersonProfile @person={{this.currentUser}} as |signature|>
466
+ {{signature}}
467
+ </PersonProfile>
468
+
469
+ {{! not passing any blocks }}
470
+ <PersonProfile @person={{this.currentUser}}/>
471
+ ```
472
+
473
+ ### Checking to see if a block has parameters
474
+
475
+ We can also check if a block receives parameters using the `(has-block-params)`
476
+ keyword, and conditionally yield different values if so.
477
+
478
+ ```app/templates/components/person-profile.hbs
479
+ {{#if (has-block-params)}}
480
+ {{yield @person.signature}}
481
+ {{else}}
482
+ {{yield}}
483
+ {{/if}}
484
+ ```
485
+
486
+ ## Customizing Components With JavaScript
487
+
488
+ To add JavaScript to a component, create a JavaScript file in the same
489
+ location as the template file, with the same name, and export a subclass
490
+ of `Component` as the default value. For example, to add Javascript to the
491
+ `PersonProfile` component which we defined above, we would create
492
+ `app/components/person-profile.js` and export our class as the default, like
493
+ so:
494
+
495
+ ```app/components/person-profile.js
496
+ import Component from '@glimmer/component';
497
+
498
+ export default class PersonProfileComponent extends Component {
499
+ get displayName() {
500
+ let { title, firstName, lastName } = this.args.person;
501
+
502
+ if (title) {
503
+ return `${title} ${lastName}`;
504
+ } else {
505
+ return `${firstName} ${lastName}`;
506
+ }
507
+ })
508
+ }
509
+ ```
510
+
511
+ You can add your own properties, methods, and lifecycle hooks to this
512
+ subclass to customize its behavior, and you can reference the instance of the
513
+ class in your template using `{{this}}`. For instance, we could access the
514
+ `displayName` property of our `PersonProfile` component instance in the
515
+ template like this:
516
+
517
+ ```app/templates/components/person-profile.hbs
518
+ <h1>{{this.displayName}}</h1>
519
+ {{yield}}
520
+ ```
521
+
522
+ ## `constructor`
523
+
524
+ params: `owner` object and `args` object
525
+
526
+ Constructs a new component and assigns itself the passed properties. The
527
+ constructor is run whenever a new instance of the component is created, and
528
+ can be used to setup the initial state of the component.
529
+
530
+ ```javascript
531
+ import Component from '@glimmer/component';
532
+
533
+ export default class SomeComponent extends Component {
534
+ constructor(owner, args) {
535
+ super(owner, args);
536
+
537
+ if (this.args.displayMode === 'list') {
538
+ this.items = [];
539
+ }
540
+ }
541
+ }
542
+ ```
543
+
544
+ Service injections and arguments are available in the constructor.
545
+
546
+ ```javascript
547
+ import Component from '@glimmer/component';
548
+ import { service } from '@ember/service';
549
+
550
+ export default class SomeComponent extends Component {
551
+ @service myAnimations;
552
+
553
+ constructor(owner, args) {
554
+ super(owner, args);
555
+
556
+ if (this.args.fadeIn === true) {
557
+ this.myAnimations.register(this, 'fade-in');
558
+ }
559
+ }
560
+ }
561
+ ```
562
+
563
+ ## `willDestroy`
564
+
565
+ `willDestroy` is called after the component has been removed from the DOM, but
566
+ before the component is fully destroyed. This lifecycle hook can be used to
567
+ cleanup the component and any related state.
568
+
569
+ ```javascript
570
+ import Component from '@glimmer/component';
571
+ import { service } from '@ember/service';
572
+
573
+ export default class SomeComponent extends Component {
574
+ @service myAnimations;
575
+
576
+ willDestroy() {
577
+ super.willDestroy(...arguments);
578
+
579
+ this.myAnimations.unregister(this);
580
+ }
581
+ }
582
+ ```
583
+
584
+ ## `args`
585
+
586
+ The `args` property of Glimmer components is an object that contains the
587
+ _arguments_ that are passed to the component. For instance, the
588
+ following component usage:
589
+
590
+ ```handlebars
591
+ <SomeComponent @fadeIn={{true}} />
592
+ ```
593
+
594
+ Would result in the following `args` object to be passed to the component:
595
+
596
+ ```javascript
597
+ { fadeIn: true }
598
+ ```
599
+
600
+ `args` can be accessed at any point in the component lifecycle, including
601
+ `constructor` and `willDestroy`. They are also automatically marked as tracked
602
+ properties, and they can be depended on as computed property dependencies:
603
+
604
+ ```javascript
605
+ import Component from '@glimmer/component';
606
+ import { computed } from '@ember/object';
607
+
608
+ export default class SomeComponent extends Component {
609
+
610
+ @computed('args.someValue')
611
+ get computedGetter() {
612
+ // updates whenever args.someValue updates
613
+ return this.args.someValue;
614
+ }
615
+
616
+ get standardGetter() {
617
+ // updates whenever args.anotherValue updates (Ember 3.13+)
618
+ return this.args.anotherValue;
619
+ }
620
+ }
621
+ ```
622
+
623
+ ## `isDestroying`
624
+
625
+ A boolean flag to tell if the component is in the process of destroying. This is set to
626
+ true before `willDestroy` is called.
627
+
628
+ ## `isDestroyed`
629
+ A boolean to tell if the component has been fully destroyed. This is set to true
630
+ after `willDestroy` is called.
631
+
632
+ @module @glimmer/component
633
+ @public
634
+ */
635
+ export default class GlimmerComponent<S = unknown> extends _GlimmerComponent<S> {
636
+ constructor(owner: Owner, args: Args<S>);
637
+ }
638
+
639
+ }
640
+ declare module '@glimmer/component/-private/base-component-manager' {
641
+ import type { Arguments, ComponentManager, ComponentCapabilities } from '@glimmer/interfaces';
642
+ import { type default as BaseComponent } from '@glimmer/component/-private/component';
643
+ export interface Constructor<T> {
644
+ new (owner: unknown, args: Record<string, unknown>): T;
645
+ }
646
+ export default abstract class BaseComponentManager<GlimmerComponent extends BaseComponent> implements ComponentManager<GlimmerComponent> {
647
+ abstract capabilities: ComponentCapabilities;
648
+ private owner;
649
+ constructor(owner: unknown);
650
+ createComponent(ComponentClass: Constructor<GlimmerComponent>, args: Arguments): GlimmerComponent;
651
+ getContext(component: GlimmerComponent): GlimmerComponent;
652
+ }
653
+
654
+ }
655
+ declare module '@glimmer/component/-private/ember-component-manager' {
656
+ import BaseComponentManager from '@glimmer/component/-private/base-component-manager';
657
+ import { type default as GlimmerComponent } from '@glimmer/component/-private/component';
658
+ import type { Arguments } from '@glimmer/interfaces'; class EmberGlimmerComponentManager extends BaseComponentManager<GlimmerComponent> {
659
+ capabilities: any;
660
+ destroyComponent(component: GlimmerComponent): void;
661
+ }
662
+ interface EmberGlimmerComponentManager {
663
+ updateComponent?: (component: GlimmerComponent, args: Arguments) => void;
664
+ }
665
+ export default EmberGlimmerComponentManager;
666
+
667
+ }
@@ -26,16 +26,17 @@
26
26
  "engines": {
27
27
  "node": ">= 18"
28
28
  },
29
- "typesVersions": {
29
+ "ember-addon": {
30
+ "type": "addon",
31
+ "version": 2,
32
+ "main": "addon-main.cjs"
33
+ },
34
+ "__typesVersions": {
30
35
  "*": {
31
36
  "*": [
32
37
  "dist/*"
33
38
  ]
34
39
  }
35
40
  },
36
- "ember-addon": {
37
- "type": "addon",
38
- "version": 2,
39
- "main": "addon-main.cjs"
40
- }
41
- }
41
+ "types": "index.d.ts"
42
+ }