@shoper/phoenix_design_system 1.0.4 → 1.1.0-10

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 (236) hide show
  1. package/build/cjs/{packages/phoenix/external → external}/classnames/index.js +10 -16
  2. package/build/{esm/packages/phoenix → cjs}/external/classnames/index.js.map +1 -1
  3. package/build/cjs/external/lit/external/lit-html/async-directive.js +18 -0
  4. package/build/{esm/packages/phoenix/src/controllers/btn_controller.js.map → cjs/external/lit/external/lit-html/async-directive.js.map} +1 -1
  5. package/build/cjs/external/lit/external/lit-html/directive-helpers.js +14 -0
  6. package/build/cjs/external/lit/external/lit-html/directive-helpers.js.map +1 -0
  7. package/build/cjs/external/lit/external/lit-html/directive.js +2 -1
  8. package/build/cjs/external/lit/external/lit-html/directive.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/accordion/accordion.js +1 -1
  10. package/build/cjs/packages/phoenix/src/components/accordion/accordion_content.js +1 -1
  11. package/build/cjs/packages/phoenix/src/components/accordion/accordion_group.js +2 -2
  12. package/build/cjs/packages/phoenix/src/components/accordion/accordion_toggler.js +2 -2
  13. package/build/cjs/packages/phoenix/src/components/color_swatches/color_item/color_item.js +1 -1
  14. package/build/cjs/packages/phoenix/src/components/color_swatches/show-more/show_more.js +1 -1
  15. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +3 -3
  16. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
  17. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox.js +1 -1
  18. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox.js.map +1 -1
  19. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox_control.js +2 -2
  20. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox_control.js.map +1 -1
  21. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +11 -13
  22. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
  23. package/build/cjs/packages/phoenix/src/components/form/controllers/props_synchronizing/control_props_sync_consumer_controller.js +1 -1
  24. package/build/cjs/packages/phoenix/src/components/form/controllers/props_synchronizing/control_props_sync_provider_controller.js +1 -1
  25. package/build/cjs/packages/phoenix/src/components/form/input/input.js +1 -1
  26. package/build/cjs/packages/phoenix/src/components/form/input/input.js.map +1 -1
  27. package/build/cjs/packages/phoenix/src/components/form/input/input_icon.js +1 -1
  28. package/build/cjs/packages/phoenix/src/components/form/radio/radio.js +1 -1
  29. package/build/cjs/packages/phoenix/src/components/form/radio/radio.js.map +1 -1
  30. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js +62 -0
  31. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -0
  32. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_constants.js +12 -0
  33. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_constants.js.map +1 -0
  34. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_content.js +21 -0
  35. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_content.js.map +1 -0
  36. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js +52 -0
  37. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -0
  38. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search_constants.js +13 -0
  39. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search_constants.js.map +1 -0
  40. package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js +33 -0
  41. package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js.map +1 -0
  42. package/build/cjs/packages/phoenix/src/components/form/select/components/select_options.js +31 -0
  43. package/build/cjs/packages/phoenix/src/components/form/select/components/select_options.js.map +1 -0
  44. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +74 -0
  45. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js.map +1 -0
  46. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js +12 -0
  47. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js.map +1 -0
  48. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +93 -0
  49. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -0
  50. package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +22 -0
  51. package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js.map +1 -0
  52. package/build/cjs/packages/phoenix/src/components/form/select/controllers/select_controller.js +19 -0
  53. package/build/cjs/packages/phoenix/src/components/form/select/controllers/select_controller.js.map +1 -0
  54. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option.js +19 -0
  55. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option.js.map +1 -0
  56. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js +24 -0
  57. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -0
  58. package/build/cjs/packages/phoenix/src/components/form/select/select.js +228 -0
  59. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -0
  60. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js +35 -0
  61. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js.map +1 -0
  62. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js +52 -0
  63. package/build/cjs/packages/phoenix/src/components/form/select/select_utils.js.map +1 -0
  64. package/build/cjs/packages/phoenix/src/components/form/switch/switch.js +1 -1
  65. package/build/cjs/packages/phoenix/src/components/form/switch/switch.js.map +1 -1
  66. package/build/cjs/packages/phoenix/src/components/form/textarea/textarea.js +1 -1
  67. package/build/cjs/packages/phoenix/src/components/form/textarea/textarea.js.map +1 -1
  68. package/build/cjs/packages/phoenix/src/components/icon/icon.js +2 -1
  69. package/build/cjs/packages/phoenix/src/components/icon/icon.js.map +1 -1
  70. package/build/cjs/packages/phoenix/src/components/messages/base_message.js +1 -1
  71. package/build/cjs/packages/phoenix/src/components/modal/modal.js +4 -4
  72. package/build/cjs/packages/phoenix/src/components/portal/portal.js +1 -1
  73. package/build/cjs/packages/phoenix/src/components/portal/portal.js.map +1 -1
  74. package/build/cjs/packages/phoenix/src/components/portal/portal_target.js +1 -1
  75. package/build/cjs/packages/phoenix/src/components/scroll_to/scroll_to.js +1 -1
  76. package/build/cjs/packages/phoenix/src/components/tabs/tab/tab.js +1 -1
  77. package/build/cjs/packages/phoenix/src/components/tag/tag.js +3 -2
  78. package/build/cjs/packages/phoenix/src/components/tag/tag.js.map +1 -1
  79. package/build/cjs/packages/phoenix/src/controllers/{btn_controller.js → btn_controller/btn_controller.js} +4 -3
  80. package/build/cjs/packages/phoenix/src/controllers/btn_controller/btn_controller.js.map +1 -0
  81. package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +4 -4
  82. package/build/cjs/packages/phoenix/src/controllers/list_box_controller/list_box_controller_constants.js +11 -0
  83. package/build/cjs/packages/phoenix/src/controllers/list_box_controller/list_box_controller_constants.js.map +1 -0
  84. package/build/cjs/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js +84 -0
  85. package/build/cjs/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js.map +1 -0
  86. package/build/cjs/packages/phoenix/src/core/classes/behavior_subject/behavior_subject.js +2 -7
  87. package/build/cjs/packages/phoenix/src/core/classes/behavior_subject/behavior_subject.js.map +1 -1
  88. package/build/cjs/packages/phoenix/src/core/classes/subject/subject.js +8 -1
  89. package/build/cjs/packages/phoenix/src/core/classes/subject/subject.js.map +1 -1
  90. package/build/cjs/packages/phoenix/src/core/context/context_consumer_controller.js +1 -1
  91. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +10 -5
  92. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  93. package/build/cjs/packages/phoenix/src/directives/observable_directive.js +40 -0
  94. package/build/cjs/packages/phoenix/src/directives/observable_directive.js.map +1 -0
  95. package/build/cjs/packages/phoenix/src/index.js +80 -45
  96. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  97. package/build/esm/{packages/phoenix/external → external}/classnames/index.js +10 -16
  98. package/build/{cjs/packages/phoenix → esm}/external/classnames/index.js.map +1 -1
  99. package/build/esm/external/lit/external/lit-html/async-directive.js +12 -0
  100. package/build/esm/external/lit/external/lit-html/async-directive.js.map +1 -0
  101. package/build/esm/external/lit/external/lit-html/directive-helpers.js +10 -0
  102. package/build/esm/external/lit/external/lit-html/directive-helpers.js.map +1 -0
  103. package/build/esm/external/lit/external/lit-html/directive.js +2 -2
  104. package/build/esm/packages/phoenix/src/components/accordion/accordion.js +1 -1
  105. package/build/esm/packages/phoenix/src/components/accordion/accordion_content.js +1 -1
  106. package/build/esm/packages/phoenix/src/components/accordion/accordion_group.js +2 -2
  107. package/build/esm/packages/phoenix/src/components/accordion/accordion_toggler.js +2 -2
  108. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item.js +1 -1
  109. package/build/esm/packages/phoenix/src/components/color_swatches/show-more/show_more.js +1 -1
  110. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +3 -3
  111. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -1
  112. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox.js +1 -1
  113. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox.js.map +1 -1
  114. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox_control.js +2 -2
  115. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox_control.js.map +1 -1
  116. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.d.ts +2 -3
  117. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +11 -13
  118. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
  119. package/build/esm/packages/phoenix/src/components/form/controllers/props_synchronizing/control_props_sync_consumer_controller.js +1 -1
  120. package/build/esm/packages/phoenix/src/components/form/controllers/props_synchronizing/control_props_sync_provider_controller.js +1 -1
  121. package/build/esm/packages/phoenix/src/components/form/input/input.js +1 -1
  122. package/build/esm/packages/phoenix/src/components/form/input/input.js.map +1 -1
  123. package/build/esm/packages/phoenix/src/components/form/input/input_icon.js +1 -1
  124. package/build/esm/packages/phoenix/src/components/form/radio/radio.js +1 -1
  125. package/build/esm/packages/phoenix/src/components/form/radio/radio.js.map +1 -1
  126. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.d.ts +13 -0
  127. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js +60 -0
  128. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -0
  129. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_constants.d.ts +4 -0
  130. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_constants.js +8 -0
  131. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_constants.js.map +1 -0
  132. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_content.d.ts +4 -0
  133. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_content.js +19 -0
  134. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_content.js.map +1 -0
  135. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.d.ts +8 -0
  136. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js +50 -0
  137. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -0
  138. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search_constants.d.ts +5 -0
  139. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search_constants.js +9 -0
  140. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search_constants.js.map +1 -0
  141. package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.d.ts +8 -0
  142. package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.js +29 -0
  143. package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.js.map +1 -0
  144. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.d.ts +22 -0
  145. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.js +24 -0
  146. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.js.map +1 -0
  147. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_types.d.ts +4 -0
  148. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_types.js +2 -0
  149. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_types.js.map +1 -0
  150. package/build/esm/packages/phoenix/src/components/form/select/components/select_options.d.ts +5 -0
  151. package/build/esm/packages/phoenix/src/components/form/select/components/select_options.js +29 -0
  152. package/build/esm/packages/phoenix/src/components/form/select/components/select_options.js.map +1 -0
  153. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.d.ts +13 -0
  154. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +72 -0
  155. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js.map +1 -0
  156. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.d.ts +4 -0
  157. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js +8 -0
  158. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js.map +1 -0
  159. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.d.ts +27 -0
  160. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +89 -0
  161. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -0
  162. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.d.ts +7 -0
  163. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +18 -0
  164. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js.map +1 -0
  165. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.d.ts +5 -0
  166. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.js +15 -0
  167. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controller.js.map +1 -0
  168. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controllers_types.d.ts +22 -0
  169. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controllers_types.js +5 -0
  170. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controllers_types.js.map +1 -0
  171. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.d.ts +10 -0
  172. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.js +15 -0
  173. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.js.map +1 -0
  174. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_constants.d.ts +7 -0
  175. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_constants.js +2 -0
  176. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_constants.js.map +1 -0
  177. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.d.ts +5 -0
  178. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js +20 -0
  179. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -0
  180. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +36 -0
  181. package/build/esm/packages/phoenix/src/components/form/select/select.js +226 -0
  182. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -0
  183. package/build/esm/packages/phoenix/src/components/form/select/select_constants.d.ts +23 -0
  184. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js +27 -0
  185. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js.map +1 -0
  186. package/build/esm/packages/phoenix/src/components/form/select/select_utils.d.ts +9 -0
  187. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js +48 -0
  188. package/build/esm/packages/phoenix/src/components/form/select/select_utils.js.map +1 -0
  189. package/build/esm/packages/phoenix/src/components/form/switch/switch.js +1 -1
  190. package/build/esm/packages/phoenix/src/components/form/switch/switch.js.map +1 -1
  191. package/build/esm/packages/phoenix/src/components/form/textarea/textarea.js +1 -1
  192. package/build/esm/packages/phoenix/src/components/form/textarea/textarea.js.map +1 -1
  193. package/build/esm/packages/phoenix/src/components/icon/icon.js +2 -1
  194. package/build/esm/packages/phoenix/src/components/icon/icon.js.map +1 -1
  195. package/build/esm/packages/phoenix/src/components/messages/base_message.js +1 -1
  196. package/build/esm/packages/phoenix/src/components/modal/modal.js +4 -4
  197. package/build/esm/packages/phoenix/src/components/portal/portal.js +1 -1
  198. package/build/esm/packages/phoenix/src/components/portal/portal.js.map +1 -1
  199. package/build/esm/packages/phoenix/src/components/portal/portal_target.js +1 -1
  200. package/build/esm/packages/phoenix/src/components/scroll_to/scroll_to.js +1 -1
  201. package/build/esm/packages/phoenix/src/components/tabs/tab/tab.js +1 -1
  202. package/build/esm/packages/phoenix/src/components/tag/tag.js +3 -2
  203. package/build/esm/packages/phoenix/src/components/tag/tag.js.map +1 -1
  204. package/build/esm/packages/phoenix/src/controllers/{btn_controller.d.ts → btn_controller/btn_controller.d.ts} +2 -1
  205. package/build/esm/packages/phoenix/src/controllers/{btn_controller.js → btn_controller/btn_controller.js} +4 -3
  206. package/build/{cjs/packages/phoenix/src/controllers → esm/packages/phoenix/src/controllers/btn_controller}/btn_controller.js.map +1 -1
  207. package/build/esm/packages/phoenix/src/controllers/btn_controller/btn_controller_types.d.ts +3 -0
  208. package/build/esm/packages/phoenix/src/controllers/btn_controller/btn_controller_types.js +2 -0
  209. package/build/esm/packages/phoenix/src/controllers/btn_controller/btn_controller_types.js.map +1 -0
  210. package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +4 -4
  211. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_constants.d.ts +4 -0
  212. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_constants.js +7 -0
  213. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_constants.js.map +1 -0
  214. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_types.d.ts +10 -0
  215. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_types.js +4 -0
  216. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_controller_types.js.map +1 -0
  217. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.d.ts +10 -0
  218. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js +80 -0
  219. package/build/esm/packages/phoenix/src/controllers/list_box_controller/list_box_keyboard_controller.js.map +1 -0
  220. package/build/esm/packages/phoenix/src/core/classes/behavior_subject/behavior_subject.d.ts +0 -2
  221. package/build/esm/packages/phoenix/src/core/classes/behavior_subject/behavior_subject.js +2 -7
  222. package/build/esm/packages/phoenix/src/core/classes/behavior_subject/behavior_subject.js.map +1 -1
  223. package/build/esm/packages/phoenix/src/core/classes/subject/subject.d.ts +4 -2
  224. package/build/esm/packages/phoenix/src/core/classes/subject/subject.js +8 -1
  225. package/build/esm/packages/phoenix/src/core/classes/subject/subject.js.map +1 -1
  226. package/build/esm/packages/phoenix/src/core/classes/subject/subject_types.d.ts +2 -1
  227. package/build/esm/packages/phoenix/src/core/context/context_consumer_controller.js +1 -1
  228. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +10 -5
  229. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
  230. package/build/esm/packages/phoenix/src/directives/observable_directive.d.ts +1 -0
  231. package/build/esm/packages/phoenix/src/directives/observable_directive.js +35 -31
  232. package/build/esm/packages/phoenix/src/directives/observable_directive.js.map +1 -1
  233. package/build/esm/packages/phoenix/src/index.d.ts +6 -1
  234. package/build/esm/packages/phoenix/src/index.js +17 -12
  235. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  236. package/package.json +2 -2
