govuk_publishing_components 58.1.1 → 59.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/select-with-search/cross-icon.svg +6 -0
  3. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-search-tracker.js +4 -0
  4. data/app/assets/javascripts/govuk_publishing_components/components/select-with-search.js +57 -0
  5. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +2 -0
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +14 -136
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_heading.scss +0 -5
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +6 -48
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_select-with-search.scss +168 -0
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_select.scss +6 -0
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_tag.scss +14 -0
  12. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_markdown-typography.scss +1 -1
  13. data/app/views/govuk_publishing_components/components/_action_link.html.erb +4 -37
  14. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +0 -2
  15. data/app/views/govuk_publishing_components/components/_select.html.erb +22 -23
  16. data/app/views/govuk_publishing_components/components/_select_with_search.html.erb +14 -0
  17. data/app/views/govuk_publishing_components/components/_share_links.html.erb +17 -9
  18. data/app/views/govuk_publishing_components/components/_tag.html.erb +20 -0
  19. data/app/views/govuk_publishing_components/components/docs/action_link.yml +0 -62
  20. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +13 -0
  21. data/app/views/govuk_publishing_components/components/docs/select.yml +11 -0
  22. data/app/views/govuk_publishing_components/components/docs/select_with_search.yml +196 -0
  23. data/app/views/govuk_publishing_components/components/docs/share_links.yml +10 -0
  24. data/app/views/govuk_publishing_components/components/docs/signup_link.yml +0 -7
  25. data/app/views/govuk_publishing_components/components/docs/single_page_notification_button.yml +1 -7
  26. data/app/views/govuk_publishing_components/components/docs/subscription_links.yml +1 -7
  27. data/app/views/govuk_publishing_components/components/docs/tag.yml +57 -0
  28. data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +16 -5
  29. data/lib/govuk_publishing_components/presenters/heading_helper.rb +1 -2
  30. data/lib/govuk_publishing_components/presenters/select_helper.rb +8 -5
  31. data/lib/govuk_publishing_components/presenters/select_with_search_helper.rb +92 -0
  32. data/lib/govuk_publishing_components/presenters/single_page_notification_button_helper.rb +1 -1
  33. data/lib/govuk_publishing_components/version.rb +1 -1
  34. data/lib/govuk_publishing_components.rb +1 -0
  35. data/node_modules/choices.js/LICENSE +21 -0
  36. data/node_modules/choices.js/README.md +1360 -0
  37. data/node_modules/choices.js/package.json +173 -0
  38. data/node_modules/choices.js/public/assets/scripts/choices.js +5230 -0
  39. data/node_modules/choices.js/public/assets/scripts/choices.min.js +2 -0
  40. data/node_modules/choices.js/public/assets/scripts/choices.mjs +5222 -0
  41. data/node_modules/choices.js/public/assets/scripts/choices.search-basic.js +4748 -0
  42. data/node_modules/choices.js/public/assets/scripts/choices.search-basic.min.js +2 -0
  43. data/node_modules/choices.js/public/assets/scripts/choices.search-basic.mjs +4740 -0
  44. data/node_modules/choices.js/public/assets/scripts/choices.search-kmp.js +3631 -0
  45. data/node_modules/choices.js/public/assets/scripts/choices.search-kmp.min.js +2 -0
  46. data/node_modules/choices.js/public/assets/scripts/choices.search-kmp.mjs +3623 -0
  47. data/node_modules/choices.js/public/assets/scripts/choices.search-prefix.js +3590 -0
  48. data/node_modules/choices.js/public/assets/scripts/choices.search-prefix.min.js +2 -0
  49. data/node_modules/choices.js/public/assets/scripts/choices.search-prefix.mjs +3582 -0
  50. data/node_modules/choices.js/public/assets/styles/base.css +180 -0
  51. data/node_modules/choices.js/public/assets/styles/base.css.map +1 -0
  52. data/node_modules/choices.js/public/assets/styles/base.min.css +1 -0
  53. data/node_modules/choices.js/public/assets/styles/choices.css +338 -0
  54. data/node_modules/choices.js/public/assets/styles/choices.css.map +1 -0
  55. data/node_modules/choices.js/public/assets/styles/choices.min.css +1 -0
  56. data/node_modules/choices.js/public/types/src/index.d.ts +6 -0
  57. data/node_modules/choices.js/public/types/src/scripts/actions/choices.d.ts +30 -0
  58. data/node_modules/choices.js/public/types/src/scripts/actions/groups.d.ts +8 -0
  59. data/node_modules/choices.js/public/types/src/scripts/actions/items.d.ts +17 -0
  60. data/node_modules/choices.js/public/types/src/scripts/choices.d.ts +210 -0
  61. data/node_modules/choices.js/public/types/src/scripts/components/container.d.ts +36 -0
  62. data/node_modules/choices.js/public/types/src/scripts/components/dropdown.d.ts +21 -0
  63. data/node_modules/choices.js/public/types/src/scripts/components/index.d.ts +7 -0
  64. data/node_modules/choices.js/public/types/src/scripts/components/input.d.ts +37 -0
  65. data/node_modules/choices.js/public/types/src/scripts/components/list.d.ts +14 -0
  66. data/node_modules/choices.js/public/types/src/scripts/components/wrapped-element.d.ts +21 -0
  67. data/node_modules/choices.js/public/types/src/scripts/components/wrapped-input.d.ts +3 -0
  68. data/node_modules/choices.js/public/types/src/scripts/components/wrapped-select.d.ts +20 -0
  69. data/node_modules/choices.js/public/types/src/scripts/constants.d.ts +1 -0
  70. data/node_modules/choices.js/public/types/src/scripts/defaults.d.ts +4 -0
  71. data/node_modules/choices.js/public/types/src/scripts/interfaces/action-type.d.ts +13 -0
  72. data/node_modules/choices.js/public/types/src/scripts/interfaces/build-flags.d.ts +11 -0
  73. data/node_modules/choices.js/public/types/src/scripts/interfaces/choice-full.d.ts +23 -0
  74. data/node_modules/choices.js/public/types/src/scripts/interfaces/class-names.d.ts +61 -0
  75. data/node_modules/choices.js/public/types/src/scripts/interfaces/event-choice.d.ts +7 -0
  76. data/node_modules/choices.js/public/types/src/scripts/interfaces/event-type.d.ts +14 -0
  77. data/node_modules/choices.js/public/types/src/scripts/interfaces/group-full.d.ts +10 -0
  78. data/node_modules/choices.js/public/types/src/scripts/interfaces/index.d.ts +14 -0
  79. data/node_modules/choices.js/public/types/src/scripts/interfaces/input-choice.d.ts +15 -0
  80. data/node_modules/choices.js/public/types/src/scripts/interfaces/input-group.d.ts +10 -0
  81. data/node_modules/choices.js/public/types/src/scripts/interfaces/item.d.ts +17 -0
  82. data/node_modules/choices.js/public/types/src/scripts/interfaces/keycode-map.d.ts +13 -0
  83. data/node_modules/choices.js/public/types/src/scripts/interfaces/options.d.ts +566 -0
  84. data/node_modules/choices.js/public/types/src/scripts/interfaces/passed-element-type.d.ts +7 -0
  85. data/node_modules/choices.js/public/types/src/scripts/interfaces/passed-element.d.ts +95 -0
  86. data/node_modules/choices.js/public/types/src/scripts/interfaces/position-options-type.d.ts +1 -0
  87. data/node_modules/choices.js/public/types/src/scripts/interfaces/search.d.ts +11 -0
  88. data/node_modules/choices.js/public/types/src/scripts/interfaces/state.d.ts +10 -0
  89. data/node_modules/choices.js/public/types/src/scripts/interfaces/store.d.ts +64 -0
  90. data/node_modules/choices.js/public/types/src/scripts/interfaces/string-pre-escaped.d.ts +3 -0
  91. data/node_modules/choices.js/public/types/src/scripts/interfaces/string-untrusted.d.ts +4 -0
  92. data/node_modules/choices.js/public/types/src/scripts/interfaces/templates.d.ts +29 -0
  93. data/node_modules/choices.js/public/types/src/scripts/interfaces/types.d.ts +18 -0
  94. data/node_modules/choices.js/public/types/src/scripts/lib/choice-input.d.ts +9 -0
  95. data/node_modules/choices.js/public/types/src/scripts/lib/html-guard-statements.d.ts +4 -0
  96. data/node_modules/choices.js/public/types/src/scripts/lib/utils.d.ts +31 -0
  97. data/node_modules/choices.js/public/types/src/scripts/reducers/choices.d.ts +8 -0
  98. data/node_modules/choices.js/public/types/src/scripts/reducers/groups.d.ts +8 -0
  99. data/node_modules/choices.js/public/types/src/scripts/reducers/items.d.ts +9 -0
  100. data/node_modules/choices.js/public/types/src/scripts/search/fuse.d.ts +14 -0
  101. data/node_modules/choices.js/public/types/src/scripts/search/index.d.ts +3 -0
  102. data/node_modules/choices.js/public/types/src/scripts/search/kmp.d.ts +11 -0
  103. data/node_modules/choices.js/public/types/src/scripts/search/prefix-filter.d.ts +11 -0
  104. data/node_modules/choices.js/public/types/src/scripts/store/store.d.ts +59 -0
  105. data/node_modules/choices.js/public/types/src/scripts/templates.d.ts +8 -0
  106. data/node_modules/choices.js/src/entry.js +3 -0
  107. data/node_modules/choices.js/src/icons/cross-inverse.svg +1 -0
  108. data/node_modules/choices.js/src/icons/cross.svg +1 -0
  109. data/node_modules/choices.js/src/index.ts +8 -0
  110. data/node_modules/choices.js/src/scripts/actions/choices.ts +59 -0
  111. data/node_modules/choices.js/src/scripts/actions/groups.ts +14 -0
  112. data/node_modules/choices.js/src/scripts/actions/items.ts +34 -0
  113. data/node_modules/choices.js/src/scripts/choices.ts +2364 -0
  114. data/node_modules/choices.js/src/scripts/components/container.ts +157 -0
  115. data/node_modules/choices.js/src/scripts/components/dropdown.ts +50 -0
  116. data/node_modules/choices.js/src/scripts/components/index.ts +8 -0
  117. data/node_modules/choices.js/src/scripts/components/input.ts +146 -0
  118. data/node_modules/choices.js/src/scripts/components/list.ts +89 -0
  119. data/node_modules/choices.js/src/scripts/components/wrapped-element.ts +89 -0
  120. data/node_modules/choices.js/src/scripts/components/wrapped-input.ts +3 -0
  121. data/node_modules/choices.js/src/scripts/components/wrapped-select.ts +115 -0
  122. data/node_modules/choices.js/src/scripts/constants.ts +1 -0
  123. data/node_modules/choices.js/src/scripts/defaults.ts +93 -0
  124. data/node_modules/choices.js/src/scripts/interfaces/action-type.ts +15 -0
  125. data/node_modules/choices.js/src/scripts/interfaces/build-flags.ts +17 -0
  126. data/node_modules/choices.js/src/scripts/interfaces/choice-full.ts +30 -0
  127. data/node_modules/choices.js/src/scripts/interfaces/class-names.ts +61 -0
  128. data/node_modules/choices.js/src/scripts/interfaces/event-choice.ts +9 -0
  129. data/node_modules/choices.js/src/scripts/interfaces/event-type.ts +16 -0
  130. data/node_modules/choices.js/src/scripts/interfaces/group-full.ts +12 -0
  131. data/node_modules/choices.js/src/scripts/interfaces/index.ts +14 -0
  132. data/node_modules/choices.js/src/scripts/interfaces/input-choice.ts +17 -0
  133. data/node_modules/choices.js/src/scripts/interfaces/input-group.ts +11 -0
  134. data/node_modules/choices.js/src/scripts/interfaces/item.ts +17 -0
  135. data/node_modules/choices.js/src/scripts/interfaces/keycode-map.ts +13 -0
  136. data/node_modules/choices.js/src/scripts/interfaces/options.ts +619 -0
  137. data/node_modules/choices.js/src/scripts/interfaces/passed-element-type.ts +9 -0
  138. data/node_modules/choices.js/src/scripts/interfaces/passed-element.ts +96 -0
  139. data/node_modules/choices.js/src/scripts/interfaces/position-options-type.ts +1 -0
  140. data/node_modules/choices.js/src/scripts/interfaces/search.ts +12 -0
  141. data/node_modules/choices.js/src/scripts/interfaces/state.ts +12 -0
  142. data/node_modules/choices.js/src/scripts/interfaces/store.ts +84 -0
  143. data/node_modules/choices.js/src/scripts/interfaces/string-pre-escaped.ts +3 -0
  144. data/node_modules/choices.js/src/scripts/interfaces/string-untrusted.ts +5 -0
  145. data/node_modules/choices.js/src/scripts/interfaces/templates.ts +66 -0
  146. data/node_modules/choices.js/src/scripts/interfaces/types.ts +21 -0
  147. data/node_modules/choices.js/src/scripts/lib/choice-input.ts +88 -0
  148. data/node_modules/choices.js/src/scripts/lib/html-guard-statements.ts +7 -0
  149. data/node_modules/choices.js/src/scripts/lib/utils.ts +230 -0
  150. data/node_modules/choices.js/src/scripts/reducers/choices.ts +86 -0
  151. data/node_modules/choices.js/src/scripts/reducers/groups.ts +32 -0
  152. data/node_modules/choices.js/src/scripts/reducers/items.ts +86 -0
  153. data/node_modules/choices.js/src/scripts/search/fuse.ts +59 -0
  154. data/node_modules/choices.js/src/scripts/search/index.ts +17 -0
  155. data/node_modules/choices.js/src/scripts/search/kmp.ts +87 -0
  156. data/node_modules/choices.js/src/scripts/search/prefix-filter.ts +42 -0
  157. data/node_modules/choices.js/src/scripts/store/store.ts +184 -0
  158. data/node_modules/choices.js/src/scripts/templates.ts +409 -0
  159. data/node_modules/choices.js/src/styles/base.scss +189 -0
  160. data/node_modules/choices.js/src/styles/choices.scss +414 -0
  161. data/node_modules/choices.js/src/tsconfig.json +22 -0
  162. metadata +137 -4
  163. data/app/assets/images/govuk_publishing_components/action-link-arrow--dark.svg +0 -5
  164. data/app/assets/images/govuk_publishing_components/action-link-arrow--simple-light.svg +0 -4
  165. data/app/assets/images/govuk_publishing_components/action-link-arrow.svg +0 -5
