poetry-core 0.0.2
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +3 -0
- data/DESIGN.md +145 -0
- data/LICENSE.txt +21 -0
- data/README.md +30 -0
- data/THIRD_PARTY_NOTICES.md +507 -0
- data/app/components/poetry/core/box/component.rb +82 -0
- data/app/components/poetry/core/component.rb +390 -0
- data/app/components/poetry/core/concerns/agent_tools.rb +418 -0
- data/app/components/poetry/core/concerns/declared_attributes.rb +267 -0
- data/app/components/poetry/core/concerns/introspection.rb +533 -0
- data/app/components/poetry/core/concerns/options.rb +262 -0
- data/app/components/poetry/core/concerns/parts.rb +148 -0
- data/app/components/poetry/core/concerns/stimulus.rb +363 -0
- data/app/components/poetry/core/concerns/styles.rb +323 -0
- data/app/components/poetry/core/style.rb +150 -0
- data/app/components/poetry/core/wrapper/component.rb +90 -0
- data/app/javascript/poetry/core/accordion_controller.js +165 -0
- data/app/javascript/poetry/core/action_bar_controller.js +109 -0
- data/app/javascript/poetry/core/autocomplete_controller.js +220 -0
- data/app/javascript/poetry/core/calendar_controller.js +406 -0
- data/app/javascript/poetry/core/carousel_controller.js +167 -0
- data/app/javascript/poetry/core/checkbox_group_controller.js +97 -0
- data/app/javascript/poetry/core/checked_controller.js +208 -0
- data/app/javascript/poetry/core/clipboard_text_controller.js +111 -0
- data/app/javascript/poetry/core/combobox_controller.js +1095 -0
- data/app/javascript/poetry/core/command_controller.js +510 -0
- data/app/javascript/poetry/core/context_menu_controller.js +204 -0
- data/app/javascript/poetry/core/date_field_controller.js +584 -0
- data/app/javascript/poetry/core/date_picker_controller.js +111 -0
- data/app/javascript/poetry/core/deferred_controller.js +111 -0
- data/app/javascript/poetry/core/dialog_controller.js +206 -0
- data/app/javascript/poetry/core/dismissable_controller.js +182 -0
- data/app/javascript/poetry/core/drawer_controller.js +365 -0
- data/app/javascript/poetry/core/file_input_controller.js +191 -0
- data/app/javascript/poetry/core/focus_scope_controller.js +162 -0
- data/app/javascript/poetry/core/helpers/announce.js +228 -0
- data/app/javascript/poetry/core/helpers/breakpoint.js +28 -0
- data/app/javascript/poetry/core/helpers/collection.js +18 -0
- data/app/javascript/poetry/core/helpers/direction.js +15 -0
- data/app/javascript/poetry/core/helpers/escape.js +38 -0
- data/app/javascript/poetry/core/helpers/filter_rank.js +104 -0
- data/app/javascript/poetry/core/helpers/focus_guards.js +46 -0
- data/app/javascript/poetry/core/helpers/hotkey.js +43 -0
- data/app/javascript/poetry/core/helpers/id_integrity.js +65 -0
- data/app/javascript/poetry/core/helpers/incomplete_date.js +328 -0
- data/app/javascript/poetry/core/helpers/mask.js +283 -0
- data/app/javascript/poetry/core/helpers/portal.js +217 -0
- data/app/javascript/poetry/core/helpers/presence.js +210 -0
- data/app/javascript/poetry/core/helpers/registration_guard.js +76 -0
- data/app/javascript/poetry/core/helpers/scroll_lock.js +67 -0
- data/app/javascript/poetry/core/helpers/scroller_geometry.js +422 -0
- data/app/javascript/poetry/core/helpers/state.js +80 -0
- data/app/javascript/poetry/core/helpers/tabbable.js +56 -0
- data/app/javascript/poetry/core/helpers/turbo_cache.js +21 -0
- data/app/javascript/poetry/core/helpers/typeahead.js +85 -0
- data/app/javascript/poetry/core/hotkey_controller.js +55 -0
- data/app/javascript/poetry/core/hover_card_controller.js +431 -0
- data/app/javascript/poetry/core/index.js +218 -0
- data/app/javascript/poetry/core/mask_controller.js +500 -0
- data/app/javascript/poetry/core/menu_controller.js +1050 -0
- data/app/javascript/poetry/core/menubar_controller.js +329 -0
- data/app/javascript/poetry/core/message_scroller_controller.js +930 -0
- data/app/javascript/poetry/core/navigation_menu_controller.js +458 -0
- data/app/javascript/poetry/core/number_field_controller.js +404 -0
- data/app/javascript/poetry/core/optimistic_form_controller.js +56 -0
- data/app/javascript/poetry/core/otp_controller.js +219 -0
- data/app/javascript/poetry/core/popover_controller.js +300 -0
- data/app/javascript/poetry/core/popper_controller.js +439 -0
- data/app/javascript/poetry/core/pressed_controller.js +74 -0
- data/app/javascript/poetry/core/questionnaire_controller.js +468 -0
- data/app/javascript/poetry/core/radio_group_controller.js +197 -0
- data/app/javascript/poetry/core/resizable_controller.js +202 -0
- data/app/javascript/poetry/core/roving_focus_controller.js +215 -0
- data/app/javascript/poetry/core/scroll_spy_controller.js +84 -0
- data/app/javascript/poetry/core/search_field_controller.js +95 -0
- data/app/javascript/poetry/core/select_controller.js +924 -0
- data/app/javascript/poetry/core/sensitive_input_controller.js +195 -0
- data/app/javascript/poetry/core/sheet_controller.js +24 -0
- data/app/javascript/poetry/core/sidebar_controller.js +272 -0
- data/app/javascript/poetry/core/slider_controller.js +419 -0
- data/app/javascript/poetry/core/state_controller.js +82 -0
- data/app/javascript/poetry/core/table_selection_controller.js +153 -0
- data/app/javascript/poetry/core/tabs_controller.js +151 -0
- data/app/javascript/poetry/core/tag_group_controller.js +134 -0
- data/app/javascript/poetry/core/toast_controller.js +228 -0
- data/app/javascript/poetry/core/toast_trigger_controller.js +26 -0
- data/app/javascript/poetry/core/toaster_controller.js +197 -0
- data/app/javascript/poetry/core/toggle_group_controller.js +206 -0
- data/app/javascript/poetry/core/tooltip_controller.js +541 -0
- data/app/javascript/poetry/core/tree_controller.js +265 -0
- data/app/javascript/poetry/core/vendor/floating_ui_core.js +1043 -0
- data/app/javascript/poetry/core/vendor/floating_ui_dom.js +794 -0
- data/app/javascript/poetry/core/vendor/floating_ui_utils.js +141 -0
- data/app/javascript/poetry/core/vendor/floating_ui_utils_dom.js +170 -0
- data/app/views/poetry/core/preview.html.erb +13 -0
- data/config/component_registry.yml +20 -0
- data/config/controllers_manifest.json +1528 -0
- data/config/importmap.rb +11 -0
- data/config/state_vocabulary.json +31 -0
- data/lib/active_model/type/list.rb +33 -0
- data/lib/active_model/type/symbol.rb +36 -0
- data/lib/poetry/core/check/stable_identity.rb +104 -0
- data/lib/poetry/core/check.rb +1445 -0
- data/lib/poetry/core/config.rb +286 -0
- data/lib/poetry/core/contrib/wrapped_helper.rb +68 -0
- data/lib/poetry/core/css/bem_merger.rb +45 -0
- data/lib/poetry/core/css/bem_reference.rb +87 -0
- data/lib/poetry/core/css/override_scan.rb +110 -0
- data/lib/poetry/core/css/resolver.rb +161 -0
- data/lib/poetry/core/css/safelist.rb +41 -0
- data/lib/poetry/core/css/tailwind_merger.rb +102 -0
- data/lib/poetry/core/css/template_classes.rb +102 -0
- data/lib/poetry/core/css/theme_coverage.rb +72 -0
- data/lib/poetry/core/css/var_coverage.rb +75 -0
- data/lib/poetry/core/css/verifier.rb +106 -0
- data/lib/poetry/core/design_lint.rb +720 -0
- data/lib/poetry/core/design_md/import.rb +250 -0
- data/lib/poetry/core/design_md.rb +461 -0
- data/lib/poetry/core/engine.rb +71 -0
- data/lib/poetry/core/errors.rb +53 -0
- data/lib/poetry/core/html/attributes.rb +667 -0
- data/lib/poetry/core/icons.rb +157 -0
- data/lib/poetry/core/llms_text.rb +354 -0
- data/lib/poetry/core/page_architectures.rb +304 -0
- data/lib/poetry/core/part_contract.rb +285 -0
- data/lib/poetry/core/preview/abstract.rb +121 -0
- data/lib/poetry/core/preview/base.rb +227 -0
- data/lib/poetry/core/preview/sidecarable.rb +136 -0
- data/lib/poetry/core/preview/template.rb +186 -0
- data/lib/poetry/core/recipe_items.rb +82 -0
- data/lib/poetry/core/registry.rb +363 -0
- data/lib/poetry/core/registry_address.rb +115 -0
- data/lib/poetry/core/registry_client.rb +217 -0
- data/lib/poetry/core/registry_installer.rb +234 -0
- data/lib/poetry/core/registry_items.rb +184 -0
- data/lib/poetry/core/skill_text.rb +288 -0
- data/lib/poetry/core/stable_id.rb +110 -0
- data/lib/poetry/core/stimulus/builder.rb +395 -0
- data/lib/poetry/core/stimulus/declarations.rb +444 -0
- data/lib/poetry/core/stimulus/manifest.rb +68 -0
- data/lib/poetry/core/stimulus/merger.rb +131 -0
- data/lib/poetry/core/stimulus_contract.rb +263 -0
- data/lib/poetry/core/tag_helper.rb +10 -0
- data/lib/poetry/core/template_compile.rb +74 -0
- data/lib/poetry/core/token_import.rb +317 -0
- data/lib/poetry/core/tokens/color.rb +215 -0
- data/lib/poetry/core/tokens/contrast_gate.rb +120 -0
- data/lib/poetry/core/tokens/generator.rb +211 -0
- data/lib/poetry/core/tokens.rb +117 -0
- data/lib/poetry/core/version.rb +9 -0
- data/lib/poetry/core.rb +52 -0
- data/lib/poetry-core.rb +5 -0
- data/tokens/aliases.css +145 -0
- data/tokens/tailwind-theme.css +47 -0
- data/tokens/tokens.css +78 -0
- data/tokens/tokens.dtcg.json +779 -0
- data/vendor/floating-ui/LICENSE +20 -0
- data/vendor/floating-ui/VENDORED_VERSIONS +15 -0
- data/vendor/shadcn-tailwind/LICENSE +21 -0
- data/vendor/shadcn-tailwind/VENDORED_COMMIT +1 -0
- data/vendor/shadcn-tailwind/tailwind.css +629 -0
- data/vendor/tw-animate-css/LICENSE +21 -0
- data/vendor/tw-animate-css/VENDORED_VERSION +1 -0
- data/vendor/tw-animate-css/tw-animate.css +1 -0
- metadata +267 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
// @poetry/controllers - poetry's Stimulus controllers + DOM helpers, one
|
|
2
|
+
// source shipped over two channels: importmap-first (the engine
|
|
3
|
+
// pins this tree; zero build) and this same tree as the npm package for
|
|
4
|
+
// esbuild / Vite / jsbundling hosts. Never requires a bundler.
|
|
5
|
+
|
|
6
|
+
import { registerBridgeEvents } from "@poetry/controllers/helpers/portal"
|
|
7
|
+
import { guardPoetryRegistration } from "@poetry/controllers/helpers/registration_guard"
|
|
8
|
+
import StateController from "@poetry/controllers/state_controller"
|
|
9
|
+
import DialogController from "@poetry/controllers/dialog_controller"
|
|
10
|
+
import MessageScrollerController from "@poetry/controllers/message_scroller_controller"
|
|
11
|
+
import AccordionController from "@poetry/controllers/accordion_controller"
|
|
12
|
+
import AutocompleteController from "@poetry/controllers/autocomplete_controller"
|
|
13
|
+
import SearchFieldController from "@poetry/controllers/search_field_controller"
|
|
14
|
+
import ClipboardTextController from "@poetry/controllers/clipboard_text_controller"
|
|
15
|
+
import SensitiveInputController from "@poetry/controllers/sensitive_input_controller"
|
|
16
|
+
import RovingFocusController from "@poetry/controllers/roving_focus_controller"
|
|
17
|
+
import FocusScopeController from "@poetry/controllers/focus_scope_controller"
|
|
18
|
+
import DismissableController from "@poetry/controllers/dismissable_controller"
|
|
19
|
+
import PopperController from "@poetry/controllers/popper_controller"
|
|
20
|
+
import MenuController from "@poetry/controllers/menu_controller"
|
|
21
|
+
import ContextMenuController from "@poetry/controllers/context_menu_controller"
|
|
22
|
+
import DateFieldController from "@poetry/controllers/date_field_controller"
|
|
23
|
+
import FileInputController from "@poetry/controllers/file_input_controller"
|
|
24
|
+
import MaskController from "@poetry/controllers/mask_controller"
|
|
25
|
+
import MenubarController from "@poetry/controllers/menubar_controller"
|
|
26
|
+
import PopoverController from "@poetry/controllers/popover_controller"
|
|
27
|
+
import TreeController from "@poetry/controllers/tree_controller"
|
|
28
|
+
import TooltipController from "@poetry/controllers/tooltip_controller"
|
|
29
|
+
import HoverCardController from "@poetry/controllers/hover_card_controller"
|
|
30
|
+
import ToastController from "@poetry/controllers/toast_controller"
|
|
31
|
+
import ToastTriggerController from "@poetry/controllers/toast_trigger_controller"
|
|
32
|
+
import ToasterController from "@poetry/controllers/toaster_controller"
|
|
33
|
+
import CheckedController from "@poetry/controllers/checked_controller"
|
|
34
|
+
import CheckboxGroupController from "@poetry/controllers/checkbox_group_controller"
|
|
35
|
+
import PressedController from "@poetry/controllers/pressed_controller"
|
|
36
|
+
import ToggleGroupController from "@poetry/controllers/toggle_group_controller"
|
|
37
|
+
import QuestionnaireController from "@poetry/controllers/questionnaire_controller"
|
|
38
|
+
import RadioGroupController from "@poetry/controllers/radio_group_controller"
|
|
39
|
+
import SliderController from "@poetry/controllers/slider_controller"
|
|
40
|
+
import OtpController from "@poetry/controllers/otp_controller"
|
|
41
|
+
import SelectController from "@poetry/controllers/select_controller"
|
|
42
|
+
import CommandController from "@poetry/controllers/command_controller"
|
|
43
|
+
import ComboboxController from "@poetry/controllers/combobox_controller"
|
|
44
|
+
import TagGroupController from "@poetry/controllers/tag_group_controller"
|
|
45
|
+
import TableSelectionController from "@poetry/controllers/table_selection_controller"
|
|
46
|
+
import ActionBarController from "@poetry/controllers/action_bar_controller"
|
|
47
|
+
import TabsController from "@poetry/controllers/tabs_controller"
|
|
48
|
+
import DrawerController from "@poetry/controllers/drawer_controller"
|
|
49
|
+
import SheetController from "@poetry/controllers/sheet_controller"
|
|
50
|
+
import CarouselController from "@poetry/controllers/carousel_controller"
|
|
51
|
+
import ResizableController from "@poetry/controllers/resizable_controller"
|
|
52
|
+
import NumberFieldController from "@poetry/controllers/number_field_controller"
|
|
53
|
+
import NavigationMenuController from "@poetry/controllers/navigation_menu_controller"
|
|
54
|
+
import SidebarController from "@poetry/controllers/sidebar_controller"
|
|
55
|
+
import CalendarController from "@poetry/controllers/calendar_controller"
|
|
56
|
+
import DatePickerController from "@poetry/controllers/date_picker_controller"
|
|
57
|
+
import DeferredController from "@poetry/controllers/deferred_controller"
|
|
58
|
+
import HotkeyController from "@poetry/controllers/hotkey_controller"
|
|
59
|
+
import OptimisticFormController from "@poetry/controllers/optimistic_form_controller"
|
|
60
|
+
|
|
61
|
+
export { default as StateController } from "@poetry/controllers/state_controller"
|
|
62
|
+
export { default as DialogController } from "@poetry/controllers/dialog_controller"
|
|
63
|
+
export { default as MessageScrollerController } from "@poetry/controllers/message_scroller_controller"
|
|
64
|
+
export { default as AccordionController } from "@poetry/controllers/accordion_controller"
|
|
65
|
+
export { default as AutocompleteController } from "@poetry/controllers/autocomplete_controller"
|
|
66
|
+
export { default as SearchFieldController } from "@poetry/controllers/search_field_controller"
|
|
67
|
+
export { default as ClipboardTextController } from "@poetry/controllers/clipboard_text_controller"
|
|
68
|
+
export { default as SensitiveInputController } from "@poetry/controllers/sensitive_input_controller"
|
|
69
|
+
export { default as RovingFocusController } from "@poetry/controllers/roving_focus_controller"
|
|
70
|
+
export { default as FocusScopeController } from "@poetry/controllers/focus_scope_controller"
|
|
71
|
+
export { default as DismissableController } from "@poetry/controllers/dismissable_controller"
|
|
72
|
+
export { default as PopperController } from "@poetry/controllers/popper_controller"
|
|
73
|
+
export { default as MenuController } from "@poetry/controllers/menu_controller"
|
|
74
|
+
export { default as ContextMenuController } from "@poetry/controllers/context_menu_controller"
|
|
75
|
+
export { default as DateFieldController } from "@poetry/controllers/date_field_controller"
|
|
76
|
+
export { default as FileInputController } from "@poetry/controllers/file_input_controller"
|
|
77
|
+
export { default as MaskController } from "@poetry/controllers/mask_controller"
|
|
78
|
+
export { default as MenubarController } from "@poetry/controllers/menubar_controller"
|
|
79
|
+
export { default as PopoverController } from "@poetry/controllers/popover_controller"
|
|
80
|
+
export { default as TreeController } from "@poetry/controllers/tree_controller"
|
|
81
|
+
export { default as TooltipController } from "@poetry/controllers/tooltip_controller"
|
|
82
|
+
export { default as HoverCardController } from "@poetry/controllers/hover_card_controller"
|
|
83
|
+
export { default as ToastController } from "@poetry/controllers/toast_controller"
|
|
84
|
+
export { default as ToastTriggerController } from "@poetry/controllers/toast_trigger_controller"
|
|
85
|
+
export { default as ToasterController } from "@poetry/controllers/toaster_controller"
|
|
86
|
+
export { default as CheckedController } from "@poetry/controllers/checked_controller"
|
|
87
|
+
export { default as CheckboxGroupController } from "@poetry/controllers/checkbox_group_controller"
|
|
88
|
+
export { default as PressedController } from "@poetry/controllers/pressed_controller"
|
|
89
|
+
export { default as ToggleGroupController } from "@poetry/controllers/toggle_group_controller"
|
|
90
|
+
export { default as QuestionnaireController } from "@poetry/controllers/questionnaire_controller"
|
|
91
|
+
export { default as RadioGroupController } from "@poetry/controllers/radio_group_controller"
|
|
92
|
+
export { default as SliderController } from "@poetry/controllers/slider_controller"
|
|
93
|
+
export { default as OtpController } from "@poetry/controllers/otp_controller"
|
|
94
|
+
export { default as SelectController } from "@poetry/controllers/select_controller"
|
|
95
|
+
export { default as CommandController } from "@poetry/controllers/command_controller"
|
|
96
|
+
export { default as ComboboxController } from "@poetry/controllers/combobox_controller"
|
|
97
|
+
export { default as TagGroupController } from "@poetry/controllers/tag_group_controller"
|
|
98
|
+
export { default as TableSelectionController } from "@poetry/controllers/table_selection_controller"
|
|
99
|
+
export { default as ActionBarController } from "@poetry/controllers/action_bar_controller"
|
|
100
|
+
export { default as TabsController } from "@poetry/controllers/tabs_controller"
|
|
101
|
+
export { default as DrawerController } from "@poetry/controllers/drawer_controller"
|
|
102
|
+
export { default as SheetController } from "@poetry/controllers/sheet_controller"
|
|
103
|
+
export { default as CarouselController } from "@poetry/controllers/carousel_controller"
|
|
104
|
+
export { default as ResizableController } from "@poetry/controllers/resizable_controller"
|
|
105
|
+
export { default as NumberFieldController } from "@poetry/controllers/number_field_controller"
|
|
106
|
+
export { default as NavigationMenuController } from "@poetry/controllers/navigation_menu_controller"
|
|
107
|
+
export { default as SidebarController } from "@poetry/controllers/sidebar_controller"
|
|
108
|
+
export { default as CalendarController } from "@poetry/controllers/calendar_controller"
|
|
109
|
+
export { default as DatePickerController } from "@poetry/controllers/date_picker_controller"
|
|
110
|
+
export { default as DeferredController } from "@poetry/controllers/deferred_controller"
|
|
111
|
+
export { default as HotkeyController } from "@poetry/controllers/hotkey_controller"
|
|
112
|
+
export { default as OptimisticFormController } from "@poetry/controllers/optimistic_form_controller"
|
|
113
|
+
export * from "@poetry/controllers/helpers/state"
|
|
114
|
+
export * from "@poetry/controllers/helpers/collection"
|
|
115
|
+
export * from "@poetry/controllers/helpers/direction"
|
|
116
|
+
export * from "@poetry/controllers/helpers/tabbable"
|
|
117
|
+
export * from "@poetry/controllers/helpers/escape"
|
|
118
|
+
export * from "@poetry/controllers/helpers/focus_guards"
|
|
119
|
+
export * from "@poetry/controllers/helpers/presence"
|
|
120
|
+
export * from "@poetry/controllers/helpers/scroller_geometry"
|
|
121
|
+
export * from "@poetry/controllers/helpers/announce"
|
|
122
|
+
export * from "@poetry/controllers/helpers/typeahead"
|
|
123
|
+
export * from "@poetry/controllers/helpers/filter_rank"
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* identifier -> controller class, for every sidecar controller poetry
|
|
127
|
+
* ships. The manifest (config/controllers_manifest.json) is introspected
|
|
128
|
+
* from these classes; {@link registerPoetryControllers} registers them
|
|
129
|
+
* all.
|
|
130
|
+
*
|
|
131
|
+
* @type {Object<string, typeof import("@hotwired/stimulus").Controller>}
|
|
132
|
+
*/
|
|
133
|
+
export const controllers = {
|
|
134
|
+
"poetry--core--state": StateController,
|
|
135
|
+
"poetry--core--dialog": DialogController,
|
|
136
|
+
"poetry--core--message-scroller": MessageScrollerController,
|
|
137
|
+
"poetry--core--accordion": AccordionController,
|
|
138
|
+
"poetry--core--autocomplete": AutocompleteController,
|
|
139
|
+
"poetry--core--search-field": SearchFieldController,
|
|
140
|
+
"poetry--core--clipboard-text": ClipboardTextController,
|
|
141
|
+
"poetry--core--sensitive-input": SensitiveInputController,
|
|
142
|
+
"poetry--core--roving-focus": RovingFocusController,
|
|
143
|
+
"poetry--core--focus-scope": FocusScopeController,
|
|
144
|
+
"poetry--core--dismissable": DismissableController,
|
|
145
|
+
"poetry--core--popper": PopperController,
|
|
146
|
+
"poetry--core--menu": MenuController,
|
|
147
|
+
"poetry--core--context-menu": ContextMenuController,
|
|
148
|
+
"poetry--core--date-field": DateFieldController,
|
|
149
|
+
"poetry--core--file-input": FileInputController,
|
|
150
|
+
"poetry--core--mask": MaskController,
|
|
151
|
+
"poetry--core--menubar": MenubarController,
|
|
152
|
+
"poetry--core--popover": PopoverController,
|
|
153
|
+
"poetry--core--tree": TreeController,
|
|
154
|
+
"poetry--core--tooltip": TooltipController,
|
|
155
|
+
"poetry--core--hover-card": HoverCardController,
|
|
156
|
+
"poetry--core--toast": ToastController,
|
|
157
|
+
"poetry--core--toast-trigger": ToastTriggerController,
|
|
158
|
+
"poetry--core--toaster": ToasterController,
|
|
159
|
+
"poetry--core--checked": CheckedController,
|
|
160
|
+
"poetry--core--checkbox-group": CheckboxGroupController,
|
|
161
|
+
"poetry--core--pressed": PressedController,
|
|
162
|
+
"poetry--core--toggle-group": ToggleGroupController,
|
|
163
|
+
"poetry--core--questionnaire": QuestionnaireController,
|
|
164
|
+
"poetry--core--radio-group": RadioGroupController,
|
|
165
|
+
"poetry--core--slider": SliderController,
|
|
166
|
+
"poetry--core--otp": OtpController,
|
|
167
|
+
"poetry--core--select": SelectController,
|
|
168
|
+
"poetry--core--command": CommandController,
|
|
169
|
+
"poetry--core--combobox": ComboboxController,
|
|
170
|
+
"poetry--core--tag-group": TagGroupController,
|
|
171
|
+
"poetry--core--table-selection": TableSelectionController,
|
|
172
|
+
"poetry--core--action-bar": ActionBarController,
|
|
173
|
+
"poetry--core--tabs": TabsController,
|
|
174
|
+
"poetry--core--drawer": DrawerController,
|
|
175
|
+
"poetry--core--sheet": SheetController,
|
|
176
|
+
"poetry--core--carousel": CarouselController,
|
|
177
|
+
"poetry--core--resizable": ResizableController,
|
|
178
|
+
"poetry--core--number-field": NumberFieldController,
|
|
179
|
+
"poetry--core--navigation-menu": NavigationMenuController,
|
|
180
|
+
"poetry--core--sidebar": SidebarController,
|
|
181
|
+
"poetry--core--calendar": CalendarController,
|
|
182
|
+
"poetry--core--date-picker": DatePickerController,
|
|
183
|
+
"poetry--core--deferred": DeferredController,
|
|
184
|
+
"poetry--core--hotkey": HotkeyController,
|
|
185
|
+
"poetry--core--optimistic-form": OptimisticFormController
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// The portal event bridge stays honest against the manifest surface: the
|
|
189
|
+
// union of every controller's declared `static events` is the bridged
|
|
190
|
+
// list. Registered here so portal.js never
|
|
191
|
+
// imports the controllers (no cycle).
|
|
192
|
+
registerBridgeEvents(Object.values(controllers).flatMap((controller) => controller.events ?? []))
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* The bundler-host one-liner: registers every poetry controller on the
|
|
196
|
+
* host's Stimulus application (importmap hosts get the same
|
|
197
|
+
* registrations via the engine's pins + this same call in their
|
|
198
|
+
* controllers/index.js), arms the portal event bridge, and installs the
|
|
199
|
+
* unregistered-controller warning.
|
|
200
|
+
*
|
|
201
|
+
* @param {import("@hotwired/stimulus").Application} application
|
|
202
|
+
* @returns {import("@hotwired/stimulus").Application} the application,
|
|
203
|
+
* for chaining
|
|
204
|
+
*/
|
|
205
|
+
export function registerPoetryControllers(application) {
|
|
206
|
+
// Belt and braces with the module-scope registration above: any boot
|
|
207
|
+
// path that reaches this call gets the portal bridge list even if it
|
|
208
|
+
// never evaluated this module's top level (idempotent - a Set).
|
|
209
|
+
registerBridgeEvents(Object.values(controllers).flatMap((controller) => controller.events ?? []))
|
|
210
|
+
|
|
211
|
+
for (const [identifier, controller] of Object.entries(controllers)) {
|
|
212
|
+
application.register(identifier, controller)
|
|
213
|
+
}
|
|
214
|
+
// Warn (once per identifier) about poetry controllers on the page that
|
|
215
|
+
// nothing registered - the silent-inert failure nothing else surfaces.
|
|
216
|
+
guardPoetryRegistration(application)
|
|
217
|
+
return application
|
|
218
|
+
}
|