@@ -0,0 +1,15 @@
1
+ import { BaseSelectController } from './base_select_controller.js';
2
+
3
+ class SelectController extends BaseSelectController {
4
+ selectOption(option) {
5
+ var _a;
6
+ const selectedOptions = (_a = this.options$.getValue()) !== null && _a !== void 0 ? _a : [];
7
+ selectedOptions.forEach((option) => (option.selected = false));
8
+ option.selected = true;
9
+ this.selectedOptions$.notify([option]);
10
+ this.requestOptionsUpdate();
11
+ }
12
+ }
13
+
14
+ export { SelectController };
15
+ //# sourceMappingURL=select_controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,22 @@
1
+ import { ReactiveControllerHost } from 'lit';
2
+ import { SelectOption } from "../model/select_option";
3
+ import { BehaviorSubject } from "../../../../core/classes/behavior_subject/behavior_subject";
4
+ import { HSelect } from "../select";
5
+ export declare type SelectControllerConstructorOptions = {
6
+ host: HSelect & ReactiveControllerHost;
7
+ };
8
+ export interface ISelectController {
9
+ selectedOptions$: BehaviorSubject<SelectOption[]>;
10
+ options$: BehaviorSubject<SelectOption[]>;
11
+ visibleOptionsCount: number;
12
+ selectedOptionsCount: number;
13
+ deselectOptions(): void;
14
+ deselectOption(option: SelectOption): void;
15
+ filterOptions(value: string): void;
16
+ toggleOption(option: SelectOption): void;
17
+ selectOption(option: SelectOption): void;
18
+ getSelectOption(selectValue: string): SelectOption | undefined;
19
+ removeOption(optionValue: string): void;
20
+ addOption(option: SelectOption, position?: number): void;
21
+ replaceOptions(options: SelectOption[]): void;
22
+ }
@@ -0,0 +1,5 @@
1
+ import 'lit';
2
+ import '@phoenixRoot/components/form/select/model/select_option';
3
+ import '@phoenixRoot/core/classes/behavior_subject/behavior_subject';
4
+ import '@phoenixRoot/components/form/select/select';
5
+ //# sourceMappingURL=select_controllers_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select_controllers_types.js","sourceRoot":"","sources":["../../../../../../../../../src/components/form/select/controllers/select_controllers_types.ts"],"names":[],"mappings":"AAAA,OAAuC,KAAK,CAAC;AAC7C,OAA6B,yDAAyD,CAAC;AACvF,OAAgC,6DAA6D,CAAC;AAC9F,OAAwB,4CAA4C,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { TSelectOptionConstructorOptions } from "./select_option_constants";
2
+ export declare class SelectOption {
3
+ selected: boolean;
4
+ disabled: boolean;
5
+ value: string;
6
+ hidden: boolean;
7
+ content: string;
8
+ private constructor();
9
+ static create(options: TSelectOptionConstructorOptions): SelectOption;
10
+ }
@@ -0,0 +1,15 @@
1
+ class SelectOption {
2
+ constructor({ selected = false, hidden = false, disabled = false, value, content }) {
3
+ this.value = value;
4
+ this.selected = selected;
5
+ this.hidden = hidden;
6
+ this.disabled = disabled;
7
+ this.content = content;
8
+ }
9
+ static create(options) {
10
+ return new SelectOption(options);
11
+ }
12
+ }
13
+
14
+ export { SelectOption };
15
+ //# sourceMappingURL=select_option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,7 @@
1
+ export declare type TSelectOptionConstructorOptions = {
2
+ value: string;
3
+ content: string;
4
+ selected?: boolean;
5
+ disabled?: boolean;
6
+ hidden?: boolean;
7
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=select_option_constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select_option_constants.js","sourceRoot":"","sources":["../../../../../../../../../src/components/form/select/model/select_option_constants.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { HOption } from "../components/option/select_option";
2
+ import { SelectOption } from "./select_option";
3
+ export declare class SelectOptionMapper {
4
+ static toModel($option: HOption): SelectOption;
5
+ }
@@ -0,0 +1,20 @@
1
+ import { SELECT_RELATED_COMPONENTS_NAMES } from '../components/select_components_constatns.js';
2
+ import { SelectOption } from './select_option.js';
3
+
4
+ class SelectOptionMapper {
5
+ static toModel($option) {
6
+ var _a;
7
+ const optionContent = (_a = $option.querySelector(SELECT_RELATED_COMPONENTS_NAMES.optionContent)) === null || _a === void 0 ? void 0 : _a.textContent;
8
+ if (!optionContent)
9
+ throw new Error('h-options must contains a h-option-content element inside');
10
+ return SelectOption.create({
11
+ value: $option.value,
12
+ disabled: $option.disabled,
13
+ hidden: $option.hidden,
14
+ content: optionContent
15
+ });
16
+ }
17
+ }
18
+
19
+ export { SelectOptionMapper };
20
+ //# sourceMappingURL=select_option_mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,36 @@
1
+ import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
+ import { TemplateResult, PropertyValues } from 'lit';
3
+ import { SelectOption } from "./model/select_option";
4
+ export declare class HSelect extends PhoenixLightLitElement {
5
+ private static _components;
6
+ controlName: string;
7
+ multiselect: boolean;
8
+ opened: boolean;
9
+ private _searchValue;
10
+ private _selectController;
11
+ private _$options;
12
+ private _$dropdown;
13
+ private _$search;
14
+ private _$optionsList;
15
+ private _$dropdownContent;
16
+ private _selectContext;
17
+ private _listBoxController;
18
+ constructor();
19
+ updated(changedProperties: PropertyValues): void;
20
+ connectedCallback(): void;
21
+ firstUpdated(props: PropertyValues): void;
22
+ private _setupEvents;
23
+ private _handleOptionDeselect;
24
+ private _updateOptionsView;
25
+ private _appendNewHTMLOption;
26
+ private _removeHTMLOptions;
27
+ private _handleOptionClicked;
28
+ private _handleSearch;
29
+ private _closeSelect;
30
+ private _clearOptions;
31
+ protected update(changedProperties: PropertyValues): void;
32
+ addOption(option: SelectOption, position?: number): void;
33
+ removeOption(optionValue: string): void;
34
+ replaceOptions(options: SelectOption[]): void;
35
+ protected render(): TemplateResult;
36
+ }
@@ -0,0 +1,226 @@
1
+ import { __decorate, __metadata } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { html, nothing } from 'lit';
3
+ import { state } from 'lit/decorators';
4
+ import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
+ import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_element.js';
6
+ import { property } from '@lit/reactive-element/decorators.js';
7
+ import { SELECT_RELATED_COMPONENTS_NAMES, SELECT_CLOSE_BTN_EVENT_NAMES } from './components/select_components_constatns.js';
8
+ import { SELECT_SLOT_NAMES, SELECT_CSS_CLASSES, SELECT_CONTEXTS, SELECT_EVENT_NAMES, MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH } from './select_constants.js';
9
+ import { Observer } from '../../../core/classes/observer/observer.js';
10
+ import { observe } from '../../../directives/observable_directive.js';
11
+ import { ContextProviderController } from '../../../core/context/context_provider_controller.js';
12
+ import { createRef, ref } from 'lit-html/directives/ref.js';
13
+ import { MultiSelectController } from './controllers/multi_select_controller.js';
14
+ import { SelectController } from './controllers/select_controller.js';
15
+ import { HSelectSearch } from './components/search/select_search.js';
16
+ import { ListBoxKeyboardController } from '../../../controllers/list_box_controller/list_box_keyboard_controller.js';
17
+ import { HIcon } from '../../icon/icon.js';
18
+ import { SelectOptionMapper } from './model/select_option_mapper.js';
19
+ import { SelectControlUtils } from './select_utils.js';
20
+
21
+ let HSelect = class HSelect extends PhoenixLightLitElement {
22
+ constructor() {
23
+ super();
24
+ this.multiselect = false;
25
+ this.opened = false;
26
+ this._searchValue = '';
27
+ this._$options = {};
28
+ this._$dropdown = createRef();
29
+ this._$search = createRef();
30
+ this._$optionsList = createRef();
31
+ this._$dropdownContent = createRef();
32
+ this._selectContext = new ContextProviderController(this);
33
+ this._handleOptionDeselect = (event) => {
34
+ const selectedOption = this._selectController.getSelectOption(event.detail);
35
+ if (!selectedOption)
36
+ return;
37
+ this._selectController.deselectOption(selectedOption);
38
+ };
39
+ this._updateOptionsView = (options) => {
40
+ if (options.length < Object.keys(this._$options).length)
41
+ this._removeHTMLOptions(options.map((option) => option.value));
42
+ options.forEach((option, index) => {
43
+ const { selected, value } = option;
44
+ const $option = this._$options[value];
45
+ if (!$option) {
46
+ this._appendNewHTMLOption(option, index + 1);
47
+ return;
48
+ }
49
+ SelectControlUtils.syncHTMLOptionWithModel(option, $option);
50
+ if (!selected)
51
+ return;
52
+ $option.setAttribute(this.multiselect ? 'aria-checked' : 'aria-selected', 'true');
53
+ });
54
+ };
55
+ this._handleOptionClicked = (event) => {
56
+ const selectedOption = this._selectController.getSelectOption(event.detail.$option.value);
57
+ if (!selectedOption)
58
+ return;
59
+ this._selectController.toggleOption(selectedOption);
60
+ if (!this.multiselect)
61
+ this._closeSelect();
62
+ };
63
+ this._closeSelect = () => {
64
+ var _a;
65
+ (_a = this._$dropdown.value) === null || _a === void 0 ? void 0 : _a.hide();
66
+ this._searchValue = '';
67
+ this.opened = false;
68
+ };
69
+ this._clearOptions = () => {
70
+ this._selectController.deselectOptions();
71
+ };
72
+ const $options = Array.from(this.querySelectorAll(SELECT_RELATED_COMPONENTS_NAMES.option));
73
+ $options.forEach(($option) => $option.setAttribute('slot', SELECT_SLOT_NAMES.content));
74
+ }
75
+ updated(changedProperties) {
76
+ super.updated(changedProperties);
77
+ if (changedProperties.has('opened'))
78
+ this.opened ? this.classList.add(SELECT_CSS_CLASSES.selectOpened) : this.classList.remove(SELECT_CSS_CLASSES.selectOpened);
79
+ if (this._$optionsList.value && !this._listBoxController)
80
+ this._listBoxController = new ListBoxKeyboardController({
81
+ host: this,
82
+ $list: this._$optionsList.value
83
+ });
84
+ }
85
+ connectedCallback() {
86
+ super.connectedCallback();
87
+ this.classList.add(SELECT_CSS_CLASSES.select);
88
+ this._selectController = this.multiselect ? new MultiSelectController({ host: this }) : new SelectController({ host: this });
89
+ this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);
90
+ this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiselect);
91
+ const $options = Array.from(this.querySelectorAll(SELECT_RELATED_COMPONENTS_NAMES.option));
92
+ this._selectController.options$.subscribe(new Observer((selectedOptions) => this._updateOptionsView(selectedOptions)));
93
+ this._$options = $options.reduce((acc, $option) => {
94
+ if (acc[$option.value] !== undefined)
95
+ throw Error('Select options must hava a unique values.');
96
+ return {
97
+ ...acc,
98
+ [$option.value]: $option
99
+ };
100
+ }, {});
101
+ this._selectController.options$.notify($options.map(SelectOptionMapper.toModel));
102
+ this._setupEvents();
103
+ }
104
+ firstUpdated(props) {
105
+ super.firstUpdated(props);
106
+ if (this._$dropdownContent.value)
107
+ this._$dropdownContent.value.style.width = `${this.getBoundingClientRect().width}px`;
108
+ }
109
+ _setupEvents() {
110
+ this.addEventListener(SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);
111
+ this.addEventListener(SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);
112
+ }
113
+ _appendNewHTMLOption(option, position) {
114
+ const $list = this._$optionsList.value;
115
+ if (!$list)
116
+ return;
117
+ const { value, selected } = option;
118
+ const $option = SelectControlUtils.createHTMLOption(option);
119
+ if (selected)
120
+ $option.setAttribute(this.multiselect ? 'aria-checked' : 'aria-selected', 'true');
121
+ this._$options[value] = $option;
122
+ SelectControlUtils.appendHTMLOption($option, $list, position);
123
+ }
124
+ _removeHTMLOptions(optionsValues) {
125
+ this._$options = SelectControlUtils.removeHTMLOptions(Object.values(this._$options), optionsValues);
126
+ }
127
+ _handleSearch({ detail }) {
128
+ this._searchValue = detail;
129
+ }
130
+ update(changedProperties) {
131
+ super.update(changedProperties);
132
+ if (changedProperties.has('_searchValue'))
133
+ this._selectController.filterOptions(this._searchValue);
134
+ }
135
+ addOption(option, position) {
136
+ this._selectController.addOption(option, position);
137
+ }
138
+ removeOption(optionValue) {
139
+ this._selectController.removeOption(optionValue);
140
+ }
141
+ replaceOptions(options) {
142
+ this._selectController.replaceOptions(options);
143
+ }
144
+ render() {
145
+ var _a;
146
+ const options = (_a = this._selectController.options$.getValue()) !== null && _a !== void 0 ? _a : [];
147
+ return html `
148
+ <h-dropdown
149
+ ${ref(this._$dropdown)}
150
+ @dropdown.showed=${() => (this.opened = true)}
151
+ @dropdown.hidden=${this._closeSelect}
152
+ name=${this.controlName}
153
+ >
154
+ <h-dropdown-toggler name=${this.controlName}">
155
+ ${this.getSlot(SELECT_SLOT_NAMES.input)}
156
+ </h-dropdown-toggler>
157
+
158
+ <h-dropdown-content class=${SELECT_CSS_CLASSES.selectContent} ${ref(this._$dropdownContent)} name=${this.controlName}>
159
+ <h-select-close-btn @click=${this._closeSelect}></h-select-close-btn>
160
+
161
+ ${options.length > MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH
162
+ ? html `<h-select-search
163
+ class=${SELECT_CSS_CLASSES.selectSearch}
164
+ ${ref(this._$search)}
165
+ .value=${this._searchValue}
166
+ @selectSearch.search=${this._handleSearch}
167
+ ></h-select-search>`
168
+ : nothing}
169
+ ${this.hasSlot(SELECT_SLOT_NAMES.content)
170
+ ? html `
171
+ <h-options
172
+ class=${SELECT_CSS_CLASSES.selectOptions}
173
+ ${ref(this._$optionsList)}
174
+ @selectOptions.clicked=${this._handleOptionClicked}
175
+ >
176
+ ${this.getSlot(SELECT_SLOT_NAMES.content)}
177
+ </h-options>
178
+ `
179
+ : nothing}
180
+ ${!this._selectController.visibleOptionsCount
181
+ ? html `<p class=${SELECT_CSS_CLASSES.selectNoResult}>
182
+ brak wyników dla <span class=${SELECT_CSS_CLASSES.selectSearchedPhrase}>${this._searchValue}</span>
183
+ </p>`
184
+ : nothing}
185
+ ${this.multiselect && this._selectController.selectedOptionsCount >= 1
186
+ ? html `
187
+ <section class=${SELECT_CSS_CLASSES.selectFooter}>
188
+ <button class="btn btn_secondary btn_s" @click=${this._clearOptions}>clear</button>
189
+ <h-select-close-btn class="btn btn_primary btn_s" @click=${this._closeSelect}>ok</h-select-close-btn>
190
+ </section>
191
+ `
192
+ : nothing}
193
+ </h-dropdown-content>
194
+ </h-dropdown>
195
+
196
+ ${observe(this._selectController.selectedOptions$, (selectOptions) => selectOptions.map((option) => html `<input type="hidden" name=${this.controlName} value=${option.value} />`))}
197
+ `;
198
+ }
199
+ };
200
+ HSelect._components = {
201
+ search: HSelectSearch,
202
+ icon: HIcon
203
+ };
204
+ __decorate([
205
+ property({ type: String }),
206
+ __metadata("design:type", String)
207
+ ], HSelect.prototype, "controlName", void 0);
208
+ __decorate([
209
+ property({ type: Boolean }),
210
+ __metadata("design:type", Boolean)
211
+ ], HSelect.prototype, "multiselect", void 0);
212
+ __decorate([
213
+ property({ type: Boolean }),
214
+ __metadata("design:type", Boolean)
215
+ ], HSelect.prototype, "opened", void 0);
216
+ __decorate([
217
+ state(),
218
+ __metadata("design:type", String)
219
+ ], HSelect.prototype, "_searchValue", void 0);
220
+ HSelect = __decorate([
221
+ phoenixCustomElement('h-select'),
222
+ __metadata("design:paramtypes", [])
223
+ ], HSelect);
224
+
225
+ export { HSelect };
226
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,23 @@
1
+ export declare const SELECT_CONTEXTS: {
2
+ readonly isMultiselect: "isMultiselect";
3
+ readonly selectedOptions$: "selectedOptions$";
4
+ };
5
+ export declare const SELECT_SLOT_NAMES: {
6
+ readonly content: "content";
7
+ readonly input: "input";
8
+ };
9
+ export declare const SELECT_EVENT_NAMES: {
10
+ readonly selectOption: "selectOption.select";
11
+ readonly deselectOption: "selectOption.deselect";
12
+ };
13
+ export declare const MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH = 6;
14
+ export declare const SELECT_CSS_CLASSES: {
15
+ readonly select: "select";
16
+ readonly selectOpened: "select_opened";
17
+ readonly selectSearch: "select__search";
18
+ readonly selectOptions: "select__options";
19
+ readonly selectContent: "select__content";
20
+ readonly selectFooter: "select__footer";
21
+ readonly selectNoResult: "select__no-result";
22
+ readonly selectSearchedPhrase: "select__searched-phrase";
23
+ };
@@ -0,0 +1,27 @@
1
+ const SELECT_CONTEXTS = {
2
+ isMultiselect: 'isMultiselect',
3
+ selectedOptions$: 'selectedOptions$'
4
+ };
5
+ const SELECT_SLOT_NAMES = {
6
+ content: 'content',
7
+ input: 'input'
8
+ };
9
+ const SELECT_EVENT_NAMES = {
10
+ selectOption: 'selectOption.select',
11
+ deselectOption: 'selectOption.deselect'
12
+ };
13
+ const MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH = 6;
14
+ const baseSelectClass = 'select';
15
+ const SELECT_CSS_CLASSES = {
16
+ select: baseSelectClass,
17
+ selectOpened: `${baseSelectClass}_opened`,
18
+ selectSearch: `${baseSelectClass}__search`,
19
+ selectOptions: `${baseSelectClass}__options`,
20
+ selectContent: `${baseSelectClass}__content`,
21
+ selectFooter: `${baseSelectClass}__footer`,
22
+ selectNoResult: `${baseSelectClass}__no-result`,
23
+ selectSearchedPhrase: `${baseSelectClass}__searched-phrase`
24
+ };
25
+
26
+ export { MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_CONTEXTS, SELECT_CSS_CLASSES, SELECT_EVENT_NAMES, SELECT_SLOT_NAMES };
27
+ //# sourceMappingURL=select_constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,9 @@
1
+ import { SelectOption } from "./model/select_option";
2
+ import { HOption } from "./components/option/select_option";
3
+ import { HOptions } from "./components/select_options";
4
+ export declare class SelectControlUtils {
5
+ static createHTMLOption(option: SelectOption): HOption;
6
+ static syncHTMLOptionWithModel(option: SelectOption, $option: HOption): void;
7
+ static removeHTMLOptions($options: HOption[], optionsValuesThatExists: string[]): Record<string, HOption>;
8
+ static appendHTMLOption($option: HOption, $list: HOptions, position?: number): void;
9
+ }
@@ -0,0 +1,48 @@
1
+ import { SELECT_RELATED_COMPONENTS_NAMES } from './components/select_components_constatns.js';
2
+
3
+ class SelectControlUtils {
4
+ static createHTMLOption(option) {
5
+ const { selected, value, disabled, hidden, content } = option;
6
+ const $option = document.createElement(SELECT_RELATED_COMPONENTS_NAMES.option);
7
+ $option.setAttribute('value', String(value));
8
+ const $optionContent = document.createElement(SELECT_RELATED_COMPONENTS_NAMES.optionContent);
9
+ $optionContent.innerText = content;
10
+ $option.append($optionContent);
11
+ if (selected)
12
+ $option.setAttribute('selected', '');
13
+ if (disabled)
14
+ $option.setAttribute('disabled', '');
15
+ if (hidden)
16
+ $option.setAttribute('hidden', '');
17
+ return $option;
18
+ }
19
+ static syncHTMLOptionWithModel(option, $option) {
20
+ const { selected, value, disabled, hidden } = option;
21
+ $option.selected = selected;
22
+ $option.value = value;
23
+ $option.disabled = disabled;
24
+ $option.hidden = hidden;
25
+ }
26
+ static removeHTMLOptions($options, optionsValuesThatExists) {
27
+ return $options.reduce((acc, $option) => {
28
+ if (optionsValuesThatExists.includes($option.value))
29
+ return {
30
+ ...acc,
31
+ [$option.value]: $option
32
+ };
33
+ $option.remove();
34
+ return acc;
35
+ }, {});
36
+ }
37
+ static appendHTMLOption($option, $list, position) {
38
+ if (position !== undefined) {
39
+ const $nextOption = $list.querySelector(`${SELECT_RELATED_COMPONENTS_NAMES.option}:nth-child(${position})`);
40
+ $nextOption ? $nextOption.insertAdjacentElement('beforebegin', $option) : $list.append($option);
41
+ return;
42
+ }
43
+ $list.append($option);
44
+ }
45
+ }
46
+
47
+ export { SelectControlUtils };
48
+ //# sourceMappingURL=select_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,9 +2,9 @@ import { __decorate, __metadata } from '../../../../../../external/tslib/tslib.e
2
2
  import { property } from 'lit/decorators';