@@ -0,0 +1,173 @@
1
+ {
2
+ "name": "choices.js",
3
+ "version": "11.1.0",
4
+ "description": "A vanilla JS customisable text input/select box plugin",
5
+ "main": "./public/assets/scripts/choices.js",
6
+ "module": "./public/assets/scripts/choices.mjs",
7
+ "unpkg": "./public/assets/scripts/choices.js",
8
+ "jsdelivr": "./public/assets/scripts/choices.js",
9
+ "types": "./public/types/src/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./public/types/src/index.d.ts",
13
+ "import": "./public/assets/scripts/choices.mjs",
14
+ "require": "./public/assets/scripts/choices.js",
15
+ "style": "./public/assets/styles/choices.css",
16
+ "sass": "./src/styles/choices.scss"
17
+ },
18
+ "./search-basic": {
19
+ "types": "./public/types/src/index.d.ts",
20
+ "import": "./public/assets/scripts/choices.search-basic.mjs",
21
+ "require": "./public/assets/scripts/choices.search-basic.min.js"
22
+ },
23
+ "./search-prefix": {
24
+ "types": "./public/types/src/index.d.ts",
25
+ "import": "./public/assets/scripts/choices.search-prefix.mjs",
26
+ "require": "./public/assets/scripts/choices.search-prefix.min.js"
27
+ },
28
+ "./search-kmp": {
29
+ "types": "./public/types/src/index.d.ts",
30
+ "import": "./public/assets/scripts/choices.search-kmp.mjs",
31
+ "require": "./public/assets/scripts/choices.search-kmp.min.js"
32
+ },
33
+ "./search-none": {
34
+ "types": "./public/types/src/index.d.ts",
35
+ "import": "./public/assets/scripts/choices.search-none.mjs",
36
+ "require": "./public/assets/scripts/choices.search-none.min.js"
37
+ },
38
+ "./public/assets/styles/*.css": "./public/assets/styles/*.css",
39
+ "./src/styles/*.scss": "./src/styles/*.scss",
40
+ "./src/styles/*": "./src/styles/*.scss"
41
+ },
42
+ "sideEffects": [
43
+ "*.scss",
44
+ "*.css"
45
+ ],
46
+ "scripts": {
47
+ "start": "run-p js:watch css:watch",
48
+ "build": "run-p js:build css:build",
49
+ "lint": "run-p lint:js lint:scss",
50
+ "lint:js": "eslint src/scripts test/scripts test-e2e",
51
+ "lint:scss": "stylelint src/**/*.scss",
52
+ "bundlesize": "bundlesize",
53
+ "playwright:cli": "playwright test --project=chromium",
54
+ "playwright:gui": "playwright test --ui --project=chromium",
55
+ "test": "run-s test:unit test:e2e:all",
56
+ "test:unit": "vitest run",
57
+ "test:unit:watch": "npm run test:unit -- --watch --inspect=5556",
58
+ "test:unit:coverage": "vitest run --coverage",
59
+ "test:e2e": "run-s playwright:cli",
60
+ "test:e2e:all": "playwright test",
61
+ "js:watch": "rollup -w --bundleConfigAsCjs -c scripts/rollup.config.mjs --environment TARGET:. --environment OUTPUT_TYPES:umd --environment WATCH_HOST:localhost",
62
+ "js:build": "rollup --bundleConfigAsCjs -c scripts/rollup.config.mjs --environment WITH_D_TS_FILES:1 && mv public/assets/scripts/src public/types/",
63
+ "js:build-dev": "rollup --bundleConfigAsCjs -c scripts/rollup.config.mjs --environment TARGET:. --environment OUTPUT_TYPES:umd",
64
+ "js:build-dev:esm": "rollup --bundleConfigAsCjs -c scripts/rollup.config.mjs --environment TARGET:. --environment OUTPUT_TYPES:mjs",
65
+ "css:watch": "nodemon -e scss -x \"npm run css:build\"",
66
+ "css:build": "run-s css:sass css:prefix css:min",
67
+ "css:sass": "sass -I scss src/styles/base.scss public/assets/styles/base.css && sass -I scss src/styles/choices.scss public/assets/styles/choices.css",
68
+ "css:prefix": "postcss public/assets/styles/*.css --use autoprefixer --no-map --env prod --dir public/assets/styles",
69
+ "css:min": "csso public/assets/styles/base.css --output public/assets/styles/base.min.css && csso public/assets/styles/choices.css --output public/assets/styles/choices.min.css",
70
+ "prepublishOnly": "npm run build"
71
+ },
72
+ "repository": {
73
+ "type": "git",
74
+ "url": "git+https://github.com/jshjohnson/Choices.git"
75
+ },
76
+ "author": "Josh Johnson",
77
+ "license": "MIT",
78
+ "files": [
79
+ "public/assets/scripts",
80
+ "public/assets/styles",
81
+ "public/types",
82
+ "src"
83
+ ],
84
+ "bugs": {
85
+ "url": "https://github.com/jshjohnson/Choices/issues"
86
+ },
87
+ "homepage": "https://github.com/jshjohnson/Choices#readme",
88
+ "keywords": [
89
+ "customisable",
90
+ "input",
91
+ "select",
92
+ "vanilla",
93
+ "plugin",
94
+ "js"
95
+ ],
96
+ "devDependencies": {
97
+ "@babel/cli": "^7.24.8",
98
+ "@babel/core": "^7.25.2",
99
+ "@babel/plugin-transform-object-rest-spread": "^7.24.7",
100
+ "@babel/preset-env": "^7.25.3",
101
+ "@babel/preset-typescript": "^7.24.7",
102
+ "@playwright/test": "^1.46.0",
103
+ "@rollup/plugin-babel": "^6.0.4",
104
+ "@rollup/plugin-eslint": "^9.0.5",
105
+ "@rollup/plugin-node-resolve": "^15.2.3",
106
+ "@rollup/plugin-replace": "^5.0.7",
107
+ "@rollup/plugin-terser": "^0.4.4",
108
+ "@rollup/plugin-typescript": "^11.1.6",
109
+ "@types/chai": "^4.3.17",
110
+ "@types/node": "^22.2.0",
111
+ "@types/sinon": "^17.0.3",
112
+ "@types/sinon-chai": "^3.2.12",
113
+ "@vitest/coverage-v8": "^2.0.5",
114
+ "autoprefixer": "^10.4.20",
115
+ "bundlesize": "^0.18.2",
116
+ "chai": "^5.1.1",
117
+ "cross-process-lock": "^2.1.1",
118
+ "csso-cli": "^4.0.2",
119
+ "eslint": "^8.57.0",
120
+ "eslint-config-airbnb-base": "^15.0.0",
121
+ "eslint-config-airbnb-typescript": "^18.0.0",
122
+ "eslint-config-prettier": "^9.1.0",
123
+ "eslint-plugin-compat": "6.0.0",
124
+ "eslint-plugin-import": "^2.29.1",
125
+ "eslint-plugin-prettier": "^5.2.1",
126
+ "eslint-plugin-sort-class-members": "^1.20.0",
127
+ "eslint-plugin-tree-shaking": "^1.12.2",
128
+ "husky": "^9.1.4",
129
+ "jsdom": "^24.1.1",
130
+ "lint-staged": "^15.2.7",
131
+ "nodemon": "^3.1.4",
132
+ "npm-run-all": "^4.1.5",
133
+ "postcss": "^8.4.41",
134
+ "postcss-cli": "^11.0.0",
135
+ "prettier": "^3.3.3",
136
+ "rollup": "^4.20.0",
137
+ "rollup-plugin-dev": "^2.0.5",
138
+ "sass": "^1.77.8",
139
+ "sinon": "^18.0.0",
140
+ "sinon-chai": "^4.0.0",
141
+ "stylelint": "^16.7.0",
142
+ "stylelint-config-standard": "^36.0.1",
143
+ "stylelint-config-standard-scss": "^13.1.0",
144
+ "tslib": "^2.6.3",
145
+ "typescript": "^5.5.4",
146
+ "typescript-eslint": "^8.0.1",
147
+ "vitest": "^2.0.5"
148
+ },
149
+ "dependencies": {
150
+ "fuse.js": "^7.0.0"
151
+ },
152
+ "npmName": "choices.js",
153
+ "npmFileMap": [
154
+ {
155
+ "files": [
156
+ "public/assets/scripts/*",
157
+ "public/assets/styles/*",
158
+ "public/types/*",
159
+ "src/icons/*"
160
+ ]
161
+ }
162
+ ],
163
+ "bundlesize": [
164
+ {
165
+ "path": "public/assets/scripts/choices*.min.js",
166
+ "maxSize": "25 kB"
167
+ },
168
+ {
169
+ "path": "public/assets/styles/choices.min.css",
170
+ "maxSize": "2.5 kB"
171
+ }
172
+ ]
173
+ }