gitextract_o806b5yi/ ├── .eslintignore ├── .eslintrc ├── .github/ │ ├── scripts/ │ │ └── publish-dev-build │ └── workflows/ │ ├── build.yml │ ├── dev-builds.yml │ ├── lint.yml │ └── test.yml ├── .gitignore ├── .node-version ├── .npmignore ├── .prettierignore ├── .prettierrc.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── docs/ │ ├── handbook/ │ │ ├── 00_the_origin_of_stimulus.md │ │ ├── 01_introduction.md │ │ ├── 02_hello_stimulus.md │ │ ├── 03_building_something_real.md │ │ ├── 04_designing_for_resilience.md │ │ ├── 05_managing_state.md │ │ ├── 06_working_with_external_resources.md │ │ └── 07_installing_stimulus.md │ └── reference/ │ ├── actions.md │ ├── controllers.md │ ├── css_classes.md │ ├── lifecycle_callbacks.md │ ├── outlets.md │ ├── targets.md │ ├── using_typescript.md │ └── values.md ├── examples/ │ ├── .babelrc │ ├── controllers/ │ │ ├── clipboard_controller.js │ │ ├── content_loader_controller.js │ │ ├── hello_controller.js │ │ ├── slideshow_controller.js │ │ └── tabs_controller.js │ ├── index.js │ ├── package.json │ ├── public/ │ │ ├── examples.css │ │ └── main.css │ ├── server.js │ ├── views/ │ │ ├── clipboard.ejs │ │ ├── content-loader.ejs │ │ ├── hello.ejs │ │ ├── layout/ │ │ │ ├── head.ejs │ │ │ └── tail.ejs │ │ ├── slideshow.ejs │ │ └── tabs.ejs │ └── webpack.config.js ├── karma.conf.cjs ├── package.json ├── packages/ │ └── stimulus/ │ ├── .gitignore │ ├── .npmignore │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── rollup.config.js │ ├── webpack-helpers.d.ts │ └── webpack-helpers.js ├── rollup.config.js ├── src/ │ ├── core/ │ │ ├── action.ts │ │ ├── action_descriptor.ts │ │ ├── action_event.ts │ │ ├── application.ts │ │ ├── binding.ts │ │ ├── binding_observer.ts │ │ ├── blessing.ts │ │ ├── class_map.ts │ │ ├── class_properties.ts │ │ ├── constructor.ts │ │ ├── context.ts │ │ ├── controller.ts │ │ ├── data_map.ts │ │ ├── definition.ts │ │ ├── dispatcher.ts │ │ ├── error_handler.ts │ │ ├── event_listener.ts │ │ ├── guide.ts │ │ ├── index.ts │ │ ├── inheritable_statics.ts │ │ ├── logger.ts │ │ ├── module.ts │ │ ├── outlet_observer.ts │ │ ├── outlet_properties.ts │ │ ├── outlet_set.ts │ │ ├── router.ts │ │ ├── schema.ts │ │ ├── scope.ts │ │ ├── scope_observer.ts │ │ ├── selectors.ts │ │ ├── string_helpers.ts │ │ ├── target_observer.ts │ │ ├── target_properties.ts │ │ ├── target_set.ts │ │ ├── utils.ts │ │ ├── value_observer.ts │ │ └── value_properties.ts │ ├── index.d.ts │ ├── index.js │ ├── index.ts │ ├── multimap/ │ │ ├── index.ts │ │ ├── indexed_multimap.ts │ │ ├── multimap.ts │ │ └── set_operations.ts │ ├── mutation-observers/ │ │ ├── attribute_observer.ts │ │ ├── element_observer.ts │ │ ├── index.ts │ │ ├── selector_observer.ts │ │ ├── string_map_observer.ts │ │ ├── token_list_observer.ts │ │ └── value_list_observer.ts │ └── tests/ │ ├── cases/ │ │ ├── application_test_case.ts │ │ ├── controller_test_case.ts │ │ ├── dom_test_case.ts │ │ ├── index.ts │ │ ├── log_controller_test_case.ts │ │ ├── observer_test_case.ts │ │ └── test_case.ts │ ├── controllers/ │ │ ├── class_controller.ts │ │ ├── default_value_controller.ts │ │ ├── log_controller.ts │ │ ├── outlet_controller.ts │ │ ├── target_controller.ts │ │ └── value_controller.ts │ ├── fixtures/ │ │ └── application_start/ │ │ ├── helpers.ts │ │ ├── index.html │ │ └── index.ts │ ├── index.ts │ └── modules/ │ ├── core/ │ │ ├── action_click_filter_tests.ts │ │ ├── action_keyboard_filter_tests.ts │ │ ├── action_ordering_tests.ts │ │ ├── action_params_case_insensitive_tests.ts │ │ ├── action_params_tests.ts │ │ ├── action_tests.ts │ │ ├── action_timing_tests.ts │ │ ├── application_start_tests.ts │ │ ├── application_tests.ts │ │ ├── class_tests.ts │ │ ├── data_tests.ts │ │ ├── default_value_tests.ts │ │ ├── error_handler_tests.ts │ │ ├── es6_tests.ts │ │ ├── event_options_tests.ts │ │ ├── extending_application_tests.ts │ │ ├── legacy_target_tests.ts │ │ ├── lifecycle_tests.ts │ │ ├── loading_tests.ts │ │ ├── memory_tests.ts │ │ ├── outlet_order_tests.ts │ │ ├── outlet_tests.ts │ │ ├── string_helpers_tests.ts │ │ ├── target_tests.ts │ │ ├── value_properties_tests.ts │ │ └── value_tests.ts │ └── mutation-observers/ │ ├── attribute_observer_tests.ts │ ├── selector_observer_tests.ts │ ├── token_list_observer_tests.ts │ └── value_list_observer_tests.ts ├── tsconfig.json └── tsconfig.test.json