3
3
  import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
4
  import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_element.js';
5
+ import classnames from '../../../../../../external/classnames/index.js';
5
6
  import { BASE_FORM_CONTROL_PROPS } from '../controllers/props_synchronizing/control_props_sync_controller_constants.js';
6
7
  import { ControlPropsSyncProviderController } from '../controllers/props_synchronizing/control_props_sync_provider_controller.js';
7
- import classnames from '../../../../external/classnames/index.js';
8
8
  import { CHECKBOX_PROPS_TO_SYNC } from '../checkbox/checkbox_constants.js';
9
9
  import { SWITCH_CONTROL_CSS_CLASSES } from './switch_constants.js';
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA,uBAAuB,0CAA8C;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA,uBAAuB,gDAAoD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,9 +2,9 @@ import { __decorate, __metadata } from '../../../../../../external/tslib/tslib.e
2
2
  import { property } from 'lit/decorators';
3
3
  import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
4
  import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_element.js';
5
+ import classnames from '../../../../../../external/classnames/index.js';
5
6
  import { BASE_FORM_CONTROL_PROPS } from '../controllers/props_synchronizing/control_props_sync_controller_constants.js';
6
7
  import { ControlPropsSyncProviderController } from '../controllers/props_synchronizing/control_props_sync_provider_controller.js';
7
- import classnames from '../../../../external/classnames/index.js';
8
8
  import { TEXTAREA_PROPS_TO_SYNC, TEXTAREA_CONTROL_CSS_CLASSES } from './textarea_constants.js';
9
9
 
10
10
  let HTextarea = class HTextarea extends PhoenixLightLitElement {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA,uBAAuB,0CAA8C;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA,uBAAuB,gDAAoD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,8 +3,8 @@ import { html } from 'lit';
3
3
  import { property } from 'lit/decorators';
4
4
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
5
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
- import classnames from '../../../external/classnames/index.js';
7
6
  import { ICON_CSS_CLASSES, ICON_SIZES_CSS_CLASS_MAP } from './icon_constants.js';
7
+ import classnames from '../../../../../external/classnames/index.js';
8
8
  import { namespacedAttribute } from '../../directives/namespaced_attribure_directive.js';
9
9
 
10
10
  var HIcon_1;
@@ -18,6 +18,7 @@ let HIcon = HIcon_1 = class HIcon extends PhoenixLightLitElement {
18
18
  connectedCallback() {
19
19
  var _a;
20
20
  super.connectedCallback();
21
+ this.classList.add(ICON_CSS_CLASSES.icon);
21
22
  this._cssClasses = classnames(ICON_CSS_CLASSES.icon, {
22
23
  [ICON_SIZES_CSS_CLASS_MAP[(_a = this.size) !== null && _a !== void 0 ? _a : '']]: Boolean(this.size),
23
24
  [ICON_CSS_CLASSES.iconFilled]: this.filled,
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA,uBAAuB,uCAA2C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA,uBAAuB,6CAAiD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,9 +2,9 @@ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.
2
2
  import { property } from 'lit/decorators';
3
3
  import { UiDomUtils } from '@dreamcommerce/utilities';
4
4
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
- import { PORTAL_TARGET_COMPONENT_NAME, PORTAL_TARGET_NAME_PROP, PORTAL_TARGET_ATTRIBUTE_NAME } from '../portal/portal_constants.js';
6
5
  import { KeystrokesController } from '../../controllers/keystrokes_controller/keystrokes_controller.js';
7
6
  import { DIRECTIONS } from '../../controllers/relative_position_controller/relative_position_controller_constants.js';
7
+ import { PORTAL_TARGET_COMPONENT_NAME, PORTAL_TARGET_NAME_PROP, PORTAL_TARGET_ATTRIBUTE_NAME } from '../portal/portal_constants.js';
8
8
  import { ClickOutsideController } from '../../controllers/click_outside_controller/click_outside_controller.js';
9
9
  import { RelativePositionController } from '../../controllers/relative_position_controller/relative_position_controller.js';
10
10
  import { DEFAULT_MESSAGE_PORTAL_NAME, DEFAULT_MESSAGE_OFFSET, MESSAGE_SHOW_DELAY_IN_MS, MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS, MESSAGE_REMOVED_CLASS_NAME, MESSAGE_CLOSE_DELAY_IN_MS, MESSAGE_CONTENT_ELEMENTS, MESSAGE_ELEMENTS } from './base_message_constants.js';
@@ -1,13 +1,13 @@
1
1
  import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
2
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
3
3
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
4
- import { PORTAL_TARGET_NAME_PROP } from '../portal/portal_constants.js';
5
- import { MODAL_OPENED_PROP, FOCUSABLE_ELEMENTS_WITHIN_MODAL, MODALS_PORTAL_NAME, MODAL_EVENTS } from './modal_constants.js';
6
- import { html } from 'lit-html';
7
- import { BackdropController } from '../backdrop/controller/backdrop_controller.js';
8
4
  import { property, state } from '@lit/reactive-element/decorators.js';
5
+ import { html } from 'lit-html';
9
6
  import { createRef, ref } from 'lit-html/directives/ref.js';
7
+ import { PORTAL_TARGET_NAME_PROP } from '../portal/portal_constants.js';
8
+ import { BackdropController } from '../backdrop/controller/backdrop_controller.js';
10
9
  import '@lit/reactive-element';
10
+ import { MODAL_OPENED_PROP, FOCUSABLE_ELEMENTS_WITHIN_MODAL, MODALS_PORTAL_NAME, MODAL_EVENTS } from './modal_constants.js';
11
11
 
12
12
  var HModal_1;
13
13
  let HModal = HModal_1 = class HModal extends PhoenixLightLitElement {
@@ -3,8 +3,8 @@ import 'lit';
3
3
  import { state, property } from 'lit/decorators';
4
4
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
5
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
- import { PORTAL_EVENTS } from './portal_constants.js';
7
6
  import v4 from '../../../../../external/uuid/dist/esm-browser/v4.js';
7
+ import { PORTAL_EVENTS } from './portal_constants.js';
8
8
 
9
9
  let HPortal = class HPortal extends PhoenixLightLitElement {
10
10
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA,eAAe,qDAAyD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA,eAAe,qDAAyD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}